From 13ebfe158a04c49b617a6b4cba47f1d45820d933 Mon Sep 17 00:00:00 2001 From: Story Crater Bot <19826264+Riotpiaole@users.noreply.github.com> Date: Tue, 18 Aug 2026 15:08:04 -0700 Subject: [PATCH] =?UTF-8?q?fix(cert-manager):=20cert-manager-issuers=20dir?= =?UTF-8?q?ectory.include=20renders=20empty=20=E2=80=94=20switch=20to=20ex?= =?UTF-8?q?plicit=20resources=20list,=20restore=20automated=20sync?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- k8s/argocd/apps/00-substrate.yaml | 9 +++++++-- k8s/bootstrap/cert-manager/kustomization.yaml | 12 +++++++++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/k8s/argocd/apps/00-substrate.yaml b/k8s/argocd/apps/00-substrate.yaml index 3c6ee77..e5a20cd 100644 --- a/k8s/argocd/apps/00-substrate.yaml +++ b/k8s/argocd/apps/00-substrate.yaml @@ -88,9 +88,12 @@ spec: source: repoURL: git@github.com:Riotpiaole/riotpiao.homelab.com.git targetRevision: main + # A real kustomization.yaml (resources: the 3 issuer/CA files) renders these + # deterministically. The previous directory.include with bare filenames + # rendered EMPTY — ArgoCD's include glob never matched — so this app silently + # tracked 0 resources; its ConfigMaps/Issuers only existed from bootstrap + # kubectl apply, and an automated prune wiped them. path: k8s/bootstrap/cert-manager - directory: - include: "letsencrypt-issuer.yaml,homelab-ca-issuer.yaml,homelab-ca-configmap.yaml" destination: server: https://kubernetes.default.svc namespace: cert-manager @@ -98,6 +101,8 @@ spec: automated: prune: true selfHeal: true + syncOptions: + - CreateNamespace=true --- # Consolidated: wildcard-cert + homelab-ingress → ingress-config # Manages both the wildcard TLS certificate and all Ingress rules. diff --git a/k8s/bootstrap/cert-manager/kustomization.yaml b/k8s/bootstrap/cert-manager/kustomization.yaml index e3b2849..8368ceb 100644 --- a/k8s/bootstrap/cert-manager/kustomization.yaml +++ b/k8s/bootstrap/cert-manager/kustomization.yaml @@ -1,5 +1,11 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization -namespace: cert-manager -resources: [] -# cert-manager deployed via ArgoCD Helm source (see layer-2-bootstrap app) +# Issuers + CA trust-bundle ConfigMaps for the cert-manager-issuers Application. +# Each resource sets its own metadata.namespace (the ConfigMaps target iam/cicd/ +# monitoring/sqs; ClusterIssuers are cluster-scoped) — so NO namespace transformer +# here (that would rewrite them all into one namespace). cert-manager itself is a +# separate Helm Application; cert-manager-values.yaml here is only its $values ref. +resources: + - letsencrypt-issuer.yaml + - homelab-ca-issuer.yaml + - homelab-ca-configmap.yaml