fix(K1): uppercase cluster-vars keys to match component substitution refs
Flux postBuild.substituteFrom is case-sensitive; platform/ components reference
${UPPERCASE} tokens but cluster-vars keys were lowercase -> none would resolve
(literal ${...} would reach the HelmReleases). Uppercased the ConfigMap data
keys + the dev/prod overlay patch paths. Every component ref now resolves;
clusters/dev & clusters/prod build; gate green. Clears the K1 landmine before
any platform un-suspend.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
This commit is contained in:
1 parent
6a32fc76a5
commit
9743b50c3b
3 files changed
+31
-31
No files matched your search
@@ -14,28 +14,28 @@ metadata:
|
||||
namespace: flux-system
|
||||
data:
|
||||
# --- identity of the environment ---
|
||||
cluster_env: "base" # dev | prod (overlays set this)
|
||||
CLUSTER_ENV: "base" # dev | prod (overlays set this)
|
||||
|
||||
# --- DNS / TLS ---
|
||||
base_domain: "home.keithjackson.dev" # same in both envs (split-horizon per docs/09)
|
||||
acme_cluster_issuer: "letsencrypt-staging" # dev: staging | prod: letsencrypt-prod (ADR-0006)
|
||||
BASE_DOMAIN: "home.keithjackson.dev" # same in both envs (split-horizon per docs/09)
|
||||
ACME_CLUSTER_ISSUER: "letsencrypt-staging" # dev: staging | prod: letsencrypt-prod (ADR-0006)
|
||||
|
||||
# --- storage (ADR-0003) ---
|
||||
longhorn_default_replica_count: "3" # default StorageClass replica count (3 on 3 nodes)
|
||||
LONGHORN_DEFAULT_REPLICA_COUNT: "3" # default StorageClass replica count (3 on 3 nodes)
|
||||
|
||||
# --- observability sizing (docs/10) ---
|
||||
monitoring_prometheus_retention: "7d" # dev short | prod long
|
||||
monitoring_prometheus_pvc_size: "10Gi"
|
||||
monitoring_loki_pvc_size: "10Gi"
|
||||
MONITORING_PROMETHEUS_RETENTION: "7d" # dev short | prod long
|
||||
MONITORING_PROMETHEUS_PVC_SIZE: "10Gi"
|
||||
MONITORING_LOKI_PVC_SIZE: "10Gi"
|
||||
|
||||
# --- identity / auth (ADR-0014) ---
|
||||
keycloak_replicas: "1" # dev 1 | prod 2 (HA)
|
||||
oauth2_proxy_replicas: "1" # dev 1 | prod 2 (HA)
|
||||
KEYCLOAK_REPLICAS: "1" # dev 1 | prod 2 (HA)
|
||||
OAUTH2_PROXY_REPLICAS: "1" # dev 1 | prod 2 (HA)
|
||||
|
||||
# --- backup / DR (ADR-0003, R-STATE-03) ---
|
||||
velero_backup_schedule: "0 3 * * *" # cron; overlays may differ
|
||||
velero_retention: "168h" # dev short | prod long
|
||||
VELERO_BACKUP_SCHEDULE: "0 3 * * *" # cron; overlays may differ
|
||||
VELERO_RETENTION: "168h" # dev short | prod long
|
||||
|
||||
# --- placement ---
|
||||
platform_node_selector_key: "kubernetes.io/os" # base no-op selector; prod may pin roles
|
||||
platform_node_selector_value: "linux"
|
||||
PLATFORM_NODE_SELECTOR_KEY: "kubernetes.io/os" # base no-op selector; prod may pin roles
|
||||
PLATFORM_NODE_SELECTOR_VALUE: "linux"
|
||||
@@ -54,33 +54,33 @@ patches:
|
||||
name: cluster-vars
|
||||
patch: |-
|
||||
- op: replace
|
||||
path: /data/cluster_env
|
||||
path: /data/CLUSTER_ENV
|
||||
value: "dev"
|
||||
# DNS-01 against LE staging while iterating (avoids prod rate limits) — ADR-0006.
|
||||
- op: replace
|
||||
path: /data/acme_cluster_issuer
|
||||
path: /data/ACME_CLUSTER_ISSUER
|
||||
value: "letsencrypt-staging"
|
||||
# dev mirrors prod's 3-node topology, so the replicated tier keeps 3 replicas.
|
||||
- op: replace
|
||||
path: /data/longhorn_default_replica_count
|
||||
path: /data/LONGHORN_DEFAULT_REPLICA_COUNT
|
||||
value: "3"
|
||||
# smaller retention / volumes to keep the dev workstation footprint light.
|
||||
- op: replace
|
||||
path: /data/monitoring_prometheus_retention
|
||||
path: /data/MONITORING_PROMETHEUS_RETENTION
|
||||
value: "3d"
|
||||
- op: replace
|
||||
path: /data/monitoring_prometheus_pvc_size
|
||||
path: /data/MONITORING_PROMETHEUS_PVC_SIZE
|
||||
value: "5Gi"
|
||||
- op: replace
|
||||
path: /data/monitoring_loki_pvc_size
|
||||
path: /data/MONITORING_LOKI_PVC_SIZE
|
||||
value: "5Gi"
|
||||
# single-replica control-plane addons in dev (no HA needed to iterate).
|
||||
- op: replace
|
||||
path: /data/keycloak_replicas
|
||||
path: /data/KEYCLOAK_REPLICAS
|
||||
value: "1"
|
||||
- op: replace
|
||||
path: /data/oauth2_proxy_replicas
|
||||
path: /data/OAUTH2_PROXY_REPLICAS
|
||||
value: "1"
|
||||
- op: replace
|
||||
path: /data/velero_retention
|
||||
path: /data/VELERO_RETENTION
|
||||
value: "72h"
|
||||
@@ -15,33 +15,33 @@ patches:
|
||||
name: cluster-vars
|
||||
patch: |-
|
||||
- op: replace
|
||||
path: /data/cluster_env
|
||||
path: /data/CLUSTER_ENV
|
||||
value: "prod"
|
||||
# trusted, rate-limited real certs in prod — ADR-0006.
|
||||
- op: replace
|
||||
path: /data/acme_cluster_issuer
|
||||
path: /data/ACME_CLUSTER_ISSUER
|
||||
value: "letsencrypt-prod"
|
||||
- op: replace
|
||||
path: /data/longhorn_default_replica_count
|
||||
path: /data/LONGHORN_DEFAULT_REPLICA_COUNT
|
||||
value: "3"
|
||||
# longer retention / larger volumes on prod NVMe.
|
||||
- op: replace
|
||||
path: /data/monitoring_prometheus_retention
|
||||
path: /data/MONITORING_PROMETHEUS_RETENTION
|
||||
value: "30d"
|
||||
- op: replace
|
||||
path: /data/monitoring_prometheus_pvc_size
|
||||
path: /data/MONITORING_PROMETHEUS_PVC_SIZE
|
||||
value: "50Gi"
|
||||
- op: replace
|
||||
path: /data/monitoring_loki_pvc_size
|
||||
path: /data/MONITORING_LOKI_PVC_SIZE
|
||||
value: "50Gi"
|
||||
# HA control-plane addons in prod.
|
||||
- op: replace
|
||||
path: /data/keycloak_replicas
|
||||
path: /data/KEYCLOAK_REPLICAS
|
||||
value: "2"
|
||||
- op: replace
|
||||
path: /data/oauth2_proxy_replicas
|
||||
path: /data/OAUTH2_PROXY_REPLICAS
|
||||
value: "2"
|
||||
- op: replace
|
||||
path: /data/velero_retention
|
||||
path: /data/VELERO_RETENTION
|
||||
value: "720h"
|
||||
# TODO(WS-INFRA, Phase 7): pin prod node placement once the bare-metal role labels exist.
|
||||
Reference in new issue
Block a user