k8s-and-chill/envs/production/env-data.ytt.yaml
Felix Wolf 279cd0d19f refactor(prototypes): parameterize env-specific values for multi-env support
Extract domain, ingress class, TLS issuer, storage classes, S3 endpoints,
backup toggles, and forgejo node selector into env-data values. Each
prototype's app-data declares its subdomain alongside namespace; templates
compute host as <subdomain>.<cluster.domain>.

Schema is shape-only with safe defaults; production env-data sets values
explicitly. Backup CronJobs and external-secret prechecks gate on
backups.enabled and ocis.s3.external. Adds mkcert ClusterIssuer + precheck
Job for local-dev TLS, gated on cluster.tls.issuer == "mkcert".

forgejo argocd-deploy-key Job: REPO_URL/FORGEJO_URL moved to container env
vars to keep the script ytt-templatable; runtime behavior unchanged.

Production render verified byte-identical (excluding the deploy-key Job
env-var refactor and chart-volatile UUID ConfigMaps).
2026-05-03 15:08:48 +02:00

54 lines
1,018 B
YAML

#@ load("@ytt:overlay", "overlay")
#@data/values
---
environment:
id: production
applications:
- proto: argocd
- proto: traefik
- proto: cert-manager
- proto: kubernetes-secret-generator
- proto: forgejo
- proto: victoria-metrics-single
- proto: grafana
- proto: kube-state-metrics
- proto: node-exporter
- proto: hcloud-csi
- proto: cloudnative-pg
- proto: metrics-server
- proto: ocis
cluster:
domain: tr1ceracop.de
ingress:
className: traefik
tls:
issuer: letsencrypt
storageClass:
block: hcloud-volumes
local: local-path
backups:
enabled: true
s3:
endpoint: https://fsn1.your-objectstorage.com
region: fsn1
storagebox:
enabled: true
ocis:
s3:
external: true
endpoint: https://nbg1.your-objectstorage.com
region: nbg1
bucket: ocis-tr1ceracop
forgejo:
sshPort: 222
#@overlay/replace
nodeSelector:
kubernetes.io/hostname: ubuntu-4gb-nbg1-3
backup:
s3Bucket: k8s-and-chill-backups