External Secrets Operator (ESO)
Use External Secrets in your Namespace
Overview
The External Secrets Operator (ESO) is now available in the Kube. This feature allows applications to manage secrets securely by synchronizing them from our Vault to Kubernetes Secrets.
Enabling External Secrets Operator
To use ESO, set the following parameter when submitting your application request:
esoServiceAccount: true
What Gets Deployed
The following resources are automatically created in your namespace:
- ServiceAccount - A dedicated service account for the External Secrets Operator, name ends with
-eso. - SecretStore - A configuration object that defines how to connect to Vault.
- Vault Engine - A corresponding Vault engine is provisioned at https://vault.uni-muenster.de.
Access Control
Namespace Admin Groups automatically get access to the corresponding Vault secrets. Regular namespace administrator do not!
Usage Example
Create an ExternalSecret resource to define which secrets you want to sync from Vault to Kubernetes:
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: my-app-secrets
namespace: my-namespace
spec:
refreshInterval: 1h
secretStoreRef:
name: vault-backend
kind: SecretStore
target:
name: my-app-secret
creationPolicy: Owner
data:
- secretKey: database-url
remoteRef:
key: secret/data/my-app
property: DATABASE_URL
- secretKey: api-key
remoteRef:
key: secret/data/my-app
property: API_KEY
It is also possible to use templating for the secrets.
Additional Resources
For detailed ESO configuration and usage examples, please refer to the official External Secrets Operator Documentation.