diff --git a/docs/examples/src/charts/charts.k b/docs/examples/src/charts/charts.k index 856b6bf..1898f64 100644 --- a/docs/examples/src/charts/charts.k +++ b/docs/examples/src/charts/charts.k @@ -4,14 +4,14 @@ charts: helm.Charts = { podinfo: { chart = "podinfo" repoURL = "https://stefanprodan.github.io/podinfo" - targetRevision = "6.7.1" + targetRevision = "6.9.2" schemaGenerator = "AUTO" schemaValidator = "KCL" } podinfo_v5: { chart = "podinfo" repoURL = "https://stefanprodan.github.io/podinfo" - targetRevision = "5.2.1" + targetRevision = "6.9.2" schemaGenerator = "AUTO" schemaValidator = "KCL" } diff --git a/docs/examples/src/charts/podinfo/chart.k b/docs/examples/src/charts/podinfo/chart.k index a07adb1..471a104 100644 --- a/docs/examples/src/charts/podinfo/chart.k +++ b/docs/examples/src/charts/podinfo/chart.k @@ -2,6 +2,7 @@ This file was generated by the KCL auto-gen tool. DO NOT EDIT. Editing this file might prove futile when you re-run the KCL auto-gen generate command. """ + import helm schema Chart(helm.Chart): @@ -13,12 +14,12 @@ schema Chart(helm.Chart): values : Values | any, optional chart : str, required, default is "podinfo" repoURL : str, required, default is "https://stefanprodan.github.io/podinfo" - targetRevision : str, optional, default is "6.7.1" + targetRevision : str, optional, default is "6.9.2" schemaValidator : "KCL" | "HELM", optional, default is "KCL" """ values?: Values | any chart: str = "podinfo" repoURL: str = "https://stefanprodan.github.io/podinfo" - targetRevision?: str = "6.7.1" + targetRevision?: str = "6.9.2" schemaValidator?: "KCL" | "HELM" = "KCL" diff --git a/docs/examples/src/charts/podinfo/values.schema.json b/docs/examples/src/charts/podinfo/values.schema.json index de11cc3..c35ccf2 100644 --- a/docs/examples/src/charts/podinfo/values.schema.json +++ b/docs/examples/src/charts/podinfo/values.schema.json @@ -247,7 +247,7 @@ "type": "string" }, "tag": { - "default": "6.7.1", + "default": "6.9.2", "required": [], "title": "tag", "type": "string" @@ -387,6 +387,13 @@ "title": "podDisruptionBudget", "type": "object" }, + "podSecurityContext": { + "additionalProperties": true, + "description": "set pod security context", + "required": [], + "title": "podSecurityContext", + "type": "object" + }, "probes": { "additionalProperties": true, "description": "https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", diff --git a/docs/examples/src/charts/podinfo/values.schema.k b/docs/examples/src/charts/podinfo/values.schema.k index 4ec0588..15c50d0 100644 --- a/docs/examples/src/charts/podinfo/values.schema.k +++ b/docs/examples/src/charts/podinfo/values.schema.k @@ -2,6 +2,7 @@ This file was generated by the KCL auto-gen tool. DO NOT EDIT. Editing this file might prove futile when you re-run the KCL auto-gen generate command. """ + schema Values: r""" Values @@ -38,6 +39,8 @@ schema Values: podAnnotations : ValuesPodAnnotations, optional podDisruptionBudget : ValuesPodDisruptionBudget, optional Disruption budget will be configured only when the replicaCount is greater than 1 + podSecurityContext : ValuesPodSecurityContext, optional + set pod security context probes : ValuesProbes, optional https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes redis : ValuesRedis, optional @@ -79,6 +82,7 @@ schema Values: nodeSelector?: ValuesNodeSelector podAnnotations?: ValuesPodAnnotations podDisruptionBudget?: ValuesPodDisruptionBudget + podSecurityContext?: ValuesPodSecurityContext probes?: ValuesProbes redis?: ValuesRedis replicaCount?: int @@ -211,7 +215,7 @@ schema ValuesImage: ---------- pullPolicy : str, optional, default is "IfNotPresent" repository : str, optional, default is "ghcr.io/stefanprodan/podinfo" - tag : str, optional, default is "6.7.1" + tag : str, optional, default is "6.9.2" """ [...str]: any pullPolicy?: str @@ -319,6 +323,12 @@ schema ValuesPodDisruptionBudget: """ [...str]: any +schema ValuesPodSecurityContext: + r""" + set pod security context + """ + [...str]: any + schema ValuesProbes: r""" https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes diff --git a/docs/examples/src/charts/podinfo_v5/chart.k b/docs/examples/src/charts/podinfo_v5/chart.k index 8c63e07..471a104 100644 --- a/docs/examples/src/charts/podinfo_v5/chart.k +++ b/docs/examples/src/charts/podinfo_v5/chart.k @@ -2,6 +2,7 @@ This file was generated by the KCL auto-gen tool. DO NOT EDIT. Editing this file might prove futile when you re-run the KCL auto-gen generate command. """ + import helm schema Chart(helm.Chart): @@ -13,12 +14,12 @@ schema Chart(helm.Chart): values : Values | any, optional chart : str, required, default is "podinfo" repoURL : str, required, default is "https://stefanprodan.github.io/podinfo" - targetRevision : str, optional, default is "5.2.1" + targetRevision : str, optional, default is "6.9.2" schemaValidator : "KCL" | "HELM", optional, default is "KCL" """ values?: Values | any chart: str = "podinfo" repoURL: str = "https://stefanprodan.github.io/podinfo" - targetRevision?: str = "5.2.1" + targetRevision?: str = "6.9.2" schemaValidator?: "KCL" | "HELM" = "KCL" diff --git a/docs/examples/src/charts/podinfo_v5/values.schema.json b/docs/examples/src/charts/podinfo_v5/values.schema.json index cf196a0..c35ccf2 100644 --- a/docs/examples/src/charts/podinfo_v5/values.schema.json +++ b/docs/examples/src/charts/podinfo_v5/values.schema.json @@ -24,7 +24,7 @@ }, "cache": { "default": "", - "description": "Redis address in the format \u003chost\u003e:\u003cport\u003e", + "description": "Redis address in the format tcp://\u003chost\u003e:\u003cport\u003e", "required": [], "title": "cache", "type": "string" @@ -75,6 +75,47 @@ "title": "certificate", "type": "object" }, + "config": { + "additionalProperties": true, + "description": "config file settings", + "properties": { + "name": { + "default": "", + "description": "config file name", + "required": [], + "title": "name", + "type": "string" + }, + "path": { + "default": "", + "description": "config file path", + "required": [], + "title": "path", + "type": "string" + } + }, + "required": [], + "title": "config", + "type": "object" + }, + "extraArgs": { + "description": "Additional command line arguments to pass to podinfo container", + "items": { + "required": [] + }, + "required": [], + "title": "extraArgs", + "type": "array" + }, + "extraEnvs": { + "description": "Extra environment variables for the podinfo container", + "items": { + "required": [] + }, + "required": [], + "title": "extraEnvs", + "type": "array" + }, "faults": { "additionalProperties": true, "description": "failure conditions", @@ -206,7 +247,7 @@ "type": "string" }, "tag": { - "default": "5.2.1", + "default": "6.9.2", "required": [], "title": "tag", "type": "string" @@ -219,12 +260,24 @@ "ingress": { "additionalProperties": true, "properties": { + "additionalLabels": { + "additionalProperties": true, + "required": [], + "title": "additionalLabels", + "type": "object" + }, "annotations": { "additionalProperties": true, "required": [], "title": "annotations", "type": "object" }, + "className": { + "default": "", + "required": [], + "title": "className", + "type": "string" + }, "enabled": { "default": false, "required": [], @@ -232,22 +285,49 @@ "type": "boolean" }, "hosts": { + "description": "kubernetes.io/ingress.class: nginx\nkubernetes.io/tls-acme: \"true\"", "items": { - "required": [] + "additionalProperties": true, + "properties": { + "host": { + "default": "podinfo.local", + "required": [], + "title": "host", + "type": "string" + }, + "paths": { + "items": { + "additionalProperties": true, + "properties": { + "path": { + "default": "/", + "required": [], + "title": "path", + "type": "string" + }, + "pathType": { + "default": "ImplementationSpecific", + "required": [], + "title": "pathType", + "type": "string" + } + }, + "required": [], + "type": "object" + }, + "required": [], + "title": "paths", + "type": "array" + } + }, + "required": [], + "type": "object" }, "required": [], "title": "hosts", "type": "array" }, - "path": { - "default": "/*", - "description": "kubernetes.io/ingress.class: nginx\nkubernetes.io/tls-acme: \"true\"", - "required": [], - "title": "path", - "type": "string" - }, "tls": { - "description": " - podinfo.local", "items": { "required": [] }, @@ -300,6 +380,149 @@ "title": "podAnnotations", "type": "object" }, + "podDisruptionBudget": { + "additionalProperties": true, + "description": "Disruption budget will be configured only when the replicaCount is greater than 1", + "required": [], + "title": "podDisruptionBudget", + "type": "object" + }, + "podSecurityContext": { + "additionalProperties": true, + "description": "set pod security context", + "required": [], + "title": "podSecurityContext", + "type": "object" + }, + "probes": { + "additionalProperties": true, + "description": "https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", + "properties": { + "liveness": { + "additionalProperties": true, + "properties": { + "failureThreshold": { + "default": 3, + "required": [], + "title": "failureThreshold", + "type": "integer" + }, + "initialDelaySeconds": { + "default": 1, + "required": [], + "title": "initialDelaySeconds", + "type": "integer" + }, + "periodSeconds": { + "default": 10, + "required": [], + "title": "periodSeconds", + "type": "integer" + }, + "successThreshold": { + "default": 1, + "required": [], + "title": "successThreshold", + "type": "integer" + }, + "timeoutSeconds": { + "default": 5, + "required": [], + "title": "timeoutSeconds", + "type": "integer" + } + }, + "required": [], + "title": "liveness", + "type": "object" + }, + "readiness": { + "additionalProperties": true, + "properties": { + "failureThreshold": { + "default": 3, + "required": [], + "title": "failureThreshold", + "type": "integer" + }, + "initialDelaySeconds": { + "default": 1, + "required": [], + "title": "initialDelaySeconds", + "type": "integer" + }, + "periodSeconds": { + "default": 10, + "required": [], + "title": "periodSeconds", + "type": "integer" + }, + "successThreshold": { + "default": 1, + "required": [], + "title": "successThreshold", + "type": "integer" + }, + "timeoutSeconds": { + "default": 5, + "required": [], + "title": "timeoutSeconds", + "type": "integer" + } + }, + "required": [], + "title": "readiness", + "type": "object" + }, + "startup": { + "additionalProperties": true, + "properties": { + "enable": { + "default": false, + "required": [], + "title": "enable", + "type": "boolean" + }, + "failureThreshold": { + "default": 20, + "required": [], + "title": "failureThreshold", + "type": "integer" + }, + "initialDelaySeconds": { + "default": 10, + "required": [], + "title": "initialDelaySeconds", + "type": "integer" + }, + "periodSeconds": { + "default": 10, + "required": [], + "title": "periodSeconds", + "type": "integer" + }, + "successThreshold": { + "default": 1, + "required": [], + "title": "successThreshold", + "type": "integer" + }, + "timeoutSeconds": { + "default": 5, + "required": [], + "title": "timeoutSeconds", + "type": "integer" + } + }, + "required": [], + "title": "startup", + "type": "object" + } + }, + "required": [], + "title": "probes", + "type": "object" + }, "redis": { "additionalProperties": true, "description": "Redis deployment", @@ -317,7 +540,7 @@ "type": "string" }, "tag": { - "default": "6.0.8", + "default": "7.0.7", "required": [], "title": "tag", "type": "string" @@ -462,6 +685,15 @@ "title": "enabled", "type": "boolean" }, + "imagePullSecrets": { + "description": "List of image pull secrets if pulling from private registries", + "items": { + "required": [] + }, + "required": [], + "title": "imagePullSecrets", + "type": "array" + }, "name": { "default": "", "description": "The name of the service account to use.\nIf not set and create is true, a name is generated using the fullname template", @@ -552,6 +784,15 @@ "title": "tolerations", "type": "array" }, + "topologySpreadConstraints": { + "description": "https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/", + "items": { + "required": [] + }, + "required": [], + "title": "topologySpreadConstraints", + "type": "array" + }, "ui": { "additionalProperties": true, "properties": { diff --git a/docs/examples/src/charts/podinfo_v5/values.schema.k b/docs/examples/src/charts/podinfo_v5/values.schema.k index 752a705..15c50d0 100644 --- a/docs/examples/src/charts/podinfo_v5/values.schema.k +++ b/docs/examples/src/charts/podinfo_v5/values.schema.k @@ -2,6 +2,7 @@ This file was generated by the KCL auto-gen tool. DO NOT EDIT. Editing this file might prove futile when you re-run the KCL auto-gen generate command. """ + schema Values: r""" Values @@ -12,9 +13,15 @@ schema Values: backend : any, optional, default is "" backends : [any], optional cache : str, optional, default is "" - Redis address in the format : + Redis address in the format tcp://: certificate : ValuesCertificate, optional create a certificate manager certificate (cert-manager required) + config : ValuesConfig, optional + config file settings + extraArgs : [any], optional + Additional command line arguments to pass to podinfo container + extraEnvs : [any], optional + Extra environment variables for the podinfo container faults : ValuesFaults, optional failure conditions global : ValuesGlobal, optional @@ -30,6 +37,12 @@ schema Values: logLevel : str, optional, default is "info" nodeSelector : ValuesNodeSelector, optional podAnnotations : ValuesPodAnnotations, optional + podDisruptionBudget : ValuesPodDisruptionBudget, optional + Disruption budget will be configured only when the replicaCount is greater than 1 + podSecurityContext : ValuesPodSecurityContext, optional + set pod security context + probes : ValuesProbes, optional + https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes redis : ValuesRedis, optional Redis deployment replicaCount : int, optional, default is 1 @@ -44,6 +57,8 @@ schema Values: tls : ValuesTls, optional enable tls on the podinfo service tolerations : [any], optional + topologySpreadConstraints : [any], optional + https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ ui : ValuesUi, optional """ [...str]: any @@ -52,6 +67,9 @@ schema Values: backends?: [any] cache?: str certificate?: ValuesCertificate + config?: ValuesConfig + extraArgs?: [any] + extraEnvs?: [any] faults?: ValuesFaults global?: ValuesGlobal h2c?: ValuesH2C @@ -63,6 +81,9 @@ schema Values: logLevel?: str nodeSelector?: ValuesNodeSelector podAnnotations?: ValuesPodAnnotations + podDisruptionBudget?: ValuesPodDisruptionBudget + podSecurityContext?: ValuesPodSecurityContext + probes?: ValuesProbes redis?: ValuesRedis replicaCount?: int resources?: ValuesResources @@ -72,6 +93,7 @@ schema Values: serviceMonitor?: ValuesServiceMonitor tls?: ValuesTls tolerations?: [any] + topologySpreadConstraints?: [any] ui?: ValuesUi schema ValuesAffinity: @@ -110,6 +132,21 @@ schema ValuesCertificateIssuerRef: kind?: str name?: str +schema ValuesConfig: + r""" + config file settings + + Attributes + ---------- + name : str, optional, default is "" + config file name + path : str, optional, default is "" + config file path + """ + [...str]: any + name?: str + path?: str + schema ValuesFaults: r""" failure conditions @@ -178,7 +215,7 @@ schema ValuesImage: ---------- pullPolicy : str, optional, default is "IfNotPresent" repository : str, optional, default is "ghcr.io/stefanprodan/podinfo" - tag : str, optional, default is "5.2.1" + tag : str, optional, default is "6.9.2" """ [...str]: any pullPolicy?: str @@ -191,28 +228,61 @@ schema ValuesIngress: Attributes ---------- + additionalLabels : ValuesIngressAdditionalLabels, optional annotations : ValuesIngressAnnotations, optional + className : str, optional, default is "" enabled : bool, optional, default is False - hosts : [any], optional - path : str, optional, default is "/*" + hosts : [ValuesIngressHostsItems0], optional kubernetes.io/ingress.class: nginx kubernetes.io/tls-acme: "true" tls : [any], optional - - podinfo.local """ [...str]: any + additionalLabels?: ValuesIngressAdditionalLabels annotations?: ValuesIngressAnnotations + className?: str enabled?: bool - hosts?: [any] - path?: str + hosts?: [ValuesIngressHostsItems0] tls?: [any] +schema ValuesIngressAdditionalLabels: + r""" + ValuesIngressAdditionalLabels + """ + [...str]: any + schema ValuesIngressAnnotations: r""" ValuesIngressAnnotations """ [...str]: any +schema ValuesIngressHostsItems0: + r""" + ValuesIngressHostsItems0 + + Attributes + ---------- + host : str, optional, default is "podinfo.local" + paths : [ValuesIngressHostsItems0PathsItems0], optional + """ + [...str]: any + host?: str + paths?: [ValuesIngressHostsItems0PathsItems0] + +schema ValuesIngressHostsItems0PathsItems0: + r""" + ValuesIngressHostsItems0PathsItems0 + + Attributes + ---------- + path : str, optional, default is "/" + pathType : str, optional, default is "ImplementationSpecific" + """ + [...str]: any + path?: str + pathType?: str + schema ValuesLinkerd: r""" ValuesLinkerd @@ -247,6 +317,92 @@ schema ValuesPodAnnotations: """ [...str]: any +schema ValuesPodDisruptionBudget: + r""" + Disruption budget will be configured only when the replicaCount is greater than 1 + """ + [...str]: any + +schema ValuesPodSecurityContext: + r""" + set pod security context + """ + [...str]: any + +schema ValuesProbes: + r""" + https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Attributes + ---------- + liveness : ValuesProbesLiveness, optional + readiness : ValuesProbesReadiness, optional + startup : ValuesProbesStartup, optional + """ + [...str]: any + liveness?: ValuesProbesLiveness + readiness?: ValuesProbesReadiness + startup?: ValuesProbesStartup + +schema ValuesProbesLiveness: + r""" + ValuesProbesLiveness + + Attributes + ---------- + failureThreshold : int, optional, default is 3 + initialDelaySeconds : int, optional, default is 1 + periodSeconds : int, optional, default is 10 + successThreshold : int, optional, default is 1 + timeoutSeconds : int, optional, default is 5 + """ + [...str]: any + failureThreshold?: int + initialDelaySeconds?: int + periodSeconds?: int + successThreshold?: int + timeoutSeconds?: int + +schema ValuesProbesReadiness: + r""" + ValuesProbesReadiness + + Attributes + ---------- + failureThreshold : int, optional, default is 3 + initialDelaySeconds : int, optional, default is 1 + periodSeconds : int, optional, default is 10 + successThreshold : int, optional, default is 1 + timeoutSeconds : int, optional, default is 5 + """ + [...str]: any + failureThreshold?: int + initialDelaySeconds?: int + periodSeconds?: int + successThreshold?: int + timeoutSeconds?: int + +schema ValuesProbesStartup: + r""" + ValuesProbesStartup + + Attributes + ---------- + enable : bool, optional, default is False + failureThreshold : int, optional, default is 20 + initialDelaySeconds : int, optional, default is 10 + periodSeconds : int, optional, default is 10 + successThreshold : int, optional, default is 1 + timeoutSeconds : int, optional, default is 5 + """ + [...str]: any + enable?: bool + failureThreshold?: int + initialDelaySeconds?: int + periodSeconds?: int + successThreshold?: int + timeoutSeconds?: int + schema ValuesRedis: r""" Redis deployment @@ -255,7 +411,7 @@ schema ValuesRedis: ---------- enabled : bool, optional, default is False repository : str, optional, default is "redis" - tag : str, optional, default is "6.0.8" + tag : str, optional, default is "7.0.7" """ [...str]: any enabled?: bool @@ -345,12 +501,15 @@ schema ValuesServiceAccount: ---------- enabled : bool, optional, default is False Specifies whether a service account should be created + imagePullSecrets : [any], optional + List of image pull secrets if pulling from private registries name : any, optional, default is "" The name of the service account to use. If not set and create is true, a name is generated using the fullname template """ [...str]: any enabled?: bool + imagePullSecrets?: [any] name?: any schema ValuesServiceAnnotations: