External Secret
- Deploy the External Secrets Operator to your Kubernetes cluster.
helm repo add external-secrets https://charts.external-secrets.io helm repo update helm install external-secrets external-secrets/external-secrets
- ensure Kubernetes service account has access to AWS Secrets Manager.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:<region>:<account-id>:secret:<secret-name>*" } ] }
- Deploy Kubernetes ExternalSecret
SecretStore
ExternalSecret
# ------ SecretStore --------- apiVersion: external-secrets.io/v1beta1 kind: SecretStore metadata: name: aws-secret-store spec: provider: aws: service: SecretsManager region: <your-region> auth: jwt: serviceAccountRef: name: <your-service-account> namespace: <namespace> # ----- ExternalSecret ------- apiVersion: external-secrets.io/v1beta1 kind: ExternalSecret metadata: name: my-secret spec: refreshInterval: 1h secretStoreRef: name: aws-secret-store kind: SecretStore target: name: my-k8s-secret creationPolicy: Owner data: - secretKey: username remoteRef: key: my-secret-key property: username - secretKey: password remoteRef: key: my-secret-key property: password
- kubectl get secret my-k8s-secret