github.com/GoogleContainerTools/skaffold/v2@v2.13.2/docs-v2/content/en/schemas/v1beta2.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          "flags": {
   610            "items": {
   611              "type": "string"
   612            },
   613            "type": "array",
   614            "default": "[]"
   615          },
   616          "image": {
   617            "type": "string"
   618          },
   619          "namespace": {
   620            "type": "string"
   621          },
   622          "pullSecret": {
   623            "type": "string"
   624          },
   625          "pullSecretName": {
   626            "type": "string"
   627          },
   628          "timeout": {
   629            "type": "string"
   630          }
   631        },
   632        "preferredOrder": [
   633          "buildContext",
   634          "cache",
   635          "flags",
   636          "pullSecret",
   637          "pullSecretName",
   638          "namespace",
   639          "timeout",
   640          "image"
   641        ],
   642        "additionalProperties": false,
   643        "type": "object",
   644        "description": "contains the fields needed to do a on-cluster build using the kaniko image",
   645        "x-intellij-html-description": "contains the fields needed to do a on-cluster build using the kaniko image"
   646      },
   647      "KanikoBuildContext": {
   648        "properties": {
   649          "gcsBucket": {
   650            "type": "string"
   651          },
   652          "localDir": {
   653            "$ref": "#/definitions/LocalDir"
   654          }
   655        },
   656        "preferredOrder": [
   657          "gcsBucket",
   658          "localDir"
   659        ],
   660        "additionalProperties": false,
   661        "type": "object",
   662        "description": "contains the different fields available to specify a kaniko build context",
   663        "x-intellij-html-description": "contains the different fields available to specify a kaniko build context"
   664      },
   665      "KanikoCache": {
   666        "properties": {
   667          "repo": {
   668            "type": "string"
   669          }
   670        },
   671        "preferredOrder": [
   672          "repo"
   673        ],
   674        "additionalProperties": false,
   675        "type": "object",
   676        "description": "contains fields related to kaniko caching",
   677        "x-intellij-html-description": "contains fields related to kaniko caching"
   678      },
   679      "KubectlDeploy": {
   680        "properties": {
   681          "flags": {
   682            "$ref": "#/definitions/KubectlFlags"
   683          },
   684          "manifests": {
   685            "items": {
   686              "type": "string"
   687            },
   688            "type": "array",
   689            "default": "[]"
   690          },
   691          "remoteManifests": {
   692            "items": {
   693              "type": "string"
   694            },
   695            "type": "array",
   696            "default": "[]"
   697          }
   698        },
   699        "preferredOrder": [
   700          "manifests",
   701          "remoteManifests",
   702          "flags"
   703        ],
   704        "additionalProperties": false,
   705        "type": "object",
   706        "description": "contains the configuration needed for deploying with `kubectl apply`",
   707        "x-intellij-html-description": "contains the configuration needed for deploying with <code>kubectl apply</code>"
   708      },
   709      "KubectlFlags": {
   710        "properties": {
   711          "apply": {
   712            "items": {
   713              "type": "string"
   714            },
   715            "type": "array",
   716            "default": "[]"
   717          },
   718          "delete": {
   719            "items": {
   720              "type": "string"
   721            },
   722            "type": "array",
   723            "default": "[]"
   724          },
   725          "global": {
   726            "items": {
   727              "type": "string"
   728            },
   729            "type": "array",
   730            "default": "[]"
   731          }
   732        },
   733        "preferredOrder": [
   734          "global",
   735          "apply",
   736          "delete"
   737        ],
   738        "additionalProperties": false,
   739        "type": "object",
   740        "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).",
   741        "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)."
   742      },
   743      "KustomizeDeploy": {
   744        "properties": {
   745          "flags": {
   746            "$ref": "#/definitions/KubectlFlags"
   747          },
   748          "path": {
   749            "type": "string"
   750          }
   751        },
   752        "preferredOrder": [
   753          "path",
   754          "flags"
   755        ],
   756        "additionalProperties": false,
   757        "type": "object",
   758        "description": "contains the configuration needed for deploying with kustomize.",
   759        "x-intellij-html-description": "contains the configuration needed for deploying with kustomize."
   760      },
   761      "LocalBuild": {
   762        "properties": {
   763          "push": {
   764            "type": "boolean"
   765          },
   766          "useBuildkit": {
   767            "type": "boolean",
   768            "default": "false"
   769          },
   770          "useDockerCLI": {
   771            "type": "boolean",
   772            "default": "false"
   773          }
   774        },
   775        "preferredOrder": [
   776          "push",
   777          "useDockerCLI",
   778          "useBuildkit"
   779        ],
   780        "additionalProperties": false,
   781        "type": "object",
   782        "description": "contains the fields needed to do a build on the local docker daemon and optionally push to a repository.",
   783        "x-intellij-html-description": "contains the fields needed to do a build on the local docker daemon and optionally push to a repository."
   784      },
   785      "LocalDir": {
   786        "type": "object",
   787        "description": "represents the local directory kaniko build context",
   788        "x-intellij-html-description": "represents the local directory kaniko build context"
   789      },
   790      "Profile": {
   791        "properties": {
   792          "build": {
   793            "$ref": "#/definitions/BuildConfig"
   794          },
   795          "deploy": {
   796            "$ref": "#/definitions/DeployConfig"
   797          },
   798          "name": {
   799            "type": "string"
   800          },
   801          "test": {
   802            "$ref": "#/definitions/TestConfig"
   803          }
   804        },
   805        "preferredOrder": [
   806          "name",
   807          "build",
   808          "test",
   809          "deploy"
   810        ],
   811        "additionalProperties": false,
   812        "type": "object",
   813        "description": "additional configuration that overrides default configuration when it is activated.",
   814        "x-intellij-html-description": "additional configuration that overrides default configuration when it is activated."
   815      },
   816      "ShaTagger": {
   817        "type": "object",
   818        "description": "contains the configuration for the SHA tagger.",
   819        "x-intellij-html-description": "contains the configuration for the SHA tagger."
   820      },
   821      "SkaffoldConfig": {
   822        "properties": {
   823          "apiVersion": {
   824            "type": "string"
   825          },
   826          "build": {
   827            "$ref": "#/definitions/BuildConfig"
   828          },
   829          "deploy": {
   830            "$ref": "#/definitions/DeployConfig"
   831          },
   832          "kind": {
   833            "type": "string"
   834          },
   835          "profiles": {
   836            "items": {
   837              "$ref": "#/definitions/Profile"
   838            },
   839            "type": "array"
   840          },
   841          "test": {
   842            "$ref": "#/definitions/TestConfig"
   843          }
   844        },
   845        "preferredOrder": [
   846          "apiVersion",
   847          "kind",
   848          "build",
   849          "test",
   850          "deploy",
   851          "profiles"
   852        ],
   853        "additionalProperties": false,
   854        "type": "object"
   855      },
   856      "TagPolicy": {
   857        "properties": {
   858          "dateTime": {
   859            "$ref": "#/definitions/DateTimeTagger"
   860          },
   861          "envTemplate": {
   862            "$ref": "#/definitions/EnvTemplateTagger"
   863          },
   864          "gitCommit": {
   865            "$ref": "#/definitions/GitTagger"
   866          },
   867          "sha256": {
   868            "$ref": "#/definitions/ShaTagger"
   869          }
   870        },
   871        "preferredOrder": [
   872          "gitCommit",
   873          "sha256",
   874          "envTemplate",
   875          "dateTime"
   876        ],
   877        "additionalProperties": false,
   878        "type": "object",
   879        "description": "contains all the configuration for the tagging step",
   880        "x-intellij-html-description": "contains all the configuration for the tagging step"
   881      },
   882      "TestCase": {
   883        "properties": {
   884          "image": {
   885            "type": "string"
   886          },
   887          "structureTests": {
   888            "items": {
   889              "type": "string"
   890            },
   891            "type": "array",
   892            "default": "[]"
   893          }
   894        },
   895        "preferredOrder": [
   896          "image",
   897          "structureTests"
   898        ],
   899        "additionalProperties": false,
   900        "type": "object",
   901        "description": "a struct containing all the specified test configuration for an image.",
   902        "x-intellij-html-description": "a struct containing all the specified test configuration for an image."
   903      },
   904      "TestConfig": {
   905        "items": {
   906          "$ref": "#/definitions/TestCase"
   907        },
   908        "type": "array"
   909      }
   910    }
   911  }