Getting started with Services APIs
Installing CRDs
This project provides a collection of Custom Resource Definitions (CRDs) that can be installed into any Kubernetes (>= 1.16) cluster.
To install the CRDs, please execute:
kubectl kustomize "github.com/external-secrets/external-secrets/config/crd" \
| kubectl apply -f -
Install the controller
kubectl kustomize "github.com/external-secrets/external-secrets/config/default" \
| kubectl apply -f -
Create your first SecretStore
apiVersion: external-secrets.io/v1alpha1
kind: SecretStore
metadata:
name: secretstore-sample
spec:
controller: dev
provider:
aws:
service: SecretsManager
role: arn:aws:iam::123456789012:role/team-a-reader
region: us-east-1
auth:
secretRef:
accessKeyIDSecretRef:
name: awssm-secret
key: access-key
secretAccessKeySecretRef:
name: awssm-secret
key: secret-access-key
Create your first ExternalSecret
apiVersion: external-secrets.io/v1alpha1
kind: ExternalSecret
metadata:
name: example
spec:
refreshInterval: 1h
secretStoreRef:
name: secretstore-sample
kind: SecretStore
target:
name: secret-to-be-created
creationPolicy: Owner
data:
- secretKey: secret-key-to-be-managed
remoteRef:
key: provider-key
version: provider-key-version
property: provider-key-property
dataFrom:
- remoteRef:
key: remote-key-in-the-provider
kubectl describe externalsecret example
# [...]
Name: example
Status:
Conditions:
Last Transition Time: 2021-02-24T16:45:23Z
Message: Secret was synced
Reason: SecretSynced
Status: True
Type: Ready
Refresh Time: 2021-02-24T16:45:24Z
Events: <none>
For more advanced examples, please read the other guides.
Uninstalling the CRDs
To uninstall the CRDs and all resources created with them, run the following command. Note that this will remove all ExternalSecrets and SecretStore resources in your cluster. If you have been using these resources for any other purpose do not uninstall these CRDs.
kubectl kustomize "github.com/external-secrets/external-secrets/config/crd" \
| kubectl delete -f -