This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
# External Secrets Operator
|
||||
|
||||
External Secrets Operator(ESO)把 OpenBao `kv/k8s/*` 下的值投影为 Kubernetes
|
||||
Secret。`ClusterSecretStore/openbao` 使用 `external-secrets` ServiceAccount 的短期
|
||||
JWT 登录 OpenBao,不在 Git 中保存长期凭据。
|
||||
|
||||
## Flux 接管
|
||||
|
||||
现有 release 是 2026-07-28 手工安装的 chart `external-secrets` `2.8.0`,Helm
|
||||
revision 1。接管前审计确认:本目录 `values.yaml` 与 Helm stored user values 一致;
|
||||
用固定 chart 生成的 33,528 行 manifest 与 stored manifest 只有末尾空行差异。
|
||||
|
||||
接管分两阶段:本阶段以 `suspend: true` 登记 HelmRepository、values ConfigMap 与
|
||||
HelmRelease,不执行 Helm action,不应重建三个 controller。合并后确认 source Ready、
|
||||
release 仍为 revision 1、三个 Pod UID/重启次数不变,再用独立 PR 移除 `suspend`。
|
||||
子 Kustomization 保持 `prune: false`。
|
||||
|
||||
`clustersecretstore.yaml` 和 `externalsecrets.yaml` 是现有 secret delivery intent,
|
||||
本阶段故意不把它们加入该 Kustomization,避免在 Helm release 接管时同时扩大 Flux
|
||||
ownership。Helm 接管稳定后再单独审计、纳管这些对象。
|
||||
@@ -0,0 +1,32 @@
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: external-secrets
|
||||
namespace: external-secrets
|
||||
spec:
|
||||
suspend: true
|
||||
chart:
|
||||
spec:
|
||||
chart: external-secrets
|
||||
interval: 1h
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: external-secrets
|
||||
version: 2.8.0
|
||||
driftDetection:
|
||||
mode: enabled
|
||||
install:
|
||||
strategy:
|
||||
name: RetryOnFailure
|
||||
retryInterval: 5m
|
||||
interval: 30m
|
||||
releaseName: external-secrets
|
||||
targetNamespace: external-secrets
|
||||
timeout: 10m
|
||||
upgrade:
|
||||
strategy:
|
||||
name: RetryOnFailure
|
||||
retryInterval: 5m
|
||||
valuesFrom:
|
||||
- kind: ConfigMap
|
||||
name: external-secrets-values
|
||||
@@ -0,0 +1,8 @@
|
||||
apiVersion: source.toolkit.fluxcd.io/v1
|
||||
kind: HelmRepository
|
||||
metadata:
|
||||
name: external-secrets
|
||||
namespace: external-secrets
|
||||
spec:
|
||||
interval: 1h
|
||||
url: https://charts.external-secrets.io
|
||||
@@ -0,0 +1,14 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
generatorOptions:
|
||||
disableNameSuffixHash: true
|
||||
labels:
|
||||
reconcile.fluxcd.io/watch: Enabled
|
||||
configMapGenerator:
|
||||
- name: external-secrets-values
|
||||
namespace: external-secrets
|
||||
files:
|
||||
- values.yaml=values.yaml
|
||||
resources:
|
||||
- helmrepository.yaml
|
||||
- helmrelease.yaml
|
||||
Reference in New Issue
Block a user