This commit is contained in:
Felix Wolf 2026-05-03 03:36:12 +02:00
parent 7429a33c00
commit 0826541449
2 changed files with 19 additions and 4 deletions

View file

@ -1,14 +1,29 @@
#@ load("@ytt:overlay", "overlay") #@ load("@ytt:overlay", "overlay")
#! Add a writable /tmp emptyDir to the web Deployment. Without it, #! Two fixes for /branding/logo upload (POST/DELETE) on the web pod:
#! POST/DELETE /branding/logo (multipart spool via os.CreateTemp on #!
#! the read-only rootfs) returns 500. #! 1. fsGroupChangePolicy: Always
#! The chart mounts an emptyDir at /var/lib/ocis/web/assets/apps,
#! so kubelet auto-creates /var/lib/ocis/web/ and assets/ as
#! root:root 0755 when establishing the mount point. With the
#! chart's default OnRootMismatch policy, kubelet skips chgrp
#! recursion (volume root already group 1000), leaving the
#! auto-created subdirs unwritable for user 1000. The branding
#! handler then can't mkdir themes/owncloud/assets and 500s.
#! Always forces recursive chgrp on every pod start.
#!
#! 2. /tmp emptyDir
#! readOnlyRootFilesystem: true blocks os.CreateTemp default path.
#! Multipart upload spool needs /tmp writable.
#@overlay/match by=overlay.subset({"kind": "Deployment", "metadata": {"name": "web"}}) #@overlay/match by=overlay.subset({"kind": "Deployment", "metadata": {"name": "web"}})
--- ---
spec: spec:
template: template:
spec: spec:
securityContext:
#@overlay/match missing_ok=True
fsGroupChangePolicy: Always
containers: containers:
#@overlay/match by=overlay.subset({"name": "web"}) #@overlay/match by=overlay.subset({"name": "web"})
- -

View file

@ -130,7 +130,7 @@ spec:
nodeSelector: {} nodeSelector: {}
securityContext: securityContext:
fsGroup: 1000 fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch fsGroupChangePolicy: Always
seccompProfile: seccompProfile:
type: RuntimeDefault type: RuntimeDefault
volumes: volumes: