Templated Fields
Skaffold allows for certain fields in the config to be templated with values either from environment variables, or certain special values computed by Skaffold.
build:
tagPolicy:
envTemplate:
template: "{{.FOO}}"
artifacts:
- image: gcr.io/k8s-skaffold/example
Suppose the value of the FOO environment variable is v1, the image built
will be gcr.io/k8s-skaffold/example:v1.
List of fields that support templating:
build.artifacts.[].docker.buildArgs(see builders)build.artifacts.[].ko.{env,flags,labels,ldflags}(seekobuilder)build.tagPolicy.envTemplate.template(see envTemplate tagger)deploy.helm.releases.setValueTemplates(see Deploying with helm)deploy.helm.releases.name(see Deploying with helm)deploy.helm.releases.namespace(see Deploying with helm)deploy.helm.releases[].repo(see Deploying with helm)deploy.helm.releases.version(see Deploying with helm)deploy.helm.releases.valuesFiles(see Deploying with helm)deploy.kubectl.defaultNamespacedeploy.kustomize.defaultNamespacedeploy.kustomize.paths.[]portForward.namespaceportForward.resourceName
Please note, this list is not exhaustive.
List of variables that are available for templating:
- all environment variables passed to the Skaffold process at startup
- For the
envTemplatetagger:IMAGE_NAME- the artifact’s image name - the image name rewriting acts after the template is calculated
- For Helm deployments:
IMAGE_NAME,IMAGE_TAG,IMAGE_DIGEST- the first (by order of declaration inbuild.artifacts) artifact’s image name, tag, and sha256 digest. Note: the image name rewriting acts after the template is calculated.IMAGE_NAME2,IMAGE_TAG2,IMAGE_DIGEST2- the 2nd artifact’s image name, tag, and sha256 digestIMAGE_NAMEN,IMAGE_TAGN,IMAGE_DIGESTN- the Nth artifact’s image name, tag, and sha256 digest
Last modified June 30, 2022: docs: add missing templatable field (#7612) (0c9650dc4)