From a636d29f0bd56fca4deea7b16abee06eb7625fec Mon Sep 17 00:00:00 2001 From: Unchained Date: Sun, 5 Apr 2026 05:17:30 +0200 Subject: [PATCH] fix(k8s): handle existing workspace on pod restart The clone init container was failing with 'destination path already exists' when the pod restarted. EmptyDir volumes persist across container restarts but init containers run again. Now checks if workspace exists: - If .git directory exists: fetch and reset to latest master - If not: clean and clone fresh This fixes the CrashLoopBackOff caused by failed clone attempts. --- k8s/deployment.yaml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/k8s/deployment.yaml b/k8s/deployment.yaml index 56918a0..e3e82ad 100644 --- a/k8s/deployment.yaml +++ b/k8s/deployment.yaml @@ -22,10 +22,20 @@ spec: - | set -e apk add --no-cache git - git clone --depth 1 --branch master \ - http://gitea.gitea.svc.cluster.local:3000/unchained/manoon-headless.git \ - /workspace - echo "Clone complete." + # Clean workspace if it exists (handles pod restarts) + if [ -d /workspace/.git ]; then + echo "Workspace exists, pulling latest changes..." + cd /workspace + git fetch origin master + git reset --hard origin/master + else + echo "Cloning fresh repository..." + rm -rf /workspace/* + git clone --depth 1 --branch master \ + http://gitea.gitea.svc.cluster.local:3000/unchained/manoon-headless.git \ + /workspace + fi + echo "Clone/update complete." volumeMounts: - name: workspace mountPath: /workspace