# Template ExternalSecret - Basic Configuration # # This template syncs secrets from Vault into a Kubernetes Secret. # Copy this file to your `secrets-/` folder and customize. # # The secrets defined here will be synced into a Kubernetes Secret named "app-secrets" # that your pods can mount or reference via environment variables. apiVersion: external-secrets.io/v1beta1 kind: ExternalSecret metadata: name: app-secrets namespace: default # CHANGE: Your application's namespace spec: # How often to sync secrets (shorter = more frequent updates) refreshInterval: 1h # Reference to the SecretStore (should be in the same namespace) # or ClusterSecretStore (available cluster-wide) secretStoreRef: name: vault-secretstore # CHANGE: Name of your SecretStore kind: SecretStore # CHANGE: Use "ClusterSecretStore" if using cluster-wide store # Target: where to create the synced Kubernetes Secret target: name: app-secrets # CHANGE: Name of the Secret to create creationPolicy: Owner template: engineVersion: v2 # Template the secret data (optional transformation) data: DATABASE_URL: "{{ .db_url }}" API_KEY: "{{ .api_key }}" # Source: which secrets to fetch from the backend data: - secretKey: db_url # Name used in template and Secret remoteRef: key: my-app/database # CHANGE: Path in Vault property: url # CHANGE: Property within that Vault key - secretKey: api_key # Name used in template and Secret remoteRef: key: my-app/api # CHANGE: Path in Vault property: token # CHANGE: Property within that Vault key