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 }