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