github.com/GoogleContainerTools/skaffold/v2@v2.13.2/docs-v2/content/en/schemas/v1beta1.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              "context": {
    16                "type": "string"
    17              },
    18              "image": {
    19                "type": "string"
    20              },
    21              "sync": {
    22                "additionalProperties": {
    23                  "type": "string"
    24                },
    25                "type": "object",
    26                "default": "{}"
    27              }
    28            },
    29            "preferredOrder": [
    30              "image",
    31              "context",
    32              "sync"
    33            ],
    34            "additionalProperties": false
    35          },
    36          {
    37            "properties": {
    38              "context": {
    39                "type": "string"
    40              },
    41              "docker": {
    42                "$ref": "#/definitions/DockerArtifact"
    43              },
    44              "image": {
    45                "type": "string"
    46              },
    47              "sync": {
    48                "additionalProperties": {
    49                  "type": "string"
    50                },
    51                "type": "object",
    52                "default": "{}"
    53              }
    54            },
    55            "preferredOrder": [
    56              "image",
    57              "context",
    58              "sync",
    59              "docker"
    60            ],
    61            "additionalProperties": false
    62          },
    63          {
    64            "properties": {
    65              "bazel": {
    66                "$ref": "#/definitions/BazelArtifact"
    67              },
    68              "context": {
    69                "type": "string"
    70              },
    71              "image": {
    72                "type": "string"
    73              },
    74              "sync": {
    75                "additionalProperties": {
    76                  "type": "string"
    77                },
    78                "type": "object",
    79                "default": "{}"
    80              }
    81            },
    82            "preferredOrder": [
    83              "image",
    84              "context",
    85              "sync",
    86              "bazel"
    87            ],
    88            "additionalProperties": false
    89          },
    90          {
    91            "properties": {
    92              "context": {
    93                "type": "string"
    94              },
    95              "image": {
    96                "type": "string"
    97              },
    98              "jibMaven": {
    99                "$ref": "#/definitions/JibMavenArtifact"
   100              },
   101              "sync": {
   102                "additionalProperties": {
   103                  "type": "string"
   104                },
   105                "type": "object",
   106                "default": "{}"
   107              }
   108            },
   109            "preferredOrder": [
   110              "image",
   111              "context",
   112              "sync",
   113              "jibMaven"
   114            ],
   115            "additionalProperties": false
   116          },
   117          {
   118            "properties": {
   119              "context": {
   120                "type": "string"
   121              },
   122              "image": {
   123                "type": "string"
   124              },
   125              "jibGradle": {
   126                "$ref": "#/definitions/JibGradleArtifact"
   127              },
   128              "sync": {
   129                "additionalProperties": {
   130                  "type": "string"
   131                },
   132                "type": "object",
   133                "default": "{}"
   134              }
   135            },
   136            "preferredOrder": [
   137              "image",
   138              "context",
   139              "sync",
   140              "jibGradle"
   141            ],
   142            "additionalProperties": false
   143          }
   144        ],
   145        "description": "represents items that need to be built, along with the context in which they should be built.",
   146        "x-intellij-html-description": "represents items that need to be built, along with the context in which they should be built."
   147      },
   148      "BazelArtifact": {
   149        "properties": {
   150          "args": {
   151            "items": {
   152              "type": "string"
   153            },
   154            "type": "array",
   155            "default": "[]"
   156          },
   157          "target": {
   158            "type": "string"
   159          }
   160        },
   161        "preferredOrder": [
   162          "target",
   163          "args"
   164        ],
   165        "additionalProperties": false,
   166        "type": "object",
   167        "description": "describes an artifact built with Bazel.",
   168        "x-intellij-html-description": "describes an artifact built with Bazel."
   169      },
   170      "BuildConfig": {
   171        "type": "object",
   172        "anyOf": [
   173          {
   174            "properties": {
   175              "artifacts": {
   176                "items": {
   177                  "$ref": "#/definitions/Artifact"
   178                },
   179                "type": "array"
   180              },
   181              "tagPolicy": {
   182                "$ref": "#/definitions/TagPolicy"
   183              }
   184            },
   185            "preferredOrder": [
   186              "artifacts",
   187              "tagPolicy"
   188            ],
   189            "additionalProperties": false
   190          },
   191          {
   192            "properties": {
   193              "artifacts": {
   194                "items": {
   195                  "$ref": "#/definitions/Artifact"
   196                },
   197                "type": "array"
   198              },
   199              "local": {
   200                "$ref": "#/definitions/LocalBuild"
   201              },
   202              "tagPolicy": {
   203                "$ref": "#/definitions/TagPolicy"
   204              }
   205            },
   206            "preferredOrder": [
   207              "artifacts",
   208              "tagPolicy",
   209              "local"
   210            ],
   211            "additionalProperties": false
   212          },
   213          {
   214            "properties": {
   215              "artifacts": {
   216                "items": {
   217                  "$ref": "#/definitions/Artifact"
   218                },
   219                "type": "array"
   220              },
   221              "googleCloudBuild": {
   222                "$ref": "#/definitions/GoogleCloudBuild"
   223              },
   224              "tagPolicy": {
   225                "$ref": "#/definitions/TagPolicy"
   226              }
   227            },
   228            "preferredOrder": [
   229              "artifacts",
   230              "tagPolicy",
   231              "googleCloudBuild"
   232            ],
   233            "additionalProperties": false
   234          },
   235          {
   236            "properties": {
   237              "artifacts": {
   238                "items": {
   239                  "$ref": "#/definitions/Artifact"
   240                },
   241                "type": "array"
   242              },
   243              "kaniko": {
   244                "$ref": "#/definitions/KanikoBuild"
   245              },
   246              "tagPolicy": {
   247                "$ref": "#/definitions/TagPolicy"
   248              }
   249            },
   250            "preferredOrder": [
   251              "artifacts",
   252              "tagPolicy",
   253              "kaniko"
   254            ],
   255            "additionalProperties": false
   256          }
   257        ],
   258        "description": "contains all the configuration for the build steps",
   259        "x-intellij-html-description": "contains all the configuration for the build steps"
   260      },
   261      "DateTimeTagger": {
   262        "properties": {
   263          "format": {
   264            "type": "string"
   265          },
   266          "timezone": {
   267            "type": "string"
   268          }
   269        },
   270        "preferredOrder": [
   271          "format",
   272          "timezone"
   273        ],
   274        "additionalProperties": false,
   275        "type": "object",
   276        "description": "contains the configuration for the DateTime tagger.",
   277        "x-intellij-html-description": "contains the configuration for the DateTime tagger."
   278      },
   279      "DeployConfig": {
   280        "type": "object",
   281        "anyOf": [
   282          {
   283            "additionalProperties": false
   284          },
   285          {
   286            "properties": {
   287              "helm": {
   288                "$ref": "#/definitions/HelmDeploy"
   289              }
   290            },
   291            "preferredOrder": [
   292              "helm"
   293            ],
   294            "additionalProperties": false
   295          },
   296          {
   297            "properties": {
   298              "kubectl": {
   299                "$ref": "#/definitions/KubectlDeploy"
   300              }
   301            },
   302            "preferredOrder": [
   303              "kubectl"
   304            ],
   305            "additionalProperties": false
   306          },
   307          {
   308            "properties": {
   309              "kustomize": {
   310                "$ref": "#/definitions/KustomizeDeploy"
   311              }
   312            },
   313            "preferredOrder": [
   314              "kustomize"
   315            ],
   316            "additionalProperties": false
   317          }
   318        ],
   319        "description": "contains all the configuration needed by the deploy steps",
   320        "x-intellij-html-description": "contains all the configuration needed by the deploy steps"
   321      },
   322      "DockerArtifact": {
   323        "properties": {
   324          "buildArgs": {
   325            "additionalProperties": {
   326              "type": "string"
   327            },
   328            "type": "object",
   329            "default": "{}"
   330          },
   331          "cacheFrom": {
   332            "items": {
   333              "type": "string"
   334            },
   335            "type": "array",
   336            "default": "[]"
   337          },
   338          "dockerfile": {
   339            "type": "string"
   340          },
   341          "target": {
   342            "type": "string"
   343          }
   344        },
   345        "preferredOrder": [
   346          "dockerfile",
   347          "buildArgs",
   348          "cacheFrom",
   349          "target"
   350        ],
   351        "additionalProperties": false,
   352        "type": "object",
   353        "description": "describes an artifact built from a Dockerfile, usually using `docker build`.",
   354        "x-intellij-html-description": "describes an artifact built from a Dockerfile, usually using <code>docker build</code>."
   355      },
   356      "EnvTemplateTagger": {
   357        "properties": {
   358          "template": {
   359            "type": "string"
   360          }
   361        },
   362        "preferredOrder": [
   363          "template"
   364        ],
   365        "additionalProperties": false,
   366        "type": "object",
   367        "description": "contains the configuration for the envTemplate tagger.",
   368        "x-intellij-html-description": "contains the configuration for the envTemplate tagger."
   369      },
   370      "GitTagger": {
   371        "type": "object",
   372        "description": "contains the configuration for the git tagger.",
   373        "x-intellij-html-description": "contains the configuration for the git tagger."
   374      },
   375      "GoogleCloudBuild": {
   376        "properties": {
   377          "diskSizeGb": {
   378            "type": "integer"
   379          },
   380          "dockerImage": {
   381            "type": "string"
   382          },
   383          "machineType": {
   384            "type": "string"
   385          },
   386          "projectId": {
   387            "type": "string"
   388          },
   389          "timeout": {
   390            "type": "string"
   391          }
   392        },
   393        "preferredOrder": [
   394          "projectId",
   395          "diskSizeGb",
   396          "machineType",
   397          "timeout",
   398          "dockerImage"
   399        ],
   400        "additionalProperties": false,
   401        "type": "object",
   402        "description": "contains the fields needed to do a remote build on Google Cloud Build.",
   403        "x-intellij-html-description": "contains the fields needed to do a remote build on Google Cloud Build."
   404      },
   405      "HelmConventionConfig": {
   406        "type": "object",
   407        "description": "represents image config in the syntax of image.repository and image.tag",
   408        "x-intellij-html-description": "represents image config in the syntax of image.repository and image.tag"
   409      },
   410      "HelmDeploy": {
   411        "properties": {
   412          "releases": {
   413            "items": {
   414              "$ref": "#/definitions/HelmRelease"
   415            },
   416            "type": "array"
   417          }
   418        },
   419        "preferredOrder": [
   420          "releases"
   421        ],
   422        "additionalProperties": false,
   423        "type": "object",
   424        "description": "contains the configuration needed for deploying with helm",
   425        "x-intellij-html-description": "contains the configuration needed for deploying with helm"
   426      },
   427      "HelmFQNConfig": {
   428        "properties": {
   429          "property": {
   430            "type": "string"
   431          }
   432        },
   433        "preferredOrder": [
   434          "property"
   435        ],
   436        "additionalProperties": false,
   437        "type": "object",
   438        "description": "represents image config to use the FullyQualifiedImageName as param to set",
   439        "x-intellij-html-description": "represents image config to use the FullyQualifiedImageName as param to set"
   440      },
   441      "HelmImageStrategy": {
   442        "type": "object",
   443        "anyOf": [
   444          {
   445            "additionalProperties": false
   446          },
   447          {
   448            "properties": {
   449              "fqn": {
   450                "$ref": "#/definitions/HelmFQNConfig"
   451              }
   452            },
   453            "preferredOrder": [
   454              "fqn"
   455            ],
   456            "additionalProperties": false
   457          },
   458          {
   459            "properties": {
   460              "helm": {
   461                "$ref": "#/definitions/HelmConventionConfig"
   462              }
   463            },
   464            "preferredOrder": [
   465              "helm"
   466            ],
   467            "additionalProperties": false
   468          }
   469        ]
   470      },
   471      "HelmPackaged": {
   472        "properties": {
   473          "appVersion": {
   474            "type": "string",
   475            "description": "set the appVersion on the chart to this version",
   476            "x-intellij-html-description": "set the appVersion on the chart to this version"
   477          },
   478          "version": {
   479            "type": "string",
   480            "description": "sets the version on the chart to this semver version.",
   481            "x-intellij-html-description": "sets the version on the chart to this semver version."
   482          }
   483        },
   484        "preferredOrder": [
   485          "version",
   486          "appVersion"
   487        ],
   488        "additionalProperties": false,
   489        "type": "object",
   490        "description": "represents parameters for packaging helm chart.",
   491        "x-intellij-html-description": "represents parameters for packaging helm chart."
   492      },
   493      "HelmRelease": {
   494        "properties": {
   495          "chartPath": {
   496            "type": "string"
   497          },
   498          "imageStrategy": {
   499            "$ref": "#/definitions/HelmImageStrategy"
   500          },
   501          "name": {
   502            "type": "string"
   503          },
   504          "namespace": {
   505            "type": "string"
   506          },
   507          "overrides": {},
   508          "packaged": {
   509            "$ref": "#/definitions/HelmPackaged"
   510          },
   511          "recreatePods": {
   512            "type": "boolean",
   513            "default": "false"
   514          },
   515          "setValueTemplates": {
   516            "additionalProperties": {
   517              "type": "string"
   518            },
   519            "type": "object",
   520            "default": "{}"
   521          },
   522          "setValues": {
   523            "additionalProperties": {
   524              "type": "string"
   525            },
   526            "type": "object",
   527            "default": "{}"
   528          },
   529          "values": {
   530            "additionalProperties": {
   531              "type": "string"
   532            },
   533            "type": "object",
   534            "default": "{}"
   535          },
   536          "valuesFiles": {
   537            "items": {
   538              "type": "string"
   539            },
   540            "type": "array",
   541            "default": "[]"
   542          },
   543          "version": {
   544            "type": "string"
   545          },
   546          "wait": {
   547            "type": "boolean",
   548            "default": "false"
   549          }
   550        },
   551        "preferredOrder": [
   552          "name",
   553          "chartPath",
   554          "valuesFiles",
   555          "values",
   556          "namespace",
   557          "version",
   558          "setValues",
   559          "setValueTemplates",
   560          "wait",
   561          "recreatePods",
   562          "overrides",
   563          "packaged",
   564          "imageStrategy"
   565        ],
   566        "additionalProperties": false,
   567        "type": "object"
   568      },
   569      "JibGradleArtifact": {
   570        "properties": {
   571          "project": {
   572            "type": "string",
   573            "description": "Only multi-module",
   574            "x-intellij-html-description": "Only multi-module"
   575          }
   576        },
   577        "preferredOrder": [
   578          "project"
   579        ],
   580        "additionalProperties": false,
   581        "type": "object"
   582      },
   583      "JibMavenArtifact": {
   584        "properties": {
   585          "module": {
   586            "type": "string",
   587            "description": "Only multi-module",
   588            "x-intellij-html-description": "Only multi-module"
   589          },
   590          "profile": {
   591            "type": "string"
   592          }
   593        },
   594        "preferredOrder": [
   595          "module",
   596          "profile"
   597        ],
   598        "additionalProperties": false,
   599        "type": "object"
   600      },
   601      "KanikoBuild": {
   602        "properties": {
   603          "buildContext": {
   604            "$ref": "#/definitions/KanikoBuildContext"
   605          },
   606          "cache": {
   607            "$ref": "#/definitions/KanikoCache"
   608          },
   609          "image": {
   610            "type": "string"
   611          },
   612          "namespace": {
   613            "type": "string"
   614          },
   615          "pullSecret": {
   616            "type": "string"
   617          },
   618          "pullSecretName": {
   619            "type": "string"
   620          },
   621          "timeout": {
   622            "type": "string"
   623          }
   624        },
   625        "preferredOrder": [
   626          "buildContext",
   627          "cache",
   628          "pullSecret",
   629          "pullSecretName",
   630          "namespace",
   631          "timeout",
   632          "image"
   633        ],
   634        "additionalProperties": false,
   635        "type": "object",
   636        "description": "contains the fields needed to do a on-cluster build using the kaniko image",
   637        "x-intellij-html-description": "contains the fields needed to do a on-cluster build using the kaniko image"
   638      },
   639      "KanikoBuildContext": {
   640        "properties": {
   641          "gcsBucket": {
   642            "type": "string"
   643          },
   644          "localDir": {
   645            "$ref": "#/definitions/LocalDir"
   646          }
   647        },
   648        "preferredOrder": [
   649          "gcsBucket",
   650          "localDir"
   651        ],
   652        "additionalProperties": false,
   653        "type": "object",
   654        "description": "contains the different fields available to specify a kaniko build context",
   655        "x-intellij-html-description": "contains the different fields available to specify a kaniko build context"
   656      },
   657      "KanikoCache": {
   658        "properties": {
   659          "repo": {
   660            "type": "string"
   661          }
   662        },
   663        "preferredOrder": [
   664          "repo"
   665        ],
   666        "additionalProperties": false,
   667        "type": "object",
   668        "description": "contains fields related to kaniko caching",
   669        "x-intellij-html-description": "contains fields related to kaniko caching"
   670      },
   671      "KubectlDeploy": {
   672        "properties": {
   673          "flags": {
   674            "$ref": "#/definitions/KubectlFlags"
   675          },
   676          "manifests": {
   677            "items": {
   678              "type": "string"
   679            },
   680            "type": "array",
   681            "default": "[]"
   682          },
   683          "remoteManifests": {
   684            "items": {
   685              "type": "string"
   686            },
   687            "type": "array",
   688            "default": "[]"
   689          }
   690        },
   691        "preferredOrder": [
   692          "manifests",
   693          "remoteManifests",
   694          "flags"
   695        ],
   696        "additionalProperties": false,
   697        "type": "object",
   698        "description": "contains the configuration needed for deploying with `kubectl apply`",
   699        "x-intellij-html-description": "contains the configuration needed for deploying with <code>kubectl apply</code>"
   700      },
   701      "KubectlFlags": {
   702        "properties": {
   703          "apply": {
   704            "items": {
   705              "type": "string"
   706            },
   707            "type": "array",
   708            "default": "[]"
   709          },
   710          "delete": {
   711            "items": {
   712              "type": "string"
   713            },
   714            "type": "array",
   715            "default": "[]"
   716          },
   717          "global": {
   718            "items": {
   719              "type": "string"
   720            },
   721            "type": "array",
   722            "default": "[]"
   723          }
   724        },
   725        "preferredOrder": [
   726          "global",
   727          "apply",
   728          "delete"
   729        ],
   730        "additionalProperties": false,
   731        "type": "object",
   732        "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).",
   733        "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)."
   734      },
   735      "KustomizeDeploy": {
   736        "properties": {
   737          "flags": {
   738            "$ref": "#/definitions/KubectlFlags"
   739          },
   740          "path": {
   741            "type": "string"
   742          }
   743        },
   744        "preferredOrder": [
   745          "path",
   746          "flags"
   747        ],
   748        "additionalProperties": false,
   749        "type": "object",
   750        "description": "contains the configuration needed for deploying with kustomize.",
   751        "x-intellij-html-description": "contains the configuration needed for deploying with kustomize."
   752      },
   753      "LocalBuild": {
   754        "properties": {
   755          "push": {
   756            "type": "boolean"
   757          },
   758          "useBuildkit": {
   759            "type": "boolean",
   760            "default": "false"
   761          },
   762          "useDockerCLI": {
   763            "type": "boolean",
   764            "default": "false"
   765          }
   766        },
   767        "preferredOrder": [
   768          "push",
   769          "useDockerCLI",
   770          "useBuildkit"
   771        ],
   772        "additionalProperties": false,
   773        "type": "object",
   774        "description": "contains the fields needed to do a build on the local docker daemon and optionally push to a repository.",
   775        "x-intellij-html-description": "contains the fields needed to do a build on the local docker daemon and optionally push to a repository."
   776      },
   777      "LocalDir": {
   778        "type": "object",
   779        "description": "represents the local directory kaniko build context",
   780        "x-intellij-html-description": "represents the local directory kaniko build context"
   781      },
   782      "Profile": {
   783        "properties": {
   784          "build": {
   785            "$ref": "#/definitions/BuildConfig"
   786          },
   787          "deploy": {
   788            "$ref": "#/definitions/DeployConfig"
   789          },
   790          "name": {
   791            "type": "string"
   792          },
   793          "test": {
   794            "$ref": "#/definitions/TestConfig"
   795          }
   796        },
   797        "preferredOrder": [
   798          "name",
   799          "build",
   800          "test",
   801          "deploy"
   802        ],
   803        "additionalProperties": false,
   804        "type": "object",
   805        "description": "additional configuration that overrides default configuration when it is activated.",
   806        "x-intellij-html-description": "additional configuration that overrides default configuration when it is activated."
   807      },
   808      "ShaTagger": {
   809        "type": "object",
   810        "description": "contains the configuration for the SHA tagger.",
   811        "x-intellij-html-description": "contains the configuration for the SHA tagger."
   812      },
   813      "SkaffoldConfig": {
   814        "properties": {
   815          "apiVersion": {
   816            "type": "string"
   817          },
   818          "build": {
   819            "$ref": "#/definitions/BuildConfig"
   820          },
   821          "deploy": {
   822            "$ref": "#/definitions/DeployConfig"
   823          },
   824          "kind": {
   825            "type": "string"
   826          },
   827          "profiles": {
   828            "items": {
   829              "$ref": "#/definitions/Profile"
   830            },
   831            "type": "array"
   832          },
   833          "test": {
   834            "$ref": "#/definitions/TestConfig"
   835          }
   836        },
   837        "preferredOrder": [
   838          "apiVersion",
   839          "kind",
   840          "build",
   841          "test",
   842          "deploy",
   843          "profiles"
   844        ],
   845        "additionalProperties": false,
   846        "type": "object"
   847      },
   848      "TagPolicy": {
   849        "properties": {
   850          "dateTime": {
   851            "$ref": "#/definitions/DateTimeTagger"
   852          },
   853          "envTemplate": {
   854            "$ref": "#/definitions/EnvTemplateTagger"
   855          },
   856          "gitCommit": {
   857            "$ref": "#/definitions/GitTagger"
   858          },
   859          "sha256": {
   860            "$ref": "#/definitions/ShaTagger"
   861          }
   862        },
   863        "preferredOrder": [
   864          "gitCommit",
   865          "sha256",
   866          "envTemplate",
   867          "dateTime"
   868        ],
   869        "additionalProperties": false,
   870        "type": "object",
   871        "description": "contains all the configuration for the tagging step",
   872        "x-intellij-html-description": "contains all the configuration for the tagging step"
   873      },
   874      "TestCase": {
   875        "properties": {
   876          "image": {
   877            "type": "string"
   878          },
   879          "structureTests": {
   880            "items": {
   881              "type": "string"
   882            },
   883            "type": "array",
   884            "default": "[]"
   885          }
   886        },
   887        "preferredOrder": [
   888          "image",
   889          "structureTests"
   890        ],
   891        "additionalProperties": false,
   892        "type": "object",
   893        "description": "a struct containing all the specified test configuration for an image.",
   894        "x-intellij-html-description": "a struct containing all the specified test configuration for an image."
   895      },
   896      "TestConfig": {
   897        "items": {
   898          "$ref": "#/definitions/TestCase"
   899        },
   900        "type": "array"
   901      }
   902    }
   903  }