diff --git a/docs/examples/src/charts/charts.k b/docs/examples/src/charts/charts.k index bc319dbf..3551fd6c 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.3" schemaGenerator = "AUTO" schemaValidator = "KCL" } podinfo_v5: { chart = "podinfo" repoURL = "https://stefanprodan.github.io/podinfo" - targetRevision = "5.2.1" + targetRevision = "6.9.3" schemaGenerator = "AUTO" schemaValidator = "KCL" } diff --git a/docs/examples/src/charts/podinfo/chart.k b/docs/examples/src/charts/podinfo/chart.k index a07adb15..1bc7ba1b 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.3" 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.3" 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 de11cc3d..b6728e16 100644 --- a/docs/examples/src/charts/podinfo/values.schema.json +++ b/docs/examples/src/charts/podinfo/values.schema.json @@ -231,6 +231,116 @@ "title": "hpa", "type": "object" }, + "httpRoute": { + "additionalProperties": true, + "description": "Expose the service via Gateway HTTPRoute\nRequires a Gateway controller\nDocs https://gateway-api.sigs.k8s.io/guides/", + "properties": { + "additionalLabels": { + "additionalProperties": true, + "description": "Add additional labels to the HTTPRoute.", + "required": [], + "title": "additionalLabels", + "type": "object" + }, + "annotations": { + "additionalProperties": true, + "description": "HTTPRoute annotations.", + "required": [], + "title": "annotations", + "type": "object" + }, + "enabled": { + "default": false, + "description": "HTTPRoute enabled.", + "required": [], + "title": "enabled", + "type": "boolean" + }, + "hostnames": { + "description": "Hostnames matching HTTP header.", + "items": { + "required": [], + "type": "string" + }, + "required": [], + "title": "hostnames", + "type": "array" + }, + "parentRefs": { + "description": "Which Gateways this Route is attached to.", + "items": { + "additionalProperties": true, + "properties": { + "name": { + "default": "gateway", + "required": [], + "title": "name", + "type": "string" + }, + "sectionName": { + "default": "http", + "required": [], + "title": "sectionName", + "type": "string" + } + }, + "required": [], + "type": "object" + }, + "required": [], + "title": "parentRefs", + "type": "array" + }, + "rules": { + "description": "List of rules and filters applied.", + "items": { + "additionalProperties": true, + "properties": { + "matches": { + "items": { + "additionalProperties": true, + "properties": { + "path": { + "additionalProperties": true, + "properties": { + "type": { + "default": "PathPrefix", + "required": [], + "title": "type", + "type": "string" + }, + "value": { + "default": "/", + "required": [], + "title": "value", + "type": "string" + } + }, + "required": [], + "title": "path", + "type": "object" + } + }, + "required": [], + "type": "object" + }, + "required": [], + "title": "matches", + "type": "array" + } + }, + "required": [], + "type": "object" + }, + "required": [], + "title": "rules", + "type": "array" + } + }, + "required": [], + "title": "httpRoute", + "type": "object" + }, "image": { "additionalProperties": true, "properties": { @@ -240,6 +350,14 @@ "title": "pullPolicy", "type": "string" }, + "pullSecrets": { + "items": { + "required": [] + }, + "required": [], + "title": "pullSecrets", + "type": "array" + }, "repository": { "default": "ghcr.io/stefanprodan/podinfo", "required": [], @@ -247,7 +365,7 @@ "type": "string" }, "tag": { - "default": "6.7.1", + "default": "6.9.3", "required": [], "title": "tag", "type": "string" @@ -259,6 +377,7 @@ }, "ingress": { "additionalProperties": true, + "description": "Expose the service via Kubernetes Ingress\nRequires an Ingress controller\nDocs https://kubernetes.io/docs/concepts/services-networking/ingress/", "properties": { "additionalLabels": { "additionalProperties": true, @@ -387,6 +506,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", @@ -526,14 +652,22 @@ "title": "enabled", "type": "boolean" }, + "imagePullSecrets": { + "items": { + "required": [] + }, + "required": [], + "title": "imagePullSecrets", + "type": "array" + }, "repository": { - "default": "redis", + "default": "docker.io/redis", "required": [], "title": "repository", "type": "string" }, "tag": { - "default": "7.0.7", + "default": "8.4.0", "required": [], "title": "tag", "type": "string" diff --git a/docs/examples/src/charts/podinfo/values.schema.k b/docs/examples/src/charts/podinfo/values.schema.k index 4ec05886..052e6848 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 @@ -30,14 +31,23 @@ schema Values: host : any, optional, default is "" hpa : ValuesHpa, optional metrics-server add-on required + httpRoute : ValuesHttpRoute, optional + Expose the service via Gateway HTTPRoute + Requires a Gateway controller + Docs https://gateway-api.sigs.k8s.io/guides/ image : ValuesImage, optional ingress : ValuesIngress, optional + Expose the service via Kubernetes Ingress + Requires an Ingress controller + Docs https://kubernetes.io/docs/concepts/services-networking/ingress/ linkerd : ValuesLinkerd, optional 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 @@ -72,6 +82,7 @@ schema Values: h2c?: ValuesH2C host?: any hpa?: ValuesHpa + httpRoute?: ValuesHttpRoute image?: ValuesImage ingress?: ValuesIngress linkerd?: ValuesLinkerd @@ -79,6 +90,7 @@ schema Values: nodeSelector?: ValuesNodeSelector podAnnotations?: ValuesPodAnnotations podDisruptionBudget?: ValuesPodDisruptionBudget + podSecurityContext?: ValuesPodSecurityContext probes?: ValuesProbes redis?: ValuesRedis replicaCount?: int @@ -203,6 +215,95 @@ schema ValuesHpa: memory?: any requests?: any +schema ValuesHttpRoute: + r""" + Expose the service via Gateway HTTPRoute + Requires a Gateway controller + Docs https://gateway-api.sigs.k8s.io/guides/ + + Attributes + ---------- + additionalLabels : ValuesHttpRouteAdditionalLabels, optional + Add additional labels to the HTTPRoute. + annotations : ValuesHttpRouteAnnotations, optional + HTTPRoute annotations. + enabled : bool, optional, default is False + HTTPRoute enabled. + hostnames : [str], optional + Hostnames matching HTTP header. + parentRefs : [ValuesHttpRouteParentRefsItems0], optional + Which Gateways this Route is attached to. + rules : [ValuesHttpRouteRulesItems0], optional + List of rules and filters applied. + """ + [...str]: any + additionalLabels?: ValuesHttpRouteAdditionalLabels + annotations?: ValuesHttpRouteAnnotations + enabled?: bool + hostnames?: [str] + parentRefs?: [ValuesHttpRouteParentRefsItems0] + rules?: [ValuesHttpRouteRulesItems0] + +schema ValuesHttpRouteAdditionalLabels: + r""" + Add additional labels to the HTTPRoute. + """ + [...str]: any + +schema ValuesHttpRouteAnnotations: + r""" + HTTPRoute annotations. + """ + [...str]: any + +schema ValuesHttpRouteParentRefsItems0: + r""" + ValuesHttpRouteParentRefsItems0 + + Attributes + ---------- + name : str, optional, default is "gateway" + sectionName : str, optional, default is "http" + """ + [...str]: any + name?: str + sectionName?: str + +schema ValuesHttpRouteRulesItems0: + r""" + ValuesHttpRouteRulesItems0 + + Attributes + ---------- + matches : [ValuesHttpRouteRulesItems0MatchesItems0], optional + """ + [...str]: any + matches?: [ValuesHttpRouteRulesItems0MatchesItems0] + +schema ValuesHttpRouteRulesItems0MatchesItems0: + r""" + ValuesHttpRouteRulesItems0MatchesItems0 + + Attributes + ---------- + path : ValuesHttpRouteRulesItems0MatchesItems0Path, optional + """ + [...str]: any + path?: ValuesHttpRouteRulesItems0MatchesItems0Path + +schema ValuesHttpRouteRulesItems0MatchesItems0Path: + r""" + ValuesHttpRouteRulesItems0MatchesItems0Path + + Attributes + ---------- + $type : str, optional, default is "PathPrefix" + value : str, optional, default is "/" + """ + [...str]: any + $type?: str + value?: str + schema ValuesImage: r""" ValuesImage @@ -210,17 +311,21 @@ schema ValuesImage: Attributes ---------- pullPolicy : str, optional, default is "IfNotPresent" + pullSecrets : [any], optional repository : str, optional, default is "ghcr.io/stefanprodan/podinfo" - tag : str, optional, default is "6.7.1" + tag : str, optional, default is "6.9.3" """ [...str]: any pullPolicy?: str + pullSecrets?: [any] repository?: str tag?: str schema ValuesIngress: r""" - ValuesIngress + Expose the service via Kubernetes Ingress + Requires an Ingress controller + Docs https://kubernetes.io/docs/concepts/services-networking/ingress/ Attributes ---------- @@ -319,6 +424,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 @@ -400,11 +511,13 @@ schema ValuesRedis: Attributes ---------- enabled : bool, optional, default is False - repository : str, optional, default is "redis" - tag : str, optional, default is "7.0.7" + imagePullSecrets : [any], optional + repository : str, optional, default is "docker.io/redis" + tag : str, optional, default is "8.4.0" """ [...str]: any enabled?: bool + imagePullSecrets?: [any] repository?: str tag?: str diff --git a/docs/examples/src/charts/podinfo_v5/chart.k b/docs/examples/src/charts/podinfo_v5/chart.k index 8c63e073..1bc7ba1b 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.3" 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.3" 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 cf196a04..b6728e16 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", @@ -190,6 +231,116 @@ "title": "hpa", "type": "object" }, + "httpRoute": { + "additionalProperties": true, + "description": "Expose the service via Gateway HTTPRoute\nRequires a Gateway controller\nDocs https://gateway-api.sigs.k8s.io/guides/", + "properties": { + "additionalLabels": { + "additionalProperties": true, + "description": "Add additional labels to the HTTPRoute.", + "required": [], + "title": "additionalLabels", + "type": "object" + }, + "annotations": { + "additionalProperties": true, + "description": "HTTPRoute annotations.", + "required": [], + "title": "annotations", + "type": "object" + }, + "enabled": { + "default": false, + "description": "HTTPRoute enabled.", + "required": [], + "title": "enabled", + "type": "boolean" + }, + "hostnames": { + "description": "Hostnames matching HTTP header.", + "items": { + "required": [], + "type": "string" + }, + "required": [], + "title": "hostnames", + "type": "array" + }, + "parentRefs": { + "description": "Which Gateways this Route is attached to.", + "items": { + "additionalProperties": true, + "properties": { + "name": { + "default": "gateway", + "required": [], + "title": "name", + "type": "string" + }, + "sectionName": { + "default": "http", + "required": [], + "title": "sectionName", + "type": "string" + } + }, + "required": [], + "type": "object" + }, + "required": [], + "title": "parentRefs", + "type": "array" + }, + "rules": { + "description": "List of rules and filters applied.", + "items": { + "additionalProperties": true, + "properties": { + "matches": { + "items": { + "additionalProperties": true, + "properties": { + "path": { + "additionalProperties": true, + "properties": { + "type": { + "default": "PathPrefix", + "required": [], + "title": "type", + "type": "string" + }, + "value": { + "default": "/", + "required": [], + "title": "value", + "type": "string" + } + }, + "required": [], + "title": "path", + "type": "object" + } + }, + "required": [], + "type": "object" + }, + "required": [], + "title": "matches", + "type": "array" + } + }, + "required": [], + "type": "object" + }, + "required": [], + "title": "rules", + "type": "array" + } + }, + "required": [], + "title": "httpRoute", + "type": "object" + }, "image": { "additionalProperties": true, "properties": { @@ -199,6 +350,14 @@ "title": "pullPolicy", "type": "string" }, + "pullSecrets": { + "items": { + "required": [] + }, + "required": [], + "title": "pullSecrets", + "type": "array" + }, "repository": { "default": "ghcr.io/stefanprodan/podinfo", "required": [], @@ -206,7 +365,7 @@ "type": "string" }, "tag": { - "default": "5.2.1", + "default": "6.9.3", "required": [], "title": "tag", "type": "string" @@ -218,13 +377,26 @@ }, "ingress": { "additionalProperties": true, + "description": "Expose the service via Kubernetes Ingress\nRequires an Ingress controller\nDocs https://kubernetes.io/docs/concepts/services-networking/ingress/", "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 +404,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 +499,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", @@ -310,14 +652,22 @@ "title": "enabled", "type": "boolean" }, + "imagePullSecrets": { + "items": { + "required": [] + }, + "required": [], + "title": "imagePullSecrets", + "type": "array" + }, "repository": { - "default": "redis", + "default": "docker.io/redis", "required": [], "title": "repository", "type": "string" }, "tag": { - "default": "6.0.8", + "default": "8.4.0", "required": [], "title": "tag", "type": "string" @@ -462,6 +812,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 +911,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 752a7057..052e6848 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 @@ -24,12 +31,25 @@ schema Values: host : any, optional, default is "" hpa : ValuesHpa, optional metrics-server add-on required + httpRoute : ValuesHttpRoute, optional + Expose the service via Gateway HTTPRoute + Requires a Gateway controller + Docs https://gateway-api.sigs.k8s.io/guides/ image : ValuesImage, optional ingress : ValuesIngress, optional + Expose the service via Kubernetes Ingress + Requires an Ingress controller + Docs https://kubernetes.io/docs/concepts/services-networking/ingress/ linkerd : ValuesLinkerd, optional 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 +64,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,17 +74,24 @@ schema Values: backends?: [any] cache?: str certificate?: ValuesCertificate + config?: ValuesConfig + extraArgs?: [any] + extraEnvs?: [any] faults?: ValuesFaults global?: ValuesGlobal h2c?: ValuesH2C host?: any hpa?: ValuesHpa + httpRoute?: ValuesHttpRoute image?: ValuesImage ingress?: ValuesIngress linkerd?: ValuesLinkerd logLevel?: str nodeSelector?: ValuesNodeSelector podAnnotations?: ValuesPodAnnotations + podDisruptionBudget?: ValuesPodDisruptionBudget + podSecurityContext?: ValuesPodSecurityContext + probes?: ValuesProbes redis?: ValuesRedis replicaCount?: int resources?: ValuesResources @@ -72,6 +101,7 @@ schema Values: serviceMonitor?: ValuesServiceMonitor tls?: ValuesTls tolerations?: [any] + topologySpreadConstraints?: [any] ui?: ValuesUi schema ValuesAffinity: @@ -110,6 +140,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 @@ -170,6 +215,95 @@ schema ValuesHpa: memory?: any requests?: any +schema ValuesHttpRoute: + r""" + Expose the service via Gateway HTTPRoute + Requires a Gateway controller + Docs https://gateway-api.sigs.k8s.io/guides/ + + Attributes + ---------- + additionalLabels : ValuesHttpRouteAdditionalLabels, optional + Add additional labels to the HTTPRoute. + annotations : ValuesHttpRouteAnnotations, optional + HTTPRoute annotations. + enabled : bool, optional, default is False + HTTPRoute enabled. + hostnames : [str], optional + Hostnames matching HTTP header. + parentRefs : [ValuesHttpRouteParentRefsItems0], optional + Which Gateways this Route is attached to. + rules : [ValuesHttpRouteRulesItems0], optional + List of rules and filters applied. + """ + [...str]: any + additionalLabels?: ValuesHttpRouteAdditionalLabels + annotations?: ValuesHttpRouteAnnotations + enabled?: bool + hostnames?: [str] + parentRefs?: [ValuesHttpRouteParentRefsItems0] + rules?: [ValuesHttpRouteRulesItems0] + +schema ValuesHttpRouteAdditionalLabels: + r""" + Add additional labels to the HTTPRoute. + """ + [...str]: any + +schema ValuesHttpRouteAnnotations: + r""" + HTTPRoute annotations. + """ + [...str]: any + +schema ValuesHttpRouteParentRefsItems0: + r""" + ValuesHttpRouteParentRefsItems0 + + Attributes + ---------- + name : str, optional, default is "gateway" + sectionName : str, optional, default is "http" + """ + [...str]: any + name?: str + sectionName?: str + +schema ValuesHttpRouteRulesItems0: + r""" + ValuesHttpRouteRulesItems0 + + Attributes + ---------- + matches : [ValuesHttpRouteRulesItems0MatchesItems0], optional + """ + [...str]: any + matches?: [ValuesHttpRouteRulesItems0MatchesItems0] + +schema ValuesHttpRouteRulesItems0MatchesItems0: + r""" + ValuesHttpRouteRulesItems0MatchesItems0 + + Attributes + ---------- + path : ValuesHttpRouteRulesItems0MatchesItems0Path, optional + """ + [...str]: any + path?: ValuesHttpRouteRulesItems0MatchesItems0Path + +schema ValuesHttpRouteRulesItems0MatchesItems0Path: + r""" + ValuesHttpRouteRulesItems0MatchesItems0Path + + Attributes + ---------- + $type : str, optional, default is "PathPrefix" + value : str, optional, default is "/" + """ + [...str]: any + $type?: str + value?: str + schema ValuesImage: r""" ValuesImage @@ -177,42 +311,79 @@ schema ValuesImage: Attributes ---------- pullPolicy : str, optional, default is "IfNotPresent" + pullSecrets : [any], optional repository : str, optional, default is "ghcr.io/stefanprodan/podinfo" - tag : str, optional, default is "5.2.1" + tag : str, optional, default is "6.9.3" """ [...str]: any pullPolicy?: str + pullSecrets?: [any] repository?: str tag?: str schema ValuesIngress: r""" - ValuesIngress + Expose the service via Kubernetes Ingress + Requires an Ingress controller + Docs https://kubernetes.io/docs/concepts/services-networking/ingress/ 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 +418,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 @@ -254,11 +511,13 @@ schema ValuesRedis: Attributes ---------- enabled : bool, optional, default is False - repository : str, optional, default is "redis" - tag : str, optional, default is "6.0.8" + imagePullSecrets : [any], optional + repository : str, optional, default is "docker.io/redis" + tag : str, optional, default is "8.4.0" """ [...str]: any enabled?: bool + imagePullSecrets?: [any] repository?: str tag?: str @@ -345,12 +604,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: