github.com/GoogleContainerTools/skaffold/v2@v2.13.2/docs-v2/content/en/schemas/v1alpha2.json (about)

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