github.com/GoogleContainerTools/skaffold/v2@v2.13.2/docs-v2/content/en/schemas/v1alpha3.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          "valuesFiles": {
   447            "items": {
   448              "type": "string"
   449            },
   450            "type": "array",
   451            "default": "[]"
   452          },
   453          "version": {
   454            "type": "string"
   455          },
   456          "wait": {
   457            "type": "boolean",
   458            "default": "false"
   459          }
   460        },
   461        "preferredOrder": [
   462          "name",
   463          "chartPath",
   464          "valuesFiles",
   465          "values",
   466          "namespace",
   467          "version",
   468          "setValues",
   469          "setValueTemplates",
   470          "wait",
   471          "recreatePods",
   472          "overrides",
   473          "packaged",
   474          "imageStrategy"
   475        ],
   476        "additionalProperties": false,
   477        "type": "object"
   478      },
   479      "KanikoBuild": {
   480        "properties": {
   481          "buildContext": {
   482            "$ref": "#/definitions/KanikoBuildContext"
   483          },
   484          "namespace": {
   485            "type": "string"
   486          },
   487          "pullSecret": {
   488            "type": "string"
   489          },
   490          "pullSecretName": {
   491            "type": "string"
   492          },
   493          "timeout": {
   494            "type": "string"
   495          }
   496        },
   497        "preferredOrder": [
   498          "buildContext",
   499          "pullSecret",
   500          "pullSecretName",
   501          "namespace",
   502          "timeout"
   503        ],
   504        "additionalProperties": false,
   505        "type": "object",
   506        "description": "contains the fields needed to do a on-cluster build using the kaniko image",
   507        "x-intellij-html-description": "contains the fields needed to do a on-cluster build using the kaniko image"
   508      },
   509      "KanikoBuildContext": {
   510        "properties": {
   511          "gcsBucket": {
   512            "type": "string"
   513          }
   514        },
   515        "preferredOrder": [
   516          "gcsBucket"
   517        ],
   518        "additionalProperties": false,
   519        "type": "object",
   520        "description": "contains the different fields available to specify a kaniko build context",
   521        "x-intellij-html-description": "contains the different fields available to specify a kaniko build context"
   522      },
   523      "KubectlDeploy": {
   524        "properties": {
   525          "flags": {
   526            "$ref": "#/definitions/KubectlFlags"
   527          },
   528          "manifests": {
   529            "items": {
   530              "type": "string"
   531            },
   532            "type": "array",
   533            "default": "[]"
   534          },
   535          "remoteManifests": {
   536            "items": {
   537              "type": "string"
   538            },
   539            "type": "array",
   540            "default": "[]"
   541          }
   542        },
   543        "preferredOrder": [
   544          "manifests",
   545          "remoteManifests",
   546          "flags"
   547        ],
   548        "additionalProperties": false,
   549        "type": "object",
   550        "description": "contains the configuration needed for deploying with `kubectl apply`",
   551        "x-intellij-html-description": "contains the configuration needed for deploying with <code>kubectl apply</code>"
   552      },
   553      "KubectlFlags": {
   554        "properties": {
   555          "apply": {
   556            "items": {
   557              "type": "string"
   558            },
   559            "type": "array",
   560            "default": "[]"
   561          },
   562          "delete": {
   563            "items": {
   564              "type": "string"
   565            },
   566            "type": "array",
   567            "default": "[]"
   568          },
   569          "global": {
   570            "items": {
   571              "type": "string"
   572            },
   573            "type": "array",
   574            "default": "[]"
   575          }
   576        },
   577        "preferredOrder": [
   578          "global",
   579          "apply",
   580          "delete"
   581        ],
   582        "additionalProperties": false,
   583        "type": "object",
   584        "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).",
   585        "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)."
   586      },
   587      "KustomizeDeploy": {
   588        "properties": {
   589          "flags": {
   590            "$ref": "#/definitions/KubectlFlags"
   591          },
   592          "kustomizePath": {
   593            "type": "string"
   594          }
   595        },
   596        "preferredOrder": [
   597          "kustomizePath",
   598          "flags"
   599        ],
   600        "additionalProperties": false,
   601        "type": "object"
   602      },
   603      "LocalBuild": {
   604        "properties": {
   605          "skipPush": {
   606            "type": "boolean"
   607          },
   608          "useBuildkit": {
   609            "type": "boolean",
   610            "default": "false"
   611          },
   612          "useDockerCLI": {
   613            "type": "boolean",
   614            "default": "false"
   615          }
   616        },
   617        "preferredOrder": [
   618          "skipPush",
   619          "useDockerCLI",
   620          "useBuildkit"
   621        ],
   622        "additionalProperties": false,
   623        "type": "object",
   624        "description": "contains the fields needed to do a build on the local docker daemon and optionally push to a repository.",
   625        "x-intellij-html-description": "contains the fields needed to do a build on the local docker daemon and optionally push to a repository."
   626      },
   627      "Profile": {
   628        "properties": {
   629          "build": {
   630            "$ref": "#/definitions/BuildConfig"
   631          },
   632          "deploy": {
   633            "$ref": "#/definitions/DeployConfig"
   634          },
   635          "name": {
   636            "type": "string"
   637          }
   638        },
   639        "preferredOrder": [
   640          "name",
   641          "build",
   642          "deploy"
   643        ],
   644        "additionalProperties": false,
   645        "type": "object",
   646        "description": "additional configuration that overrides default configuration when it is activated.",
   647        "x-intellij-html-description": "additional configuration that overrides default configuration when it is activated."
   648      },
   649      "ShaTagger": {
   650        "type": "object",
   651        "description": "contains the configuration for the SHA tagger.",
   652        "x-intellij-html-description": "contains the configuration for the SHA tagger."
   653      },
   654      "SkaffoldConfig": {
   655        "properties": {
   656          "apiVersion": {
   657            "type": "string"
   658          },
   659          "build": {
   660            "$ref": "#/definitions/BuildConfig"
   661          },
   662          "deploy": {
   663            "$ref": "#/definitions/DeployConfig"
   664          },
   665          "kind": {
   666            "type": "string"
   667          },
   668          "profiles": {
   669            "items": {
   670              "$ref": "#/definitions/Profile"
   671            },
   672            "type": "array"
   673          }
   674        },
   675        "preferredOrder": [
   676          "apiVersion",
   677          "kind",
   678          "build",
   679          "deploy",
   680          "profiles"
   681        ],
   682        "additionalProperties": false,
   683        "type": "object"
   684      },
   685      "TagPolicy": {
   686        "properties": {
   687          "dateTime": {
   688            "$ref": "#/definitions/DateTimeTagger"
   689          },
   690          "envTemplate": {
   691            "$ref": "#/definitions/EnvTemplateTagger"
   692          },
   693          "gitCommit": {
   694            "$ref": "#/definitions/GitTagger"
   695          },
   696          "sha256": {
   697            "$ref": "#/definitions/ShaTagger"
   698          }
   699        },
   700        "preferredOrder": [
   701          "gitCommit",
   702          "sha256",
   703          "envTemplate",
   704          "dateTime"
   705        ],
   706        "additionalProperties": false,
   707        "type": "object",
   708        "description": "contains all the configuration for the tagging step",
   709        "x-intellij-html-description": "contains all the configuration for the tagging step"
   710      }
   711    }
   712  }