Files
homelab/k8s-ng/core-state/values.yaml
T
Ultradesu 8a90756af0
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 7s
Auto-update README / Generate README and Create MR (push) Successful in 7s
Check with kubeconform / lint (push) Successful in 10s
Restore authenticated secret reader in current cluster
2026-10-18 11:23:14 +01:00

129 lines
4.2 KiB
YAML

# Per-cluster variables. Override them in k8s-ng/bootstrap/root.yaml
# (spec.source.helm.valuesObject) when the state is deployed to another cluster.
repoURL: https://gt.hexor.cy/ab/homelab.git
targetRevision: main
destinationServer: https://kubernetes.default.svc
project: core
# Core applications. Lower waves are synced first and must be Healthy before the
# next wave starts. Every path is a kustomize (or plain manifest) directory.
# wave 0: Argo CD itself and its projects
# wave 1: operators (their CRDs are used by the later waves)
# wave 2: the database cluster and its databases/users
# wave 3: services that need the database and secrets
apps:
- name: argocd
path: k8s-ng/core/argocd
namespace: argocd
wave: 0
- name: cnpg
path: k8s-ng/core/cnpg
namespace: cnpg-system
wave: 1
- name: traefik-config
path: k8s-ng/core/traefik-config
namespace: kube-system
wave: 1
- name: coredns-config
path: k8s-ng/core/coredns-config
namespace: kube-system
wave: 1
validate: false # partial Deployment: only the fields we manage
- name: reloader
path: k8s-ng/core/reloader
namespace: reloader
wave: 1
- name: gpu-system
path: k8s-ng/core/gpu
namespace: gpu-system
wave: 1
- name: cert-manager
path: k8s-ng/core/cert-manager
namespace: cert-manager
wave: 1
skipDryRunOnMissingResource: true # ClusterIssuers need the cert-manager CRDs
- name: external-secrets
path: k8s-ng/core/external-secrets
namespace: external-secrets
wave: 1
- name: postgresql
path: k8s-ng/core/postgresql
namespace: psql
wave: 2
prune: false # never delete databases because of a manifest change
skipDryRunOnMissingResource: true # CRDs come from the cnpg and external-secrets apps
- name: vaultwarden
path: k8s-ng/core/vaultwarden
namespace: vaultwarden
wave: 3
skipDryRunOnMissingResource: true
- name: keycloak
path: k8s-ng/core/keycloak
namespace: keycloak
wave: 3
skipDryRunOnMissingResource: true # ExternalSecret/Certificate CRDs come from earlier waves
# Not a core service: lives in k8s-ng/apps and belongs to the "apps" project.
- name: furumi
project: apps
path: k8s-ng/apps/furumi
namespace: furumi
wave: 6 # after prom-stack installs the ServiceMonitor CRD
skipDryRunOnMissingResource: true
- name: web-petting
project: apps
path: k8s-ng/apps/web-petting
namespace: web-petting
wave: 5
skipDryRunOnMissingResource: true
- name: k8s-secrets
project: apps
path: k8s/apps/k8s-secrets
namespace: k8s-secret
wave: 6 # after secret-stores and auth-proxy
skipDryRunOnMissingResource: true
- name: llamacpp
project: apps
path: k8s-ng/apps/llamacpp
namespace: llamacpp
wave: 5 # pinned to the ai node (GPU); must not hold back the other waves
skipDryRunOnMissingResource: true
- name: secret-stores
path: k8s-ng/core/secret-stores
namespace: external-secrets
wave: 4 # reads the Vaultwarden vault, so it comes after vaultwarden
skipDryRunOnMissingResource: true # ClusterSecretStore CRD comes from the external-secrets app
- name: gitea
path: k8s-ng/core/gitea
namespace: gitea
wave: 5 # after secret-stores (its secrets come from the vault); pinned to the music node; the runner to the ai node
prune: false # never delete the instance because of a manifest change
skipDryRunOnMissingResource: true
- name: prom-stack
path: k8s-ng/core/prom-stack
namespace: prometheus
wave: 5 # after secret-stores; installs monitoring before application workloads
skipDryRunOnMissingResource: true # monitoring, cert-manager and ExternalSecret CRDs
- name: immich-db
path: k8s-ng/core/immich-db
namespace: immich
wave: 2
prune: false
skipDryRunOnMissingResource: true
- name: minecraft
project: games
path: k8s-ng/apps/minecraft
namespace: minecraft
wave: 6
- name: rustdesk
project: apps
path: k8s-ng/apps/rustdesk
namespace: rustdesk
wave: 6
skipDryRunOnMissingResource: true
- name: shadowsocks
project: apps
path: k8s-ng/apps/shadowsocks
namespace: shadowsocks
wave: 6
skipDryRunOnMissingResource: true