re-export of base and sub1 photo dirs via webdav

This commit is contained in:
azykov@mail.ru
2026-08-18 02:09:34 +03:00
parent ec6d48adb5
commit e0bf2c08cf
13 changed files with 232 additions and 93 deletions
@@ -46,6 +46,50 @@ data:
}
}
# individual disks, exported alongside the merged /export view so
# clients (webdav) can also see each underlying disk on its own.
EXPORT {
Export_Id = 2;
Path = /disks/base;
Pseudo = /base;
SecType = sys;
Protocols = NFSv4;
FSAL {
Name = VFS;
}
CLIENT {
Clients = *;
Access_Type = RW;
Squash = No_Root_Squash;
Protocols = NFSv4;
}
}
EXPORT {
Export_Id = 3;
Path = /disks/sub1;
Pseudo = /sub1;
SecType = sys;
Protocols = NFSv4;
FSAL {
Name = VFS;
}
CLIENT {
Clients = *;
Access_Type = RW;
Squash = No_Root_Squash;
Protocols = NFSv4;
}
}
LOG {
Default_Log_Level = INFO;
}
+20 -7
View File
@@ -69,13 +69,14 @@ spec:
limits:
memory: 512Mi
# runs after mergerfs is confirmed mounted (see dependsOn) and has
# /export mounted too, so the /proc/self/mounts snapshot it takes
# actually includes the fuse.mergerfs line for /export. ganesha's
# FSAL_VFS resolves export paths against this frozen /etc/mtab, not
# the live /proc/mounts - if /export is missing from it (e.g. this
# ran before mergerfs, or without /export mounted at all), ganesha
# fails at startup with "resolve_posix_filesystem(/export) ...
# No such file or directory" even though /export is mounted fine.
# /export, /disks/base and /disks/sub1 all mounted too, so the
# /proc/self/mounts snapshot it takes covers every path ganesha
# exports. ganesha's FSAL_VFS resolves each EXPORT's Path against
# this frozen /etc/mtab, not the live /proc/mounts - any exported
# path missing from it (e.g. this ran before mergerfs, or without
# that path mounted here at all) fails at startup with
# "resolve_posix_filesystem(<path>) ... No such file or directory"
# even though the path is mounted fine in every other container.
mtab-setup:
dependsOn:
- mergerfs
@@ -162,6 +163,12 @@ spec:
- path: /disks/base
fix-permissions:
- path: /disks/base
# exported directly as its own NFS share (Pseudo=/base, see
# configmap.yaml) alongside the merged /export view.
app:
- path: /disks/base
mtab-setup:
- path: /disks/base
sub1:
type: persistentVolumeClaim
accessMode: ReadWriteOnce
@@ -174,6 +181,12 @@ spec:
- path: /disks/sub1
fix-permissions:
- path: /disks/sub1
# exported directly as its own NFS share (Pseudo=/sub1, see
# configmap.yaml) alongside the merged /export view.
app:
- path: /disks/sub1
mtab-setup:
- path: /disks/sub1
merged:
type: emptyDir
advancedMounts: