github.com/GoogleContainerTools/skaffold/v2@v2.13.2/docs-v2/content/en/schemas/v1alpha1.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        "properties": {
    12          "buildArgs": {
    13            "additionalProperties": {
    14              "type": "string"
    15            },
    16            "type": "object",
    17            "default": "{}"
    18          },
    19          "dockerfilePath": {
    20            "type": "string"
    21          },
    22          "imageName": {
    23            "type": "string"
    24          },
    25          "workspace": {
    26            "type": "string"
    27          }
    28        },
    29        "preferredOrder": [
    30          "imageName",
    31          "dockerfilePath",
    32          "workspace",
    33          "buildArgs"
    34        ],
    35        "additionalProperties": false,
    36        "type": "object",
    37        "description": "represents items that need should be built, along with the context in which they should be built.",
    38        "x-intellij-html-description": "represents items that need should be built, along with the context in which they should be built."
    39      },
    40      "BuildConfig": {
    41        "type": "object",
    42        "anyOf": [
    43          {
    44            "properties": {
    45              "artifacts": {
    46                "items": {
    47                  "$ref": "#/definitions/Artifact"
    48                },
    49                "type": "array"
    50              },
    51              "tagPolicy": {
    52                "type": "string"
    53              }
    54            },
    55            "preferredOrder": [
    56              "artifacts",
    57              "tagPolicy"
    58            ],
    59            "additionalProperties": false
    60          },
    61          {
    62            "properties": {
    63              "artifacts": {
    64                "items": {
    65                  "$ref": "#/definitions/Artifact"
    66                },
    67                "type": "array"
    68              },
    69              "local": {
    70                "$ref": "#/definitions/LocalBuild"
    71              },
    72              "tagPolicy": {
    73                "type": "string"
    74              }
    75            },
    76            "preferredOrder": [
    77              "artifacts",
    78              "tagPolicy",
    79              "local"
    80            ],
    81            "additionalProperties": false
    82          },
    83          {
    84            "properties": {
    85              "artifacts": {
    86                "items": {
    87                  "$ref": "#/definitions/Artifact"
    88                },
    89                "type": "array"
    90              },
    91              "googleCloudBuild": {
    92                "$ref": "#/definitions/GoogleCloudBuild"
    93              },
    94              "tagPolicy": {
    95                "type": "string"
    96              }
    97            },
    98            "preferredOrder": [
    99              "artifacts",
   100              "tagPolicy",
   101              "googleCloudBuild"
   102            ],
   103            "additionalProperties": false
   104          }
   105        ],
   106        "description": "contains all the configuration for the build steps",
   107        "x-intellij-html-description": "contains all the configuration for the build steps"
   108      },
   109      "DeployConfig": {
   110        "type": "object",
   111        "anyOf": [
   112          {
   113            "properties": {
   114              "name": {
   115                "type": "string"
   116              }
   117            },
   118            "preferredOrder": [
   119              "name"
   120            ],
   121            "additionalProperties": false
   122          },
   123          {
   124            "properties": {
   125              "helm": {
   126                "$ref": "#/definitions/HelmDeploy"
   127              },
   128              "name": {
   129                "type": "string"
   130              }
   131            },
   132            "preferredOrder": [
   133              "name",
   134              "helm"
   135            ],
   136            "additionalProperties": false
   137          },
   138          {
   139            "properties": {
   140              "kubectl": {
   141                "$ref": "#/definitions/KubectlDeploy"
   142              },
   143              "name": {
   144                "type": "string"
   145              }
   146            },
   147            "preferredOrder": [
   148              "name",
   149              "kubectl"
   150            ],
   151            "additionalProperties": false
   152          }
   153        ],
   154        "description": "contains all the configuration needed by the deploy steps",
   155        "x-intellij-html-description": "contains all the configuration needed by the deploy steps"
   156      },
   157      "GoogleCloudBuild": {
   158        "properties": {
   159          "projectId": {
   160            "type": "string"
   161          }
   162        },
   163        "preferredOrder": [
   164          "projectId"
   165        ],
   166        "additionalProperties": false,
   167        "type": "object"
   168      },
   169      "HelmDeploy": {
   170        "properties": {
   171          "releases": {
   172            "items": {
   173              "$ref": "#/definitions/HelmRelease"
   174            },
   175            "type": "array"
   176          }
   177        },
   178        "preferredOrder": [
   179          "releases"
   180        ],
   181        "additionalProperties": false,
   182        "type": "object"
   183      },
   184      "HelmRelease": {
   185        "properties": {
   186          "chartPath": {
   187            "type": "string"
   188          },
   189          "name": {
   190            "type": "string"
   191          },
   192          "namespace": {
   193            "type": "string"
   194          },
   195          "values": {
   196            "additionalProperties": {
   197              "type": "string"
   198            },
   199            "type": "object",
   200            "default": "{}"
   201          },
   202          "valuesFilePath": {
   203            "type": "string"
   204          },
   205          "version": {
   206            "type": "string"
   207          }
   208        },
   209        "preferredOrder": [
   210          "name",
   211          "chartPath",
   212          "valuesFilePath",
   213          "values",
   214          "namespace",
   215          "version"
   216        ],
   217        "additionalProperties": false,
   218        "type": "object"
   219      },
   220      "KubectlDeploy": {
   221        "properties": {
   222          "manifests": {
   223            "items": {
   224              "$ref": "#/definitions/Manifest"
   225            },
   226            "type": "array"
   227          }
   228        },
   229        "preferredOrder": [
   230          "manifests"
   231        ],
   232        "additionalProperties": false,
   233        "type": "object",
   234        "description": "contains the configuration needed for deploying with `kubectl apply`",
   235        "x-intellij-html-description": "contains the configuration needed for deploying with <code>kubectl apply</code>"
   236      },
   237      "LocalBuild": {
   238        "properties": {
   239          "skipPush": {
   240            "type": "boolean"
   241          }
   242        },
   243        "preferredOrder": [
   244          "skipPush"
   245        ],
   246        "additionalProperties": false,
   247        "type": "object",
   248        "description": "contains the fields needed to do a build on the local docker daemon and optionally push to a repository.",
   249        "x-intellij-html-description": "contains the fields needed to do a build on the local docker daemon and optionally push to a repository."
   250      },
   251      "Manifest": {
   252        "properties": {
   253          "parameters": {
   254            "additionalProperties": {
   255              "type": "string"
   256            },
   257            "type": "object",
   258            "default": "{}"
   259          },
   260          "paths": {
   261            "items": {
   262              "type": "string"
   263            },
   264            "type": "array",
   265            "default": "[]"
   266          }
   267        },
   268        "preferredOrder": [
   269          "paths",
   270          "parameters"
   271        ],
   272        "additionalProperties": false,
   273        "type": "object"
   274      },
   275      "SkaffoldConfig": {
   276        "properties": {
   277          "apiVersion": {
   278            "type": "string"
   279          },
   280          "build": {
   281            "$ref": "#/definitions/BuildConfig"
   282          },
   283          "deploy": {
   284            "$ref": "#/definitions/DeployConfig"
   285          },
   286          "kind": {
   287            "type": "string"
   288          }
   289        },
   290        "preferredOrder": [
   291          "apiVersion",
   292          "kind",
   293          "build",
   294          "deploy"
   295        ],
   296        "additionalProperties": false,
   297        "type": "object",
   298        "description": "top level config object that is parsed from a skaffold.yaml",
   299        "x-intellij-html-description": "top level config object that is parsed from a skaffold.yaml"
   300      }
   301    }
   302  }