skaffold.yaml
v1beta17Schema URL
Any of
Definitions
criteria by which a profile is auto-activated.
a Skaffold command for which the profile is auto-activated.
a key=pattern pair. The profile is auto-activated if an Environment Variable key matches the pattern. If the pattern starts with !, activation happens if the remaining pattern is not matched. The pattern matches if the Environment Variable value is exactly pattern, or the regex pattern is found in it. An empty pattern (e.g. env: "key=") always only matches if the Environment Variable is undefined or empty.
a Kubernetes context for which the profile is auto-activated.
items that need to be built, along with the context in which they should be built.
beta describes an artifact built with Bazel.
bazel build target to run.
additional args to pass to bazel build.
contains all the configuration for the build steps.
beta describes how to do an on-cluster build.
for kaniko pod.
for kaniko pod.
how many artifacts can be built concurrently. 0 means "no-limit" Defaults to 0.
contains information about the docker config.json to mount.
2 nested properties
path to the docker config.json.
Kubernetes secret that contains the config.json Docker configuration. Note that the expected secret type is not 'kubernetes.io/dockerconfigjson' but 'Opaque'.
Kubernetes namespace. Defaults to current namespace in Kubernetes configuration.
path to the Google Cloud service account secret key file.
path the pull secret will be mounted at within the running container.
name of the Kubernetes secret for pulling the files from the build context and pushing the final image. If given, the secret needs to contain the Google Cloud service account secret key under the key kaniko-secret.
describes the resource requirements for the kaniko pod.
2 nested properties
stores the CPU/Memory requirements for the pod.
4 nested properties
the number cores to be used.
the amount of Ephemeral storage to allocate to the pod.
the amount of memory to allocate to the pod.
the amount of resource storage to allocate to the pod.
stores the CPU/Memory requirements for the pod.
4 nested properties
the number cores to be used.
the amount of Ephemeral storage to allocate to the pod.
the amount of memory to allocate to the pod.
the amount of resource storage to allocate to the pod.
amount of time (in seconds) that this build is allowed to run. Defaults to 20 minutes (20m).
alpha describes an artifact built from a custom build script written by the user. It can be used to build images with builders that aren't directly integrated with skaffold.
command executed to build the image.
alpha used to specify dependencies for an artifact built by a custom build script. Either dockerfile or paths should be specified for file watching to work as expected.
4 nested properties
represents a custom command that skaffold executes to obtain dependencies. The output of this command must be a valid JSON array.
alpha used to specify a custom build artifact that is built from a Dockerfile. This allows skaffold to determine dependencies from the Dockerfile.
2 nested properties
arguments passed to the docker build. It also accepts environment variables via the go template syntax.
locates the Dockerfile relative to workspace.
specifies the paths that should be ignored by skaffold's file watcher. If a file exists in both paths and in ignore, it will be ignored, and will be excluded from both rebuilds and file synchronization. Will only work in conjunction with paths.
should be set to the file dependencies for this artifact, so that the skaffold file watcher knows when to rebuild and perform file synchronization.
alpha used to specify dependencies for an artifact built by a custom build script. Either dockerfile or paths should be specified for file watching to work as expected.
represents a custom command that skaffold executes to obtain dependencies. The output of this command must be a valid JSON array.
alpha used to specify a custom build artifact that is built from a Dockerfile. This allows skaffold to determine dependencies from the Dockerfile.
2 nested properties
arguments passed to the docker build. It also accepts environment variables via the go template syntax.
locates the Dockerfile relative to workspace.
specifies the paths that should be ignored by skaffold's file watcher. If a file exists in both paths and in ignore, it will be ignored, and will be excluded from both rebuilds and file synchronization. Will only work in conjunction with paths.
should be set to the file dependencies for this artifact, so that the skaffold file watcher knows when to rebuild and perform file synchronization.
beta tags images with the build timestamp.
formats the date and time. See #Time.Format.
sets the timezone for the date and time. See Time.LoadLocation. Defaults to the local timezone.
contains all the configuration needed by the deploy steps.
beta describes an artifact built from a Dockerfile, usually using docker build.
arguments passed to the docker build.
the Docker images used as cache sources.
locates the Dockerfile relative to workspace.
passed through to docker and overrides the network configuration of docker builder. If unset, use whatever is configured in the underlying docker daemon. Valid modes are host: use the host's networking stack. bridge: use the bridged network configuration. none: no networking in the container.
used to pass in --no-cache to docker build to prevent caching.
Dockerfile target name to build.
contains information about the docker config.json to mount.
path to the docker config.json.
Kubernetes secret that contains the config.json Docker configuration. Note that the expected secret type is not 'kubernetes.io/dockerconfigjson' but 'Opaque'.
alpha used to specify a custom build artifact that is built from a Dockerfile. This allows skaffold to determine dependencies from the Dockerfile.
arguments passed to the docker build. It also accepts environment variables via the go template syntax.
locates the Dockerfile relative to workspace.
beta tags images with a configurable template string.
used to produce the image name and tag. See golang text/template. The template is executed against the current environment, with those variables injected: IMAGE_NAME | Name of the image being built, as supplied in the artifacts section.
beta tags images with the git tag or commit of the artifact's workspace.
determines the behavior of the git tagger. Valid variants are Tags (default): use git tags or fall back to abbreviated commit hash. CommitSha: use the full git commit sha. AbbrevCommitSha: use the abbreviated git commit sha. TreeSha: use the full tree hash of the artifact workingdir. AbbrevTreeSha: use the abbreviated tree hash of the artifact workingdir.
beta describes how to do a remote build on Google Cloud Build. Docker and Jib artifacts can be built on Cloud Build. The projectId needs to be provided and the currently logged in user should be given permissions to trigger new builds.
how many artifacts can be built concurrently. 0 means "no-limit" Defaults to 0.
disk size of the VM that runs the build. See Cloud Build Reference.
image that runs a Docker build. See Cloud Builders.
image that runs a Gradle build. See Cloud Builders.
image that runs a Kaniko build. See Cloud Builders.
type of the VM that runs the build. See Cloud Build Reference.
image that runs a Maven build. See Cloud Builders.
ID of your Cloud Platform Project. If it is not provided, Skaffold will guess it from the image name. For example, given the artifact image name gcr.io/myproject/image, Skaffold will use the myproject GCP project.
amount of time (in seconds) that this build should be allowed to run. See Cloud Build Reference.
image config in the syntax of image.repository and image.tag.
separates image.registry to the image config syntax. Useful for some charts e.g. postgresql.
beta uses the helm CLI to apply the charts to the cluster.
a list of Helm releases.
additional option flags that are passed on the command line to helm.
3 nested properties
additional flags passed on every command.
additional flags passed to (helm install).
additional flags passed to (helm upgrade).
additional option flags that are passed on the command line to helm.
additional flags passed on every command.
additional flags passed to (helm install).
additional flags passed to (helm upgrade).
image config to use the FullyQualifiedImageName as param to set.
defines the image config.
adds image configurations to the Helm values file.
parameters for packaging helm chart (helm package).
sets the appVersion on the chart to this version.
sets the version on the chart to this semver version.
describes a helm release to be deployed.
path to the Helm chart.
name of the Helm release.
adds image configurations to the Helm values file.
Kubernetes namespace.
key-value pairs. If present, Skaffold will build a Helm values file that overrides the original and use it to call Helm CLI (--f flag).
parameters for packaging helm chart (helm package).
2 nested properties
sets the appVersion on the chart to this version.
sets the version on the chart to this semver version.
if true, Skaffold will send --recreate-pods flag to Helm CLI when upgrading a new version of a chart in subsequent dev loop deploy.
specifies whether the chart path is remote, or exists on the host filesystem. remote: true implies skipBuildDependencies: true.
key-value pairs. If present, Skaffold will send --set-file flag to Helm CLI and append all pairs after the flag.
key-value pairs. If present, Skaffold will try to parse the value part of each key-value pair using environment variables in the system, then send --set flag to Helm CLI and append all parsed pairs after the flag.
key-value pairs. If present, Skaffold will send --set flag to Helm CLI and append all pairs after the flag.
should build dependencies be skipped.
instructs skaffold to use secrets plugin on deployment.
key-value pairs supplementing the Helm values file.
paths to the Helm values files.
version of the chart.
if true, Skaffold will send --wait flag to Helm CLI.
patch to be applied by a profile.
position in the yaml where the operation takes place. For example, this targets the dockerfile of the first artifact built.
source position in the yaml, used for copy or move operations.
operation carried by the patch: add, remove, replace, move, copy or test.
value to apply. Can be any portion of yaml.
alpha builds images using the Jib plugins for Maven and Gradle.
additional build flags passed to the builder.
selects which sub-project to build for multi-module builds.
the Jib builder type; normally determined automatically. Valid types are maven: for Maven. gradle: for Gradle.
alpha describes an artifact built from a Dockerfile, with kaniko.
arguments passed to the docker build. It also accepts environment variables via the go template syntax.
contains the different fields available to specify a Kaniko build context.
2 nested properties
GCS bucket to which sources are uploaded. Kaniko will need access to that bucket to download the sources.
configures how Kaniko mounts sources directly via an emptyDir volume.
1 nested properties
image used to run init container which mounts kaniko context.
configures Kaniko caching. If a cache is specified, Kaniko will use a remote cache which will speed up builds.
2 nested properties
specifies a path on the host that is mounted to each pod as read only cache volume containing base images. If set, must exist on each node and prepopulated with kaniko-warmer.
a remote repository to store cached layers. If none is specified, one will be inferred from the image name. See Kaniko Caching.
locates the Dockerfile relative to workspace.
additional flags to be passed to Kaniko command line. See Kaniko Additional Flags. Deprecated - instead the named, unique fields should be used, e.g. buildArgs, cache, target.
Docker image used by the Kaniko pod. Defaults to the latest released version of gcr.io/kaniko-project/executor.
used to strip timestamps out of the built image.
skips TLS verification when pulling and pushing the image.
Dockerfile target name to build.
contains the different fields available to specify a Kaniko build context.
GCS bucket to which sources are uploaded. Kaniko will need access to that bucket to download the sources.
configures how Kaniko mounts sources directly via an emptyDir volume.
1 nested properties
image used to run init container which mounts kaniko context.
configures Kaniko caching. If a cache is specified, Kaniko will use a remote cache which will speed up builds.
specifies a path on the host that is mounted to each pod as read only cache volume containing base images. If set, must exist on each node and prepopulated with kaniko-warmer.
a remote repository to store cached layers. If none is specified, one will be inferred from the image name. See Kaniko Caching.
beta uses a client side kubectl apply to deploy manifests. You'll need a kubectl CLI version installed that's compatible with your cluster.
additional flags passed on the command line to kubectl either on every command (Global), on creations (Apply) or deletions (Delete).
3 nested properties
additional flags passed on creations (kubectl apply).
additional flags passed on deletions (kubectl delete).
additional flags passed on every command.
the Kubernetes yaml or json manifests.
Kubernetes manifests in remote clusters.
additional flags passed on the command line to kubectl either on every command (Global), on creations (Apply) or deletions (Delete).
additional flags passed on creations (kubectl apply).
additional flags passed on deletions (kubectl delete).
additional flags passed on every command.
beta uses the kustomize CLI to "patch" a deployment for a target environment.
additional args passed to kustomize build.
additional flags passed on the command line to kubectl either on every command (Global), on creations (Apply) or deletions (Delete).
3 nested properties
additional flags passed on creations (kubectl apply).
additional flags passed on deletions (kubectl delete).
additional flags passed on every command.
path to Kustomization files.
beta describes how to do a build on the local docker daemon and optionally push to a repository.
should images be pushed to a registry. If not specified, images are pushed only if the current Kubernetes context connects to a remote cluster.
use BuildKit to build Docker images. If unspecified, uses the Docker default.
use docker command-line interface instead of Docker Engine APIs.
configures how Kaniko mounts sources directly via an emptyDir volume.
image used to run init container which mounts kaniko context.
holds an optional name of the project.
an identifier for the project.
describes a resource to port forward.
local port to forward to. If the port is unavailable, Skaffold will choose a random open port to forward to. Optional.
namespace of the resource to port forward.
resource port that will be forwarded.
name of the Kubernetes resource to port forward.
Kubernetes type that should be port forwarded. Acceptable resource types include: Service, Pod and Controller resource type that has a pod spec: ReplicaSet, ReplicationController, Deployment, StatefulSet, DaemonSet, Job, CronJob.
beta profiles are used to override any build, test or deploy configuration.
a unique profile name.
criteria by which a profile can be auto-activated. The profile is auto-activated if any one of the activations are triggered. An activation is triggered if all of the criteria (env, kubeContext, command) are triggered.
contains all the configuration for the build steps.
contains all the configuration needed by the deploy steps.
patches applied to the configuration. Patches use the JSON patch notation.
describes user defined resources to port-forward.
describes how images are tested.
stores the CPU/Memory requirements for the pod.
the number cores to be used.
the amount of Ephemeral storage to allocate to the pod.
the amount of memory to allocate to the pod.
the amount of resource storage to allocate to the pod.
describes the resource requirements for the kaniko pod.
stores the CPU/Memory requirements for the pod.
4 nested properties
the number cores to be used.
the amount of Ephemeral storage to allocate to the pod.
the amount of memory to allocate to the pod.
the amount of resource storage to allocate to the pod.
stores the CPU/Memory requirements for the pod.
4 nested properties
the number cores to be used.
the amount of Ephemeral storage to allocate to the pod.
the amount of memory to allocate to the pod.
the amount of resource storage to allocate to the pod.
describes the Kubernetes resource types used for port forwarding.
beta tags images with their sha256 digest.
holds the fields parsed from the Skaffold configuration file (skaffold.yaml).
version of the configuration.
always Config.
contains all the configuration for the build steps.
contains all the configuration needed by the deploy steps.
holds an optional name of the project.
1 nested properties
an identifier for the project.
describes user defined resources to port-forward.
beta can override be used to build, test or deploy configuration.
describes how images are tested.
alpha specifies what files to sync into the container. This is a list of sync rules indicating the intent to sync for source files.
file patterns which may be synced into the container. The container destination is inferred by the builder. Currently only available for docker artifacts.
manual sync rules indicating the source and destination.
specifies which local files to sync to remote folders.
destination path in the container where the files should be synced to.
a glob pattern to match local paths against. Directories should be delimited by / on all platforms.
specifies the path prefix to remove from the source path when transplanting the files into the destination folder.
contains all the configuration for the tagging step.
beta tags images with the build timestamp.
2 nested properties
formats the date and time. See #Time.Format.
sets the timezone for the date and time. See Time.LoadLocation. Defaults to the local timezone.
beta tags images with a configurable template string.
1 nested properties
used to produce the image name and tag. See golang text/template. The template is executed against the current environment, with those variables injected: IMAGE_NAME | Name of the image being built, as supplied in the artifacts section.
beta tags images with the git tag or commit of the artifact's workspace.
1 nested properties
determines the behavior of the git tagger. Valid variants are Tags (default): use git tags or fall back to abbreviated commit hash. CommitSha: use the full git commit sha. AbbrevCommitSha: use the abbreviated git commit sha. TreeSha: use the full tree hash of the artifact workingdir. AbbrevTreeSha: use the abbreviated tree hash of the artifact workingdir.
beta tags images with their sha256 digest.
a list of structure tests to run on images that Skaffold builds.
artifact on which to run those tests.
the Container Structure Tests to run on that artifact.