empty folders created on the mount do not get uploaded to minio backend, and distributed across to other rclone mount of the same backend
using rclone in kubernetes environment with csi driver, where minio volumes are mounted by csi driver pods (running as root user) and in turn presented/mounted to kubernetes pods (running arbitrary restricted user) by kubelet, since only rclone mounting user(root) has access to the volume, "allow-others" mount option has to be used in order for application pods to use the volume without permission issue, this creates couple of problems/confusions
minio backed by local direct accessible block drives
rclone mount :minio:pvc-34830760-7a05-4673-8410-f68ab8547d0a /tmp/mnt --daemon --no-check-certificate --no-modtime --cache-info-age=72h --cache-chunk-clean-interval=15m --dir-cache-time=5s --vfs-cache-mode=minimal --allow-non-empty=true --s3-provider=Minio --s3-access-key-id=<> --s3-secret-access-key=<> --s3-endpoint=svc.minio.svc.cluster.local:9000 --allow-others
2021/12/20 18:45:32 INFO : vfs cache: cleaned: objects 0 (was 0) in use 0, to upload 0, uploading 0, total size 0 (was 0) 2021/12/20 18:45:49 DEBUG : /: Attr: 2021/12/20 18:45:49 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil> 2021/12/20 18:45:49 DEBUG : /: Setattr: stat=Setattr [ID=0x12 Node=0x1 Uid=0 Gid=0 Pid=4318] mode=drwxrwxr-x handle=INVALID-0x0 2021/12/20 18:45:49 DEBUG : /: >Setattr: err=<nil> 2021/12/20 18:45:49 DEBUG : /: Attr: 2021/12/20 18:45:49 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
i'm new to rclone and minio, having few questions:
for first issue, it seems to be related to the fact that folders in minio work as prefix to file objects, are there any solutions for apps to be able to use rclone minio mount effectively, without needing to create at least i.e. an empty file in order to get folder uploaded to backend and be seen by other mounts of the same backend, and also without needing to recreate the folder when last file in the folder gets removed?
for the second issue, since with "--allow-other", any user do have access to the mounted volumes in application pods, however, they are showing the users who mounted the volume in the driver pods, changing ownership/permissions after mount has no effect, basically disabled the meaning of file/dir attributes, is there a way that kubernetes fsgroup can be used here, so when minio volume is mounted to pods, the volume could be owned by that of the fsgroup?
third, is rclone mount with minio scale in terms of performance, any other tuning best practise can be applied with commands pasted here?