From 6bdb86684a57586f79df2d2b0cd9d1a76eb8c5dc Mon Sep 17 00:00:00 2001 From: Danijel Simeunovic Date: Fri, 24 Apr 2026 22:39:55 +0200 Subject: [PATCH] env --- bootstrap.sh | 4 ++++ .../argocd-repo-server-config.yaml | 9 +++++++++ docs/REFERENCE.md | 20 ++++++++++++++----- infra/values/base/argocd-values.yaml | 10 +++++----- 4 files changed, 33 insertions(+), 10 deletions(-) create mode 100644 cluster-resources/argocd-repo-server-config.yaml diff --git a/bootstrap.sh b/bootstrap.sh index 3e2363b..f653bbf 100644 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -37,6 +37,10 @@ Gitea() ############################################################ ArgoCd() { + # Pre-create ConfigMap for repo-server env (must exist before Helm upgrade) + kubectl create namespace argocd --dry-run=client -o yaml | kubectl apply -f - + kubectl apply -f cluster-resources/argocd-repo-server-config.yaml + # install argocd echo "Installing ArgoCD..." helm upgrade --install argocd argo-cd \ diff --git a/cluster-resources/argocd-repo-server-config.yaml b/cluster-resources/argocd-repo-server-config.yaml new file mode 100644 index 0000000..6bef4b2 --- /dev/null +++ b/cluster-resources/argocd-repo-server-config.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: argocd-repo-server-config + namespace: argocd +data: + # Disable git submodule checkout - submodules (e.g. shared-prompts) + # are not needed for K8s manifest generation + ARGOCD_GIT_MODULES_ENABLED: "false" diff --git a/docs/REFERENCE.md b/docs/REFERENCE.md index 8d9462d..d06045b 100644 --- a/docs/REFERENCE.md +++ b/docs/REFERENCE.md @@ -657,14 +657,24 @@ retry: | `admin.enabled` | `true` | Enable admin account | | `url` | `https://argocd.forteapps.net` | External URL for ArgoCD UI | -**Git Submodule Disable**: Set via `repoServer.env` (not `configs.cm`): +**Git Submodule Disable**: Set via ConfigMap + `repoServer.envFrom` (NOT `repoServer.env` — that causes strategic merge conflicts with chart's `valueFrom` entries): ```yaml +# cluster-resources/argocd-repo-server-config.yaml +apiVersion: v1 +kind: ConfigMap +metadata: + name: argocd-repo-server-config + namespace: argocd +data: + ARGOCD_GIT_MODULES_ENABLED: "false" + +# argocd-values.yaml repoServer: - env: - - name: ARGOCD_GIT_MODULES_ENABLED - value: "false" + envFrom: + - configMapRef: + name: argocd-repo-server-config ``` -Submodules (e.g., `shared-prompts`) are not needed for K8s manifest generation. +The ConfigMap is applied by `bootstrap.sh` before `helm upgrade`. Submodules (e.g., `shared-prompts`) are not needed for K8s manifest generation. **OIDC Authentication** (Keycloak): ```yaml diff --git a/infra/values/base/argocd-values.yaml b/infra/values/base/argocd-values.yaml index f591d5a..b8b1572 100644 --- a/infra/values/base/argocd-values.yaml +++ b/infra/values/base/argocd-values.yaml @@ -27,14 +27,14 @@ configs: params: "server.insecure": true repoServer: - # Disable git submodule checkout - submodules (e.g. shared-prompts) - # are not needed for K8s manifest generation + # Disable git submodule checkout via ConfigMap envFrom + # (using env: causes strategic merge conflict with chart's valueFrom entries) env: - - name: ARGOCD_GIT_MODULES_ENABLED - value: "false" + - configMapRef: + name: argocd-repo-server-config server: ingress: - enabled: true + enabled: false ingressClassName: traefik annotations: cert-manager.io/cluster-issuer: letsencrypt-prod