Add all features to values schema (#39)

Co-authored-by: Laszlo Fogas <laszlo@laszlo.cloud>
This commit is contained in:
szabogabor91
2022-02-11 13:08:07 +01:00
committed by GitHub
parent 1722e9bcf1
commit c3e2280489
2 changed files with 243 additions and 41 deletions
+38 -6
View File
@@ -19,8 +19,7 @@
"schemaIDs": [ "schemaIDs": [
"#/properties/resources" "#/properties/resources"
], ],
"uiSchema": { "uiSchema": {},
},
"metaData": { "metaData": {
"name": "Resources", "name": "Resources",
"icon": "M9 7h6m0 10v-3m-3 3h.01M9 17h.01M9 14h.01M12 14h.01M15 11h.01M12 11h.01M9 11h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z" "icon": "M9 7h6m0 10v-3m-3 3h.01M9 17h.01M9 14h.01M12 14h.01M15 11h.01M12 11h.01M9 11h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z"
@@ -28,7 +27,8 @@
}, },
{ {
"schemaIDs": [ "schemaIDs": [
"#/properties/probe" "#/properties/probe",
"#/properties/livenessProbe"
], ],
"uiSchema": { "uiSchema": {
"#/properties/probe": { "#/properties/probe": {
@@ -49,6 +49,25 @@
"ui:widget": "range" "ui:widget": "range"
} }
} }
},
"#/properties/livenessProbe": {
"settings": {
"initialDelaySeconds": {
"ui:widget": "range"
},
"periodSeconds": {
"ui:widget": "range"
},
"successThreshold": {
"ui:widget": "range"
},
"timeoutSeconds": {
"ui:widget": "range"
},
"failureThreshold": {
"ui:widget": "range"
}
}
} }
}, },
"metaData": { "metaData": {
@@ -74,6 +93,7 @@
}, },
{ {
"schemaIDs": [ "schemaIDs": [
"#/properties/secretEnabled",
"#/properties/sealedSecrets" "#/properties/sealedSecrets"
], ],
"uiSchema": { "uiSchema": {
@@ -84,7 +104,7 @@
} }
}, },
"metaData": { "metaData": {
"name": "Sealed Secrets", "name": "Secrets",
"icon": "M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z" "icon": "M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"
} }
}, },
@@ -104,7 +124,7 @@
], ],
"uiSchema": {}, "uiSchema": {},
"metaData": { "metaData": {
"name": "Host Names", "name": "Ingress",
"icon": "M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1" "icon": "M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1"
} }
}, },
@@ -118,5 +138,17 @@
"name": "High Availability", "name": "High Availability",
"icon": "M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z" "icon": "M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z"
} }
},
{
"schemaIDs": [
"#/properties/podAnnotations",
"#/properties/gitSha",
"#/properties/gitRepository"
],
"uiSchema": {},
"metaData": {
"name": "Misc",
"icon": "M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"
}
} }
] ]
+205 -35
View File
@@ -133,8 +133,8 @@
"podAnnotations": { "podAnnotations": {
"$id": "#/properties/podAnnotations", "$id": "#/properties/podAnnotations",
"type": "object", "type": "object",
"title": "The podAnnotations schema", "title": "Pod annotations",
"description": "An explanation about the purpose of this instance.", "description": "Annotations to place on pods",
"default": {}, "default": {},
"examples": [ "examples": [
{} {}
@@ -142,6 +142,20 @@
"required": [], "required": [],
"additionalProperties": true "additionalProperties": true
}, },
"gitSha": {
"$id": "#/properties/gitSha",
"type": "string",
"title": "Commit Hash",
"description": "The git hash that you are deploying",
"default": ""
},
"gitRepository": {
"$id": "#/properties/gitRepository",
"type": "string",
"title": "GitHub Repository",
"description": "The git repository that you are deploying",
"default": ""
},
"podSecurityContext": { "podSecurityContext": {
"$id": "#/properties/podSecurityContext", "$id": "#/properties/podSecurityContext",
"type": "object", "type": "object",
@@ -334,7 +348,7 @@
"$id": "#/properties/probe", "$id": "#/properties/probe",
"type": "object", "type": "object",
"title": "Healthcheck", "title": "Healthcheck",
"description": "The Kubernetes Readiness probe that determines whether your app is healthy and if should receive traffic", "description": "The Kubernetes Readiness probe determines whether your app is healthy and if it should receive traffic",
"default": {}, "default": {},
"examples": [ "examples": [
{ {
@@ -385,7 +399,7 @@
"$id": "#/properties/probe/properties/settings/properties/initialDelaySeconds", "$id": "#/properties/probe/properties/settings/properties/initialDelaySeconds",
"type": "integer", "type": "integer",
"title": "Initial Delay Seconds", "title": "Initial Delay Seconds",
"description": "Number of seconds after the container has started before the probes is initiated", "description": "Number of seconds after the container has started before the probe is initiated",
"default": 0, "default": 0,
"minimum": 0, "minimum": 0,
"maximum": 180 "maximum": 180
@@ -421,7 +435,107 @@
"$id": "#/properties/probe/properties/settings/properties/failureThreshold", "$id": "#/properties/probe/properties/settings/properties/failureThreshold",
"type": "integer", "type": "integer",
"title": "Failure Threshold", "title": "Failure Threshold",
"description": "When a probe fails, Kubernetes will tries this many times before giving up. Giving up the pod will be marked Unready and won't get any traffic", "description": "When a probe fails, Kubernetes will try this many times before giving up. Giving up the pod will be marked Unready and won't get any traffic",
"default": 3,
"minimum": 1,
"maximum": 15
}
}
}
}
},
"livenessProbe": {
"$id": "#/properties/livenessProbe",
"type": "object",
"title": "Liveness check",
"description": "The Kubernetes Liveness probe determines whether your app is healthy and if it should be restarted",
"default": {},
"examples": [
{
"enabled": false,
"path": "/"
}
],
"required": [
"enabled",
"path"
],
"properties": {
"enabled": {
"$id": "#/properties/livenessProbe/properties/enabled",
"type": "boolean",
"title": "",
"description": "",
"default": false,
"examples": [
false
]
},
"path": {
"$id": "#/properties/livenessProbe/properties/path",
"type": "string",
"title": "Path",
"description": "Fill in the description",
"default": "/",
"examples": [
"/"
]
},
"settings": {
"$id": "#/properties/livenessProbe/properties/settings",
"type": "object",
"title": "Probe thresholds",
"description": "Tune the probe behavior",
"examples": [
{
"failureThreshold": 3,
"periodSeconds": 10,
"successThreshold": 1,
"timeoutSeconds": 10
}
],
"properties": {
"initialDelaySeconds": {
"$id": "#/properties/livenessProbe/properties/settings/properties/initialDelaySeconds",
"type": "integer",
"title": "Initial Delay Seconds",
"description": "Number of seconds after the container has started before the probe is initiated",
"default": 0,
"minimum": 0,
"maximum": 180
},
"periodSeconds": {
"$id": "#/properties/livenessProbe/properties/settings/properties/periodSeconds",
"type": "integer",
"title": "Period",
"description": "How often (in seconds) to perform the probe",
"default": 10,
"minimum": 1,
"maximum": 60
},
"successThreshold": {
"$id": "#/properties/livenessProbe/properties/settings/properties/successThreshold",
"type": "integer",
"title": "Success Threshold",
"description": "Minimum consecutive successes for the probe to be considered successful after having failed",
"default": 1,
"minimum": 1,
"maximum": 15
},
"timeoutSeconds": {
"$id": "#/properties/livenessProbe/properties/settings/properties/timeoutSeconds",
"type": "integer",
"title": "Timeout",
"description": "Number of seconds after which the probe times out",
"default": 3,
"minimum": 1,
"maximum": 30
},
"failureThreshold": {
"$id": "#/properties/livenessProbe/properties/settings/properties/failureThreshold",
"type": "integer",
"title": "Failure Threshold",
"description": "When a probe fails, Kubernetes will try this many times before giving up. Giving up the pod will be marked Unready and won't get any traffic",
"default": 3, "default": 3,
"minimum": 1, "minimum": 1,
"maximum": 15 "maximum": 15
@@ -484,10 +598,17 @@
"properties": {}, "properties": {},
"additionalProperties": true "additionalProperties": true
}, },
"secretEnabled": {
"$id": "#/properties/secretEnabled",
"type": "boolean",
"title": "Existing secret",
"description": "If enabled, a secret will be referenced from the deployment whose name matches the deployment name",
"default": false
},
"sealedSecrets": { "sealedSecrets": {
"$id": "#/properties/sealedSecrets", "$id": "#/properties/sealedSecrets",
"type": "object", "type": "object",
"title": "Sealed Secrets", "title": "Sealed secrets",
"description": "", "description": "",
"default": {}, "default": {},
"examples": [ "examples": [
@@ -527,6 +648,16 @@
"my-release.mycompany.com" "my-release.mycompany.com"
] ]
}, },
"path": {
"$id": "#/properties/ingress/properties/ingressPath",
"type": "string",
"title": "Path",
"description": "The API path where your service is accessible",
"default": "/",
"examples": [
"/api/myservice"
]
},
"tlsEnabled": { "tlsEnabled": {
"$id": "#/properties/ingress/properties/tlsEnabled", "$id": "#/properties/ingress/properties/tlsEnabled",
"type": "boolean", "type": "boolean",
@@ -561,38 +692,77 @@
"items": { "items": {
"$id": "#/properties/volumes/items", "$id": "#/properties/volumes/items",
"type": "object", "type": "object",
"properties": { "oneOf": [
"name": { {
"$id": "#/properties/volumes/items/anyOf/0/properties/name", "title": "Volume",
"type": "string", "type": "object",
"title": "Name", "properties": {
"description": "The name of the volume. Used only to recognize the volumes purpose in the config later on", "name": {
"default": "data" "$id": "#/properties/volumes/items/anyOf/0/properties/name",
"type": "string",
"title": "Name",
"description": "The name of the volume. Used only to recognize the volumes purpose in the config later on",
"default": "data"
},
"path": {
"$id": "#/properties/volumes/items/anyOf/0/properties/path",
"type": "string",
"title": "Path",
"description": "The mount path inside the container",
"default": "/data"
},
"size": {
"$id": "#/properties/volumes/items/anyOf/0/properties/size",
"type": "string",
"title": "Size",
"description": "",
"default": "10Gi"
},
"storageClass": {
"$id": "#/properties/volumes/items/anyOf/0/properties/storageClass",
"type": "string",
"title": "Storage Class",
"description": "The slug indicating the disk type in your cloud provider. `standard` on Google Cloud, `default` on Azure; `do-block-storage` on Digital Ocean",
"default": ""
}
},
"required": [
"name", "path", "size"
]
}, },
"path": { {
"$id": "#/properties/volumes/items/anyOf/0/properties/path", "title": "Use existing volume claim",
"type": "string", "type": "object",
"title": "Path", "properties": {
"description": "The mount path inside the container", "name": {
"default": "/data" "$id": "#/properties/volumes/items/anyOf/0/properties/name",
}, "type": "string",
"size": { "title": "Name",
"$id": "#/properties/volumes/items/anyOf/0/properties/size", "description": "The name of the volume. Used only to recognize the volumes purpose in the config later on",
"type": "string", "default": "data"
"title": "Size", },
"description": "", "existingClaim": {
"default": "10Gi" "$id": "#/properties/volumes/items/anyOf/0/properties/existingClaim",
}, "type": "string",
"storageClass": { "title": "Existing Claim",
"$id": "#/properties/volumes/items/anyOf/0/properties/storageClass", "description": "Use an existing PersistentVolumeClaim",
"type": "string", "default": ""
"title": "Storage Class", },
"description": "The slug indicating the disk type in your cloud provider. `standard` on Google Cloud, `default` on Azure; `do-block-storage` on Digital Ocean", "path": {
"default": "" "$id": "#/properties/volumes/items/anyOf/0/properties/path",
"type": "string",
"title": "Path",
"description": "The mount path inside the container",
"default": "/data"
}
},
"required": [
"name", "path", "existingClaim"
]
} }
} ]
} }
} }
}, },
"additionalProperties": true "additionalProperties": true
} }