From b26099342c044b10702fffec938ea72548cd6fa8 Mon Sep 17 00:00:00 2001 From: Nikholas Pcenicni <82239765+nikpcenicni@users.noreply.github.com> Date: Wed, 13 May 2026 17:23:54 -0400 Subject: [PATCH] Update Argo CD configuration to improve handling of managed fields and enhance compatibility with server-side apply, ensuring smoother deployments and conflict resolution. --- .../argocd/app-of-apps/kube-prometheus-application.yaml | 5 +++-- .../noble/bootstrap/kube-prometheus-stack/values.yaml | 9 +++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/clusters/noble/bootstrap/argocd/app-of-apps/kube-prometheus-application.yaml b/clusters/noble/bootstrap/argocd/app-of-apps/kube-prometheus-application.yaml index ab70ee3..87a623f 100644 --- a/clusters/noble/bootstrap/argocd/app-of-apps/kube-prometheus-application.yaml +++ b/clusters/noble/bootstrap/argocd/app-of-apps/kube-prometheus-application.yaml @@ -13,6 +13,7 @@ spec: chart: kube-prometheus-stack targetRevision: 82.15.1 helm: + skipCrds: true releaseName: kube-prometheus valueFiles: - $values/clusters/noble/bootstrap/kube-prometheus-stack/values.yaml @@ -23,8 +24,8 @@ spec: server: https://kubernetes.default.svc namespace: monitoring # Manual sync: Ansible helm runs first; enable automation after cutover (see ../README.md §5). - # ServerSideApply: kube-prometheus-stack CRDs exceed the 256KiB **last-applied-configuration** limit - # when applied client-side (Argo/kubectl); SSA avoids that annotation. + # ServerSideApply: helps large manifests Argo applies directly (CRDs are handled via **helm.skipCrds** + + # chart **crds.upgradeJob** server-side apply — see values.yaml). syncPolicy: syncOptions: - CreateNamespace=true diff --git a/clusters/noble/bootstrap/kube-prometheus-stack/values.yaml b/clusters/noble/bootstrap/kube-prometheus-stack/values.yaml index d8e7df3..46dabd5 100644 --- a/clusters/noble/bootstrap/kube-prometheus-stack/values.yaml +++ b/clusters/noble/bootstrap/kube-prometheus-stack/values.yaml @@ -24,6 +24,15 @@ prometheusOperator: certManager: enabled: true +# CRDs: Argo CD applies chart CRDs with client-side apply → **last-applied-configuration** can exceed 256KiB. +# **`crds.upgradeJob`** runs a pre-sync Helm hook that applies CRDs with **`kubectl apply --server-side`**. +# Pair with **`helm.skipCrds: true`** on the Argo Application so Argo does not patch those CRDs itself. +# Ref: https://github.com/argoproj/argo-cd/issues/11269 +crds: + upgradeJob: + enabled: true + forceConflicts: true + # --- Longhorn-backed persistence (default chart storage is emptyDir) --- alertmanager: alertmanagerSpec: