# ClusterSecretStore using the Kubernetes provider. # Reads secrets from the cluster itself — no external vault required. # The service account below must have get/list access to secrets in # the namespaces where ExternalSecrets are created. apiVersion: v1 kind: ServiceAccount metadata: name: eso-kubernetes-provider namespace: external-secrets --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: eso-kubernetes-provider-reader rules: - apiGroups: [""] resources: ["secrets"] verbs: ["get", "list", "watch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: eso-kubernetes-provider-reader roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: eso-kubernetes-provider-reader subjects: - kind: ServiceAccount name: eso-kubernetes-provider namespace: external-secrets --- apiVersion: external-secrets.io/v1beta1 kind: ClusterSecretStore metadata: name: kubernetes-provider spec: provider: kubernetes: remoteNamespace: external-secrets server: caProvider: type: ConfigMap name: kube-root-ca.crt namespace: external-secrets key: ca.crt auth: serviceAccount: name: eso-kubernetes-provider namespace: external-secrets