fix(security): CR'ы ESO в отдельный Kustomization — CRD'ы ставит чарт, а не git #9

Merged
grachevko merged 1 commits from fix/eso-separate-stores into main 2026-09-17 18:20:29 +00:00
Collaborator

ClusterSecretStore/vault падал с no matches for kind "ClusterSecretStore" in version "external-secrets.io/v1": CR'ы лежали в одном Kustomization с HelmRelease оператора, а CRD'ы ставит сам чарт — они появляются только после установки релиза, то есть позже применения CR'ов из того же набора.

Что меняется

  • kubernetes/apps/security/external-secrets/ — только оператор: OCIRepository + HelmRelease.
  • kubernetes/apps/security/external-secrets-stores/ — новый Flux-Kustomization с dependsOn: external-secrets и wait: true, внутри ClusterSecretStore/vault и проверочный ExternalSecret/vault-smoke.
  • kubernetes/apps/security/kustomization.yaml — добавлен ./external-secrets-stores/ks.yaml.

Проверка

kubectl -n security get hr,ocirepository,pods
kubectl get crd | grep external-secrets
kubectl -n security get clustersecretstore vault -o jsonpath='{.status.conditions[*].reason}'
kubectl -n security get externalsecret vault-smoke -o wide
kubectl -n security get secret vault-smoke -o jsonpath='{.data.username}' | base64 -d

Ожидаемо: CRD'ы externalsecret, clustersecretstore, secretstore, pushsecret и т.д. на месте, у стора Valid, у ExternalSecret Ready=True/SecretSynced, в Secret — demo из Vault (значение кладётся vault kv put kv/demo username=demo password=s3cr3t).

`ClusterSecretStore/vault` падал с `no matches for kind "ClusterSecretStore" in version "external-secrets.io/v1"`: CR'ы лежали в одном Kustomization с HelmRelease оператора, а CRD'ы ставит сам чарт — они появляются только после установки релиза, то есть позже применения CR'ов из того же набора. ## Что меняется - `kubernetes/apps/security/external-secrets/` — только оператор: OCIRepository + HelmRelease. - `kubernetes/apps/security/external-secrets-stores/` — новый Flux-Kustomization с `dependsOn: external-secrets` и `wait: true`, внутри `ClusterSecretStore/vault` и проверочный `ExternalSecret/vault-smoke`. - `kubernetes/apps/security/kustomization.yaml` — добавлен `./external-secrets-stores/ks.yaml`. ## Проверка ``` kubectl -n security get hr,ocirepository,pods kubectl get crd | grep external-secrets kubectl -n security get clustersecretstore vault -o jsonpath='{.status.conditions[*].reason}' kubectl -n security get externalsecret vault-smoke -o wide kubectl -n security get secret vault-smoke -o jsonpath='{.data.username}' | base64 -d ``` Ожидаемо: CRD'ы `externalsecret`, `clustersecretstore`, `secretstore`, `pushsecret` и т.д. на месте, у стора `Valid`, у ExternalSecret `Ready=True`/`SecretSynced`, в Secret — `demo` из Vault (значение кладётся `vault kv put kv/demo username=demo password=s3cr3t`).
hermes added 1 commit 2026-09-17 18:18:34 +00:00
fix(security): CR ESO в отдельный Kustomization после оператора
Flate / Flate - Success (pull_request) Blocked by required conditions
Flate / Flate - Filter (pull_request) Successful in 5s
Flate / Flate (pull_request) Successful in 16s
df78e7ce51
grachevko merged commit df78e7ce51 into main 2026-09-17 18:20:29 +00:00
grachevko deleted branch fix/eso-separate-stores 2026-09-17 18:20:29 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: grachevko/home-ops#9