github.com/GoogleContainerTools/skaffold/v2@v2.13.2/docs-v2/content/en/schemas/v1alpha2.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 "Artifact": { 11 "type": "object", 12 "anyOf": [ 13 { 14 "properties": { 15 "imageName": { 16 "type": "string" 17 }, 18 "workspace": { 19 "type": "string" 20 } 21 }, 22 "preferredOrder": [ 23 "imageName", 24 "workspace" 25 ], 26 "additionalProperties": false 27 }, 28 { 29 "properties": { 30 "docker": { 31 "$ref": "#/definitions/DockerArtifact" 32 }, 33 "imageName": { 34 "type": "string" 35 }, 36 "workspace": { 37 "type": "string" 38 } 39 }, 40 "preferredOrder": [ 41 "imageName", 42 "workspace", 43 "docker" 44 ], 45 "additionalProperties": false 46 }, 47 { 48 "properties": { 49 "bazel": { 50 "$ref": "#/definitions/BazelArtifact" 51 }, 52 "imageName": { 53 "type": "string" 54 }, 55 "workspace": { 56 "type": "string" 57 } 58 }, 59 "preferredOrder": [ 60 "imageName", 61 "workspace", 62 "bazel" 63 ], 64 "additionalProperties": false 65 } 66 ], 67 "description": "represents items that need to be built, along with the context in which they should be built.", 68 "x-intellij-html-description": "represents items that need to be built, along with the context in which they should be built." 69 }, 70 "BazelArtifact": { 71 "properties": { 72 "target": { 73 "type": "string" 74 } 75 }, 76 "preferredOrder": [ 77 "target" 78 ], 79 "additionalProperties": false, 80 "type": "object" 81 }, 82 "BuildConfig": { 83 "type": "object", 84 "anyOf": [ 85 { 86 "properties": { 87 "artifacts": { 88 "items": { 89 "$ref": "#/definitions/Artifact" 90 }, 91 "type": "array" 92 }, 93 "tagPolicy": { 94 "$ref": "#/definitions/TagPolicy" 95 } 96 }, 97 "preferredOrder": [ 98 "artifacts", 99 "tagPolicy" 100 ], 101 "additionalProperties": false 102 }, 103 { 104 "properties": { 105 "artifacts": { 106 "items": { 107 "$ref": "#/definitions/Artifact" 108 }, 109 "type": "array" 110 }, 111 "local": { 112 "$ref": "#/definitions/LocalBuild" 113 }, 114 "tagPolicy": { 115 "$ref": "#/definitions/TagPolicy" 116 } 117 }, 118 "preferredOrder": [ 119 "artifacts", 120 "tagPolicy", 121 "local" 122 ], 123 "additionalProperties": false 124 }, 125 { 126 "properties": { 127 "artifacts": { 128 "items": { 129 "$ref": "#/definitions/Artifact" 130 }, 131 "type": "array" 132 }, 133 "googleCloudBuild": { 134 "$ref": "#/definitions/GoogleCloudBuild" 135 }, 136 "tagPolicy": { 137 "$ref": "#/definitions/TagPolicy" 138 } 139 }, 140 "preferredOrder": [ 141 "artifacts", 142 "tagPolicy", 143 "googleCloudBuild" 144 ], 145 "additionalProperties": false 146 }, 147 { 148 "properties": { 149 "artifacts": { 150 "items": { 151 "$ref": "#/definitions/Artifact" 152 }, 153 "type": "array" 154 }, 155 "kaniko": { 156 "$ref": "#/definitions/KanikoBuild" 157 }, 158 "tagPolicy": { 159 "$ref": "#/definitions/TagPolicy" 160 } 161 }, 162 "preferredOrder": [ 163 "artifacts", 164 "tagPolicy", 165 "kaniko" 166 ], 167 "additionalProperties": false 168 } 169 ], 170 "description": "contains all the configuration for the build steps", 171 "x-intellij-html-description": "contains all the configuration for the build steps" 172 }, 173 "DateTimeTagger": { 174 "properties": { 175 "format": { 176 "type": "string" 177 }, 178 "timezone": { 179 "type": "string" 180 } 181 }, 182 "preferredOrder": [ 183 "format", 184 "timezone" 185 ], 186 "additionalProperties": false, 187 "type": "object", 188 "description": "contains the configuration for the DateTime tagger.", 189 "x-intellij-html-description": "contains the configuration for the DateTime tagger." 190 }, 191 "DeployConfig": { 192 "type": "object", 193 "anyOf": [ 194 { 195 "additionalProperties": false 196 }, 197 { 198 "properties": { 199 "helm": { 200 "$ref": "#/definitions/HelmDeploy" 201 } 202 }, 203 "preferredOrder": [ 204 "helm" 205 ], 206 "additionalProperties": false 207 }, 208 { 209 "properties": { 210 "kubectl": { 211 "$ref": "#/definitions/KubectlDeploy" 212 } 213 }, 214 "preferredOrder": [ 215 "kubectl" 216 ], 217 "additionalProperties": false 218 }, 219 { 220 "properties": { 221 "kustomize": { 222 "$ref": "#/definitions/KustomizeDeploy" 223 } 224 }, 225 "preferredOrder": [ 226 "kustomize" 227 ], 228 "additionalProperties": false 229 } 230 ], 231 "description": "contains all the configuration needed by the deploy steps", 232 "x-intellij-html-description": "contains all the configuration needed by the deploy steps" 233 }, 234 "DockerArtifact": { 235 "properties": { 236 "buildArgs": { 237 "additionalProperties": { 238 "type": "string" 239 }, 240 "type": "object", 241 "default": "{}" 242 }, 243 "cacheFrom": { 244 "items": { 245 "type": "string" 246 }, 247 "type": "array", 248 "default": "[]" 249 }, 250 "dockerfilePath": { 251 "type": "string" 252 }, 253 "target": { 254 "type": "string" 255 } 256 }, 257 "preferredOrder": [ 258 "dockerfilePath", 259 "buildArgs", 260 "cacheFrom", 261 "target" 262 ], 263 "additionalProperties": false, 264 "type": "object" 265 }, 266 "EnvTemplateTagger": { 267 "properties": { 268 "template": { 269 "type": "string" 270 } 271 }, 272 "preferredOrder": [ 273 "template" 274 ], 275 "additionalProperties": false, 276 "type": "object", 277 "description": "contains the configuration for the envTemplate tagger.", 278 "x-intellij-html-description": "contains the configuration for the envTemplate tagger." 279 }, 280 "GitTagger": { 281 "type": "object", 282 "description": "contains the configuration for the git tagger.", 283 "x-intellij-html-description": "contains the configuration for the git tagger." 284 }, 285 "GoogleCloudBuild": { 286 "properties": { 287 "diskSizeGb": { 288 "type": "integer" 289 }, 290 "dockerImage": { 291 "type": "string" 292 }, 293 "machineType": { 294 "type": "string" 295 }, 296 "projectId": { 297 "type": "string" 298 }, 299 "timeout": { 300 "type": "string" 301 } 302 }, 303 "preferredOrder": [ 304 "projectId", 305 "diskSizeGb", 306 "machineType", 307 "timeout", 308 "dockerImage" 309 ], 310 "additionalProperties": false, 311 "type": "object", 312 "description": "contains the fields needed to do a remote build on Google Cloud Build.", 313 "x-intellij-html-description": "contains the fields needed to do a remote build on Google Cloud Build." 314 }, 315 "HelmConventionConfig": { 316 "type": "object", 317 "description": "represents image config in the syntax of image.repository and image.tag", 318 "x-intellij-html-description": "represents image config in the syntax of image.repository and image.tag" 319 }, 320 "HelmDeploy": { 321 "properties": { 322 "releases": { 323 "items": { 324 "$ref": "#/definitions/HelmRelease" 325 }, 326 "type": "array" 327 } 328 }, 329 "preferredOrder": [ 330 "releases" 331 ], 332 "additionalProperties": false, 333 "type": "object", 334 "description": "contains the configuration needed for deploying with helm", 335 "x-intellij-html-description": "contains the configuration needed for deploying with helm" 336 }, 337 "HelmFQNConfig": { 338 "properties": { 339 "property": { 340 "type": "string" 341 } 342 }, 343 "preferredOrder": [ 344 "property" 345 ], 346 "additionalProperties": false, 347 "type": "object", 348 "description": "represents image config to use the FullyQualifiedImageName as param to set", 349 "x-intellij-html-description": "represents image config to use the FullyQualifiedImageName as param to set" 350 }, 351 "HelmImageStrategy": { 352 "type": "object", 353 "anyOf": [ 354 { 355 "additionalProperties": false 356 }, 357 { 358 "properties": { 359 "fqn": { 360 "$ref": "#/definitions/HelmFQNConfig" 361 } 362 }, 363 "preferredOrder": [ 364 "fqn" 365 ], 366 "additionalProperties": false 367 }, 368 { 369 "properties": { 370 "helm": { 371 "$ref": "#/definitions/HelmConventionConfig" 372 } 373 }, 374 "preferredOrder": [ 375 "helm" 376 ], 377 "additionalProperties": false 378 } 379 ] 380 }, 381 "HelmPackaged": { 382 "properties": { 383 "appVersion": { 384 "type": "string", 385 "description": "set the appVersion on the chart to this version", 386 "x-intellij-html-description": "set the appVersion on the chart to this version" 387 }, 388 "version": { 389 "type": "string", 390 "description": "sets the version on the chart to this semver version.", 391 "x-intellij-html-description": "sets the version on the chart to this semver version." 392 } 393 }, 394 "preferredOrder": [ 395 "version", 396 "appVersion" 397 ], 398 "additionalProperties": false, 399 "type": "object", 400 "description": "represents parameters for packaging helm chart.", 401 "x-intellij-html-description": "represents parameters for packaging helm chart." 402 }, 403 "HelmRelease": { 404 "properties": { 405 "chartPath": { 406 "type": "string" 407 }, 408 "imageStrategy": { 409 "$ref": "#/definitions/HelmImageStrategy" 410 }, 411 "name": { 412 "type": "string" 413 }, 414 "namespace": { 415 "type": "string" 416 }, 417 "overrides": {}, 418 "packaged": { 419 "$ref": "#/definitions/HelmPackaged" 420 }, 421 "recreatePods": { 422 "type": "boolean", 423 "default": "false" 424 }, 425 "setValueTemplates": { 426 "additionalProperties": { 427 "type": "string" 428 }, 429 "type": "object", 430 "default": "{}" 431 }, 432 "setValues": { 433 "additionalProperties": { 434 "type": "string" 435 }, 436 "type": "object", 437 "default": "{}" 438 }, 439 "values": { 440 "additionalProperties": { 441 "type": "string" 442 }, 443 "type": "object", 444 "default": "{}" 445 }, 446 "valuesFilePath": { 447 "type": "string" 448 }, 449 "version": { 450 "type": "string" 451 }, 452 "wait": { 453 "type": "boolean", 454 "default": "false" 455 } 456 }, 457 "preferredOrder": [ 458 "name", 459 "chartPath", 460 "valuesFilePath", 461 "values", 462 "namespace", 463 "version", 464 "setValues", 465 "setValueTemplates", 466 "wait", 467 "recreatePods", 468 "overrides", 469 "packaged", 470 "imageStrategy" 471 ], 472 "additionalProperties": false, 473 "type": "object" 474 }, 475 "KanikoBuild": { 476 "properties": { 477 "gcsBucket": { 478 "type": "string" 479 }, 480 "namespace": { 481 "type": "string" 482 }, 483 "pullSecret": { 484 "type": "string" 485 }, 486 "pullSecretName": { 487 "type": "string" 488 }, 489 "timeout": { 490 "type": "string" 491 } 492 }, 493 "preferredOrder": [ 494 "gcsBucket", 495 "pullSecret", 496 "pullSecretName", 497 "namespace", 498 "timeout" 499 ], 500 "additionalProperties": false, 501 "type": "object", 502 "description": "contains the fields needed to do a on-cluster build using the kaniko image", 503 "x-intellij-html-description": "contains the fields needed to do a on-cluster build using the kaniko image" 504 }, 505 "KubectlDeploy": { 506 "properties": { 507 "flags": { 508 "$ref": "#/definitions/KubectlFlags" 509 }, 510 "manifests": { 511 "items": { 512 "type": "string" 513 }, 514 "type": "array", 515 "default": "[]" 516 }, 517 "remoteManifests": { 518 "items": { 519 "type": "string" 520 }, 521 "type": "array", 522 "default": "[]" 523 } 524 }, 525 "preferredOrder": [ 526 "manifests", 527 "remoteManifests", 528 "flags" 529 ], 530 "additionalProperties": false, 531 "type": "object", 532 "description": "contains the configuration needed for deploying with `kubectl apply`", 533 "x-intellij-html-description": "contains the configuration needed for deploying with <code>kubectl apply</code>" 534 }, 535 "KubectlFlags": { 536 "properties": { 537 "apply": { 538 "items": { 539 "type": "string" 540 }, 541 "type": "array", 542 "default": "[]" 543 }, 544 "delete": { 545 "items": { 546 "type": "string" 547 }, 548 "type": "array", 549 "default": "[]" 550 }, 551 "global": { 552 "items": { 553 "type": "string" 554 }, 555 "type": "array", 556 "default": "[]" 557 } 558 }, 559 "preferredOrder": [ 560 "global", 561 "apply", 562 "delete" 563 ], 564 "additionalProperties": false, 565 "type": "object", 566 "description": "describes additional options flags that are passed on the command line to kubectl either on every command (Global), on creations (Apply) or deletions (Delete).", 567 "x-intellij-html-description": "describes additional options flags that are passed on the command line to kubectl either on every command (Global), on creations (Apply) or deletions (Delete)." 568 }, 569 "KustomizeDeploy": { 570 "properties": { 571 "flags": { 572 "$ref": "#/definitions/KubectlFlags" 573 }, 574 "kustomizePath": { 575 "type": "string" 576 } 577 }, 578 "preferredOrder": [ 579 "kustomizePath", 580 "flags" 581 ], 582 "additionalProperties": false, 583 "type": "object" 584 }, 585 "LocalBuild": { 586 "properties": { 587 "skipPush": { 588 "type": "boolean" 589 }, 590 "useBuildkit": { 591 "type": "boolean", 592 "default": "false" 593 }, 594 "useDockerCLI": { 595 "type": "boolean", 596 "default": "false" 597 } 598 }, 599 "preferredOrder": [ 600 "skipPush", 601 "useDockerCLI", 602 "useBuildkit" 603 ], 604 "additionalProperties": false, 605 "type": "object", 606 "description": "contains the fields needed to do a build on the local docker daemon and optionally push to a repository.", 607 "x-intellij-html-description": "contains the fields needed to do a build on the local docker daemon and optionally push to a repository." 608 }, 609 "Profile": { 610 "properties": { 611 "build": { 612 "$ref": "#/definitions/BuildConfig" 613 }, 614 "deploy": { 615 "$ref": "#/definitions/DeployConfig" 616 }, 617 "name": { 618 "type": "string" 619 } 620 }, 621 "preferredOrder": [ 622 "name", 623 "build", 624 "deploy" 625 ], 626 "additionalProperties": false, 627 "type": "object", 628 "description": "additional configuration that overrides default configuration when it is activated.", 629 "x-intellij-html-description": "additional configuration that overrides default configuration when it is activated." 630 }, 631 "ShaTagger": { 632 "type": "object", 633 "description": "contains the configuration for the SHA tagger.", 634 "x-intellij-html-description": "contains the configuration for the SHA tagger." 635 }, 636 "SkaffoldConfig": { 637 "properties": { 638 "apiVersion": { 639 "type": "string" 640 }, 641 "build": { 642 "$ref": "#/definitions/BuildConfig" 643 }, 644 "deploy": { 645 "$ref": "#/definitions/DeployConfig" 646 }, 647 "kind": { 648 "type": "string" 649 }, 650 "profiles": { 651 "items": { 652 "$ref": "#/definitions/Profile" 653 }, 654 "type": "array" 655 } 656 }, 657 "preferredOrder": [ 658 "apiVersion", 659 "kind", 660 "build", 661 "deploy", 662 "profiles" 663 ], 664 "additionalProperties": false, 665 "type": "object" 666 }, 667 "TagPolicy": { 668 "properties": { 669 "dateTime": { 670 "$ref": "#/definitions/DateTimeTagger" 671 }, 672 "envTemplate": { 673 "$ref": "#/definitions/EnvTemplateTagger" 674 }, 675 "gitCommit": { 676 "$ref": "#/definitions/GitTagger" 677 }, 678 "sha256": { 679 "$ref": "#/definitions/ShaTagger" 680 } 681 }, 682 "preferredOrder": [ 683 "gitCommit", 684 "sha256", 685 "envTemplate", 686 "dateTime" 687 ], 688 "additionalProperties": false, 689 "type": "object", 690 "description": "contains all the configuration for the tagging step", 691 "x-intellij-html-description": "contains all the configuration for the tagging step" 692 } 693 } 694 }