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 "patch" 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 "patch" 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 }