From f633a65a3592805f8d458c8d2cbe979e63484c02 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sat, 16 May 2026 14:58:30 +0300 Subject: f3s: set strategy Recreate on single-replica stateful deployments MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prevents NFS-lock races during rolling updates. The hostPath PVs point at an NFS-shared directory mounted on every r-node, so RWO is not actually enforced across nodes — under the default RollingUpdate strategy the new pod can start on a different node and grab the same data dir while the old pod still holds file locks, producing errors like postgres' "could not write to file postmaster.pid: Unknown error 512". Applied to: immich-postgres, audiobookshelf, anki-sync-server, registry, pkgrepo, player, wallabag, miniflux-postgres, opodsync, radicale, kobo-sync-server, keybr, filebrowser, git-server, goprecords, jellyfin. (syncthing and navidrome already had it.) Co-Authored-By: Claude Opus 4.7 --- f3s/git-server/helm-chart/templates/deployment.yaml | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'f3s/git-server') diff --git a/f3s/git-server/helm-chart/templates/deployment.yaml b/f3s/git-server/helm-chart/templates/deployment.yaml index 3013364..41dff7c 100644 --- a/f3s/git-server/helm-chart/templates/deployment.yaml +++ b/f3s/git-server/helm-chart/templates/deployment.yaml @@ -7,6 +7,10 @@ metadata: app: git-server spec: replicas: 1 + # Recreate so the old pod fully terminates before the new one starts — + # avoids NFS-lock races on the hostPath-backed PVC during rolling updates. + strategy: + type: Recreate selector: matchLabels: app: git-server -- cgit v1.2.3