Schema URL

Type: object

Any of

1. SkaffoldConfig object

Definitions

Activation object

criteria by which a profile is auto-activated.

command string

a Skaffold command for which the profile is auto-activated.

Examples: "dev"
env string

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.

Examples: "ENV=production"
kubeContext string

a Kubernetes context for which the profile is auto-activated.

Examples: "minikube"
Artifact object

items that need to be built, along with the context in which they should be built.

Auto object

cannot be customized.

BazelArtifact object

describes an artifact built with Bazel.

target string required

bazel build target to run.

Examples: "//:skaffold_example.tar"
args string[]

additional args to pass to bazel build.

Default: "[]"
Examples: "["-flag", "--otherflag"]"
BuildConfig object

contains all the configuration for the build steps.

BuildpackArtifact object

alpha describes an artifact built using Cloud Native Buildpacks. It can be used to build images out of project's sources without any additional configuration.

builder string required

builder image used.

buildpacks string[]

a list of strings, where each string is a specific buildpack to use with the builder. If you specify buildpacks the builder image automatic detection will be ignored. These buildpacks will be used to build the Image from your source code. Order matters.

Default: "[]"
dependencies object

alpha used to specify dependencies for an artifact built by buildpacks.

2 nested properties
ignore string[]

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.

Default: "[]"
paths string[]

should be set to the file dependencies for this artifact, so that the skaffold file watcher knows when to rebuild and perform file synchronization.

Default: "[]"
env string[]

environment variables, in the key=value form, passed to the build. Values can use the go template syntax.

Default: "[]"
Examples: "["key1=value1", "key2=value2", "key3={{.ENV_VARIABLE}}"]"
projectDescriptor string

path to the project descriptor file.

Default: "project.toml"
runImage string

overrides the stack's default run image.

trustBuilder boolean

indicates that the builder should be trusted.

Default: "false"
BuildpackDependencies object

alpha used to specify dependencies for an artifact built by buildpacks.

ignore string[]

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.

Default: "[]"
paths string[]

should be set to the file dependencies for this artifact, so that the skaffold file watcher knows when to rebuild and perform file synchronization.

Default: "[]"
ClusterDetails object

beta describes how to do an on-cluster build.

HTTPS_PROXY string

for kaniko pod.

HTTP_PROXY string

for kaniko pod.

annotations Record<string, string>

describes the Kubernetes annotations for the pod.

Default: "{}"
concurrency integer

how many artifacts can be built concurrently. 0 means "no-limit".

Default: "0"
dockerConfig object

contains information about the docker config.json to mount.

2 nested properties
path string

path to the docker config.json.

secretName string

Kubernetes secret that contains the config.json Docker configuration. Note that the expected secret type is not 'kubernetes.io/dockerconfigjson' but 'Opaque'.

namespace string

Kubernetes namespace. Defaults to current namespace in Kubernetes configuration.

pullSecretMountPath string

path the pull secret will be mounted at within the running container.

pullSecretName string

name of the Kubernetes secret for pulling base images and pushing the final image. If given, the secret needs to contain the Google Cloud service account secret key under the key kaniko-secret.

Default: "kaniko-secret"
pullSecretPath string

path to the Google Cloud service account secret key file.

randomDockerConfigSecret boolean

adds a random UUID postfix to the default name of the docker secret to facilitate parallel builds, e.g. docker-cfgfd154022-c761-416f-8eb3-cf8258450b85.

Default: "false"
randomPullSecret boolean

adds a random UUID postfix to the default name of the pull secret to facilitate parallel builds, e.g. kaniko-secretdocker-cfgfd154022-c761-416f-8eb3-cf8258450b85.

Default: "false"
resources object

describes the resource requirements for the kaniko pod.

2 nested properties
limits object

stores the CPU/Memory requirements for the pod.

4 nested properties
cpu string

the number cores to be used.

Examples: "2`, `2.0` or `200m"
ephemeralStorage string

the amount of Ephemeral storage to allocate to the pod.

Examples: "1Gi` or `1000Mi"
memory string

the amount of memory to allocate to the pod.

Examples: "1Gi` or `1000Mi"
resourceStorage string

the amount of resource storage to allocate to the pod.

Examples: "1Gi` or `1000Mi"
requests object

stores the CPU/Memory requirements for the pod.

4 nested properties
cpu string

the number cores to be used.

Examples: "2`, `2.0` or `200m"
ephemeralStorage string

the amount of Ephemeral storage to allocate to the pod.

Examples: "1Gi` or `1000Mi"
memory string

the amount of memory to allocate to the pod.

Examples: "1Gi` or `1000Mi"
resourceStorage string

the amount of resource storage to allocate to the pod.

Examples: "1Gi` or `1000Mi"
runAsUser integer

defines the UID to request for running the container. If omitted, no SecurityContext will be specified for the pod and will therefore be inherited from the service account.

serviceAccount string

describes the Kubernetes service account to use for the pod. Defaults to 'default'.

timeout string

amount of time (in seconds) that this build is allowed to run. Defaults to 20 minutes (20m).

tolerations array

describes the Kubernetes tolerations for the pod.

Default: "[]"
volumes array

defines container mounts for ConfigMap and Secret resources.

Default: "[]"
CustomArtifact object

beta 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.

buildCommand string

command executed to build the image.

dependencies object

beta 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
command string

represents a custom command that skaffold executes to obtain dependencies. The output of this command must be a valid JSON array.

dockerfile object

beta 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
buildArgs Record<string, string>

key/value pairs used to resolve values of ARG instructions in a Dockerfile. Values can be constants or environment variables via the go template syntax.

Default: "{}"
Examples: "{"key1": "value1", "key2": "value2", "key3": "'{{.ENV_VARIABLE}}'"}"
path string

locates the Dockerfile relative to workspace.

ignore string[]

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.

Default: "[]"
paths string[]

should be set to the file dependencies for this artifact, so that the skaffold file watcher knows when to rebuild and perform file synchronization.

Default: "[]"
CustomDependencies object

beta 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.

command string

represents a custom command that skaffold executes to obtain dependencies. The output of this command must be a valid JSON array.

dockerfile object

beta 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
buildArgs Record<string, string>

key/value pairs used to resolve values of ARG instructions in a Dockerfile. Values can be constants or environment variables via the go template syntax.

Default: "{}"
Examples: "{"key1": "value1", "key2": "value2", "key3": "'{{.ENV_VARIABLE}}'"}"
path string

locates the Dockerfile relative to workspace.

ignore string[]

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.

Default: "[]"
paths string[]

should be set to the file dependencies for this artifact, so that the skaffold file watcher knows when to rebuild and perform file synchronization.

Default: "[]"
DateTimeTagger object

beta tags images with the build timestamp.

format string

formats the date and time. See #Time.Format.

Default: "2006-01-02_15-04-05.999_MST"
timezone string

sets the timezone for the date and time. See Time.LoadLocation. Defaults to the local timezone.

DeployConfig object

contains all the configuration needed by the deploy steps.

helm object

beta uses the helm CLI to apply the charts to the cluster.

2 nested properties
releases HelmRelease[] required

a list of Helm releases.

flags object

additional option flags that are passed on the command line to helm.

3 nested properties
global string[]

additional flags passed on every command.

Default: "[]"
install string[]

additional flags passed to (helm install).

Default: "[]"
upgrade string[]

additional flags passed to (helm upgrade).

Default: "[]"
kubeContext string

Kubernetes context that Skaffold should deploy to.

Examples: "minikube"
kubectl object

beta uses a client side kubectl apply to deploy manifests. You'll need a kubectl CLI version installed that's compatible with your cluster.

3 nested properties
flags object

additional flags passed on the command line to kubectl either on every command (Global), on creations (Apply) or deletions (Delete).

4 nested properties
apply string[]

additional flags passed on creations (kubectl apply).

Default: "[]"
delete string[]

additional flags passed on deletions (kubectl delete).

Default: "[]"
disableValidation boolean

passes the --validate=false flag to supported kubectl commands when enabled.

Default: "false"
global string[]

additional flags passed on every command.

Default: "[]"
manifests string[]

the Kubernetes yaml or json manifests.

Default: "["k8s/*.yaml"]"
remoteManifests string[]

Kubernetes manifests in remote clusters.

Default: "[]"
kustomize object

beta uses the kustomize CLI to "patch" a deployment for a target environment.

3 nested properties
buildArgs string[]

additional args passed to kustomize build.

Default: "[]"
flags object

additional flags passed on the command line to kubectl either on every command (Global), on creations (Apply) or deletions (Delete).

4 nested properties
apply string[]

additional flags passed on creations (kubectl apply).

Default: "[]"
delete string[]

additional flags passed on deletions (kubectl delete).

Default: "[]"
disableValidation boolean

passes the --validate=false flag to supported kubectl commands when enabled.

Default: "false"
global string[]

additional flags passed on every command.

Default: "[]"
paths string[]

path to Kustomization files.

Default: "["."]"
statusCheckDeadlineSeconds integer

beta deadline for deployments to stabilize in seconds.

DockerArtifact object

describes an artifact built from a Dockerfile, usually using docker build.

buildArgs Record<string, string>

arguments passed to the docker build.

Default: "{}"
Examples: "{"key1": "value1", "key2": "value2"}"
cacheFrom string[]

the Docker images used as cache sources.

Default: "[]"
Examples: "["golang:1.10.1-alpine3.7", "alpine:3.7"]"
dockerfile string

locates the Dockerfile relative to workspace.

Default: "Dockerfile"
network string

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.

Values: "host" "bridge" "none"
noCache boolean

used to pass in --no-cache to docker build to prevent caching.

Default: "false"
target string

Dockerfile target name to build.

DockerConfig object

contains information about the docker config.json to mount.

path string

path to the docker config.json.

secretName string

Kubernetes secret that contains the config.json Docker configuration. Note that the expected secret type is not 'kubernetes.io/dockerconfigjson' but 'Opaque'.

DockerfileDependency object

beta used to specify a custom build artifact that is built from a Dockerfile. This allows skaffold to determine dependencies from the Dockerfile.

buildArgs Record<string, string>

key/value pairs used to resolve values of ARG instructions in a Dockerfile. Values can be constants or environment variables via the go template syntax.

Default: "{}"
Examples: "{"key1": "value1", "key2": "value2", "key3": "'{{.ENV_VARIABLE}}'"}"
path string

locates the Dockerfile relative to workspace.

EnvTemplateTagger object

beta tags images with a configurable template string.

template string required

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.

Examples: "{{.RELEASE}}-{{.IMAGE_NAME}}"
GitTagger object

beta tags images with the git tag or commit of the artifact's workspace.

prefix string

adds a fixed prefix to the tag.

variant string

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.

Values: "Tags" "CommitSha" "AbbrevCommitSha" "TreeSha" "AbbrevTreeSha"
GoogleCloudBuild object

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.

concurrency integer

how many artifacts can be built concurrently. 0 means "no-limit".

Default: "0"
diskSizeGb integer

disk size of the VM that runs the build. See Cloud Build Reference.

dockerImage string

image that runs a Docker build. See Cloud Builders.

Default: "gcr.io/cloud-builders/docker"
gradleImage string

image that runs a Gradle build. See Cloud Builders.

Default: "gcr.io/cloud-builders/gradle"
kanikoImage string

image that runs a Kaniko build. See Cloud Builders.

Default: "gcr.io/kaniko-project/executor"
logStreamingOption string

specifies the behavior when writing build logs to Google Cloud Storage. Valid options are: STREAM_DEFAULT: Service may automatically determine build log streaming behavior. STREAM_ON: Build logs should be streamed to Google Cloud Storage. STREAM_OFF: Build logs should not be streamed to Google Cloud Storage; they will be written when the build is completed. See Cloud Build Reference.

Values: "STREAM_DEFAULT" "STREAM_ON" "STREAM_OFF"
logging string

specifies the logging mode. Valid modes are: LOGGING_UNSPECIFIED: The service determines the logging mode. LEGACY: Stackdriver logging and Cloud Storage logging are enabled (default). GCS_ONLY: Only Cloud Storage logging is enabled. See Cloud Build Reference.

Values: "LOGGING_UNSPECIFIED" "LEGACY" "GCS_ONLY"
machineType string

type of the VM that runs the build. See Cloud Build Reference.

mavenImage string

image that runs a Maven build. See Cloud Builders.

Default: "gcr.io/cloud-builders/mvn"
packImage string

image that runs a Cloud Native Buildpacks build. See Cloud Builders.

Default: "gcr.io/k8s-skaffold/pack"
projectId string

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.

timeout string

amount of time (in seconds) that this build should be allowed to run. See Cloud Build Reference.

HelmConventionConfig object

image config in the syntax of image.repository and image.tag.

explicitRegistry boolean

separates image.registry to the image config syntax. Useful for some charts e.g. postgresql.

Default: "false"
HelmDeploy object

beta uses the helm CLI to apply the charts to the cluster.

releases HelmRelease[] required

a list of Helm releases.

flags object

additional option flags that are passed on the command line to helm.

3 nested properties
global string[]

additional flags passed on every command.

Default: "[]"
install string[]

additional flags passed to (helm install).

Default: "[]"
upgrade string[]

additional flags passed to (helm upgrade).

Default: "[]"
HelmDeployFlags object

additional option flags that are passed on the command line to helm.

global string[]

additional flags passed on every command.

Default: "[]"
install string[]

additional flags passed to (helm install).

Default: "[]"
upgrade string[]

additional flags passed to (helm upgrade).

Default: "[]"
HelmFQNConfig object

image config to use the FullyQualifiedImageName as param to set.

property string

defines the image config.

HelmImageStrategy object

adds image configurations to the Helm values file.

HelmPackaged object

parameters for packaging helm chart (helm package).

appVersion string

sets the appVersion on the chart to this version.

version string

sets the version on the chart to this semver version.

HelmRelease object

describes a helm release to be deployed.

chartPath string required

path to the Helm chart.

name string required

name of the Helm release.

artifactOverrides Record<string, string>

key value pairs where key represents the parameter used in values file to define a container image and value corresponds to artifact i.e. ImageName defined in Build.Artifacts section.

Default: "{}"
imageStrategy object

adds image configurations to the Helm values file.

Any of: variant, object object, object object
namespace string

Kubernetes namespace.

overrides

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).

packaged object

parameters for packaging helm chart (helm package).

2 nested properties
appVersion string

sets the appVersion on the chart to this version.

version string

sets the version on the chart to this semver version.

recreatePods boolean

if true, Skaffold will send --recreate-pods flag to Helm CLI when upgrading a new version of a chart in subsequent dev loop deploy.

Default: "false"
remote boolean

specifies whether the chart path is remote, or exists on the host filesystem.

Default: "false"
setFiles Record<string, string>

key-value pairs. If present, Skaffold will send --set-file flag to Helm CLI and append all pairs after the flag.

Default: "{}"
setValueTemplates Record<string, string>

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.

Default: "{}"
setValues Record<string, string>

key-value pairs. If present, Skaffold will send --set flag to Helm CLI and append all pairs after the flag.

Default: "{}"
skipBuildDependencies boolean

should build dependencies be skipped. Ignored when remote: true.

Default: "false"
upgradeOnChange boolean

specifies whether to upgrade helm chart on code changes. Default is true when helm chart is local (remote: false). Default is false if remote: true.

useHelmSecrets boolean

instructs skaffold to use secrets plugin on deployment.

Default: "false"
valuesFiles string[]

paths to the Helm values files.

Default: "[]"
version string

version of the chart.

wait boolean

if true, Skaffold will send --wait flag to Helm CLI.

Default: "false"
JSONPatch object

patch to be applied by a profile.

path string required

position in the yaml where the operation takes place. For example, this targets the dockerfile of the first artifact built.

Examples: "/build/artifacts/0/docker/dockerfile"
from string

source position in the yaml, used for copy or move operations.

op string

operation carried by the patch: add, remove, replace, move, copy or test.

Default: "replace"
value

value to apply. Can be any portion of yaml.

JibArtifact object

builds images using the Jib plugins for Maven and Gradle.

args string[]

additional build flags passed to the builder.

Default: "[]"
Examples: "["--no-build-cache"]"
project string

selects which sub-project to build for multi-module builds.

type string

the Jib builder type; normally determined automatically. Valid types are maven: for Maven. gradle: for Gradle.

Values: "maven" "gradle"
KanikoArtifact object

describes an artifact built from a Dockerfile, with kaniko.

buildArgs Record<string, string>

arguments passed to the docker build. It also accepts environment variables via the go template syntax.

Default: "{}"
Examples: "{"key1": "value1", "key2": "value2", "key3": "'{{.ENV_VARIABLE}}'"}"
cache object

configures Kaniko caching. If a cache is specified, Kaniko will use a remote cache which will speed up builds.

2 nested properties
hostPath string

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.

repo string

a remote repository to store cached layers. If none is specified, one will be inferred from the image name. See Kaniko Caching.

dockerfile string

locates the Dockerfile relative to workspace.

Default: "Dockerfile"
env array

environment variables passed to the kaniko pod.

Default: "[]"
flags string[]

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.

Default: "[]"
image string

Docker image used by the Kaniko pod. Defaults to the latest released version of gcr.io/kaniko-project/executor.

initImage string

image used to run init container which mounts kaniko context.

reproducible boolean

used to strip timestamps out of the built image.

Default: "false"
skipTLS boolean

skips TLS verification when pulling and pushing the image.

Default: "false"
target string

Dockerfile target name to build.

volumeMounts array

volume mounts passed to kaniko pod.

Default: "[]"
KanikoCache object

configures Kaniko caching. If a cache is specified, Kaniko will use a remote cache which will speed up builds.

hostPath string

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.

repo string

a remote repository to store cached layers. If none is specified, one will be inferred from the image name. See Kaniko Caching.

KubectlDeploy object

beta uses a client side kubectl apply to deploy manifests. You'll need a kubectl CLI version installed that's compatible with your cluster.

flags object

additional flags passed on the command line to kubectl either on every command (Global), on creations (Apply) or deletions (Delete).

4 nested properties
apply string[]

additional flags passed on creations (kubectl apply).

Default: "[]"
delete string[]

additional flags passed on deletions (kubectl delete).

Default: "[]"
disableValidation boolean

passes the --validate=false flag to supported kubectl commands when enabled.

Default: "false"
global string[]

additional flags passed on every command.

Default: "[]"
manifests string[]

the Kubernetes yaml or json manifests.

Default: "["k8s/*.yaml"]"
remoteManifests string[]

Kubernetes manifests in remote clusters.

Default: "[]"
KubectlFlags object

additional flags passed on the command line to kubectl either on every command (Global), on creations (Apply) or deletions (Delete).

apply string[]

additional flags passed on creations (kubectl apply).

Default: "[]"
delete string[]

additional flags passed on deletions (kubectl delete).

Default: "[]"
disableValidation boolean

passes the --validate=false flag to supported kubectl commands when enabled.

Default: "false"
global string[]

additional flags passed on every command.

Default: "[]"
KustomizeDeploy object

beta uses the kustomize CLI to "patch" a deployment for a target environment.

buildArgs string[]

additional args passed to kustomize build.

Default: "[]"
flags object

additional flags passed on the command line to kubectl either on every command (Global), on creations (Apply) or deletions (Delete).

4 nested properties
apply string[]

additional flags passed on creations (kubectl apply).

Default: "[]"
delete string[]

additional flags passed on deletions (kubectl delete).

Default: "[]"
disableValidation boolean

passes the --validate=false flag to supported kubectl commands when enabled.

Default: "false"
global string[]

additional flags passed on every command.

Default: "[]"
paths string[]

path to Kustomization files.

Default: "["."]"
LocalBuild object

beta describes how to do a build on the local docker daemon and optionally push to a repository.

concurrency integer

how many artifacts can be built concurrently. 0 means "no-limit".

Default: "1"
push boolean

should images be pushed to a registry. If not specified, images are pushed only if the current Kubernetes context connects to a remote cluster.

useBuildkit boolean

use BuildKit to build Docker images. If unspecified, uses the Docker default.

useDockerCLI boolean

use docker command-line interface instead of Docker Engine APIs.

Default: "false"
Metadata object

holds an optional name of the project.

name string

an identifier for the project.

PortForwardResource object

describes a resource to port forward.

address string

local address to bind to. Defaults to the loopback address 127.0.0.1.

localPort integer

local port to forward to. If the port is unavailable, Skaffold will choose a random open port to forward to. Optional.

namespace string

namespace of the resource to port forward.

port integer

resource port that will be forwarded.

resourceName string

name of the Kubernetes resource to port forward.

resourceType string

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.

Profile object

used to override any build, test or deploy configuration.

name string required

a unique profile name.

Examples: "profile-prod"
activation Activation[]

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.

build object

contains all the configuration for the build steps.

Any of: object object, object object, object object, object object
deploy object

contains all the configuration needed by the deploy steps.

5 nested properties
helm object

beta uses the helm CLI to apply the charts to the cluster.

2 nested properties
releases HelmRelease[] required

a list of Helm releases.

flags object

additional option flags that are passed on the command line to helm.

kubeContext string

Kubernetes context that Skaffold should deploy to.

Examples: "minikube"
kubectl object

beta uses a client side kubectl apply to deploy manifests. You'll need a kubectl CLI version installed that's compatible with your cluster.

3 nested properties
flags object

additional flags passed on the command line to kubectl either on every command (Global), on creations (Apply) or deletions (Delete).

manifests string[]

the Kubernetes yaml or json manifests.

Default: "["k8s/*.yaml"]"
remoteManifests string[]

Kubernetes manifests in remote clusters.

Default: "[]"
kustomize object

beta uses the kustomize CLI to "patch" a deployment for a target environment.

3 nested properties
buildArgs string[]

additional args passed to kustomize build.

Default: "[]"
flags object

additional flags passed on the command line to kubectl either on every command (Global), on creations (Apply) or deletions (Delete).

paths string[]

path to Kustomization files.

Default: "["."]"
statusCheckDeadlineSeconds integer

beta deadline for deployments to stabilize in seconds.

patches JSONPatch[]

patches applied to the configuration. Patches use the JSON patch notation.

portForward PortForwardResource[]

describes user defined resources to port-forward.

test TestCase[]

describes how images are tested.

ResourceRequirement object

stores the CPU/Memory requirements for the pod.

cpu string

the number cores to be used.

Examples: "2`, `2.0` or `200m"
ephemeralStorage string

the amount of Ephemeral storage to allocate to the pod.

Examples: "1Gi` or `1000Mi"
memory string

the amount of memory to allocate to the pod.

Examples: "1Gi` or `1000Mi"
resourceStorage string

the amount of resource storage to allocate to the pod.

Examples: "1Gi` or `1000Mi"
ResourceRequirements object

describes the resource requirements for the kaniko pod.

limits object

stores the CPU/Memory requirements for the pod.

4 nested properties
cpu string

the number cores to be used.

Examples: "2`, `2.0` or `200m"
ephemeralStorage string

the amount of Ephemeral storage to allocate to the pod.

Examples: "1Gi` or `1000Mi"
memory string

the amount of memory to allocate to the pod.

Examples: "1Gi` or `1000Mi"
resourceStorage string

the amount of resource storage to allocate to the pod.

Examples: "1Gi` or `1000Mi"
requests object

stores the CPU/Memory requirements for the pod.

4 nested properties
cpu string

the number cores to be used.

Examples: "2`, `2.0` or `200m"
ephemeralStorage string

the amount of Ephemeral storage to allocate to the pod.

Examples: "1Gi` or `1000Mi"
memory string

the amount of memory to allocate to the pod.

Examples: "1Gi` or `1000Mi"
resourceStorage string

the amount of resource storage to allocate to the pod.

Examples: "1Gi` or `1000Mi"
ResourceType string

describes the Kubernetes resource types used for port forwarding.

ShaTagger object

beta tags images with their sha256 digest.

SkaffoldConfig object

holds the fields parsed from the Skaffold configuration file (skaffold.yaml).

apiVersion string required

version of the configuration.

kind string required

always Config.

Default: "Config"
build object

contains all the configuration for the build steps.

Any of: object object, object object, object object, object object
deploy object

contains all the configuration needed by the deploy steps.

5 nested properties
helm object

beta uses the helm CLI to apply the charts to the cluster.

2 nested properties
releases HelmRelease[] required

a list of Helm releases.

flags object

additional option flags that are passed on the command line to helm.

kubeContext string

Kubernetes context that Skaffold should deploy to.

Examples: "minikube"
kubectl object

beta uses a client side kubectl apply to deploy manifests. You'll need a kubectl CLI version installed that's compatible with your cluster.

3 nested properties
flags object

additional flags passed on the command line to kubectl either on every command (Global), on creations (Apply) or deletions (Delete).

manifests string[]

the Kubernetes yaml or json manifests.

Default: "["k8s/*.yaml"]"
remoteManifests string[]

Kubernetes manifests in remote clusters.

Default: "[]"
kustomize object

beta uses the kustomize CLI to "patch" a deployment for a target environment.

3 nested properties
buildArgs string[]

additional args passed to kustomize build.

Default: "[]"
flags object

additional flags passed on the command line to kubectl either on every command (Global), on creations (Apply) or deletions (Delete).

paths string[]

path to Kustomization files.

Default: "["."]"
statusCheckDeadlineSeconds integer

beta deadline for deployments to stabilize in seconds.

metadata object

holds an optional name of the project.

1 nested properties
name string

an identifier for the project.

portForward PortForwardResource[]

describes user defined resources to port-forward.

profiles Profile[]

beta can override be used to build, test or deploy configuration.

test TestCase[]

describes how images are tested.

Sync object

beta specifies what files to sync into the container. This is a list of sync rules indicating the intent to sync for source files. If no files are listed, sync all the files and infer the destination.

auto object

cannot be customized.

infer string[]

file patterns which may be synced into the container The container destination is inferred by the builder based on the instructions of a Dockerfile. Available for docker and kaniko artifacts and custom artifacts that declare dependencies on a dockerfile.

Default: "[]"
manual SyncRule[]

manual sync rules indicating the source and destination.

SyncRule object

specifies which local files to sync to remote folders.

dest string required

destination path in the container where the files should be synced to.

Examples: ""app/""
src string required

a glob pattern to match local paths against. Directories should be delimited by / on all platforms.

Examples: ""css/**/*.css""
strip string

specifies the path prefix to remove from the source path when transplanting the files into the destination folder.

Examples: ""css/""
TagPolicy object

contains all the configuration for the tagging step.

dateTime object

beta tags images with the build timestamp.

2 nested properties
format string

formats the date and time. See #Time.Format.

Default: "2006-01-02_15-04-05.999_MST"
timezone string

sets the timezone for the date and time. See Time.LoadLocation. Defaults to the local timezone.

envTemplate object

beta tags images with a configurable template string.

1 nested properties
template string required

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.

Examples: "{{.RELEASE}}-{{.IMAGE_NAME}}"
gitCommit object

beta tags images with the git tag or commit of the artifact's workspace.

2 nested properties
prefix string

adds a fixed prefix to the tag.

variant string

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.

Values: "Tags" "CommitSha" "AbbrevCommitSha" "TreeSha" "AbbrevTreeSha"
sha256 object

beta tags images with their sha256 digest.

TestCase object

a list of structure tests to run on images that Skaffold builds.

image string required

artifact on which to run those tests.

Examples: "gcr.io/k8s-skaffold/example"
structureTests string[]

the Container Structure Tests to run on that artifact.

Default: "[]"
Examples: "["./test/*"]"