From 5f9f80c7567d6e4028cee45ca52025bdf7cd9040 Mon Sep 17 00:00:00 2001 From: Felix Wolf Date: Mon, 30 Mar 2026 23:05:55 +0200 Subject: [PATCH] fix: Add Replace=true sync option to Jobs for ArgoCD compatibility Jobs are immutable in Kubernetes. Without Replace=true, ArgoCD fails to sync when it tries to update an existing Job. This annotation tells ArgoCD to delete and recreate the Job instead. Co-Authored-By: Claude Opus 4.6 (1M context) --- prototypes/forgejo/ytt/admin-secret-job.ytt.yaml | 2 ++ prototypes/forgejo/ytt/argocd-deploy-key-job.ytt.yaml | 2 ++ .../envs/production/forgejo/job-argocd-deploy-key-init.yaml | 1 + .../envs/production/forgejo/job-forgejo-admin-secret-init.yaml | 1 + 4 files changed, 6 insertions(+) diff --git a/prototypes/forgejo/ytt/admin-secret-job.ytt.yaml b/prototypes/forgejo/ytt/admin-secret-job.ytt.yaml index dc756ac..2b8a02a 100644 --- a/prototypes/forgejo/ytt/admin-secret-job.ytt.yaml +++ b/prototypes/forgejo/ytt/admin-secret-job.ytt.yaml @@ -41,6 +41,8 @@ kind: Job metadata: name: forgejo-admin-secret-init namespace: #@ ns + annotations: + argocd.argoproj.io/sync-options: Replace=true spec: ttlSecondsAfterFinished: 300 template: diff --git a/prototypes/forgejo/ytt/argocd-deploy-key-job.ytt.yaml b/prototypes/forgejo/ytt/argocd-deploy-key-job.ytt.yaml index ebf0e87..18014d6 100644 --- a/prototypes/forgejo/ytt/argocd-deploy-key-job.ytt.yaml +++ b/prototypes/forgejo/ytt/argocd-deploy-key-job.ytt.yaml @@ -39,6 +39,8 @@ kind: Job metadata: name: argocd-deploy-key-init namespace: #@ ns + annotations: + argocd.argoproj.io/sync-options: Replace=true spec: ttlSecondsAfterFinished: 300 template: diff --git a/rendered/envs/production/forgejo/job-argocd-deploy-key-init.yaml b/rendered/envs/production/forgejo/job-argocd-deploy-key-init.yaml index 7484a21..76763a9 100644 --- a/rendered/envs/production/forgejo/job-argocd-deploy-key-init.yaml +++ b/rendered/envs/production/forgejo/job-argocd-deploy-key-init.yaml @@ -3,6 +3,7 @@ kind: Job metadata: annotations: a8r.io/repository: ssh://git@git.tr1ceracop.de:222/gitea_admin/k8s-and-chill.git + argocd.argoproj.io/sync-options: Replace=true name: argocd-deploy-key-init namespace: forgejo spec: diff --git a/rendered/envs/production/forgejo/job-forgejo-admin-secret-init.yaml b/rendered/envs/production/forgejo/job-forgejo-admin-secret-init.yaml index ded461a..59c8de7 100644 --- a/rendered/envs/production/forgejo/job-forgejo-admin-secret-init.yaml +++ b/rendered/envs/production/forgejo/job-forgejo-admin-secret-init.yaml @@ -3,6 +3,7 @@ kind: Job metadata: annotations: a8r.io/repository: ssh://git@git.tr1ceracop.de:222/gitea_admin/k8s-and-chill.git + argocd.argoproj.io/sync-options: Replace=true name: forgejo-admin-secret-init namespace: forgejo spec: