## Summary - Upgrade External Secrets Operator from v1.3.2 (helm-chart-2.0.0) to v2.2.0 - Migrate from Helm chart deployment to static kustomize manifests, matching the repo's kustomize-first pattern - Merge separate `-config` ArgoCD apps into the main operator apps (6 → 4 apps) - Clean up Helm-specific labels (`helm.sh/chart`, `managed-by: Helm`) - Update README example from v1beta1 to v1 API ## Breaking changes assessment Low risk — v2.0.0 removed Alibaba and Device42 providers (we use neither). No templating changes affect us. All ExternalSecrets already use v1 API. ## Deployment steps 1. Sync CRDs first on both clusters (new CRD version) 2. Sync operator apps (now kustomize-based) 3. Verify ClusterSecretStore and all ExternalSecrets are healthy 4. Delete orphaned config apps: `argocd app delete external-secrets-config` and `-config-ringtail` 5. `mise run services-check` Reviewed-on: #312
83 lines
2.6 KiB
YAML
83 lines
2.6 KiB
YAML
---
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: external-secrets-webhook
|
|
namespace: external-secrets
|
|
labels:
|
|
app.kubernetes.io/name: external-secrets-webhook
|
|
app.kubernetes.io/instance: external-secrets
|
|
app.kubernetes.io/version: "v2.2.0"
|
|
app.kubernetes.io/managed-by: kustomize
|
|
external-secrets.io/component: webhook
|
|
---
|
|
apiVersion: admissionregistration.k8s.io/v1
|
|
kind: ValidatingWebhookConfiguration
|
|
metadata:
|
|
name: secretstore-validate
|
|
labels:
|
|
app.kubernetes.io/name: external-secrets-webhook
|
|
app.kubernetes.io/instance: external-secrets
|
|
app.kubernetes.io/version: "v2.2.0"
|
|
app.kubernetes.io/managed-by: kustomize
|
|
external-secrets.io/component: webhook
|
|
webhooks:
|
|
- name: "validate.secretstore.external-secrets.io"
|
|
rules:
|
|
- apiGroups: ["external-secrets.io"]
|
|
apiVersions: ["v1"]
|
|
operations: ["CREATE", "UPDATE", "DELETE"]
|
|
resources: ["secretstores"]
|
|
scope: "Namespaced"
|
|
clientConfig:
|
|
service:
|
|
namespace: external-secrets
|
|
name: external-secrets-webhook
|
|
path: /validate-external-secrets-io-v1-secretstore
|
|
admissionReviewVersions: ["v1", "v1beta1"]
|
|
sideEffects: None
|
|
timeoutSeconds: 5
|
|
failurePolicy: Fail
|
|
- name: "validate.clustersecretstore.external-secrets.io"
|
|
rules:
|
|
- apiGroups: ["external-secrets.io"]
|
|
apiVersions: ["v1"]
|
|
operations: ["CREATE", "UPDATE", "DELETE"]
|
|
resources: ["clustersecretstores"]
|
|
scope: "Cluster"
|
|
clientConfig:
|
|
service:
|
|
namespace: external-secrets
|
|
name: external-secrets-webhook
|
|
path: /validate-external-secrets-io-v1-clustersecretstore
|
|
admissionReviewVersions: ["v1", "v1beta1"]
|
|
sideEffects: None
|
|
timeoutSeconds: 5
|
|
---
|
|
apiVersion: admissionregistration.k8s.io/v1
|
|
kind: ValidatingWebhookConfiguration
|
|
metadata:
|
|
name: externalsecret-validate
|
|
labels:
|
|
app.kubernetes.io/name: external-secrets-webhook
|
|
app.kubernetes.io/instance: external-secrets
|
|
app.kubernetes.io/version: "v2.2.0"
|
|
app.kubernetes.io/managed-by: kustomize
|
|
external-secrets.io/component: webhook
|
|
webhooks:
|
|
- name: "validate.externalsecret.external-secrets.io"
|
|
rules:
|
|
- apiGroups: ["external-secrets.io"]
|
|
apiVersions: ["v1"]
|
|
operations: ["CREATE", "UPDATE", "DELETE"]
|
|
resources: ["externalsecrets"]
|
|
scope: "Namespaced"
|
|
clientConfig:
|
|
service:
|
|
namespace: external-secrets
|
|
name: external-secrets-webhook
|
|
path: /validate-external-secrets-io-v1-externalsecret
|
|
admissionReviewVersions: ["v1", "v1beta1"]
|
|
sideEffects: None
|
|
timeoutSeconds: 5
|
|
failurePolicy: Fail
|