github.com/GoogleContainerTools/skaffold/v2@v2.13.2/docs-v2/content/en/schemas/v1beta5.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 key=value 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 where the artifact's sources are to be found.",
    58                "x-intellij-html-description": "directory where the artifact's sources are to be found.",
    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 that can be synced to remote 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 that can be synced to remote 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 where the artifact's sources are to be found.",
   100                "x-intellij-html-description": "directory where the artifact's sources are to be found.",
   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 that can be synced to remote 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 that can be synced to remote 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 where the artifact's sources are to be found.",
   153                "x-intellij-html-description": "directory where the artifact's sources are to be found.",
   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 that can be synced to remote 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 that can be synced to remote 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 where the artifact's sources are to be found.",
   196                "x-intellij-html-description": "directory where the artifact's sources are to be found.",
   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 that can be synced to remote 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 that can be synced to remote 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 where the artifact's sources are to be found.",
   244                "x-intellij-html-description": "directory where the artifact's sources are to be found.",
   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 that can be synced to remote 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 that can be synced to remote 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 to consider as cache sources.",
   579            "x-intellij-html-description": "the Docker images to consider 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      },
   655      "ExecutionEnvironment": {
   656        "properties": {
   657          "name": {
   658            "$ref": "#/definitions/ExecEnvironment",
   659            "description": "name of the environment.",
   660            "x-intellij-html-description": "name of the environment."
   661          },
   662          "properties": {
   663            "additionalProperties": {},
   664            "type": "object",
   665            "description": "key-value pairs passed to the environment.",
   666            "x-intellij-html-description": "key-value pairs passed to the environment.",
   667            "default": "{}"
   668          }
   669        },
   670        "preferredOrder": [
   671          "name",
   672          "properties"
   673        ],
   674        "additionalProperties": false,
   675        "type": "object",
   676        "description": "environment in which the build should run (ex. local or in-cluster, etc.).",
   677        "x-intellij-html-description": "environment in which the build should run (ex. local or in-cluster, etc.)."
   678      },
   679      "GitTagger": {
   680        "type": "object",
   681        "description": "*beta* tags images with the git tag or commit of the artifact's workspace.",
   682        "x-intellij-html-description": "<em>beta</em> tags images with the git tag or commit of the artifact's workspace."
   683      },
   684      "GoogleCloudBuild": {
   685        "properties": {
   686          "diskSizeGb": {
   687            "type": "integer",
   688            "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).",
   689            "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>."
   690          },
   691          "dockerImage": {
   692            "type": "string",
   693            "description": "image that runs a Docker build. See [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders).",
   694            "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>.",
   695            "default": "gcr.io/cloud-builders/docker"
   696          },
   697          "gradleImage": {
   698            "type": "string",
   699            "description": "image that runs a Gradle build. See [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders).",
   700            "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>.",
   701            "default": "gcr.io/cloud-builders/gradle"
   702          },
   703          "machineType": {
   704            "type": "string",
   705            "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).",
   706            "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>."
   707          },
   708          "mavenImage": {
   709            "type": "string",
   710            "description": "image that runs a Maven build. See [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders).",
   711            "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>.",
   712            "default": "gcr.io/cloud-builders/mvn"
   713          },
   714          "projectId": {
   715            "type": "string",
   716            "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.",
   717            "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."
   718          },
   719          "timeout": {
   720            "type": "string",
   721            "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).",
   722            "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>."
   723          }
   724        },
   725        "preferredOrder": [
   726          "projectId",
   727          "diskSizeGb",
   728          "machineType",
   729          "timeout",
   730          "dockerImage",
   731          "mavenImage",
   732          "gradleImage"
   733        ],
   734        "additionalProperties": false,
   735        "type": "object",
   736        "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.",
   737        "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."
   738      },
   739      "HelmConventionConfig": {
   740        "type": "object",
   741        "description": "image config in the syntax of image.repository and image.tag.",
   742        "x-intellij-html-description": "image config in the syntax of image.repository and image.tag."
   743      },
   744      "HelmDeploy": {
   745        "required": [
   746          "releases"
   747        ],
   748        "properties": {
   749          "releases": {
   750            "items": {
   751              "$ref": "#/definitions/HelmRelease"
   752            },
   753            "type": "array",
   754            "description": "a list of Helm releases.",
   755            "x-intellij-html-description": "a list of Helm releases."
   756          }
   757        },
   758        "preferredOrder": [
   759          "releases"
   760        ],
   761        "additionalProperties": false,
   762        "type": "object",
   763        "description": "*beta* uses the `helm` CLI to apply the charts to the cluster.",
   764        "x-intellij-html-description": "<em>beta</em> uses the <code>helm</code> CLI to apply the charts to the cluster."
   765      },
   766      "HelmFQNConfig": {
   767        "properties": {
   768          "property": {
   769            "type": "string",
   770            "description": "defines the image config.",
   771            "x-intellij-html-description": "defines the image config."
   772          }
   773        },
   774        "preferredOrder": [
   775          "property"
   776        ],
   777        "additionalProperties": false,
   778        "type": "object",
   779        "description": "image config to use the FullyQualifiedImageName as param to set.",
   780        "x-intellij-html-description": "image config to use the FullyQualifiedImageName as param to set."
   781      },
   782      "HelmImageStrategy": {
   783        "type": "object",
   784        "anyOf": [
   785          {
   786            "additionalProperties": false
   787          },
   788          {
   789            "properties": {
   790              "fqn": {
   791                "$ref": "#/definitions/HelmFQNConfig",
   792                "description": "image configuration uses the syntax `IMAGE-NAME=IMAGE-REPOSITORY:IMAGE-TAG`.",
   793                "x-intellij-html-description": "image configuration uses the syntax <code>IMAGE-NAME=IMAGE-REPOSITORY:IMAGE-TAG</code>."
   794              }
   795            },
   796            "preferredOrder": [
   797              "fqn"
   798            ],
   799            "additionalProperties": false
   800          },
   801          {
   802            "properties": {
   803              "helm": {
   804                "$ref": "#/definitions/HelmConventionConfig",
   805                "description": "image configuration uses the syntax `IMAGE-NAME.repository=IMAGE-REPOSITORY, IMAGE-NAME.tag=IMAGE-TAG`.",
   806                "x-intellij-html-description": "image configuration uses the syntax <code>IMAGE-NAME.repository=IMAGE-REPOSITORY, IMAGE-NAME.tag=IMAGE-TAG</code>."
   807              }
   808            },
   809            "preferredOrder": [
   810              "helm"
   811            ],
   812            "additionalProperties": false
   813          }
   814        ],
   815        "description": "adds image configurations to the Helm `values` file.",
   816        "x-intellij-html-description": "adds image configurations to the Helm <code>values</code> file."
   817      },
   818      "HelmPackaged": {
   819        "properties": {
   820          "appVersion": {
   821            "type": "string",
   822            "description": "sets the `appVersion` on the chart to this version.",
   823            "x-intellij-html-description": "sets the <code>appVersion</code> on the chart to this version."
   824          },
   825          "version": {
   826            "type": "string",
   827            "description": "sets the `version` on the chart to this semver version.",
   828            "x-intellij-html-description": "sets the <code>version</code> on the chart to this semver version."
   829          }
   830        },
   831        "preferredOrder": [
   832          "version",
   833          "appVersion"
   834        ],
   835        "additionalProperties": false,
   836        "type": "object",
   837        "description": "parameters for packaging helm chart (`helm package`).",
   838        "x-intellij-html-description": "parameters for packaging helm chart (<code>helm package</code>)."
   839      },
   840      "HelmRelease": {
   841        "required": [
   842          "name",
   843          "chartPath"
   844        ],
   845        "properties": {
   846          "chartPath": {
   847            "type": "string",
   848            "description": "path to the Helm chart.",
   849            "x-intellij-html-description": "path to the Helm chart."
   850          },
   851          "imageStrategy": {
   852            "$ref": "#/definitions/HelmImageStrategy",
   853            "description": "adds image configurations to the Helm `values` file.",
   854            "x-intellij-html-description": "adds image configurations to the Helm <code>values</code> file."
   855          },
   856          "name": {
   857            "type": "string",
   858            "description": "name of the Helm release.",
   859            "x-intellij-html-description": "name of the Helm release."
   860          },
   861          "namespace": {
   862            "type": "string",
   863            "description": "Kubernetes namespace.",
   864            "x-intellij-html-description": "Kubernetes namespace."
   865          },
   866          "overrides": {
   867            "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).",
   868            "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)."
   869          },
   870          "packaged": {
   871            "$ref": "#/definitions/HelmPackaged",
   872            "description": "parameters for packaging helm chart (`helm package`).",
   873            "x-intellij-html-description": "parameters for packaging helm chart (<code>helm package</code>)."
   874          },
   875          "recreatePods": {
   876            "type": "boolean",
   877            "description": "if `true`, Skaffold will send `--recreate-pods` flag to Helm CLI.",
   878            "x-intellij-html-description": "if <code>true</code>, Skaffold will send <code>--recreate-pods</code> flag to Helm CLI.",
   879            "default": "false"
   880          },
   881          "setValueTemplates": {
   882            "additionalProperties": {
   883              "type": "string"
   884            },
   885            "type": "object",
   886            "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.",
   887            "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.",
   888            "default": "{}"
   889          },
   890          "setValues": {
   891            "additionalProperties": {
   892              "type": "string"
   893            },
   894            "type": "object",
   895            "description": "key-value pairs. If present, Skaffold will send `--set` flag to Helm CLI and append all pairs after the flag.",
   896            "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.",
   897            "default": "{}"
   898          },
   899          "skipBuildDependencies": {
   900            "type": "boolean",
   901            "description": "should build dependencies be skipped.",
   902            "x-intellij-html-description": "should build dependencies be skipped.",
   903            "default": "false"
   904          },
   905          "values": {
   906            "additionalProperties": {
   907              "type": "string"
   908            },
   909            "type": "object",
   910            "description": "key-value pairs supplementing the Helm `values` file\".",
   911            "x-intellij-html-description": "key-value pairs supplementing the Helm <code>values</code> file&quot;.",
   912            "default": "{}"
   913          },
   914          "valuesFiles": {
   915            "items": {
   916              "type": "string"
   917            },
   918            "type": "array",
   919            "description": "paths to the Helm `values` files\".",
   920            "x-intellij-html-description": "paths to the Helm <code>values</code> files&quot;.",
   921            "default": "[]"
   922          },
   923          "version": {
   924            "type": "string",
   925            "description": "version of the chart.",
   926            "x-intellij-html-description": "version of the chart."
   927          },
   928          "wait": {
   929            "type": "boolean",
   930            "description": "if `true`, Skaffold will send `--wait` flag to Helm CLI.",
   931            "x-intellij-html-description": "if <code>true</code>, Skaffold will send <code>--wait</code> flag to Helm CLI.",
   932            "default": "false"
   933          }
   934        },
   935        "preferredOrder": [
   936          "name",
   937          "chartPath",
   938          "valuesFiles",
   939          "values",
   940          "namespace",
   941          "version",
   942          "setValues",
   943          "setValueTemplates",
   944          "wait",
   945          "recreatePods",
   946          "skipBuildDependencies",
   947          "overrides",
   948          "packaged",
   949          "imageStrategy"
   950        ],
   951        "additionalProperties": false,
   952        "type": "object"
   953      },
   954      "JSONPatch": {
   955        "required": [
   956          "path"
   957        ],
   958        "properties": {
   959          "from": {
   960            "type": "string",
   961            "description": "source position in the yaml, used for `copy` or `move` operations.",
   962            "x-intellij-html-description": "source position in the yaml, used for <code>copy</code> or <code>move</code> operations."
   963          },
   964          "op": {
   965            "type": "string",
   966            "description": "operation carried by the patch: `add`, `remove`, `replace`, `move`, `copy` or `test`.",
   967            "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>.",
   968            "default": "replace"
   969          },
   970          "path": {
   971            "type": "string",
   972            "description": "position in the yaml where the operation takes place. For example, this targets the `dockerfile` of the first artifact built.",
   973            "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.",
   974            "examples": [
   975              "/build/artifacts/0/docker/dockerfile"
   976            ]
   977          },
   978          "value": {
   979            "description": "value to apply. Can be any portion of yaml.",
   980            "x-intellij-html-description": "value to apply. Can be any portion of yaml."
   981          }
   982        },
   983        "preferredOrder": [
   984          "op",
   985          "path",
   986          "from",
   987          "value"
   988        ],
   989        "additionalProperties": false,
   990        "type": "object",
   991        "description": "patch to be applied by a profile.",
   992        "x-intellij-html-description": "patch to be applied by a profile."
   993      },
   994      "JibGradleArtifact": {
   995        "properties": {
   996          "args": {
   997            "items": {
   998              "type": "string"
   999            },
  1000            "type": "array",
  1001            "description": "additional build flags passed to Gradle.",
  1002            "x-intellij-html-description": "additional build flags passed to Gradle.",
  1003            "default": "[]",
  1004            "examples": [
  1005              "[\"--no-build-cache\"]"
  1006            ]
  1007          },
  1008          "project": {
  1009            "type": "string",
  1010            "description": "selects which Gradle project to build.",
  1011            "x-intellij-html-description": "selects which Gradle project to build."
  1012          }
  1013        },
  1014        "preferredOrder": [
  1015          "project",
  1016          "args"
  1017        ],
  1018        "additionalProperties": false,
  1019        "type": "object",
  1020        "description": "*alpha* builds images using the [Jib plugin for Gradle](https://github.com/GoogleContainerTools/jib/tree/master/jib-gradle-plugin).",
  1021        "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>."
  1022      },
  1023      "JibMavenArtifact": {
  1024        "properties": {
  1025          "args": {
  1026            "items": {
  1027              "type": "string"
  1028            },
  1029            "type": "array",
  1030            "description": "additional build flags passed to Maven.",
  1031            "x-intellij-html-description": "additional build flags passed to Maven.",
  1032            "default": "[]",
  1033            "examples": [
  1034              "[\"-x\", \"-DskipTests\"]"
  1035            ]
  1036          },
  1037          "module": {
  1038            "type": "string",
  1039            "description": "selects which Maven module to build, for a multi module project.",
  1040            "x-intellij-html-description": "selects which Maven module to build, for a multi module project."
  1041          },
  1042          "profile": {
  1043            "type": "string",
  1044            "description": "selects which Maven profile to activate.",
  1045            "x-intellij-html-description": "selects which Maven profile to activate."
  1046          }
  1047        },
  1048        "preferredOrder": [
  1049          "module",
  1050          "profile",
  1051          "args"
  1052        ],
  1053        "additionalProperties": false,
  1054        "type": "object",
  1055        "description": "*alpha* builds images using the [Jib plugin for Maven](https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin).",
  1056        "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>."
  1057      },
  1058      "KanikoBuild": {
  1059        "properties": {
  1060          "buildContext": {
  1061            "$ref": "#/definitions/KanikoBuildContext",
  1062            "description": "defines where Kaniko gets the sources from.",
  1063            "x-intellij-html-description": "defines where Kaniko gets the sources from."
  1064          },
  1065          "cache": {
  1066            "$ref": "#/definitions/KanikoCache",
  1067            "description": "configures Kaniko caching. If a cache is specified, Kaniko will use a remote cache which will speed up builds.",
  1068            "x-intellij-html-description": "configures Kaniko caching. If a cache is specified, Kaniko will use a remote cache which will speed up builds."
  1069          },
  1070          "dockerConfig": {
  1071            "$ref": "#/definitions/DockerConfig",
  1072            "description": "describes how to mount the local Docker configuration into the Kaniko pod.",
  1073            "x-intellij-html-description": "describes how to mount the local Docker configuration into the Kaniko pod."
  1074          },
  1075          "flags": {
  1076            "items": {
  1077              "type": "string"
  1078            },
  1079            "type": "array",
  1080            "description": "additional flags to be passed to Kaniko command line. See [Kaniko Additional Flags](https://github.com/GoogleContainerTools/kaniko#additional-flags).",
  1081            "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>.",
  1082            "default": "[]"
  1083          },
  1084          "image": {
  1085            "type": "string",
  1086            "description": "Docker image used by the Kaniko pod. Defaults to the latest released version of `gcr.io/kaniko-project/executor`.",
  1087            "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>."
  1088          },
  1089          "namespace": {
  1090            "type": "string",
  1091            "description": "Kubernetes namespace. Defaults to current namespace in Kubernetes configuration.",
  1092            "x-intellij-html-description": "Kubernetes namespace. Defaults to current namespace in Kubernetes configuration."
  1093          },
  1094          "pullSecret": {
  1095            "type": "string",
  1096            "description": "path to the secret key file. See [Kaniko Documentation](https://github.com/GoogleContainerTools/kaniko#running-kaniko-in-a-kubernetes-cluster).",
  1097            "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>."
  1098          },
  1099          "pullSecretName": {
  1100            "type": "string",
  1101            "description": "name of the Kubernetes secret for pulling the files from the build context and pushing the final image.",
  1102            "x-intellij-html-description": "name of the Kubernetes secret for pulling the files from the build context and pushing the final image.",
  1103            "default": "kaniko-secret"
  1104          },
  1105          "timeout": {
  1106            "type": "string",
  1107            "description": "amount of time (in seconds) that this build is allowed to run. Defaults to 20 minutes (`20m`).",
  1108            "x-intellij-html-description": "amount of time (in seconds) that this build is allowed to run. Defaults to 20 minutes (<code>20m</code>)."
  1109          }
  1110        },
  1111        "preferredOrder": [
  1112          "buildContext",
  1113          "cache",
  1114          "flags",
  1115          "pullSecret",
  1116          "pullSecretName",
  1117          "namespace",
  1118          "timeout",
  1119          "image",
  1120          "dockerConfig"
  1121        ],
  1122        "additionalProperties": false,
  1123        "type": "object",
  1124        "description": "*beta* describes how to do an on-cluster build using [Kaniko](https://github.com/GoogleContainerTools/kaniko).",
  1125        "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>."
  1126      },
  1127      "KanikoBuildContext": {
  1128        "properties": {
  1129          "gcsBucket": {
  1130            "type": "string",
  1131            "description": "CGS bucket to which sources are uploaded by Skaffold. Kaniko will need access to that bucket to download the sources.",
  1132            "x-intellij-html-description": "CGS bucket to which sources are uploaded by Skaffold. Kaniko will need access to that bucket to download the sources."
  1133          },
  1134          "localDir": {
  1135            "$ref": "#/definitions/LocalDir",
  1136            "description": "configures how Kaniko mounts sources directly via an `emptyDir` volume.",
  1137            "x-intellij-html-description": "configures how Kaniko mounts sources directly via an <code>emptyDir</code> volume."
  1138          }
  1139        },
  1140        "preferredOrder": [
  1141          "gcsBucket",
  1142          "localDir"
  1143        ],
  1144        "additionalProperties": false,
  1145        "type": "object",
  1146        "description": "contains the different fields available to specify a Kaniko build context.",
  1147        "x-intellij-html-description": "contains the different fields available to specify a Kaniko build context."
  1148      },
  1149      "KanikoCache": {
  1150        "properties": {
  1151          "repo": {
  1152            "type": "string",
  1153            "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).",
  1154            "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>."
  1155          }
  1156        },
  1157        "preferredOrder": [
  1158          "repo"
  1159        ],
  1160        "additionalProperties": false,
  1161        "type": "object",
  1162        "description": "configures Kaniko caching. If a cache is specified, Kaniko will use a remote cache which will speed up builds.",
  1163        "x-intellij-html-description": "configures Kaniko caching. If a cache is specified, Kaniko will use a remote cache which will speed up builds."
  1164      },
  1165      "KubectlDeploy": {
  1166        "properties": {
  1167          "flags": {
  1168            "$ref": "#/definitions/KubectlFlags",
  1169            "description": "additional flags passed to `kubectl`.",
  1170            "x-intellij-html-description": "additional flags passed to <code>kubectl</code>."
  1171          },
  1172          "manifests": {
  1173            "items": {
  1174              "type": "string"
  1175            },
  1176            "type": "array",
  1177            "description": "the Kubernetes yaml or json manifests.",
  1178            "x-intellij-html-description": "the Kubernetes yaml or json manifests.",
  1179            "default": "[\"k8s/*.yaml\"]"
  1180          },
  1181          "remoteManifests": {
  1182            "items": {
  1183              "type": "string"
  1184            },
  1185            "type": "array",
  1186            "description": "Kubernetes manifests in remote clusters.",
  1187            "x-intellij-html-description": "Kubernetes manifests in remote clusters.",
  1188            "default": "[]"
  1189          }
  1190        },
  1191        "preferredOrder": [
  1192          "manifests",
  1193          "remoteManifests",
  1194          "flags"
  1195        ],
  1196        "additionalProperties": false,
  1197        "type": "object",
  1198        "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.",
  1199        "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."
  1200      },
  1201      "KubectlFlags": {
  1202        "properties": {
  1203          "apply": {
  1204            "items": {
  1205              "type": "string"
  1206            },
  1207            "type": "array",
  1208            "description": "additional flags passed on creations (`kubectl apply`).",
  1209            "x-intellij-html-description": "additional flags passed on creations (<code>kubectl apply</code>).",
  1210            "default": "[]"
  1211          },
  1212          "delete": {
  1213            "items": {
  1214              "type": "string"
  1215            },
  1216            "type": "array",
  1217            "description": "additional flags passed on deletions (`kubectl delete`).",
  1218            "x-intellij-html-description": "additional flags passed on deletions (<code>kubectl delete</code>).",
  1219            "default": "[]"
  1220          },
  1221          "global": {
  1222            "items": {
  1223              "type": "string"
  1224            },
  1225            "type": "array",
  1226            "description": "additional flags passed on every command.",
  1227            "x-intellij-html-description": "additional flags passed on every command.",
  1228            "default": "[]"
  1229          }
  1230        },
  1231        "preferredOrder": [
  1232          "global",
  1233          "apply",
  1234          "delete"
  1235        ],
  1236        "additionalProperties": false,
  1237        "type": "object",
  1238        "description": "additional flags passed on the command line to kubectl either on every command (Global), on creations (Apply) or deletions (Delete).",
  1239        "x-intellij-html-description": "additional flags passed on the command line to kubectl either on every command (Global), on creations (Apply) or deletions (Delete)."
  1240      },
  1241      "KustomizeDeploy": {
  1242        "properties": {
  1243          "flags": {
  1244            "$ref": "#/definitions/KubectlFlags",
  1245            "description": "additional flags passed to `kubectl`.",
  1246            "x-intellij-html-description": "additional flags passed to <code>kubectl</code>."
  1247          },
  1248          "path": {
  1249            "type": "string",
  1250            "description": "path to Kustomization files.",
  1251            "x-intellij-html-description": "path to Kustomization files.",
  1252            "default": "."
  1253          }
  1254        },
  1255        "preferredOrder": [
  1256          "path",
  1257          "flags"
  1258        ],
  1259        "additionalProperties": false,
  1260        "type": "object",
  1261        "description": "*beta* uses the `kustomize` CLI to \"patch\" a deployment for a target environment.",
  1262        "x-intellij-html-description": "<em>beta</em> uses the <code>kustomize</code> CLI to &quot;patch&quot; a deployment for a target environment."
  1263      },
  1264      "LocalBuild": {
  1265        "properties": {
  1266          "push": {
  1267            "type": "boolean",
  1268            "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.",
  1269            "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."
  1270          },
  1271          "useBuildkit": {
  1272            "type": "boolean",
  1273            "description": "use BuildKit to build Docker images. If unspecified, uses the Docker default.",
  1274            "x-intellij-html-description": "use BuildKit to build Docker images. If unspecified, uses the Docker default."
  1275          },
  1276          "useDockerCLI": {
  1277            "type": "boolean",
  1278            "description": "use `docker` command-line interface instead of Docker Engine APIs.",
  1279            "x-intellij-html-description": "use <code>docker</code> command-line interface instead of Docker Engine APIs.",
  1280            "default": "false"
  1281          }
  1282        },
  1283        "preferredOrder": [
  1284          "push",
  1285          "useDockerCLI",
  1286          "useBuildkit"
  1287        ],
  1288        "additionalProperties": false,
  1289        "type": "object",
  1290        "description": "*beta* describes how to do a build on the local docker daemon and optionally push to a repository.",
  1291        "x-intellij-html-description": "<em>beta</em> describes how to do a build on the local docker daemon and optionally push to a repository."
  1292      },
  1293      "LocalDir": {
  1294        "type": "object",
  1295        "description": "configures how Kaniko mounts sources directly via an `emptyDir` volume.",
  1296        "x-intellij-html-description": "configures how Kaniko mounts sources directly via an <code>emptyDir</code> volume."
  1297      },
  1298      "Profile": {
  1299        "required": [
  1300          "name"
  1301        ],
  1302        "properties": {
  1303          "activation": {
  1304            "items": {
  1305              "$ref": "#/definitions/Activation"
  1306            },
  1307            "type": "array",
  1308            "description": "criteria by which a profile can be auto-activated.",
  1309            "x-intellij-html-description": "criteria by which a profile can be auto-activated."
  1310          },
  1311          "build": {
  1312            "$ref": "#/definitions/BuildConfig",
  1313            "description": "replaces the main `build` configuration.",
  1314            "x-intellij-html-description": "replaces the main <code>build</code> configuration."
  1315          },
  1316          "deploy": {
  1317            "$ref": "#/definitions/DeployConfig",
  1318            "description": "replaces the main `deploy` configuration.",
  1319            "x-intellij-html-description": "replaces the main <code>deploy</code> configuration."
  1320          },
  1321          "name": {
  1322            "type": "string",
  1323            "description": "a unique profile name.",
  1324            "x-intellij-html-description": "a unique profile name.",
  1325            "examples": [
  1326              "profile-prod"
  1327            ]
  1328          },
  1329          "patches": {
  1330            "items": {
  1331              "$ref": "#/definitions/JSONPatch"
  1332            },
  1333            "type": "array",
  1334            "description": "a list of patches applied to the configuration. Patches use the JSON patch notation.",
  1335            "x-intellij-html-description": "a list of patches applied to the configuration. Patches use the JSON patch notation."
  1336          },
  1337          "test": {
  1338            "items": {
  1339              "$ref": "#/definitions/TestCase"
  1340            },
  1341            "type": "array",
  1342            "description": "replaces the main `test` configuration.",
  1343            "x-intellij-html-description": "replaces the main <code>test</code> configuration."
  1344          }
  1345        },
  1346        "preferredOrder": [
  1347          "name",
  1348          "build",
  1349          "test",
  1350          "deploy",
  1351          "patches",
  1352          "activation"
  1353        ],
  1354        "additionalProperties": false,
  1355        "type": "object",
  1356        "description": "*beta* profiles are used to override any `build`, `test` or `deploy` configuration.",
  1357        "x-intellij-html-description": "<em>beta</em> profiles are used to override any <code>build</code>, <code>test</code> or <code>deploy</code> configuration."
  1358      },
  1359      "ShaTagger": {
  1360        "type": "object",
  1361        "description": "*beta* tags images with their sha256 digest.",
  1362        "x-intellij-html-description": "<em>beta</em> tags images with their sha256 digest."
  1363      },
  1364      "SkaffoldConfig": {
  1365        "properties": {
  1366          "apiVersion": {
  1367            "type": "string",
  1368            "description": "version of the configuration.",
  1369            "x-intellij-html-description": "version of the configuration."
  1370          },
  1371          "build": {
  1372            "$ref": "#/definitions/BuildConfig",
  1373            "description": "describes how images are built.",
  1374            "x-intellij-html-description": "describes how images are built."
  1375          },
  1376          "deploy": {
  1377            "$ref": "#/definitions/DeployConfig",
  1378            "description": "describes how images are deployed.",
  1379            "x-intellij-html-description": "describes how images are deployed."
  1380          },
  1381          "kind": {
  1382            "type": "string",
  1383            "description": "always `Config`.",
  1384            "x-intellij-html-description": "always <code>Config</code>.",
  1385            "default": "Config"
  1386          },
  1387          "profiles": {
  1388            "items": {
  1389              "$ref": "#/definitions/Profile"
  1390            },
  1391            "type": "array",
  1392            "description": "*beta* can override be used to `build`, `test` or `deploy` configuration.",
  1393            "x-intellij-html-description": "<em>beta</em> can override be used to <code>build</code>, <code>test</code> or <code>deploy</code> configuration."
  1394          },
  1395          "test": {
  1396            "items": {
  1397              "$ref": "#/definitions/TestCase"
  1398            },
  1399            "type": "array",
  1400            "description": "describes how images are tested.",
  1401            "x-intellij-html-description": "describes how images are tested."
  1402          }
  1403        },
  1404        "preferredOrder": [
  1405          "apiVersion",
  1406          "kind",
  1407          "build",
  1408          "test",
  1409          "deploy",
  1410          "profiles"
  1411        ],
  1412        "additionalProperties": false,
  1413        "type": "object"
  1414      },
  1415      "TagPolicy": {
  1416        "properties": {
  1417          "dateTime": {
  1418            "$ref": "#/definitions/DateTimeTagger",
  1419            "description": "*beta* tags images with the build timestamp.",
  1420            "x-intellij-html-description": "<em>beta</em> tags images with the build timestamp."
  1421          },
  1422          "envTemplate": {
  1423            "$ref": "#/definitions/EnvTemplateTagger",
  1424            "description": "*beta* tags images with a configurable template string.",
  1425            "x-intellij-html-description": "<em>beta</em> tags images with a configurable template string."
  1426          },
  1427          "gitCommit": {
  1428            "$ref": "#/definitions/GitTagger",
  1429            "description": "*beta* tags images with the git tag or commit of the artifact's workspace.",
  1430            "x-intellij-html-description": "<em>beta</em> tags images with the git tag or commit of the artifact's workspace."
  1431          },
  1432          "sha256": {
  1433            "$ref": "#/definitions/ShaTagger",
  1434            "description": "*beta* tags images with their sha256 digest.",
  1435            "x-intellij-html-description": "<em>beta</em> tags images with their sha256 digest."
  1436          }
  1437        },
  1438        "preferredOrder": [
  1439          "gitCommit",
  1440          "sha256",
  1441          "envTemplate",
  1442          "dateTime"
  1443        ],
  1444        "additionalProperties": false,
  1445        "type": "object",
  1446        "description": "contains all the configuration for the tagging step.",
  1447        "x-intellij-html-description": "contains all the configuration for the tagging step."
  1448      },
  1449      "TestCase": {
  1450        "required": [
  1451          "image"
  1452        ],
  1453        "properties": {
  1454          "image": {
  1455            "type": "string",
  1456            "description": "artifact on which to run those tests.",
  1457            "x-intellij-html-description": "artifact on which to run those tests.",
  1458            "examples": [
  1459              "gcr.io/k8s-skaffold/example"
  1460            ]
  1461          },
  1462          "structureTests": {
  1463            "items": {
  1464              "type": "string"
  1465            },
  1466            "type": "array",
  1467            "description": "the [Container Structure Tests](https://github.com/GoogleContainerTools/container-structure-test) to run on that artifact.",
  1468            "x-intellij-html-description": "the <a href=\"https://github.com/GoogleContainerTools/container-structure-test\">Container Structure Tests</a> to run on that artifact.",
  1469            "default": "[]",
  1470            "examples": [
  1471              "[\"./test/*\"]"
  1472            ]
  1473          }
  1474        },
  1475        "preferredOrder": [
  1476          "image",
  1477          "structureTests"
  1478        ],
  1479        "additionalProperties": false,
  1480        "type": "object",
  1481        "description": "a list of structure tests to run on images that Skaffold builds.",
  1482        "x-intellij-html-description": "a list of structure tests to run on images that Skaffold builds."
  1483      }
  1484    }
  1485  }