The ExternalSecret describes what data should be fetched, how the data should
be transformed and saved as a Kind=Secret:
spec.data to
explicitly sync individual keys or use spec.dataFrom to get all values
from the external API.spec.target.templateWhen the controller reconciles the ExternalSecret it will use the spec.template as a blueprint to construct a new Kind=Secret. You can use golang templates to define the blueprint and use template functions to transform secret values. You can also pull in ConfigMaps that contain golang-template data using templateFrom. See advanced templating for details.
The Kind=Secret is updated when:
spec.refreshInterval has passed and is not 0ExternalSecret's labels or annotations are changedExternalSecret's spec has been changedYou can trigger a secret refresh by using kubectl or any other kubernetes api client:
kubectl annotate es my-es force-sync=$(date +%s) --overwrite
Individual features are described in the Guides section:
Take a look at an annotated example to understand the design behind the
ExternalSecret.
{% include 'full-external-secret.yaml' %}