Skip to content

Instantly share code, notes, and snippets.

@hihellobolke
Created April 3, 2024 20:44
Show Gist options
  • Save hihellobolke/c88534f449974054546f65d27c9070ab to your computer and use it in GitHub Desktop.
Save hihellobolke/c88534f449974054546f65d27c9070ab to your computer and use it in GitHub Desktop.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"$schema": {
"type": "string",
"format": "uri"
},
"$id": {
"type": "string",
"format": "uri"
},
"type": {
"type": "string"
},
"default": {
"type": "object"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"required": {
"type": "array",
"items": {
"type": "string"
}
},
"properties": {
"type": "object",
"properties": {
"targetRevision": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "string"
}
},
"enum": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"description",
"examples",
"enum"
]
},
"tag": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"description",
"examples"
]
},
"applicationConfig": {
"type": "object",
"properties": {
"properties": {
"type": "object",
"properties": {
"namespace": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"description",
"examples"
]
},
"name": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"description",
"examples"
]
},
"path": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"description",
"examples"
]
},
"chart": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"description",
"examples"
]
},
"repoURL": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
}
}
},
"required": [
"type",
"description",
"examples"
]
},
"helm": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"properties": {
"type": "object",
"properties": {
"fileParameters": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"properties": {
"type": "object",
"properties": {
"name": {
"type": "object",
"properties": {
"type": {
"type": "string"
}
},
"required": [
"type"
]
},
"path": {
"type": "object",
"properties": {
"type": {
"type": "string"
}
},
"required": [
"type"
]
}
},
"required": [
"name",
"path"
]
}
},
"required": [
"type",
"properties"
]
},
"examples": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"path": {
"type": "string"
}
},
"required": [
"name",
"path"
]
}
}
}
},
"required": [
"type",
"description",
"items",
"examples"
]
},
"skipCrds": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"type",
"description"
]
},
"valueFiles": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"default": {
"type": "array",
"items": false
},
"description": {
"type": "string"
},
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
}
},
"required": [
"type"
]
},
"examples": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"default",
"description",
"items",
"examples"
]
},
"releaseName": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"description",
"examples"
]
},
"values": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"description",
"examples"
]
},
"parameters": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"properties": {
"type": "object",
"properties": {
"name": {
"type": "object",
"properties": {
"type": {
"type": "string"
}
},
"required": [
"type"
]
},
"value": {
"type": "object",
"properties": {
"type": {
"type": "string"
}
},
"required": [
"type"
]
},
"forceString": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"type",
"description"
]
}
},
"required": [
"name",
"value",
"forceString"
]
},
"additionalProperties": {
"type": "boolean"
},
"required": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"properties",
"additionalProperties",
"required"
]
},
"examples": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "string"
},
"forceString": {
"type": "boolean"
}
},
"required": [
"name",
"value"
]
}
}
}
},
"required": [
"type",
"description",
"items",
"examples"
]
},
"valuesObject": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ingress": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"path": {
"type": "string"
},
"hosts": {
"type": "array",
"items": {
"type": "string",
"format": "hostname"
}
},
"annotations": {
"type": "object",
"properties": {
"kubernetes.io/ingress.class": {
"type": "string"
},
"kubernetes.io/tls-acme": {
"type": "string"
}
},
"required": [
"kubernetes.io/ingress.class",
"kubernetes.io/tls-acme"
]
},
"labels": {
"type": "object"
},
"tls": {
"type": "array",
"items": {
"type": "object",
"properties": {
"secretName": {
"type": "string"
},
"hosts": {
"type": "array",
"items": {
"type": "string",
"format": "hostname"
}
}
},
"required": [
"secretName",
"hosts"
]
}
}
},
"required": [
"enabled",
"path",
"hosts",
"annotations",
"labels",
"tls"
]
}
},
"required": [
"ingress"
]
}
}
},
"required": [
"type",
"description",
"examples"
]
}
},
"required": [
"fileParameters",
"skipCrds",
"valueFiles",
"releaseName",
"values",
"parameters",
"valuesObject"
]
},
"additionalProperties": {
"type": "boolean"
},
"examples": {
"type": "array",
"items": {
"type": "object",
"properties": {
"valueFiles": {
"type": "array",
"items": {
"type": "string"
}
},
"releaseName": {
"type": "string"
},
"parameters": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "string"
},
"forceString": {
"type": "boolean"
}
},
"required": [
"name",
"value"
]
}
}
}
}
}
},
"required": [
"type",
"description",
"properties",
"additionalProperties",
"examples"
]
},
"kustomize": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"default": {
"type": "object"
},
"title": {
"type": "string"
},
"properties": {
"type": "object",
"properties": {
"namePrefix": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"description",
"examples"
]
},
"nameSuffix": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"title",
"examples"
]
},
"commonLabels": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "object",
"properties": {
"foo": {
"type": "string"
}
},
"required": [
"foo"
]
}
},
"additionalProperties": {
"type": "object",
"properties": {
"type": {
"type": "string"
}
},
"required": [
"type"
]
}
},
"required": [
"type",
"description",
"examples",
"additionalProperties"
]
},
"commonAnnotations": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "object",
"properties": {
"beep": {
"type": "string"
},
"foo": {
"type": "string"
}
},
"required": [
"beep",
"foo"
]
}
},
"additionalProperties": {
"type": "object",
"properties": {
"type": {
"type": "string"
}
},
"required": [
"type"
]
}
},
"required": [
"type",
"description",
"examples",
"additionalProperties"
]
},
"images": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"description",
"examples"
]
}
},
"required": [
"type",
"description",
"items"
]
},
"namespace": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"description",
"examples"
]
},
"commonAnnotationsEnvsubst": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"type",
"description"
]
},
"replicas": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"properties": {
"type": "object",
"properties": {
"name": {
"type": "object",
"properties": {
"type": {
"type": "string"
}
},
"required": [
"type"
]
},
"count": {
"type": "object",
"properties": {
"type": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type"
]
}
},
"required": [
"name",
"count"
]
},
"additionalProperties": {
"type": "boolean"
},
"required": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"properties",
"additionalProperties",
"required"
]
}
},
"required": [
"type",
"description",
"items"
]
},
"forceCommonAnnotations": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"type",
"description"
]
},
"forceCommonLabels": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"type",
"description"
]
}
},
"required": [
"namePrefix",
"nameSuffix",
"commonLabels",
"commonAnnotations",
"images",
"namespace",
"commonAnnotationsEnvsubst",
"replicas",
"forceCommonAnnotations",
"forceCommonLabels"
]
},
"additionalProperties": {
"type": "boolean"
},
"examples": {
"type": "array",
"items": {
"type": "object",
"properties": {
"namePrefix": {
"type": "string"
},
"nameSuffix": {
"type": "string"
},
"commonLabels": {
"type": "object",
"properties": {
"foo": {
"type": "string"
}
},
"required": [
"foo"
]
},
"commonAnnotations": {
"type": "object",
"properties": {
"beep": {
"type": "string"
}
},
"required": [
"beep"
]
},
"images": {
"type": "array",
"items": {
"type": "string"
}
},
"namespace": {
"type": "string"
},
"commonAnnotationsEnvsubst": {
"type": "boolean"
},
"replicas": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"count": {
"type": "integer"
}
},
"required": [
"name",
"count"
]
}
},
"forceCommonAnnotations": {
"type": "boolean"
},
"forceCommonLabels": {
"type": "boolean"
}
}
}
}
},
"required": [
"type",
"default",
"title",
"properties",
"additionalProperties",
"examples"
]
},
"directory": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"default": {
"type": "object"
},
"description": {
"type": "string"
},
"properties": {
"type": "object",
"properties": {
"recurse": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"type",
"description"
]
},
"exclude": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"description",
"examples"
]
},
"include": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"description",
"examples"
]
}
},
"required": [
"recurse",
"exclude",
"include"
]
},
"examples": {
"type": "array",
"items": {
"type": "object",
"properties": {
"recurse": {
"type": "boolean"
},
"exclude": {
"type": "string"
},
"include": {
"type": "string"
}
},
"required": [
"recurse"
]
}
},
"additionalProperties": {
"type": "boolean"
}
},
"required": [
"type",
"default",
"description",
"properties",
"examples",
"additionalProperties"
]
},
"ignoreDifferences": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"properties": {
"type": "object",
"properties": {
"group": {
"type": "object",
"properties": {
"type": {
"type": "string"
}
},
"required": [
"type"
]
},
"kind": {
"type": "object",
"properties": {
"type": {
"type": "string"
}
},
"required": [
"type"
]
},
"name": {
"type": "object",
"properties": {
"type": {
"type": "string"
}
},
"required": [
"type"
]
},
"namespace": {
"type": "object",
"properties": {
"type": {
"type": "string"
}
},
"required": [
"type"
]
},
"jsonPointers": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
}
},
"required": [
"type"
]
}
},
"required": [
"type",
"items"
]
},
"jqPathExpressions": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
}
},
"required": [
"type"
]
}
},
"required": [
"type",
"items"
]
},
"managedFieldsManagers": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
}
},
"required": [
"type"
]
}
},
"required": [
"type",
"items"
]
}
},
"required": [
"group",
"kind",
"name",
"namespace",
"jsonPointers",
"jqPathExpressions",
"managedFieldsManagers"
]
},
"additionalProperties": {
"type": "boolean"
},
"required": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"properties",
"additionalProperties",
"required"
]
}
},
"required": [
"type",
"description",
"items"
]
},
"multipleSources": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"properties": {
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"description",
"examples"
]
},
"chart": {
"type": "object",
"properties": {
"$ref": {
"type": "string"
}
},
"required": [
"$ref"
]
},
"repoURL": {
"type": "object",
"properties": {
"$ref": {
"type": "string"
}
},
"required": [
"$ref"
]
},
"helm": {
"type": "object",
"properties": {
"$ref": {
"type": "string"
}
},
"required": [
"$ref"
]
},
"kustomize": {
"type": "object",
"properties": {
"$ref": {
"type": "string"
}
},
"required": [
"$ref"
]
},
"directory": {
"type": "object",
"properties": {
"$ref": {
"type": "string"
}
},
"required": [
"$ref"
]
},
"targetRevision": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"description",
"examples"
]
},
"ref": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"description",
"examples"
]
}
},
"required": [
"path",
"chart",
"repoURL",
"helm",
"kustomize",
"directory",
"targetRevision",
"ref"
]
},
"additionalProperties": {
"type": "boolean"
}
},
"required": [
"type",
"properties",
"additionalProperties"
]
},
"examples": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"helm": {
"type": "object",
"properties": {
"releaseName": {
"type": "string"
},
"values": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"releaseName",
"values"
]
},
"kustomize": {
"type": "object",
"properties": {
"namePrefix": {
"type": "string"
},
"images": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"namePrefix",
"images"
]
}
},
"required": [
"path"
]
}
}
}
},
"required": [
"type",
"description",
"items",
"examples"
]
}
},
"required": [
"namespace",
"name",
"path",
"chart",
"repoURL",
"helm",
"kustomize",
"directory",
"ignoreDifferences",
"multipleSources"
]
},
"oneOf": {
"type": "array",
"items": {
"type": "object",
"properties": {
"not": {
"type": "object",
"properties": {
"anyOf": {
"type": "array",
"items": {
"type": "object",
"properties": {
"required": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"required"
]
}
}
},
"required": [
"anyOf"
]
},
"required": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"not": {
"type": "object",
"properties": {
"allOf": {
"type": "array",
"items": {
"type": "object",
"properties": {
"required": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"required"
]
}
},
"anyOf": {
"type": "array",
"items": {
"type": "object",
"properties": {
"required": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"required"
]
}
}
},
"required": [
"allOf",
"anyOf"
]
},
"additionalProperties": {
"type": "boolean"
}
},
"required": [
"properties",
"oneOf",
"not",
"additionalProperties"
]
}
},
"required": [
"targetRevision",
"tag",
"applicationConfig"
]
},
"additionalProperties": {
"type": "boolean"
},
"examples": {
"type": "array",
"items": {
"type": "object",
"properties": {
"targetRevision": {
"type": "string"
},
"applicationConfig": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"helm": {
"type": "object",
"properties": {
"valueFiles": {
"type": "array",
"items": {
"type": "string"
}
},
"releaseName": {
"type": "string"
}
},
"required": [
"valueFiles",
"releaseName"
]
},
"kustomize": {
"type": "object",
"properties": {
"namePrefix": {
"type": "string"
},
"nameSuffix": {
"type": "string"
},
"commonLabels": {
"type": "object",
"properties": {
"foo": {
"type": "string"
}
},
"required": [
"foo"
]
},
"commonAnnotations": {
"type": "object",
"properties": {
"beep": {
"type": "string"
}
},
"required": [
"beep"
]
},
"images": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"namePrefix",
"nameSuffix",
"commonLabels",
"commonAnnotations",
"images"
]
},
"directory": {
"type": "object",
"properties": {
"recurse": {
"type": "boolean"
},
"exclude": {
"type": "string"
},
"include": {
"type": "string"
}
},
"required": [
"recurse",
"exclude",
"include"
]
}
},
"required": [
"name",
"path"
]
}
},
"tag": {
"type": "string"
}
},
"required": [
"targetRevision",
"applicationConfig"
]
}
}
},
"required": [
"$schema",
"$id",
"type",
"default",
"title",
"description",
"required",
"properties",
"additionalProperties",
"examples"
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment