Files
home-server/clusters/noble/apps
..

Argo CD — optional applications (non-bootstrap)

Base cluster configuration (CNI, MetalLB, ingress, cert-manager, storage, observability stack, policy, SOPS secrets path, etc.) is installed by ansible/playbooks/noble.yml from clusters/noble/bootstrap/ — not from here.

clusters/noble/apps is included by clusters/noble/bootstrap/kustomization.yaml (resources: - ../apps), so kubectl apply -k clusters/noble/bootstrap (Ansible noble_platform) and Argo noble-bootstrap-root apply optional Application / namespace manifests from this tree together with bootstrap static YAML.

Layout

  • kustomization.yaml — lists only subdirectories that contain their own kustomization.yaml (add yourapp/ + yourapp/kustomization.yaml instead of editing a long flat resource list).
  • */application.yaml — Argo Application CRs; Helm values.yaml files stay in the same directory but are not kustomize resources (the Application references them via $values paths in the repo).

Put Helm Application definitions for core charts under clusters/noble/bootstrap/argocd/app-of-apps/ (Ansible applies that directory after Helm roles). Use clusters/noble/apps only for workloads that are additive and do not subsume the core platform.