github.com/GoogleContainerTools/skaffold/v2@v2.13.2/docs-v2/content/en/schemas/v1beta3.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      "DockerConfig": {
   357        "properties": {
   358          "path": {
   359            "type": "string"
   360          },
   361          "secretName": {
   362            "type": "string"
   363          }
   364        },
   365        "preferredOrder": [
   366          "path",
   367          "secretName"
   368        ],
   369        "additionalProperties": false,
   370        "type": "object",
   371        "description": "contains information about the docker config.json to mount",
   372        "x-intellij-html-description": "contains information about the docker config.json to mount"
   373      },
   374      "EnvTemplateTagger": {
   375        "properties": {
   376          "template": {
   377            "type": "string"
   378          }
   379        },
   380        "preferredOrder": [
   381          "template"
   382        ],
   383        "additionalProperties": false,
   384        "type": "object",
   385        "description": "contains the configuration for the envTemplate tagger.",
   386        "x-intellij-html-description": "contains the configuration for the envTemplate tagger."
   387      },
   388      "GitTagger": {
   389        "type": "object",
   390        "description": "contains the configuration for the git tagger.",
   391        "x-intellij-html-description": "contains the configuration for the git tagger."
   392      },
   393      "GoogleCloudBuild": {
   394        "properties": {
   395          "diskSizeGb": {
   396            "type": "integer"
   397          },
   398          "dockerImage": {
   399            "type": "string"
   400          },
   401          "gradleImage": {
   402            "type": "string"
   403          },
   404          "machineType": {
   405            "type": "string"
   406          },
   407          "mavenImage": {
   408            "type": "string"
   409          },
   410          "projectId": {
   411            "type": "string"
   412          },
   413          "timeout": {
   414            "type": "string"
   415          }
   416        },
   417        "preferredOrder": [
   418          "projectId",
   419          "diskSizeGb",
   420          "machineType",
   421          "timeout",
   422          "dockerImage",
   423          "mavenImage",
   424          "gradleImage"
   425        ],
   426        "additionalProperties": false,
   427        "type": "object",
   428        "description": "contains the fields needed to do a remote build on Google Cloud Build.",
   429        "x-intellij-html-description": "contains the fields needed to do a remote build on Google Cloud Build."
   430      },
   431      "HelmConventionConfig": {
   432        "type": "object",
   433        "description": "represents image config in the syntax of image.repository and image.tag",
   434        "x-intellij-html-description": "represents image config in the syntax of image.repository and image.tag"
   435      },
   436      "HelmDeploy": {
   437        "properties": {
   438          "releases": {
   439            "items": {
   440              "$ref": "#/definitions/HelmRelease"
   441            },
   442            "type": "array"
   443          }
   444        },
   445        "preferredOrder": [
   446          "releases"
   447        ],
   448        "additionalProperties": false,
   449        "type": "object",
   450        "description": "contains the configuration needed for deploying with helm",
   451        "x-intellij-html-description": "contains the configuration needed for deploying with helm"
   452      },
   453      "HelmFQNConfig": {
   454        "properties": {
   455          "property": {
   456            "type": "string"
   457          }
   458        },
   459        "preferredOrder": [
   460          "property"
   461        ],
   462        "additionalProperties": false,
   463        "type": "object",
   464        "description": "represents image config to use the FullyQualifiedImageName as param to set",
   465        "x-intellij-html-description": "represents image config to use the FullyQualifiedImageName as param to set"
   466      },
   467      "HelmImageStrategy": {
   468        "type": "object",
   469        "anyOf": [
   470          {
   471            "additionalProperties": false
   472          },
   473          {
   474            "properties": {
   475              "fqn": {
   476                "$ref": "#/definitions/HelmFQNConfig"
   477              }
   478            },
   479            "preferredOrder": [
   480              "fqn"
   481            ],
   482            "additionalProperties": false
   483          },
   484          {
   485            "properties": {
   486              "helm": {
   487                "$ref": "#/definitions/HelmConventionConfig"
   488              }
   489            },
   490            "preferredOrder": [
   491              "helm"
   492            ],
   493            "additionalProperties": false
   494          }
   495        ]
   496      },
   497      "HelmPackaged": {
   498        "properties": {
   499          "appVersion": {
   500            "type": "string",
   501            "description": "set the appVersion on the chart to this version",
   502            "x-intellij-html-description": "set the appVersion on the chart to this version"
   503          },
   504          "version": {
   505            "type": "string",
   506            "description": "sets the version on the chart to this semver version.",
   507            "x-intellij-html-description": "sets the version on the chart to this semver version."
   508          }
   509        },
   510        "preferredOrder": [
   511          "version",
   512          "appVersion"
   513        ],
   514        "additionalProperties": false,
   515        "type": "object",
   516        "description": "represents parameters for packaging helm chart.",
   517        "x-intellij-html-description": "represents parameters for packaging helm chart."
   518      },
   519      "HelmRelease": {
   520        "properties": {
   521          "chartPath": {
   522            "type": "string"
   523          },
   524          "imageStrategy": {
   525            "$ref": "#/definitions/HelmImageStrategy"
   526          },
   527          "name": {
   528            "type": "string"
   529          },
   530          "namespace": {
   531            "type": "string"
   532          },
   533          "overrides": {},
   534          "packaged": {
   535            "$ref": "#/definitions/HelmPackaged"
   536          },
   537          "recreatePods": {
   538            "type": "boolean",
   539            "default": "false"
   540          },
   541          "setValueTemplates": {
   542            "additionalProperties": {
   543              "type": "string"
   544            },
   545            "type": "object",
   546            "default": "{}"
   547          },
   548          "setValues": {
   549            "additionalProperties": {
   550              "type": "string"
   551            },
   552            "type": "object",
   553            "default": "{}"
   554          },
   555          "values": {
   556            "additionalProperties": {
   557              "type": "string"
   558            },
   559            "type": "object",
   560            "default": "{}"
   561          },
   562          "valuesFiles": {
   563            "items": {
   564              "type": "string"
   565            },
   566            "type": "array",
   567            "default": "[]"
   568          },
   569          "version": {
   570            "type": "string"
   571          },
   572          "wait": {
   573            "type": "boolean",
   574            "default": "false"
   575          }
   576        },
   577        "preferredOrder": [
   578          "name",
   579          "chartPath",
   580          "valuesFiles",
   581          "values",
   582          "namespace",
   583          "version",
   584          "setValues",
   585          "setValueTemplates",
   586          "wait",
   587          "recreatePods",
   588          "overrides",
   589          "packaged",
   590          "imageStrategy"
   591        ],
   592        "additionalProperties": false,
   593        "type": "object"
   594      },
   595      "JibGradleArtifact": {
   596        "properties": {
   597          "project": {
   598            "type": "string",
   599            "description": "Only multi-module",
   600            "x-intellij-html-description": "Only multi-module"
   601          }
   602        },
   603        "preferredOrder": [
   604          "project"
   605        ],
   606        "additionalProperties": false,
   607        "type": "object"
   608      },
   609      "JibMavenArtifact": {
   610        "properties": {
   611          "module": {
   612            "type": "string",
   613            "description": "Only multi-module",
   614            "x-intellij-html-description": "Only multi-module"
   615          },
   616          "profile": {
   617            "type": "string"
   618          }
   619        },
   620        "preferredOrder": [
   621          "module",
   622          "profile"
   623        ],
   624        "additionalProperties": false,
   625        "type": "object"
   626      },
   627      "KanikoBuild": {
   628        "properties": {
   629          "buildContext": {
   630            "$ref": "#/definitions/KanikoBuildContext"
   631          },
   632          "cache": {
   633            "$ref": "#/definitions/KanikoCache"
   634          },
   635          "dockerConfig": {
   636            "$ref": "#/definitions/DockerConfig"
   637          },
   638          "flags": {
   639            "items": {
   640              "type": "string"
   641            },
   642            "type": "array",
   643            "default": "[]"
   644          },
   645          "image": {
   646            "type": "string"
   647          },
   648          "namespace": {
   649            "type": "string"
   650          },
   651          "pullSecret": {
   652            "type": "string"
   653          },
   654          "pullSecretName": {
   655            "type": "string"
   656          },
   657          "timeout": {
   658            "type": "string"
   659          }
   660        },
   661        "preferredOrder": [
   662          "buildContext",
   663          "cache",
   664          "flags",
   665          "pullSecret",
   666          "pullSecretName",
   667          "namespace",
   668          "timeout",
   669          "image",
   670          "dockerConfig"
   671        ],
   672        "additionalProperties": false,
   673        "type": "object",
   674        "description": "contains the fields needed to do a on-cluster build using the kaniko image",
   675        "x-intellij-html-description": "contains the fields needed to do a on-cluster build using the kaniko image"
   676      },
   677      "KanikoBuildContext": {
   678        "properties": {
   679          "gcsBucket": {
   680            "type": "string"
   681          },
   682          "localDir": {
   683            "$ref": "#/definitions/LocalDir"
   684          }
   685        },
   686        "preferredOrder": [
   687          "gcsBucket",
   688          "localDir"
   689        ],
   690        "additionalProperties": false,
   691        "type": "object",
   692        "description": "contains the different fields available to specify a kaniko build context",
   693        "x-intellij-html-description": "contains the different fields available to specify a kaniko build context"
   694      },
   695      "KanikoCache": {
   696        "properties": {
   697          "repo": {
   698            "type": "string"
   699          }
   700        },
   701        "preferredOrder": [
   702          "repo"
   703        ],
   704        "additionalProperties": false,
   705        "type": "object",
   706        "description": "contains fields related to kaniko caching",
   707        "x-intellij-html-description": "contains fields related to kaniko caching"
   708      },
   709      "KubectlDeploy": {
   710        "properties": {
   711          "flags": {
   712            "$ref": "#/definitions/KubectlFlags"
   713          },
   714          "manifests": {
   715            "items": {
   716              "type": "string"
   717            },
   718            "type": "array",
   719            "default": "[]"
   720          },
   721          "remoteManifests": {
   722            "items": {
   723              "type": "string"
   724            },
   725            "type": "array",
   726            "default": "[]"
   727          }
   728        },
   729        "preferredOrder": [
   730          "manifests",
   731          "remoteManifests",
   732          "flags"
   733        ],
   734        "additionalProperties": false,
   735        "type": "object",
   736        "description": "contains the configuration needed for deploying with `kubectl apply`",
   737        "x-intellij-html-description": "contains the configuration needed for deploying with <code>kubectl apply</code>"
   738      },
   739      "KubectlFlags": {
   740        "properties": {
   741          "apply": {
   742            "items": {
   743              "type": "string"
   744            },
   745            "type": "array",
   746            "default": "[]"
   747          },
   748          "delete": {
   749            "items": {
   750              "type": "string"
   751            },
   752            "type": "array",
   753            "default": "[]"
   754          },
   755          "global": {
   756            "items": {
   757              "type": "string"
   758            },
   759            "type": "array",
   760            "default": "[]"
   761          }
   762        },
   763        "preferredOrder": [
   764          "global",
   765          "apply",
   766          "delete"
   767        ],
   768        "additionalProperties": false,
   769        "type": "object",
   770        "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).",
   771        "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)."
   772      },
   773      "KustomizeDeploy": {
   774        "properties": {
   775          "flags": {
   776            "$ref": "#/definitions/KubectlFlags"
   777          },
   778          "path": {
   779            "type": "string"
   780          }
   781        },
   782        "preferredOrder": [
   783          "path",
   784          "flags"
   785        ],
   786        "additionalProperties": false,
   787        "type": "object",
   788        "description": "contains the configuration needed for deploying with kustomize.",
   789        "x-intellij-html-description": "contains the configuration needed for deploying with kustomize."
   790      },
   791      "LocalBuild": {
   792        "properties": {
   793          "push": {
   794            "type": "boolean"
   795          },
   796          "useBuildkit": {
   797            "type": "boolean",
   798            "default": "false"
   799          },
   800          "useDockerCLI": {
   801            "type": "boolean",
   802            "default": "false"
   803          }
   804        },
   805        "preferredOrder": [
   806          "push",
   807          "useDockerCLI",
   808          "useBuildkit"
   809        ],
   810        "additionalProperties": false,
   811        "type": "object",
   812        "description": "contains the fields needed to do a build on the local docker daemon and optionally push to a repository.",
   813        "x-intellij-html-description": "contains the fields needed to do a build on the local docker daemon and optionally push to a repository."
   814      },
   815      "LocalDir": {
   816        "type": "object",
   817        "description": "represents the local directory kaniko build context",
   818        "x-intellij-html-description": "represents the local directory kaniko build context"
   819      },
   820      "Profile": {
   821        "properties": {
   822          "build": {
   823            "$ref": "#/definitions/BuildConfig"
   824          },
   825          "deploy": {
   826            "$ref": "#/definitions/DeployConfig"
   827          },
   828          "name": {
   829            "type": "string"
   830          },
   831          "test": {
   832            "$ref": "#/definitions/TestConfig"
   833          }
   834        },
   835        "preferredOrder": [
   836          "name",
   837          "build",
   838          "test",
   839          "deploy"
   840        ],
   841        "additionalProperties": false,
   842        "type": "object",
   843        "description": "additional configuration that overrides default configuration when it is activated.",
   844        "x-intellij-html-description": "additional configuration that overrides default configuration when it is activated."
   845      },
   846      "ShaTagger": {
   847        "type": "object",
   848        "description": "contains the configuration for the SHA tagger.",
   849        "x-intellij-html-description": "contains the configuration for the SHA tagger."
   850      },
   851      "SkaffoldConfig": {
   852        "properties": {
   853          "apiVersion": {
   854            "type": "string"
   855          },
   856          "build": {
   857            "$ref": "#/definitions/BuildConfig"
   858          },
   859          "deploy": {
   860            "$ref": "#/definitions/DeployConfig"
   861          },
   862          "kind": {
   863            "type": "string"
   864          },
   865          "profiles": {
   866            "items": {
   867              "$ref": "#/definitions/Profile"
   868            },
   869            "type": "array"
   870          },
   871          "test": {
   872            "$ref": "#/definitions/TestConfig"
   873          }
   874        },
   875        "preferredOrder": [
   876          "apiVersion",
   877          "kind",
   878          "build",
   879          "test",
   880          "deploy",
   881          "profiles"
   882        ],
   883        "additionalProperties": false,
   884        "type": "object"
   885      },
   886      "TagPolicy": {
   887        "properties": {
   888          "dateTime": {
   889            "$ref": "#/definitions/DateTimeTagger"
   890          },
   891          "envTemplate": {
   892            "$ref": "#/definitions/EnvTemplateTagger"
   893          },
   894          "gitCommit": {
   895            "$ref": "#/definitions/GitTagger"
   896          },
   897          "sha256": {
   898            "$ref": "#/definitions/ShaTagger"
   899          }
   900        },
   901        "preferredOrder": [
   902          "gitCommit",
   903          "sha256",
   904          "envTemplate",
   905          "dateTime"
   906        ],
   907        "additionalProperties": false,
   908        "type": "object",
   909        "description": "contains all the configuration for the tagging step",
   910        "x-intellij-html-description": "contains all the configuration for the tagging step"
   911      },
   912      "TestCase": {
   913        "properties": {
   914          "image": {
   915            "type": "string"
   916          },
   917          "structureTests": {
   918            "items": {
   919              "type": "string"
   920            },
   921            "type": "array",
   922            "default": "[]"
   923          }
   924        },
   925        "preferredOrder": [
   926          "image",
   927          "structureTests"
   928        ],
   929        "additionalProperties": false,
   930        "type": "object",
   931        "description": "a struct containing all the specified test configuration for an image.",
   932        "x-intellij-html-description": "a struct containing all the specified test configuration for an image."
   933      },
   934      "TestConfig": {
   935        "items": {
   936          "$ref": "#/definitions/TestCase"
   937        },
   938        "type": "array"
   939      }
   940    }
   941  }