diff --git a/kubernetes/seed/influxdb/externalsecret.yaml b/kubernetes/seed/influxdb/externalsecret.yaml index 3ce2efdd..4cff7948 100644 --- a/kubernetes/seed/influxdb/externalsecret.yaml +++ b/kubernetes/seed/influxdb/externalsecret.yaml @@ -3,6 +3,10 @@ kind: ExternalSecret metadata: name: influxdb-bootstrap namespace: influxdb + annotations: + # Prune-disabled ahead of the seed->apps handoff so the bootstrap Secret + # (admin token) can't be deleted out from under the token Jobs mid-move. + kustomize.toolkit.fluxcd.io/prune: disabled spec: refreshInterval: 1h secretStoreRef: diff --git a/kubernetes/seed/influxdb/helmrelease.yaml b/kubernetes/seed/influxdb/helmrelease.yaml index f084982c..b73ef13e 100644 --- a/kubernetes/seed/influxdb/helmrelease.yaml +++ b/kubernetes/seed/influxdb/helmrelease.yaml @@ -3,6 +3,9 @@ kind: HelmRepository metadata: name: influxdata namespace: influxdb + annotations: + # Prune-disabled so a later seed->apps ownership handoff never deletes it. + kustomize.toolkit.fluxcd.io/prune: disabled spec: interval: 24h url: https://helm.influxdata.com/ @@ -12,6 +15,14 @@ kind: HelmRelease metadata: name: influxdb namespace: influxdb + annotations: + # CRITICAL: prune-disabled. This HelmRelease owns InfluxDB's data (its + # StatefulSet + the chart-provisioned influxdb-influxdb2 PVC). Landing this + # annotation on the live object *before* the KS is ever moved/deleted is + # step 1 of a two-step seed->apps handoff: once it's live here, a later + # prune of this KS can't tear the HelmRelease down (which would helm- + # uninstall the running server). Kept afterwards as a standing guard. + kustomize.toolkit.fluxcd.io/prune: disabled spec: interval: 30m chart: