github.com/GoogleContainerTools/skaffold/v2@v2.13.2/docs-v2/content/en/schemas/v1beta6.json (about)

     1  {
     2    "type": "object",
     3    "anyOf": [
     4      {
     5        "$ref": "#/definitions/SkaffoldConfig"
     6      }
     7    ],
     8    "$schema": "http://json-schema.org/draft-07/schema#",
     9    "definitions": {
    10      "Activation": {
    11        "properties": {
    12          "command": {
    13            "type": "string",
    14            "description": "a Skaffold command for which the profile is auto-activated.",
    15            "x-intellij-html-description": "a Skaffold command for which the profile is auto-activated.",
    16            "examples": [
    17              "dev"
    18            ]
    19          },
    20          "env": {
    21            "type": "string",
    22            "description": "a `key=value` pair. The profile is auto-activated if an Environment Variable `key` has value `value`.",
    23            "x-intellij-html-description": "a <code>key=value</code> pair. The profile is auto-activated if an Environment Variable <code>key</code> has value <code>value</code>.",
    24            "examples": [
    25              "ENV=production"
    26            ]
    27          },
    28          "kubeContext": {
    29            "type": "string",
    30            "description": "a Kubernetes context for which the profile is auto-activated.",
    31            "x-intellij-html-description": "a Kubernetes context for which the profile is auto-activated.",
    32            "examples": [
    33              "minikube"
    34            ]
    35          }
    36        },
    37        "preferredOrder": [
    38          "env",
    39          "kubeContext",
    40          "command"
    41        ],
    42        "additionalProperties": false,
    43        "type": "object",
    44        "description": "criteria by which a profile is auto-activated.",
    45        "x-intellij-html-description": "criteria by which a profile is auto-activated."
    46      },
    47      "Artifact": {
    48        "required": [
    49          "image"
    50        ],
    51        "type": "object",
    52        "anyOf": [
    53          {
    54            "properties": {
    55              "context": {
    56                "type": "string",
    57                "description": "directory containing the artifact's sources.",
    58                "x-intellij-html-description": "directory containing the artifact's sources.",
    59                "default": "."
    60              },
    61              "image": {
    62                "type": "string",
    63                "description": "name of the image to be built.",
    64                "x-intellij-html-description": "name of the image to be built.",
    65                "examples": [
    66                  "gcr.io/k8s-skaffold/example"
    67                ]
    68              },
    69              "plugin": {
    70                "$ref": "#/definitions/BuilderPlugin",
    71                "description": "plugin used to build this artifact.",
    72                "x-intellij-html-description": "plugin used to build this artifact."
    73              },
    74              "sync": {
    75                "additionalProperties": {
    76                  "type": "string"
    77                },
    78                "type": "object",
    79                "description": "*alpha* local files synced to pods instead of triggering an image build when modified. This is a mapping of local files to sync to remote folders.",
    80                "x-intellij-html-description": "<em>alpha</em> local files synced to pods instead of triggering an image build when modified. This is a mapping of local files to sync to remote folders.",
    81                "default": "{}",
    82                "examples": [
    83                  "{\"*.py\": \".\", \"css/**/*.css\": \"app/css\"}"
    84                ]
    85              }
    86            },
    87            "preferredOrder": [
    88              "image",
    89              "context",
    90              "sync",
    91              "plugin"
    92            ],
    93            "additionalProperties": false
    94          },
    95          {
    96            "properties": {
    97              "context": {
    98                "type": "string",
    99                "description": "directory containing the artifact's sources.",
   100                "x-intellij-html-description": "directory containing the artifact's sources.",
   101                "default": "."
   102              },
   103              "docker": {
   104                "$ref": "#/definitions/DockerArtifact",
   105                "description": "*beta* describes an artifact built from a Dockerfile.",
   106                "x-intellij-html-description": "<em>beta</em> describes an artifact built from a Dockerfile."
   107              },
   108              "image": {
   109                "type": "string",
   110                "description": "name of the image to be built.",
   111                "x-intellij-html-description": "name of the image to be built.",
   112                "examples": [
   113                  "gcr.io/k8s-skaffold/example"
   114                ]
   115              },
   116              "plugin": {
   117                "$ref": "#/definitions/BuilderPlugin",
   118                "description": "plugin used to build this artifact.",
   119                "x-intellij-html-description": "plugin used to build this artifact."
   120              },
   121              "sync": {
   122                "additionalProperties": {
   123                  "type": "string"
   124                },
   125                "type": "object",
   126                "description": "*alpha* local files synced to pods instead of triggering an image build when modified. This is a mapping of local files to sync to remote folders.",
   127                "x-intellij-html-description": "<em>alpha</em> local files synced to pods instead of triggering an image build when modified. This is a mapping of local files to sync to remote folders.",
   128                "default": "{}",
   129                "examples": [
   130                  "{\"*.py\": \".\", \"css/**/*.css\": \"app/css\"}"
   131                ]
   132              }
   133            },
   134            "preferredOrder": [
   135              "image",
   136              "context",
   137              "sync",
   138              "plugin",
   139              "docker"
   140            ],
   141            "additionalProperties": false
   142          },
   143          {
   144            "properties": {
   145              "bazel": {
   146                "$ref": "#/definitions/BazelArtifact",
   147                "description": "*beta* requires bazel CLI to be installed and the sources to contain [Bazel](https://bazel.build/) configuration files.",
   148                "x-intellij-html-description": "<em>beta</em> requires bazel CLI to be installed and the sources to contain <a href=\"https://bazel.build/\">Bazel</a> configuration files."
   149              },
   150              "context": {
   151                "type": "string",
   152                "description": "directory containing the artifact's sources.",
   153                "x-intellij-html-description": "directory containing the artifact's sources.",
   154                "default": "."
   155              },
   156              "image": {
   157                "type": "string",
   158                "description": "name of the image to be built.",
   159                "x-intellij-html-description": "name of the image to be built.",
   160                "examples": [
   161                  "gcr.io/k8s-skaffold/example"
   162                ]
   163              },
   164              "plugin": {
   165                "$ref": "#/definitions/BuilderPlugin",
   166                "description": "plugin used to build this artifact.",
   167                "x-intellij-html-description": "plugin used to build this artifact."
   168              },
   169              "sync": {
   170                "additionalProperties": {
   171                  "type": "string"
   172                },
   173                "type": "object",
   174                "description": "*alpha* local files synced to pods instead of triggering an image build when modified. This is a mapping of local files to sync to remote folders.",
   175                "x-intellij-html-description": "<em>alpha</em> local files synced to pods instead of triggering an image build when modified. This is a mapping of local files to sync to remote folders.",
   176                "default": "{}",
   177                "examples": [
   178                  "{\"*.py\": \".\", \"css/**/*.css\": \"app/css\"}"
   179                ]
   180              }
   181            },
   182            "preferredOrder": [
   183              "image",
   184              "context",
   185              "sync",
   186              "plugin",
   187              "bazel"
   188            ],
   189            "additionalProperties": false
   190          },
   191          {
   192            "properties": {
   193              "context": {
   194                "type": "string",
   195                "description": "directory containing the artifact's sources.",
   196                "x-intellij-html-description": "directory containing the artifact's sources.",
   197                "default": "."
   198              },
   199              "image": {
   200                "type": "string",
   201                "description": "name of the image to be built.",
   202                "x-intellij-html-description": "name of the image to be built.",
   203                "examples": [
   204                  "gcr.io/k8s-skaffold/example"
   205                ]
   206              },
   207              "jibMaven": {
   208                "$ref": "#/definitions/JibMavenArtifact",
   209                "description": "*alpha* builds images using the [Jib plugin for Maven](https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin).",
   210                "x-intellij-html-description": "<em>alpha</em> builds images using the <a href=\"https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin\">Jib plugin for Maven</a>."
   211              },
   212              "plugin": {
   213                "$ref": "#/definitions/BuilderPlugin",
   214                "description": "plugin used to build this artifact.",
   215                "x-intellij-html-description": "plugin used to build this artifact."
   216              },
   217              "sync": {
   218                "additionalProperties": {
   219                  "type": "string"
   220                },
   221                "type": "object",
   222                "description": "*alpha* local files synced to pods instead of triggering an image build when modified. This is a mapping of local files to sync to remote folders.",
   223                "x-intellij-html-description": "<em>alpha</em> local files synced to pods instead of triggering an image build when modified. This is a mapping of local files to sync to remote folders.",
   224                "default": "{}",
   225                "examples": [
   226                  "{\"*.py\": \".\", \"css/**/*.css\": \"app/css\"}"
   227                ]
   228              }
   229            },
   230            "preferredOrder": [
   231              "image",
   232              "context",
   233              "sync",
   234              "plugin",
   235              "jibMaven"
   236            ],
   237            "additionalProperties": false
   238          },
   239          {
   240            "properties": {
   241              "context": {
   242                "type": "string",
   243                "description": "directory containing the artifact's sources.",
   244                "x-intellij-html-description": "directory containing the artifact's sources.",
   245                "default": "."
   246              },
   247              "image": {
   248                "type": "string",
   249                "description": "name of the image to be built.",
   250                "x-intellij-html-description": "name of the image to be built.",
   251                "examples": [
   252                  "gcr.io/k8s-skaffold/example"
   253                ]
   254              },
   255              "jibGradle": {
   256                "$ref": "#/definitions/JibGradleArtifact",
   257                "description": "*alpha* builds images using the [Jib plugin for Gradle](https://github.com/GoogleContainerTools/jib/tree/master/jib-gradle-plugin).",
   258                "x-intellij-html-description": "<em>alpha</em> builds images using the <a href=\"https://github.com/GoogleContainerTools/jib/tree/master/jib-gradle-plugin\">Jib plugin for Gradle</a>."
   259              },
   260              "plugin": {
   261                "$ref": "#/definitions/BuilderPlugin",
   262                "description": "plugin used to build this artifact.",
   263                "x-intellij-html-description": "plugin used to build this artifact."
   264              },
   265              "sync": {
   266                "additionalProperties": {
   267                  "type": "string"
   268                },
   269                "type": "object",
   270                "description": "*alpha* local files synced to pods instead of triggering an image build when modified. This is a mapping of local files to sync to remote folders.",
   271                "x-intellij-html-description": "<em>alpha</em> local files synced to pods instead of triggering an image build when modified. This is a mapping of local files to sync to remote folders.",
   272                "default": "{}",
   273                "examples": [
   274                  "{\"*.py\": \".\", \"css/**/*.css\": \"app/css\"}"
   275                ]
   276              }
   277            },
   278            "preferredOrder": [
   279              "image",
   280              "context",
   281              "sync",
   282              "plugin",
   283              "jibGradle"
   284            ],
   285            "additionalProperties": false
   286          }
   287        ],
   288        "description": "items that need to be built, along with the context in which they should be built.",
   289        "x-intellij-html-description": "items that need to be built, along with the context in which they should be built."
   290      },
   291      "BazelArtifact": {
   292        "required": [
   293          "target"
   294        ],
   295        "properties": {
   296          "args": {
   297            "items": {
   298              "type": "string"
   299            },
   300            "type": "array",
   301            "description": "additional args to pass to `bazel build`.",
   302            "x-intellij-html-description": "additional args to pass to <code>bazel build</code>.",
   303            "default": "[]",
   304            "examples": [
   305              "[\"-flag\", \"--otherflag\"]"
   306            ]
   307          },
   308          "target": {
   309            "type": "string",
   310            "description": "`bazel build` target to run.",
   311            "x-intellij-html-description": "<code>bazel build</code> target to run.",
   312            "examples": [
   313              "//:skaffold_example.tar"
   314            ]
   315          }
   316        },
   317        "preferredOrder": [
   318          "target",
   319          "args"
   320        ],
   321        "additionalProperties": false,
   322        "type": "object",
   323        "description": "*beta* describes an artifact built with [Bazel](https://bazel.build/).",
   324        "x-intellij-html-description": "<em>beta</em> describes an artifact built with <a href=\"https://bazel.build/\">Bazel</a>."
   325      },
   326      "BuildConfig": {
   327        "type": "object",
   328        "anyOf": [
   329          {
   330            "properties": {
   331              "artifacts": {
   332                "items": {
   333                  "$ref": "#/definitions/Artifact"
   334                },
   335                "type": "array",
   336                "description": "the images you're going to be building.",
   337                "x-intellij-html-description": "the images you're going to be building."
   338              },
   339              "executionEnvironment": {
   340                "$ref": "#/definitions/ExecutionEnvironment",
   341                "description": "environment in which the build should run. Possible values: googleCloudBuild.",
   342                "x-intellij-html-description": "environment in which the build should run. Possible values: googleCloudBuild."
   343              },
   344              "tagPolicy": {
   345                "$ref": "#/definitions/TagPolicy",
   346                "description": "*beta* determines how images are tagged. A few strategies are provided here, although you most likely won't need to care! If not specified, it defaults to `gitCommit: {}`.",
   347                "x-intellij-html-description": "<em>beta</em> determines how images are tagged. A few strategies are provided here, although you most likely won't need to care! If not specified, it defaults to <code>gitCommit: {}</code>."
   348              }
   349            },
   350            "preferredOrder": [
   351              "artifacts",
   352              "tagPolicy",
   353              "executionEnvironment"
   354            ],
   355            "additionalProperties": false
   356          },
   357          {
   358            "properties": {
   359              "artifacts": {
   360                "items": {
   361                  "$ref": "#/definitions/Artifact"
   362                },
   363                "type": "array",
   364                "description": "the images you're going to be building.",
   365                "x-intellij-html-description": "the images you're going to be building."
   366              },
   367              "executionEnvironment": {
   368                "$ref": "#/definitions/ExecutionEnvironment",
   369                "description": "environment in which the build should run. Possible values: googleCloudBuild.",
   370                "x-intellij-html-description": "environment in which the build should run. Possible values: googleCloudBuild."
   371              },
   372              "local": {
   373                "$ref": "#/definitions/LocalBuild",
   374                "description": "*beta* describes how to do a build on the local docker daemon and optionally push to a repository.",
   375                "x-intellij-html-description": "<em>beta</em> describes how to do a build on the local docker daemon and optionally push to a repository."
   376              },
   377              "tagPolicy": {
   378                "$ref": "#/definitions/TagPolicy",
   379                "description": "*beta* determines how images are tagged. A few strategies are provided here, although you most likely won't need to care! If not specified, it defaults to `gitCommit: {}`.",
   380                "x-intellij-html-description": "<em>beta</em> determines how images are tagged. A few strategies are provided here, although you most likely won't need to care! If not specified, it defaults to <code>gitCommit: {}</code>."
   381              }
   382            },
   383            "preferredOrder": [
   384              "artifacts",
   385              "tagPolicy",
   386              "executionEnvironment",
   387              "local"
   388            ],
   389            "additionalProperties": false
   390          },
   391          {
   392            "properties": {
   393              "artifacts": {
   394                "items": {
   395                  "$ref": "#/definitions/Artifact"
   396                },
   397                "type": "array",
   398                "description": "the images you're going to be building.",
   399                "x-intellij-html-description": "the images you're going to be building."
   400              },
   401              "executionEnvironment": {
   402                "$ref": "#/definitions/ExecutionEnvironment",
   403                "description": "environment in which the build should run. Possible values: googleCloudBuild.",
   404                "x-intellij-html-description": "environment in which the build should run. Possible values: googleCloudBuild."
   405              },
   406              "googleCloudBuild": {
   407                "$ref": "#/definitions/GoogleCloudBuild",
   408                "description": "*beta* describes how to do a remote build on [Google Cloud Build](https://cloud.google.com/cloud-build/).",
   409                "x-intellij-html-description": "<em>beta</em> describes how to do a remote build on <a href=\"https://cloud.google.com/cloud-build/\">Google Cloud Build</a>."
   410              },
   411              "tagPolicy": {
   412                "$ref": "#/definitions/TagPolicy",
   413                "description": "*beta* determines how images are tagged. A few strategies are provided here, although you most likely won't need to care! If not specified, it defaults to `gitCommit: {}`.",
   414                "x-intellij-html-description": "<em>beta</em> determines how images are tagged. A few strategies are provided here, although you most likely won't need to care! If not specified, it defaults to <code>gitCommit: {}</code>."
   415              }
   416            },
   417            "preferredOrder": [
   418              "artifacts",
   419              "tagPolicy",
   420              "executionEnvironment",
   421              "googleCloudBuild"
   422            ],
   423            "additionalProperties": false
   424          },
   425          {
   426            "properties": {
   427              "artifacts": {
   428                "items": {
   429                  "$ref": "#/definitions/Artifact"
   430                },
   431                "type": "array",
   432                "description": "the images you're going to be building.",
   433                "x-intellij-html-description": "the images you're going to be building."
   434              },
   435              "executionEnvironment": {
   436                "$ref": "#/definitions/ExecutionEnvironment",
   437                "description": "environment in which the build should run. Possible values: googleCloudBuild.",
   438                "x-intellij-html-description": "environment in which the build should run. Possible values: googleCloudBuild."
   439              },
   440              "kaniko": {
   441                "$ref": "#/definitions/KanikoBuild",
   442                "description": "*beta* describes how to do an on-cluster build using [Kaniko](https://github.com/GoogleContainerTools/kaniko).",
   443                "x-intellij-html-description": "<em>beta</em> describes how to do an on-cluster build using <a href=\"https://github.com/GoogleContainerTools/kaniko\">Kaniko</a>."
   444              },
   445              "tagPolicy": {
   446                "$ref": "#/definitions/TagPolicy",
   447                "description": "*beta* determines how images are tagged. A few strategies are provided here, although you most likely won't need to care! If not specified, it defaults to `gitCommit: {}`.",
   448                "x-intellij-html-description": "<em>beta</em> determines how images are tagged. A few strategies are provided here, although you most likely won't need to care! If not specified, it defaults to <code>gitCommit: {}</code>."
   449              }
   450            },
   451            "preferredOrder": [
   452              "artifacts",
   453              "tagPolicy",
   454              "executionEnvironment",
   455              "kaniko"
   456            ],
   457            "additionalProperties": false
   458          }
   459        ],
   460        "description": "contains all the configuration for the build steps.",
   461        "x-intellij-html-description": "contains all the configuration for the build steps."
   462      },
   463      "BuilderPlugin": {
   464        "properties": {
   465          "name": {
   466            "type": "string",
   467            "description": "name of the build plugin.",
   468            "x-intellij-html-description": "name of the build plugin."
   469          },
   470          "properties": {
   471            "additionalProperties": {},
   472            "type": "object",
   473            "description": "key-value pairs passed to the plugin.",
   474            "x-intellij-html-description": "key-value pairs passed to the plugin.",
   475            "default": "{}"
   476          }
   477        },
   478        "preferredOrder": [
   479          "name",
   480          "properties"
   481        ],
   482        "additionalProperties": false,
   483        "type": "object",
   484        "description": "contains all fields necessary for specifying a build plugin.",
   485        "x-intellij-html-description": "contains all fields necessary for specifying a build plugin."
   486      },
   487      "DateTimeTagger": {
   488        "properties": {
   489          "format": {
   490            "type": "string",
   491            "description": "formats the date and time. See [#Time.Format](https://golang.org/pkg/time/#Time.Format).",
   492            "x-intellij-html-description": "formats the date and time. See <a href=\"https://golang.org/pkg/time/#Time.Format\">#Time.Format</a>.",
   493            "default": "2006-01-02_15-04-05.999_MST"
   494          },
   495          "timezone": {
   496            "type": "string",
   497            "description": "sets the timezone for the date and time. See [Time.LoadLocation](https://golang.org/pkg/time/#Time.LoadLocation). Defaults to the local timezone.",
   498            "x-intellij-html-description": "sets the timezone for the date and time. See <a href=\"https://golang.org/pkg/time/#Time.LoadLocation\">Time.LoadLocation</a>. Defaults to the local timezone."
   499          }
   500        },
   501        "preferredOrder": [
   502          "format",
   503          "timezone"
   504        ],
   505        "additionalProperties": false,
   506        "type": "object",
   507        "description": "*beta* tags images with the build timestamp.",
   508        "x-intellij-html-description": "<em>beta</em> tags images with the build timestamp."
   509      },
   510      "DeployConfig": {
   511        "type": "object",
   512        "anyOf": [
   513          {
   514            "additionalProperties": false
   515          },
   516          {
   517            "properties": {
   518              "helm": {
   519                "$ref": "#/definitions/HelmDeploy",
   520                "description": "*beta* uses the `helm` CLI to apply the charts to the cluster.",
   521                "x-intellij-html-description": "<em>beta</em> uses the <code>helm</code> CLI to apply the charts to the cluster."
   522              }
   523            },
   524            "preferredOrder": [
   525              "helm"
   526            ],
   527            "additionalProperties": false
   528          },
   529          {
   530            "properties": {
   531              "kubectl": {
   532                "$ref": "#/definitions/KubectlDeploy",
   533                "description": "*beta* uses a client side `kubectl apply` to deploy manifests. You'll need a `kubectl` CLI version installed that's compatible with your cluster.",
   534                "x-intellij-html-description": "<em>beta</em> uses a client side <code>kubectl apply</code> to deploy manifests. You'll need a <code>kubectl</code> CLI version installed that's compatible with your cluster."
   535              }
   536            },
   537            "preferredOrder": [
   538              "kubectl"
   539            ],
   540            "additionalProperties": false
   541          },
   542          {
   543            "properties": {
   544              "kustomize": {
   545                "$ref": "#/definitions/KustomizeDeploy",
   546                "description": "*beta* uses the `kustomize` CLI to \"patch\" a deployment for a target environment.",
   547                "x-intellij-html-description": "<em>beta</em> uses the <code>kustomize</code> CLI to &quot;patch&quot; a deployment for a target environment."
   548              }
   549            },
   550            "preferredOrder": [
   551              "kustomize"
   552            ],
   553            "additionalProperties": false
   554          }
   555        ],
   556        "description": "contains all the configuration needed by the deploy steps.",
   557        "x-intellij-html-description": "contains all the configuration needed by the deploy steps."
   558      },
   559      "DockerArtifact": {
   560        "properties": {
   561          "buildArgs": {
   562            "additionalProperties": {
   563              "type": "string"
   564            },
   565            "type": "object",
   566            "description": "arguments passed to the docker build.",
   567            "x-intellij-html-description": "arguments passed to the docker build.",
   568            "default": "{}",
   569            "examples": [
   570              "{\"key1\": \"value1\", \"key2\": \"value2\"}"
   571            ]
   572          },
   573          "cacheFrom": {
   574            "items": {
   575              "type": "string"
   576            },
   577            "type": "array",
   578            "description": "the Docker images used as cache sources.",
   579            "x-intellij-html-description": "the Docker images used as cache sources.",
   580            "default": "[]",
   581            "examples": [
   582              "[\"golang:1.10.1-alpine3.7\", \"alpine:3.7\"]"
   583            ]
   584          },
   585          "dockerfile": {
   586            "type": "string",
   587            "description": "locates the Dockerfile relative to workspace.",
   588            "x-intellij-html-description": "locates the Dockerfile relative to workspace.",
   589            "default": "Dockerfile"
   590          },
   591          "target": {
   592            "type": "string",
   593            "description": "Dockerfile target name to build.",
   594            "x-intellij-html-description": "Dockerfile target name to build."
   595          }
   596        },
   597        "preferredOrder": [
   598          "dockerfile",
   599          "target",
   600          "buildArgs",
   601          "cacheFrom"
   602        ],
   603        "additionalProperties": false,
   604        "type": "object",
   605        "description": "*beta* describes an artifact built from a Dockerfile, usually using `docker build`.",
   606        "x-intellij-html-description": "<em>beta</em> describes an artifact built from a Dockerfile, usually using <code>docker build</code>."
   607      },
   608      "DockerConfig": {
   609        "properties": {
   610          "path": {
   611            "type": "string",
   612            "description": "path to the docker `config.json`.",
   613            "x-intellij-html-description": "path to the docker <code>config.json</code>."
   614          },
   615          "secretName": {
   616            "type": "string",
   617            "description": "Kubernetes secret that will hold the Docker configuration.",
   618            "x-intellij-html-description": "Kubernetes secret that will hold the Docker configuration."
   619          }
   620        },
   621        "preferredOrder": [
   622          "path",
   623          "secretName"
   624        ],
   625        "additionalProperties": false,
   626        "type": "object",
   627        "description": "contains information about the docker `config.json` to mount.",
   628        "x-intellij-html-description": "contains information about the docker <code>config.json</code> to mount."
   629      },
   630      "EnvTemplateTagger": {
   631        "required": [
   632          "template"
   633        ],
   634        "properties": {
   635          "template": {
   636            "type": "string",
   637            "description": "used to produce the image name and tag. See golang [text/template](https://golang.org/pkg/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.",
   638            "x-intellij-html-description": "used to produce the image name and tag. See golang <a href=\"https://golang.org/pkg/text/template/\">text/template</a>. 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.",
   639            "examples": [
   640              "{{.RELEASE}}-{{.IMAGE_NAME}}"
   641            ]
   642          }
   643        },
   644        "preferredOrder": [
   645          "template"
   646        ],
   647        "additionalProperties": false,
   648        "type": "object",
   649        "description": "*beta* tags images with a configurable template string.",
   650        "x-intellij-html-description": "<em>beta</em> tags images with a configurable template string."
   651      },
   652      "ExecEnvironment": {
   653        "type": "string",
   654        "description": "name of an execution environment.",
   655        "x-intellij-html-description": "name of an execution environment."
   656      },
   657      "ExecutionEnvironment": {
   658        "properties": {
   659          "name": {
   660            "$ref": "#/definitions/ExecEnvironment",
   661            "description": "name of the environment.",
   662            "x-intellij-html-description": "name of the environment."
   663          },
   664          "properties": {
   665            "additionalProperties": {},
   666            "type": "object",
   667            "description": "key-value pairs passed to the environment.",
   668            "x-intellij-html-description": "key-value pairs passed to the environment.",
   669            "default": "{}"
   670          }
   671        },
   672        "preferredOrder": [
   673          "name",
   674          "properties"
   675        ],
   676        "additionalProperties": false,
   677        "type": "object",
   678        "description": "environment in which the build should run (ex. local or in-cluster, etc.).",
   679        "x-intellij-html-description": "environment in which the build should run (ex. local or in-cluster, etc.)."
   680      },
   681      "GitTagger": {
   682        "type": "object",
   683        "description": "*beta* tags images with the git tag or commit of the artifact's workspace.",
   684        "x-intellij-html-description": "<em>beta</em> tags images with the git tag or commit of the artifact's workspace."
   685      },
   686      "GoogleCloudBuild": {
   687        "properties": {
   688          "diskSizeGb": {
   689            "type": "integer",
   690            "description": "disk size of the VM that runs the build. See [Cloud Build Reference](https://cloud.google.com/cloud-build/docs/api/reference/rest/v1/projects.builds#buildoptions).",
   691            "x-intellij-html-description": "disk size of the VM that runs the build. See <a href=\"https://cloud.google.com/cloud-build/docs/api/reference/rest/v1/projects.builds#buildoptions\">Cloud Build Reference</a>."
   692          },
   693          "dockerImage": {
   694            "type": "string",
   695            "description": "image that runs a Docker build. See [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders).",
   696            "x-intellij-html-description": "image that runs a Docker build. See <a href=\"https://cloud.google.com/cloud-build/docs/cloud-builders\">Cloud Builders</a>.",
   697            "default": "gcr.io/cloud-builders/docker"
   698          },
   699          "gradleImage": {
   700            "type": "string",
   701            "description": "image that runs a Gradle build. See [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders).",
   702            "x-intellij-html-description": "image that runs a Gradle build. See <a href=\"https://cloud.google.com/cloud-build/docs/cloud-builders\">Cloud Builders</a>.",
   703            "default": "gcr.io/cloud-builders/gradle"
   704          },
   705          "machineType": {
   706            "type": "string",
   707            "description": "type of the VM that runs the build. See [Cloud Build Reference](https://cloud.google.com/cloud-build/docs/api/reference/rest/v1/projects.builds#buildoptions).",
   708            "x-intellij-html-description": "type of the VM that runs the build. See <a href=\"https://cloud.google.com/cloud-build/docs/api/reference/rest/v1/projects.builds#buildoptions\">Cloud Build Reference</a>."
   709          },
   710          "mavenImage": {
   711            "type": "string",
   712            "description": "image that runs a Maven build. See [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders).",
   713            "x-intellij-html-description": "image that runs a Maven build. See <a href=\"https://cloud.google.com/cloud-build/docs/cloud-builders\">Cloud Builders</a>.",
   714            "default": "gcr.io/cloud-builders/mvn"
   715          },
   716          "projectId": {
   717            "type": "string",
   718            "description": "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.",
   719            "x-intellij-html-description": "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 <code>gcr.io/myproject/image</code>, Skaffold will use the <code>myproject</code> GCP project."
   720          },
   721          "timeout": {
   722            "type": "string",
   723            "description": "amount of time (in seconds) that this build should be allowed to run. See [Cloud Build Reference](https://cloud.google.com/cloud-build/docs/api/reference/rest/v1/projects.builds#resource-build).",
   724            "x-intellij-html-description": "amount of time (in seconds) that this build should be allowed to run. See <a href=\"https://cloud.google.com/cloud-build/docs/api/reference/rest/v1/projects.builds#resource-build\">Cloud Build Reference</a>."
   725          }
   726        },
   727        "preferredOrder": [
   728          "projectId",
   729          "diskSizeGb",
   730          "machineType",
   731          "timeout",
   732          "dockerImage",
   733          "mavenImage",
   734          "gradleImage"
   735        ],
   736        "additionalProperties": false,
   737        "type": "object",
   738        "description": "*beta* describes how to do a remote build on [Google Cloud Build](https://cloud.google.com/cloud-build/docs/). 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.",
   739        "x-intellij-html-description": "<em>beta</em> describes how to do a remote build on <a href=\"https://cloud.google.com/cloud-build/docs/\">Google Cloud Build</a>. Docker and Jib artifacts can be built on Cloud Build. The <code>projectId</code> needs to be provided and the currently logged in user should be given permissions to trigger new builds."
   740      },
   741      "HelmConventionConfig": {
   742        "type": "object",
   743        "description": "image config in the syntax of image.repository and image.tag.",
   744        "x-intellij-html-description": "image config in the syntax of image.repository and image.tag."
   745      },
   746      "HelmDeploy": {
   747        "required": [
   748          "releases"
   749        ],
   750        "properties": {
   751          "flags": {
   752            "$ref": "#/definitions/HelmDeployFlags",
   753            "description": "additional option flags that are passed on the command line to `helm`.",
   754            "x-intellij-html-description": "additional option flags that are passed on the command line to <code>helm</code>."
   755          },
   756          "releases": {
   757            "items": {
   758              "$ref": "#/definitions/HelmRelease"
   759            },
   760            "type": "array",
   761            "description": "a list of Helm releases.",
   762            "x-intellij-html-description": "a list of Helm releases."
   763          }
   764        },
   765        "preferredOrder": [
   766          "releases",
   767          "flags"
   768        ],
   769        "additionalProperties": false,
   770        "type": "object",
   771        "description": "*beta* uses the `helm` CLI to apply the charts to the cluster.",
   772        "x-intellij-html-description": "<em>beta</em> uses the <code>helm</code> CLI to apply the charts to the cluster."
   773      },
   774      "HelmDeployFlags": {
   775        "properties": {
   776          "global": {
   777            "items": {
   778              "type": "string"
   779            },
   780            "type": "array",
   781            "description": "additional flags passed on every command.",
   782            "x-intellij-html-description": "additional flags passed on every command.",
   783            "default": "[]"
   784          },
   785          "install": {
   786            "items": {
   787              "type": "string"
   788            },
   789            "type": "array",
   790            "description": "additional flags passed to (`helm install`).",
   791            "x-intellij-html-description": "additional flags passed to (<code>helm install</code>).",
   792            "default": "[]"
   793          },
   794          "upgrade": {
   795            "items": {
   796              "type": "string"
   797            },
   798            "type": "array",
   799            "description": "additional flags passed to (`helm upgrade`).",
   800            "x-intellij-html-description": "additional flags passed to (<code>helm upgrade</code>).",
   801            "default": "[]"
   802          }
   803        },
   804        "preferredOrder": [
   805          "global",
   806          "install",
   807          "upgrade"
   808        ],
   809        "additionalProperties": false,
   810        "type": "object",
   811        "description": "additional option flags that are passed on the command line to `helm`.",
   812        "x-intellij-html-description": "additional option flags that are passed on the command line to <code>helm</code>."
   813      },
   814      "HelmFQNConfig": {
   815        "properties": {
   816          "property": {
   817            "type": "string",
   818            "description": "defines the image config.",
   819            "x-intellij-html-description": "defines the image config."
   820          }
   821        },
   822        "preferredOrder": [
   823          "property"
   824        ],
   825        "additionalProperties": false,
   826        "type": "object",
   827        "description": "image config to use the FullyQualifiedImageName as param to set.",
   828        "x-intellij-html-description": "image config to use the FullyQualifiedImageName as param to set."
   829      },
   830      "HelmImageStrategy": {
   831        "type": "object",
   832        "anyOf": [
   833          {
   834            "additionalProperties": false
   835          },
   836          {
   837            "properties": {
   838              "fqn": {
   839                "$ref": "#/definitions/HelmFQNConfig",
   840                "description": "image configuration uses the syntax `IMAGE-NAME=IMAGE-REPOSITORY:IMAGE-TAG`.",
   841                "x-intellij-html-description": "image configuration uses the syntax <code>IMAGE-NAME=IMAGE-REPOSITORY:IMAGE-TAG</code>."
   842              }
   843            },
   844            "preferredOrder": [
   845              "fqn"
   846            ],
   847            "additionalProperties": false
   848          },
   849          {
   850            "properties": {
   851              "helm": {
   852                "$ref": "#/definitions/HelmConventionConfig",
   853                "description": "image configuration uses the syntax `IMAGE-NAME.repository=IMAGE-REPOSITORY, IMAGE-NAME.tag=IMAGE-TAG`.",
   854                "x-intellij-html-description": "image configuration uses the syntax <code>IMAGE-NAME.repository=IMAGE-REPOSITORY, IMAGE-NAME.tag=IMAGE-TAG</code>."
   855              }
   856            },
   857            "preferredOrder": [
   858              "helm"
   859            ],
   860            "additionalProperties": false
   861          }
   862        ],
   863        "description": "adds image configurations to the Helm `values` file.",
   864        "x-intellij-html-description": "adds image configurations to the Helm <code>values</code> file."
   865      },
   866      "HelmPackaged": {
   867        "properties": {
   868          "appVersion": {
   869            "type": "string",
   870            "description": "sets the `appVersion` on the chart to this version.",
   871            "x-intellij-html-description": "sets the <code>appVersion</code> on the chart to this version."
   872          },
   873          "version": {
   874            "type": "string",
   875            "description": "sets the `version` on the chart to this semver version.",
   876            "x-intellij-html-description": "sets the <code>version</code> on the chart to this semver version."
   877          }
   878        },
   879        "preferredOrder": [
   880          "version",
   881          "appVersion"
   882        ],
   883        "additionalProperties": false,
   884        "type": "object",
   885        "description": "parameters for packaging helm chart (`helm package`).",
   886        "x-intellij-html-description": "parameters for packaging helm chart (<code>helm package</code>)."
   887      },
   888      "HelmRelease": {
   889        "required": [
   890          "name",
   891          "chartPath"
   892        ],
   893        "properties": {
   894          "chartPath": {
   895            "type": "string",
   896            "description": "path to the Helm chart.",
   897            "x-intellij-html-description": "path to the Helm chart."
   898          },
   899          "imageStrategy": {
   900            "$ref": "#/definitions/HelmImageStrategy",
   901            "description": "adds image configurations to the Helm `values` file.",
   902            "x-intellij-html-description": "adds image configurations to the Helm <code>values</code> file."
   903          },
   904          "name": {
   905            "type": "string",
   906            "description": "name of the Helm release.",
   907            "x-intellij-html-description": "name of the Helm release."
   908          },
   909          "namespace": {
   910            "type": "string",
   911            "description": "Kubernetes namespace.",
   912            "x-intellij-html-description": "Kubernetes namespace."
   913          },
   914          "overrides": {
   915            "description": "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).",
   916            "x-intellij-html-description": "key-value pairs. If present, Skaffold will build a Helm <code>values</code> file that overrides the original and use it to call Helm CLI (<code>--f</code> flag)."
   917          },
   918          "packaged": {
   919            "$ref": "#/definitions/HelmPackaged",
   920            "description": "parameters for packaging helm chart (`helm package`).",
   921            "x-intellij-html-description": "parameters for packaging helm chart (<code>helm package</code>)."
   922          },
   923          "recreatePods": {
   924            "type": "boolean",
   925            "description": "if `true`, Skaffold will send `--recreate-pods` flag to Helm CLI.",
   926            "x-intellij-html-description": "if <code>true</code>, Skaffold will send <code>--recreate-pods</code> flag to Helm CLI.",
   927            "default": "false"
   928          },
   929          "setValueTemplates": {
   930            "additionalProperties": {
   931              "type": "string"
   932            },
   933            "type": "object",
   934            "description": "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.",
   935            "x-intellij-html-description": "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 <code>--set</code> flag to Helm CLI and append all parsed pairs after the flag.",
   936            "default": "{}"
   937          },
   938          "setValues": {
   939            "additionalProperties": {
   940              "type": "string"
   941            },
   942            "type": "object",
   943            "description": "key-value pairs. If present, Skaffold will send `--set` flag to Helm CLI and append all pairs after the flag.",
   944            "x-intellij-html-description": "key-value pairs. If present, Skaffold will send <code>--set</code> flag to Helm CLI and append all pairs after the flag.",
   945            "default": "{}"
   946          },
   947          "skipBuildDependencies": {
   948            "type": "boolean",
   949            "description": "should build dependencies be skipped.",
   950            "x-intellij-html-description": "should build dependencies be skipped.",
   951            "default": "false"
   952          },
   953          "values": {
   954            "additionalProperties": {
   955              "type": "string"
   956            },
   957            "type": "object",
   958            "description": "key-value pairs supplementing the Helm `values` file.",
   959            "x-intellij-html-description": "key-value pairs supplementing the Helm <code>values</code> file.",
   960            "default": "{}"
   961          },
   962          "valuesFiles": {
   963            "items": {
   964              "type": "string"
   965            },
   966            "type": "array",
   967            "description": "paths to the Helm `values` files.",
   968            "x-intellij-html-description": "paths to the Helm <code>values</code> files.",
   969            "default": "[]"
   970          },
   971          "version": {
   972            "type": "string",
   973            "description": "version of the chart.",
   974            "x-intellij-html-description": "version of the chart."
   975          },
   976          "wait": {
   977            "type": "boolean",
   978            "description": "if `true`, Skaffold will send `--wait` flag to Helm CLI.",
   979            "x-intellij-html-description": "if <code>true</code>, Skaffold will send <code>--wait</code> flag to Helm CLI.",
   980            "default": "false"
   981          }
   982        },
   983        "preferredOrder": [
   984          "name",
   985          "chartPath",
   986          "valuesFiles",
   987          "values",
   988          "namespace",
   989          "version",
   990          "setValues",
   991          "setValueTemplates",
   992          "wait",
   993          "recreatePods",
   994          "skipBuildDependencies",
   995          "overrides",
   996          "packaged",
   997          "imageStrategy"
   998        ],
   999        "additionalProperties": false,
  1000        "type": "object",
  1001        "description": "describes a helm release to be deployed.",
  1002        "x-intellij-html-description": "describes a helm release to be deployed."
  1003      },
  1004      "JSONPatch": {
  1005        "required": [
  1006          "path"
  1007        ],
  1008        "properties": {
  1009          "from": {
  1010            "type": "string",
  1011            "description": "source position in the yaml, used for `copy` or `move` operations.",
  1012            "x-intellij-html-description": "source position in the yaml, used for <code>copy</code> or <code>move</code> operations."
  1013          },
  1014          "op": {
  1015            "type": "string",
  1016            "description": "operation carried by the patch: `add`, `remove`, `replace`, `move`, `copy` or `test`.",
  1017            "x-intellij-html-description": "operation carried by the patch: <code>add</code>, <code>remove</code>, <code>replace</code>, <code>move</code>, <code>copy</code> or <code>test</code>.",
  1018            "default": "replace"
  1019          },
  1020          "path": {
  1021            "type": "string",
  1022            "description": "position in the yaml where the operation takes place. For example, this targets the `dockerfile` of the first artifact built.",
  1023            "x-intellij-html-description": "position in the yaml where the operation takes place. For example, this targets the <code>dockerfile</code> of the first artifact built.",
  1024            "examples": [
  1025              "/build/artifacts/0/docker/dockerfile"
  1026            ]
  1027          },
  1028          "value": {
  1029            "description": "value to apply. Can be any portion of yaml.",
  1030            "x-intellij-html-description": "value to apply. Can be any portion of yaml."
  1031          }
  1032        },
  1033        "preferredOrder": [
  1034          "op",
  1035          "path",
  1036          "from",
  1037          "value"
  1038        ],
  1039        "additionalProperties": false,
  1040        "type": "object",
  1041        "description": "patch to be applied by a profile.",
  1042        "x-intellij-html-description": "patch to be applied by a profile."
  1043      },
  1044      "JibGradleArtifact": {
  1045        "properties": {
  1046          "args": {
  1047            "items": {
  1048              "type": "string"
  1049            },
  1050            "type": "array",
  1051            "description": "additional build flags passed to Gradle.",
  1052            "x-intellij-html-description": "additional build flags passed to Gradle.",
  1053            "default": "[]",
  1054            "examples": [
  1055              "[\"--no-build-cache\"]"
  1056            ]
  1057          },
  1058          "project": {
  1059            "type": "string",
  1060            "description": "selects which Gradle project to build.",
  1061            "x-intellij-html-description": "selects which Gradle project to build."
  1062          }
  1063        },
  1064        "preferredOrder": [
  1065          "project",
  1066          "args"
  1067        ],
  1068        "additionalProperties": false,
  1069        "type": "object",
  1070        "description": "*alpha* builds images using the [Jib plugin for Gradle](https://github.com/GoogleContainerTools/jib/tree/master/jib-gradle-plugin).",
  1071        "x-intellij-html-description": "<em>alpha</em> builds images using the <a href=\"https://github.com/GoogleContainerTools/jib/tree/master/jib-gradle-plugin\">Jib plugin for Gradle</a>."
  1072      },
  1073      "JibMavenArtifact": {
  1074        "properties": {
  1075          "args": {
  1076            "items": {
  1077              "type": "string"
  1078            },
  1079            "type": "array",
  1080            "description": "additional build flags passed to Maven.",
  1081            "x-intellij-html-description": "additional build flags passed to Maven.",
  1082            "default": "[]",
  1083            "examples": [
  1084              "[\"-x\", \"-DskipTests\"]"
  1085            ]
  1086          },
  1087          "module": {
  1088            "type": "string",
  1089            "description": "selects which Maven module to build, for a multi module project.",
  1090            "x-intellij-html-description": "selects which Maven module to build, for a multi module project."
  1091          },
  1092          "profile": {
  1093            "type": "string",
  1094            "description": "selects which Maven profile to activate.",
  1095            "x-intellij-html-description": "selects which Maven profile to activate."
  1096          }
  1097        },
  1098        "preferredOrder": [
  1099          "module",
  1100          "profile",
  1101          "args"
  1102        ],
  1103        "additionalProperties": false,
  1104        "type": "object",
  1105        "description": "*alpha* builds images using the [Jib plugin for Maven](https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin).",
  1106        "x-intellij-html-description": "<em>alpha</em> builds images using the <a href=\"https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin\">Jib plugin for Maven</a>."
  1107      },
  1108      "KanikoBuild": {
  1109        "properties": {
  1110          "buildContext": {
  1111            "$ref": "#/definitions/KanikoBuildContext",
  1112            "description": "defines where Kaniko gets the sources from.",
  1113            "x-intellij-html-description": "defines where Kaniko gets the sources from."
  1114          },
  1115          "cache": {
  1116            "$ref": "#/definitions/KanikoCache",
  1117            "description": "configures Kaniko caching. If a cache is specified, Kaniko will use a remote cache which will speed up builds.",
  1118            "x-intellij-html-description": "configures Kaniko caching. If a cache is specified, Kaniko will use a remote cache which will speed up builds."
  1119          },
  1120          "dockerConfig": {
  1121            "$ref": "#/definitions/DockerConfig",
  1122            "description": "describes how to mount the local Docker configuration into the Kaniko pod.",
  1123            "x-intellij-html-description": "describes how to mount the local Docker configuration into the Kaniko pod."
  1124          },
  1125          "flags": {
  1126            "items": {
  1127              "type": "string"
  1128            },
  1129            "type": "array",
  1130            "description": "additional flags to be passed to Kaniko command line. See [Kaniko Additional Flags](https://github.com/GoogleContainerTools/kaniko#additional-flags).",
  1131            "x-intellij-html-description": "additional flags to be passed to Kaniko command line. See <a href=\"https://github.com/GoogleContainerTools/kaniko#additional-flags\">Kaniko Additional Flags</a>.",
  1132            "default": "[]"
  1133          },
  1134          "image": {
  1135            "type": "string",
  1136            "description": "Docker image used by the Kaniko pod. Defaults to the latest released version of `gcr.io/kaniko-project/executor`.",
  1137            "x-intellij-html-description": "Docker image used by the Kaniko pod. Defaults to the latest released version of <code>gcr.io/kaniko-project/executor</code>."
  1138          },
  1139          "namespace": {
  1140            "type": "string",
  1141            "description": "Kubernetes namespace. Defaults to current namespace in Kubernetes configuration.",
  1142            "x-intellij-html-description": "Kubernetes namespace. Defaults to current namespace in Kubernetes configuration."
  1143          },
  1144          "pullSecret": {
  1145            "type": "string",
  1146            "description": "path to the secret key file. See [Kaniko Documentation](https://github.com/GoogleContainerTools/kaniko#running-kaniko-in-a-kubernetes-cluster).",
  1147            "x-intellij-html-description": "path to the secret key file. See <a href=\"https://github.com/GoogleContainerTools/kaniko#running-kaniko-in-a-kubernetes-cluster\">Kaniko Documentation</a>."
  1148          },
  1149          "pullSecretName": {
  1150            "type": "string",
  1151            "description": "name of the Kubernetes secret for pulling the files from the build context and pushing the final image.",
  1152            "x-intellij-html-description": "name of the Kubernetes secret for pulling the files from the build context and pushing the final image.",
  1153            "default": "kaniko-secret"
  1154          },
  1155          "timeout": {
  1156            "type": "string",
  1157            "description": "amount of time (in seconds) that this build is allowed to run. Defaults to 20 minutes (`20m`).",
  1158            "x-intellij-html-description": "amount of time (in seconds) that this build is allowed to run. Defaults to 20 minutes (<code>20m</code>)."
  1159          }
  1160        },
  1161        "preferredOrder": [
  1162          "buildContext",
  1163          "cache",
  1164          "flags",
  1165          "pullSecret",
  1166          "pullSecretName",
  1167          "namespace",
  1168          "timeout",
  1169          "image",
  1170          "dockerConfig"
  1171        ],
  1172        "additionalProperties": false,
  1173        "type": "object",
  1174        "description": "*beta* describes how to do an on-cluster build using [Kaniko](https://github.com/GoogleContainerTools/kaniko).",
  1175        "x-intellij-html-description": "<em>beta</em> describes how to do an on-cluster build using <a href=\"https://github.com/GoogleContainerTools/kaniko\">Kaniko</a>."
  1176      },
  1177      "KanikoBuildContext": {
  1178        "properties": {
  1179          "gcsBucket": {
  1180            "type": "string",
  1181            "description": "CGS bucket to which sources are uploaded. Kaniko will need access to that bucket to download the sources.",
  1182            "x-intellij-html-description": "CGS bucket to which sources are uploaded. Kaniko will need access to that bucket to download the sources."
  1183          },
  1184          "localDir": {
  1185            "$ref": "#/definitions/LocalDir",
  1186            "description": "configures how Kaniko mounts sources directly via an `emptyDir` volume.",
  1187            "x-intellij-html-description": "configures how Kaniko mounts sources directly via an <code>emptyDir</code> volume."
  1188          }
  1189        },
  1190        "preferredOrder": [
  1191          "gcsBucket",
  1192          "localDir"
  1193        ],
  1194        "additionalProperties": false,
  1195        "type": "object",
  1196        "description": "contains the different fields available to specify a Kaniko build context.",
  1197        "x-intellij-html-description": "contains the different fields available to specify a Kaniko build context."
  1198      },
  1199      "KanikoCache": {
  1200        "properties": {
  1201          "repo": {
  1202            "type": "string",
  1203            "description": "a remote repository to store cached layers. If none is specified, one will be inferred from the image name. See [Kaniko Caching](https://github.com/GoogleContainerTools/kaniko#caching).",
  1204            "x-intellij-html-description": "a remote repository to store cached layers. If none is specified, one will be inferred from the image name. See <a href=\"https://github.com/GoogleContainerTools/kaniko#caching\">Kaniko Caching</a>."
  1205          }
  1206        },
  1207        "preferredOrder": [
  1208          "repo"
  1209        ],
  1210        "additionalProperties": false,
  1211        "type": "object",
  1212        "description": "configures Kaniko caching. If a cache is specified, Kaniko will use a remote cache which will speed up builds.",
  1213        "x-intellij-html-description": "configures Kaniko caching. If a cache is specified, Kaniko will use a remote cache which will speed up builds."
  1214      },
  1215      "KubectlDeploy": {
  1216        "properties": {
  1217          "flags": {
  1218            "$ref": "#/definitions/KubectlFlags",
  1219            "description": "additional flags passed to `kubectl`.",
  1220            "x-intellij-html-description": "additional flags passed to <code>kubectl</code>."
  1221          },
  1222          "manifests": {
  1223            "items": {
  1224              "type": "string"
  1225            },
  1226            "type": "array",
  1227            "description": "the Kubernetes yaml or json manifests.",
  1228            "x-intellij-html-description": "the Kubernetes yaml or json manifests.",
  1229            "default": "[\"k8s/*.yaml\"]"
  1230          },
  1231          "remoteManifests": {
  1232            "items": {
  1233              "type": "string"
  1234            },
  1235            "type": "array",
  1236            "description": "Kubernetes manifests in remote clusters.",
  1237            "x-intellij-html-description": "Kubernetes manifests in remote clusters.",
  1238            "default": "[]"
  1239          }
  1240        },
  1241        "preferredOrder": [
  1242          "manifests",
  1243          "remoteManifests",
  1244          "flags"
  1245        ],
  1246        "additionalProperties": false,
  1247        "type": "object",
  1248        "description": "*beta* uses a client side `kubectl apply` to deploy manifests. You'll need a `kubectl` CLI version installed that's compatible with your cluster.",
  1249        "x-intellij-html-description": "<em>beta</em> uses a client side <code>kubectl apply</code> to deploy manifests. You'll need a <code>kubectl</code> CLI version installed that's compatible with your cluster."
  1250      },
  1251      "KubectlFlags": {
  1252        "properties": {
  1253          "apply": {
  1254            "items": {
  1255              "type": "string"
  1256            },
  1257            "type": "array",
  1258            "description": "additional flags passed on creations (`kubectl apply`).",
  1259            "x-intellij-html-description": "additional flags passed on creations (<code>kubectl apply</code>).",
  1260            "default": "[]"
  1261          },
  1262          "delete": {
  1263            "items": {
  1264              "type": "string"
  1265            },
  1266            "type": "array",
  1267            "description": "additional flags passed on deletions (`kubectl delete`).",
  1268            "x-intellij-html-description": "additional flags passed on deletions (<code>kubectl delete</code>).",
  1269            "default": "[]"
  1270          },
  1271          "global": {
  1272            "items": {
  1273              "type": "string"
  1274            },
  1275            "type": "array",
  1276            "description": "additional flags passed on every command.",
  1277            "x-intellij-html-description": "additional flags passed on every command.",
  1278            "default": "[]"
  1279          }
  1280        },
  1281        "preferredOrder": [
  1282          "global",
  1283          "apply",
  1284          "delete"
  1285        ],
  1286        "additionalProperties": false,
  1287        "type": "object",
  1288        "description": "additional flags passed on the command line to kubectl either on every command (Global), on creations (Apply) or deletions (Delete).",
  1289        "x-intellij-html-description": "additional flags passed on the command line to kubectl either on every command (Global), on creations (Apply) or deletions (Delete)."
  1290      },
  1291      "KustomizeDeploy": {
  1292        "properties": {
  1293          "flags": {
  1294            "$ref": "#/definitions/KubectlFlags",
  1295            "description": "additional flags passed to `kubectl`.",
  1296            "x-intellij-html-description": "additional flags passed to <code>kubectl</code>."
  1297          },
  1298          "path": {
  1299            "type": "string",
  1300            "description": "path to Kustomization files.",
  1301            "x-intellij-html-description": "path to Kustomization files.",
  1302            "default": "."
  1303          }
  1304        },
  1305        "preferredOrder": [
  1306          "path",
  1307          "flags"
  1308        ],
  1309        "additionalProperties": false,
  1310        "type": "object",
  1311        "description": "*beta* uses the `kustomize` CLI to \"patch\" a deployment for a target environment.",
  1312        "x-intellij-html-description": "<em>beta</em> uses the <code>kustomize</code> CLI to &quot;patch&quot; a deployment for a target environment."
  1313      },
  1314      "LocalBuild": {
  1315        "properties": {
  1316          "push": {
  1317            "type": "boolean",
  1318            "description": "should images be pushed to a registry. If not specified, images are pushed only if the current Kubernetes context connects to a remote cluster.",
  1319            "x-intellij-html-description": "should images be pushed to a registry. If not specified, images are pushed only if the current Kubernetes context connects to a remote cluster."
  1320          },
  1321          "useBuildkit": {
  1322            "type": "boolean",
  1323            "description": "use BuildKit to build Docker images. If unspecified, uses the Docker default.",
  1324            "x-intellij-html-description": "use BuildKit to build Docker images. If unspecified, uses the Docker default."
  1325          },
  1326          "useDockerCLI": {
  1327            "type": "boolean",
  1328            "description": "use `docker` command-line interface instead of Docker Engine APIs.",
  1329            "x-intellij-html-description": "use <code>docker</code> command-line interface instead of Docker Engine APIs.",
  1330            "default": "false"
  1331          }
  1332        },
  1333        "preferredOrder": [
  1334          "push",
  1335          "useDockerCLI",
  1336          "useBuildkit"
  1337        ],
  1338        "additionalProperties": false,
  1339        "type": "object",
  1340        "description": "*beta* describes how to do a build on the local docker daemon and optionally push to a repository.",
  1341        "x-intellij-html-description": "<em>beta</em> describes how to do a build on the local docker daemon and optionally push to a repository."
  1342      },
  1343      "LocalDir": {
  1344        "type": "object",
  1345        "description": "configures how Kaniko mounts sources directly via an `emptyDir` volume.",
  1346        "x-intellij-html-description": "configures how Kaniko mounts sources directly via an <code>emptyDir</code> volume."
  1347      },
  1348      "Profile": {
  1349        "required": [
  1350          "name"
  1351        ],
  1352        "properties": {
  1353          "activation": {
  1354            "items": {
  1355              "$ref": "#/definitions/Activation"
  1356            },
  1357            "type": "array",
  1358            "description": "criteria by which a profile can be auto-activated.",
  1359            "x-intellij-html-description": "criteria by which a profile can be auto-activated."
  1360          },
  1361          "build": {
  1362            "$ref": "#/definitions/BuildConfig",
  1363            "description": "replaces the main `build` configuration.",
  1364            "x-intellij-html-description": "replaces the main <code>build</code> configuration."
  1365          },
  1366          "deploy": {
  1367            "$ref": "#/definitions/DeployConfig",
  1368            "description": "replaces the main `deploy` configuration.",
  1369            "x-intellij-html-description": "replaces the main <code>deploy</code> configuration."
  1370          },
  1371          "name": {
  1372            "type": "string",
  1373            "description": "a unique profile name.",
  1374            "x-intellij-html-description": "a unique profile name.",
  1375            "examples": [
  1376              "profile-prod"
  1377            ]
  1378          },
  1379          "patches": {
  1380            "items": {
  1381              "$ref": "#/definitions/JSONPatch"
  1382            },
  1383            "type": "array",
  1384            "description": "patches applied to the configuration. Patches use the JSON patch notation.",
  1385            "x-intellij-html-description": "patches applied to the configuration. Patches use the JSON patch notation."
  1386          },
  1387          "test": {
  1388            "items": {
  1389              "$ref": "#/definitions/TestCase"
  1390            },
  1391            "type": "array",
  1392            "description": "replaces the main `test` configuration.",
  1393            "x-intellij-html-description": "replaces the main <code>test</code> configuration."
  1394          }
  1395        },
  1396        "preferredOrder": [
  1397          "name",
  1398          "build",
  1399          "test",
  1400          "deploy",
  1401          "patches",
  1402          "activation"
  1403        ],
  1404        "additionalProperties": false,
  1405        "type": "object",
  1406        "description": "*beta* profiles are used to override any `build`, `test` or `deploy` configuration.",
  1407        "x-intellij-html-description": "<em>beta</em> profiles are used to override any <code>build</code>, <code>test</code> or <code>deploy</code> configuration."
  1408      },
  1409      "ShaTagger": {
  1410        "type": "object",
  1411        "description": "*beta* tags images with their sha256 digest.",
  1412        "x-intellij-html-description": "<em>beta</em> tags images with their sha256 digest."
  1413      },
  1414      "SkaffoldConfig": {
  1415        "properties": {
  1416          "apiVersion": {
  1417            "type": "string",
  1418            "description": "version of the configuration.",
  1419            "x-intellij-html-description": "version of the configuration."
  1420          },
  1421          "build": {
  1422            "$ref": "#/definitions/BuildConfig",
  1423            "description": "describes how images are built.",
  1424            "x-intellij-html-description": "describes how images are built."
  1425          },
  1426          "deploy": {
  1427            "$ref": "#/definitions/DeployConfig",
  1428            "description": "describes how images are deployed.",
  1429            "x-intellij-html-description": "describes how images are deployed."
  1430          },
  1431          "kind": {
  1432            "type": "string",
  1433            "description": "always `Config`.",
  1434            "x-intellij-html-description": "always <code>Config</code>.",
  1435            "default": "Config"
  1436          },
  1437          "profiles": {
  1438            "items": {
  1439              "$ref": "#/definitions/Profile"
  1440            },
  1441            "type": "array",
  1442            "description": "*beta* can override be used to `build`, `test` or `deploy` configuration.",
  1443            "x-intellij-html-description": "<em>beta</em> can override be used to <code>build</code>, <code>test</code> or <code>deploy</code> configuration."
  1444          },
  1445          "test": {
  1446            "items": {
  1447              "$ref": "#/definitions/TestCase"
  1448            },
  1449            "type": "array",
  1450            "description": "describes how images are tested.",
  1451            "x-intellij-html-description": "describes how images are tested."
  1452          }
  1453        },
  1454        "preferredOrder": [
  1455          "apiVersion",
  1456          "kind",
  1457          "build",
  1458          "test",
  1459          "deploy",
  1460          "profiles"
  1461        ],
  1462        "additionalProperties": false,
  1463        "type": "object",
  1464        "description": "describes a Skaffold pipeline.",
  1465        "x-intellij-html-description": "describes a Skaffold pipeline."
  1466      },
  1467      "TagPolicy": {
  1468        "properties": {
  1469          "dateTime": {
  1470            "$ref": "#/definitions/DateTimeTagger",
  1471            "description": "*beta* tags images with the build timestamp.",
  1472            "x-intellij-html-description": "<em>beta</em> tags images with the build timestamp."
  1473          },
  1474          "envTemplate": {
  1475            "$ref": "#/definitions/EnvTemplateTagger",
  1476            "description": "*beta* tags images with a configurable template string.",
  1477            "x-intellij-html-description": "<em>beta</em> tags images with a configurable template string."
  1478          },
  1479          "gitCommit": {
  1480            "$ref": "#/definitions/GitTagger",
  1481            "description": "*beta* tags images with the git tag or commit of the artifact's workspace.",
  1482            "x-intellij-html-description": "<em>beta</em> tags images with the git tag or commit of the artifact's workspace."
  1483          },
  1484          "sha256": {
  1485            "$ref": "#/definitions/ShaTagger",
  1486            "description": "*beta* tags images with their sha256 digest.",
  1487            "x-intellij-html-description": "<em>beta</em> tags images with their sha256 digest."
  1488          }
  1489        },
  1490        "preferredOrder": [
  1491          "gitCommit",
  1492          "sha256",
  1493          "envTemplate",
  1494          "dateTime"
  1495        ],
  1496        "additionalProperties": false,
  1497        "type": "object",
  1498        "description": "contains all the configuration for the tagging step.",
  1499        "x-intellij-html-description": "contains all the configuration for the tagging step."
  1500      },
  1501      "TestCase": {
  1502        "required": [
  1503          "image"
  1504        ],
  1505        "properties": {
  1506          "image": {
  1507            "type": "string",
  1508            "description": "artifact on which to run those tests.",
  1509            "x-intellij-html-description": "artifact on which to run those tests.",
  1510            "examples": [
  1511              "gcr.io/k8s-skaffold/example"
  1512            ]
  1513          },
  1514          "structureTests": {
  1515            "items": {
  1516              "type": "string"
  1517            },
  1518            "type": "array",
  1519            "description": "the [Container Structure Tests](https://github.com/GoogleContainerTools/container-structure-test) to run on that artifact.",
  1520            "x-intellij-html-description": "the <a href=\"https://github.com/GoogleContainerTools/container-structure-test\">Container Structure Tests</a> to run on that artifact.",
  1521            "default": "[]",
  1522            "examples": [
  1523              "[\"./test/*\"]"
  1524            ]
  1525          }
  1526        },
  1527        "preferredOrder": [
  1528          "image",
  1529          "structureTests"
  1530        ],
  1531        "additionalProperties": false,
  1532        "type": "object",
  1533        "description": "a list of structure tests to run on images that Skaffold builds.",
  1534        "x-intellij-html-description": "a list of structure tests to run on images that Skaffold builds."
  1535      }
  1536    }
  1537  }