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