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