From 52e59931ec340129e35f7de463ab889dd45ab598 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 14 Feb 2026 14:33:52 +0000 Subject: [PATCH 1/4] Initial plan From e07f0f64b3ebf3a9e3919d58973a593a467d7378 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 14 Feb 2026 14:38:09 +0000 Subject: [PATCH 2/4] feat(common): add schema validation constraints for required fields - Set required array in schemas when fields marked as required in docs - Add minLength: 1 for required string fields - Add minimum: 1 for required integer fields - Updated 47 schema files to match documentation requirements Co-authored-by: PrivatePuffin <7613738+PrivatePuffin@users.noreply.github.com> --- charts/library/common/schemas/cnpg/cnpg.json | 11 ++++- charts/library/common/schemas/configmap.json | 11 ++++- .../common/schemas/container/probes.json | 18 +++++++- .../common/schemas/container/resources.json | 15 +++++- .../schemas/container/securityContext.json | 46 ++++++++++++++++++- .../common/schemas/containerOptions.json | 10 ++-- .../library/common/schemas/credentials.json | 12 ++++- charts/library/common/schemas/global.json | 8 +++- .../common/schemas/imagePullSecret.json | 12 ++++- .../common/schemas/ingress/certManager.json | 11 ++++- .../common/schemas/ingress/homepage.json | 21 ++++++++- .../middlewares/traefik/add-prefix.json | 12 ++++- .../middlewares/traefik/basic-auth.json | 26 ++++++++++- .../schemas/middlewares/traefik/chain.json | 20 +++++++- .../middlewares/traefik/forward-auth.json | 39 +++++++++++++++- .../middlewares/traefik/ip-allow-list.json | 26 ++++++++++- .../middlewares/traefik/plugin-bouncer.json | 11 ++++- .../middlewares/traefik/plugin-geoblock.json | 17 ++++++- .../traefik/plugin-mod-security.json | 12 ++++- .../middlewares/traefik/plugin-real-ip.json | 12 ++++- .../plugin-rewrite-response-headers.json | 26 ++++++++++- .../traefik/plugin-theme-park.json | 17 ++++++- .../middlewares/traefik/redirect-regex.json | 17 ++++++- .../middlewares/traefik/redirect-scheme.json | 12 ++++- .../traefik/replace-path-regex.json | 17 ++++++- .../middlewares/traefik/replace-path.json | 12 ++++- .../schemas/middlewares/traefik/retry.json | 12 ++++- .../traefik/strip-prefix-regex.json | 12 ++++- .../middlewares/traefik/strip-prefix.json | 12 ++++- .../common/schemas/persistence/configmap.json | 21 ++++++++- .../common/schemas/persistence/device.json | 12 ++++- .../common/schemas/persistence/hostPath.json | 12 ++++- .../common/schemas/persistence/iscsi.json | 26 ++++++++++- .../common/schemas/persistence/nfs.json | 17 ++++++- .../persistence/pvc-vct/static-custom.json | 17 ++++++- .../persistence/pvc-vct/static-nfs.json | 17 ++++++- .../persistence/pvc-vct/static-smb.json | 27 ++++++++++- .../common/schemas/persistence/secret.json | 21 ++++++++- charts/library/common/schemas/rbac.json | 12 ++++- charts/library/common/schemas/route.json | 8 +++- charts/library/common/schemas/secret.json | 11 ++++- .../common/schemas/service/ExternalIP.json | 12 ++++- .../common/schemas/service/ExternalName.json | 12 ++++- .../common/schemas/service/NodePort.json | 12 ++++- .../library/common/schemas/service/ports.json | 12 ++++- charts/library/common/schemas/webhook.json | 9 +++- .../common/schemas/workload/cronjob.json | 12 ++++- 47 files changed, 670 insertions(+), 87 deletions(-) diff --git a/charts/library/common/schemas/cnpg/cnpg.json b/charts/library/common/schemas/cnpg/cnpg.json index 1df535d212665..4b9f9d663703a 100644 --- a/charts/library/common/schemas/cnpg/cnpg.json +++ b/charts/library/common/schemas/cnpg/cnpg.json @@ -1,5 +1,14 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "$ref": "file:///home/runner/work/truecharts/truecharts/charts/library/common/schemas/cnpg.json", - "description": "Mirrors docs path cnpg/cnpg.md and reuses shared schema cnpg.json." + "description": "Mirrors docs path cnpg/cnpg.md and reuses shared schema cnpg.json.", + "properties": { + "cluster": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "cluster" + ] } diff --git a/charts/library/common/schemas/configmap.json b/charts/library/common/schemas/configmap.json index 17a50a3a5fa12..567ef27d67172 100644 --- a/charts/library/common/schemas/configmap.json +++ b/charts/library/common/schemas/configmap.json @@ -1,7 +1,11 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", - "properties": {}, + "properties": { + "data": { + "type": "object" + } + }, "additionalProperties": { "type": "object", "properties": { @@ -39,5 +43,8 @@ "additionalProperties": true, "description": "Define Configmap" }, - "description": "Create Configmap objects" + "description": "Create Configmap objects", + "required": [ + "data" + ] } diff --git a/charts/library/common/schemas/container/probes.json b/charts/library/common/schemas/container/probes.json index fe12fbc4c7c9d..80821520d0199 100644 --- a/charts/library/common/schemas/container/probes.json +++ b/charts/library/common/schemas/container/probes.json @@ -1,5 +1,21 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "$ref": "file:///home/runner/work/truecharts/truecharts/charts/library/common/schemas/probes.json", - "description": "Mirrors docs path container/probes.md and reuses shared schema probes.json." + "description": "Mirrors docs path container/probes.md and reuses shared schema probes.json.", + "properties": { + "probes": { + "type": "object" + }, + "liveness": { + "type": "object" + }, + "readiness": { + "type": "object" + } + }, + "required": [ + "liveness", + "probes", + "readiness" + ] } diff --git a/charts/library/common/schemas/container/resources.json b/charts/library/common/schemas/container/resources.json index afe0e12d9605d..debbacea6c335 100644 --- a/charts/library/common/schemas/container/resources.json +++ b/charts/library/common/schemas/container/resources.json @@ -1,5 +1,18 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "$ref": "file:///home/runner/work/truecharts/truecharts/charts/library/common/schemas/resources.json", - "description": "Mirrors docs path container/resources.md and reuses shared schema resources.json." + "description": "Mirrors docs path container/resources.md and reuses shared schema resources.json.", + "properties": { + "resources": { + "type": "object" + }, + "memory": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "memory", + "resources" + ] } diff --git a/charts/library/common/schemas/container/securityContext.json b/charts/library/common/schemas/container/securityContext.json index 07ae3d9ab5828..07e1bc9205333 100644 --- a/charts/library/common/schemas/container/securityContext.json +++ b/charts/library/common/schemas/container/securityContext.json @@ -1,5 +1,49 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "$ref": "file:///home/runner/work/truecharts/truecharts/charts/library/common/schemas/securityContext.json", - "description": "Mirrors docs path container/securityContext.md and reuses shared schema securityContext.json." + "description": "Mirrors docs path container/securityContext.md and reuses shared schema securityContext.json.", + "properties": { + "securityContext": { + "type": "object" + }, + "runAsUser": { + "type": "integer", + "minimum": 1 + }, + "runAsGroup": { + "type": "integer", + "minimum": 1 + }, + "readOnlyRootFilesystem": { + "type": "boolean" + }, + "allowPrivilegeEscalation": { + "type": "boolean" + }, + "privileged": { + "type": "boolean" + }, + "runAsNonRoot": { + "type": "boolean" + }, + "drop": { + "type": "string", + "minLength": 1 + }, + "profile": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "allowPrivilegeEscalation", + "drop", + "privileged", + "profile", + "readOnlyRootFilesystem", + "runAsGroup", + "runAsNonRoot", + "runAsUser", + "securityContext" + ] } diff --git a/charts/library/common/schemas/containerOptions.json b/charts/library/common/schemas/containerOptions.json index 7491ba0adebaa..f8369f82eaf59 100644 --- a/charts/library/common/schemas/containerOptions.json +++ b/charts/library/common/schemas/containerOptions.json @@ -3,14 +3,18 @@ "type": "object", "properties": { "NVIDIA_CAPS": { - "type": "array", + "type": "string", "items": { "type": "string", "description": "Configuration for `containerOptions.NVIDIA_CAPS.$item`." }, - "description": "Defines the NVIDIA_CAPS to be passed as an environment variable to the container." + "description": "Defines the NVIDIA_CAPS to be passed as an environment variable to the container.", + "minLength": 1 } }, "additionalProperties": true, - "description": "Options that apply to all containers, unless overridden at the container level See more info about containerOptions [here](/truecharts-common/containeroptions)" + "description": "Options that apply to all containers, unless overridden at the container level See more info about containerOptions [here](/truecharts-common/containeroptions)", + "required": [ + "NVIDIA_CAPS" + ] } diff --git a/charts/library/common/schemas/credentials.json b/charts/library/common/schemas/credentials.json index c16ea797ec4d0..d5892d063e9c6 100644 --- a/charts/library/common/schemas/credentials.json +++ b/charts/library/common/schemas/credentials.json @@ -1,7 +1,12 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", - "properties": {}, + "properties": { + "encrKey": { + "type": "string", + "minLength": 1 + } + }, "additionalProperties": { "type": "object", "properties": { @@ -88,5 +93,8 @@ "additionalProperties": true, "description": "Define credentials" }, - "description": "Create credentials objects" + "description": "Create credentials objects", + "required": [ + "encrKey" + ] } diff --git a/charts/library/common/schemas/global.json b/charts/library/common/schemas/global.json index 7383067757818..25a62ab5598ef 100644 --- a/charts/library/common/schemas/global.json +++ b/charts/library/common/schemas/global.json @@ -67,7 +67,8 @@ }, "minNodePort": { "type": "integer", - "description": "Minimum Node Port Allowed" + "description": "Minimum Node Port Allowed", + "minimum": 1 }, "stopAll": { "type": "boolean", @@ -81,5 +82,8 @@ } }, "additionalProperties": true, - "description": "Global values that apply to all charts See more info about global values [here](/truecharts-common/global)" + "description": "Global values that apply to all charts See more info about global values [here](/truecharts-common/global)", + "required": [ + "minNodePort" + ] } diff --git a/charts/library/common/schemas/imagePullSecret.json b/charts/library/common/schemas/imagePullSecret.json index cf95820e2fe82..99293f93d62ee 100644 --- a/charts/library/common/schemas/imagePullSecret.json +++ b/charts/library/common/schemas/imagePullSecret.json @@ -1,7 +1,12 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", - "properties": {}, + "properties": { + "email": { + "type": "string", + "minLength": 1 + } + }, "additionalProperties": { "type": "object", "properties": { @@ -82,5 +87,8 @@ "additionalProperties": true, "description": "Define image pull secret" }, - "description": "Define image pull secrets" + "description": "Define image pull secrets", + "required": [ + "email" + ] } diff --git a/charts/library/common/schemas/ingress/certManager.json b/charts/library/common/schemas/ingress/certManager.json index ab5f83520f0c5..1bc3d31de996d 100644 --- a/charts/library/common/schemas/ingress/certManager.json +++ b/charts/library/common/schemas/ingress/certManager.json @@ -2,6 +2,13 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path ingress/certManager.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": true, + "required": [ + "enabled" + ] } diff --git a/charts/library/common/schemas/ingress/homepage.json b/charts/library/common/schemas/ingress/homepage.json index c3537e90adfed..551a3cf5ab04d 100644 --- a/charts/library/common/schemas/ingress/homepage.json +++ b/charts/library/common/schemas/ingress/homepage.json @@ -2,6 +2,23 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path ingress/homepage.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "enabled": { + "type": "boolean" + }, + "key": { + "type": "string", + "minLength": 1 + }, + "value": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "enabled", + "key", + "value" + ] } diff --git a/charts/library/common/schemas/middlewares/traefik/add-prefix.json b/charts/library/common/schemas/middlewares/traefik/add-prefix.json index 2da0ca46115fd..f7123a08eb3fb 100644 --- a/charts/library/common/schemas/middlewares/traefik/add-prefix.json +++ b/charts/library/common/schemas/middlewares/traefik/add-prefix.json @@ -2,6 +2,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path middlewares/traefik/add-prefix.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "prefix": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "prefix" + ] } diff --git a/charts/library/common/schemas/middlewares/traefik/basic-auth.json b/charts/library/common/schemas/middlewares/traefik/basic-auth.json index 4a26ab1cb877c..c2ee920adc683 100644 --- a/charts/library/common/schemas/middlewares/traefik/basic-auth.json +++ b/charts/library/common/schemas/middlewares/traefik/basic-auth.json @@ -2,6 +2,28 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path middlewares/traefik/basic-auth.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "users": { + "type": "object" + }, + "username": { + "type": "string", + "minLength": 1 + }, + "password": { + "type": "string", + "minLength": 1 + }, + "secret": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "password", + "secret", + "username", + "users" + ] } diff --git a/charts/library/common/schemas/middlewares/traefik/chain.json b/charts/library/common/schemas/middlewares/traefik/chain.json index dfac288dd15bb..63e4627dbcec7 100644 --- a/charts/library/common/schemas/middlewares/traefik/chain.json +++ b/charts/library/common/schemas/middlewares/traefik/chain.json @@ -2,6 +2,22 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path middlewares/traefik/chain.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "middlewares": { + "type": "object" + }, + "name": { + "type": "string", + "minLength": 1 + }, + "expandObjectName": { + "type": "boolean" + } + }, + "additionalProperties": true, + "required": [ + "expandObjectName", + "middlewares", + "name" + ] } diff --git a/charts/library/common/schemas/middlewares/traefik/forward-auth.json b/charts/library/common/schemas/middlewares/traefik/forward-auth.json index 0c351428f8012..bcc3d5470d692 100644 --- a/charts/library/common/schemas/middlewares/traefik/forward-auth.json +++ b/charts/library/common/schemas/middlewares/traefik/forward-auth.json @@ -2,6 +2,41 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path middlewares/traefik/forward-auth.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "address": { + "type": "string", + "minLength": 1 + }, + "authResponseHeadersRegex": { + "type": "string", + "minLength": 1 + }, + "trustForwardHeader": { + "type": "boolean" + }, + "authResponseHeaders": { + "type": "string", + "minLength": 1 + }, + "authRequestHeaders": { + "type": "string", + "minLength": 1 + }, + "tls": { + "type": "object" + }, + "insecureSkipVerify": { + "type": "boolean" + } + }, + "additionalProperties": true, + "required": [ + "address", + "authRequestHeaders", + "authResponseHeaders", + "authResponseHeadersRegex", + "insecureSkipVerify", + "tls", + "trustForwardHeader" + ] } diff --git a/charts/library/common/schemas/middlewares/traefik/ip-allow-list.json b/charts/library/common/schemas/middlewares/traefik/ip-allow-list.json index 73432769bf6c7..b151fed03b142 100644 --- a/charts/library/common/schemas/middlewares/traefik/ip-allow-list.json +++ b/charts/library/common/schemas/middlewares/traefik/ip-allow-list.json @@ -2,6 +2,28 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path middlewares/traefik/ip-allow-list.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "sourceRange": { + "type": "string", + "minLength": 1 + }, + "ipStrategy": { + "type": "object" + }, + "depth": { + "type": "integer", + "minimum": 1 + }, + "excludedIPs": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "depth", + "excludedIPs", + "ipStrategy", + "sourceRange" + ] } diff --git a/charts/library/common/schemas/middlewares/traefik/plugin-bouncer.json b/charts/library/common/schemas/middlewares/traefik/plugin-bouncer.json index ce4c9f3f6c654..edcffe089211a 100644 --- a/charts/library/common/schemas/middlewares/traefik/plugin-bouncer.json +++ b/charts/library/common/schemas/middlewares/traefik/plugin-bouncer.json @@ -2,6 +2,13 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path middlewares/traefik/plugin-bouncer.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": true, + "required": [ + "enabled" + ] } diff --git a/charts/library/common/schemas/middlewares/traefik/plugin-geoblock.json b/charts/library/common/schemas/middlewares/traefik/plugin-geoblock.json index f6547a710f28d..ff9ea42fde78f 100644 --- a/charts/library/common/schemas/middlewares/traefik/plugin-geoblock.json +++ b/charts/library/common/schemas/middlewares/traefik/plugin-geoblock.json @@ -2,6 +2,19 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path middlewares/traefik/plugin-geoblock.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "api": { + "type": "string", + "minLength": 1 + }, + "countries": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "api", + "countries" + ] } diff --git a/charts/library/common/schemas/middlewares/traefik/plugin-mod-security.json b/charts/library/common/schemas/middlewares/traefik/plugin-mod-security.json index 4be4a6cbebdcb..d0afcb0bbcaf7 100644 --- a/charts/library/common/schemas/middlewares/traefik/plugin-mod-security.json +++ b/charts/library/common/schemas/middlewares/traefik/plugin-mod-security.json @@ -2,6 +2,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path middlewares/traefik/plugin-mod-security.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "modSecurityUrl": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "modSecurityUrl" + ] } diff --git a/charts/library/common/schemas/middlewares/traefik/plugin-real-ip.json b/charts/library/common/schemas/middlewares/traefik/plugin-real-ip.json index 2627784da4e68..c4516a6940906 100644 --- a/charts/library/common/schemas/middlewares/traefik/plugin-real-ip.json +++ b/charts/library/common/schemas/middlewares/traefik/plugin-real-ip.json @@ -2,6 +2,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path middlewares/traefik/plugin-real-ip.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "excludednets": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "excludednets" + ] } diff --git a/charts/library/common/schemas/middlewares/traefik/plugin-rewrite-response-headers.json b/charts/library/common/schemas/middlewares/traefik/plugin-rewrite-response-headers.json index c9b8c2ac126a5..b83db46b2c69a 100644 --- a/charts/library/common/schemas/middlewares/traefik/plugin-rewrite-response-headers.json +++ b/charts/library/common/schemas/middlewares/traefik/plugin-rewrite-response-headers.json @@ -2,6 +2,28 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path middlewares/traefik/plugin-rewrite-response-headers.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "rewrites": { + "type": "object" + }, + "header": { + "type": "string", + "minLength": 1 + }, + "regex": { + "type": "string", + "minLength": 1 + }, + "replacement": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "header", + "regex", + "replacement", + "rewrites" + ] } diff --git a/charts/library/common/schemas/middlewares/traefik/plugin-theme-park.json b/charts/library/common/schemas/middlewares/traefik/plugin-theme-park.json index 8769176057be0..fafbe56ab7b73 100644 --- a/charts/library/common/schemas/middlewares/traefik/plugin-theme-park.json +++ b/charts/library/common/schemas/middlewares/traefik/plugin-theme-park.json @@ -2,6 +2,19 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path middlewares/traefik/plugin-theme-park.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "app": { + "type": "string", + "minLength": 1 + }, + "theme": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "app", + "theme" + ] } diff --git a/charts/library/common/schemas/middlewares/traefik/redirect-regex.json b/charts/library/common/schemas/middlewares/traefik/redirect-regex.json index e2cf8ba60ca99..e79a05b56077d 100644 --- a/charts/library/common/schemas/middlewares/traefik/redirect-regex.json +++ b/charts/library/common/schemas/middlewares/traefik/redirect-regex.json @@ -2,6 +2,19 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path middlewares/traefik/redirect-regex.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "regex": { + "type": "string", + "minLength": 1 + }, + "replacement": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "regex", + "replacement" + ] } diff --git a/charts/library/common/schemas/middlewares/traefik/redirect-scheme.json b/charts/library/common/schemas/middlewares/traefik/redirect-scheme.json index a46a2220d7e02..1b595c37047c7 100644 --- a/charts/library/common/schemas/middlewares/traefik/redirect-scheme.json +++ b/charts/library/common/schemas/middlewares/traefik/redirect-scheme.json @@ -2,6 +2,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path middlewares/traefik/redirect-scheme.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "scheme": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "scheme" + ] } diff --git a/charts/library/common/schemas/middlewares/traefik/replace-path-regex.json b/charts/library/common/schemas/middlewares/traefik/replace-path-regex.json index 5df6863706e83..44e460a561c95 100644 --- a/charts/library/common/schemas/middlewares/traefik/replace-path-regex.json +++ b/charts/library/common/schemas/middlewares/traefik/replace-path-regex.json @@ -2,6 +2,19 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path middlewares/traefik/replace-path-regex.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "regex": { + "type": "string", + "minLength": 1 + }, + "replacement": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "regex", + "replacement" + ] } diff --git a/charts/library/common/schemas/middlewares/traefik/replace-path.json b/charts/library/common/schemas/middlewares/traefik/replace-path.json index 089d358368f02..7a7554017f0b0 100644 --- a/charts/library/common/schemas/middlewares/traefik/replace-path.json +++ b/charts/library/common/schemas/middlewares/traefik/replace-path.json @@ -2,6 +2,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path middlewares/traefik/replace-path.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "path": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "path" + ] } diff --git a/charts/library/common/schemas/middlewares/traefik/retry.json b/charts/library/common/schemas/middlewares/traefik/retry.json index 4eea8d1eab21e..08ba6f6e0acc2 100644 --- a/charts/library/common/schemas/middlewares/traefik/retry.json +++ b/charts/library/common/schemas/middlewares/traefik/retry.json @@ -2,6 +2,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path middlewares/traefik/retry.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "attempts": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "attempts" + ] } diff --git a/charts/library/common/schemas/middlewares/traefik/strip-prefix-regex.json b/charts/library/common/schemas/middlewares/traefik/strip-prefix-regex.json index eccea49e22817..661598ba32e5a 100644 --- a/charts/library/common/schemas/middlewares/traefik/strip-prefix-regex.json +++ b/charts/library/common/schemas/middlewares/traefik/strip-prefix-regex.json @@ -2,6 +2,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path middlewares/traefik/strip-prefix-regex.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "regex": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "regex" + ] } diff --git a/charts/library/common/schemas/middlewares/traefik/strip-prefix.json b/charts/library/common/schemas/middlewares/traefik/strip-prefix.json index 46502ff0b901b..11006c63ab77f 100644 --- a/charts/library/common/schemas/middlewares/traefik/strip-prefix.json +++ b/charts/library/common/schemas/middlewares/traefik/strip-prefix.json @@ -2,6 +2,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path middlewares/traefik/strip-prefix.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "prefix": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "prefix" + ] } diff --git a/charts/library/common/schemas/persistence/configmap.json b/charts/library/common/schemas/persistence/configmap.json index 99467849ddfe4..dc8b4a98dbce9 100644 --- a/charts/library/common/schemas/persistence/configmap.json +++ b/charts/library/common/schemas/persistence/configmap.json @@ -1,5 +1,24 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "$ref": "file:///home/runner/work/truecharts/truecharts/charts/library/common/schemas/configmap.json", - "description": "Mirrors docs path persistence/configmap.md and reuses shared schema configmap.json." + "description": "Mirrors docs path persistence/configmap.md and reuses shared schema configmap.json.", + "properties": { + "objectName": { + "type": "string", + "minLength": 1 + }, + "key": { + "type": "string", + "minLength": 1 + }, + "path": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "key", + "objectName", + "path" + ] } diff --git a/charts/library/common/schemas/persistence/device.json b/charts/library/common/schemas/persistence/device.json index a8a92b0d2cc4d..17fc630dba093 100644 --- a/charts/library/common/schemas/persistence/device.json +++ b/charts/library/common/schemas/persistence/device.json @@ -2,6 +2,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path persistence/device.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "hostPath": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "hostPath" + ] } diff --git a/charts/library/common/schemas/persistence/hostPath.json b/charts/library/common/schemas/persistence/hostPath.json index b8699a3c025b8..eb79d9f7fcffb 100644 --- a/charts/library/common/schemas/persistence/hostPath.json +++ b/charts/library/common/schemas/persistence/hostPath.json @@ -2,6 +2,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path persistence/hostPath.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "hostPath": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "hostPath" + ] } diff --git a/charts/library/common/schemas/persistence/iscsi.json b/charts/library/common/schemas/persistence/iscsi.json index bdcce5ea7366d..96b0492b437c6 100644 --- a/charts/library/common/schemas/persistence/iscsi.json +++ b/charts/library/common/schemas/persistence/iscsi.json @@ -2,6 +2,28 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path persistence/iscsi.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "iscsi": { + "type": "object" + }, + "targetPortal": { + "type": "string", + "minLength": 1 + }, + "iqn": { + "type": "string", + "minLength": 1 + }, + "lun": { + "type": "integer", + "minimum": 1 + } + }, + "additionalProperties": true, + "required": [ + "iqn", + "iscsi", + "lun", + "targetPortal" + ] } diff --git a/charts/library/common/schemas/persistence/nfs.json b/charts/library/common/schemas/persistence/nfs.json index 1ab8855525d43..bc6a697030597 100644 --- a/charts/library/common/schemas/persistence/nfs.json +++ b/charts/library/common/schemas/persistence/nfs.json @@ -2,6 +2,19 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path persistence/nfs.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "path": { + "type": "string", + "minLength": 1 + }, + "server": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "path", + "server" + ] } diff --git a/charts/library/common/schemas/persistence/pvc-vct/static-custom.json b/charts/library/common/schemas/persistence/pvc-vct/static-custom.json index 183bcac96e41f..a3d5f57773145 100644 --- a/charts/library/common/schemas/persistence/pvc-vct/static-custom.json +++ b/charts/library/common/schemas/persistence/pvc-vct/static-custom.json @@ -2,6 +2,19 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path persistence/pvc-vct/static-custom.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "driver": { + "type": "string", + "minLength": 1 + }, + "provisioner": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "driver", + "provisioner" + ] } diff --git a/charts/library/common/schemas/persistence/pvc-vct/static-nfs.json b/charts/library/common/schemas/persistence/pvc-vct/static-nfs.json index 29a7d10bdd1b1..d6d0bcc7a8c4f 100644 --- a/charts/library/common/schemas/persistence/pvc-vct/static-nfs.json +++ b/charts/library/common/schemas/persistence/pvc-vct/static-nfs.json @@ -2,6 +2,19 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path persistence/pvc-vct/static-nfs.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "server": { + "type": "string", + "minLength": 1 + }, + "share": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "server", + "share" + ] } diff --git a/charts/library/common/schemas/persistence/pvc-vct/static-smb.json b/charts/library/common/schemas/persistence/pvc-vct/static-smb.json index d4c6a3db91cab..29e98cf4771a4 100644 --- a/charts/library/common/schemas/persistence/pvc-vct/static-smb.json +++ b/charts/library/common/schemas/persistence/pvc-vct/static-smb.json @@ -2,6 +2,29 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path persistence/pvc-vct/static-smb.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "server": { + "type": "string", + "minLength": 1 + }, + "share": { + "type": "string", + "minLength": 1 + }, + "user": { + "type": "string", + "minLength": 1 + }, + "password": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "password", + "server", + "share", + "user" + ] } diff --git a/charts/library/common/schemas/persistence/secret.json b/charts/library/common/schemas/persistence/secret.json index 4319675a0ffa1..95177e367cc95 100644 --- a/charts/library/common/schemas/persistence/secret.json +++ b/charts/library/common/schemas/persistence/secret.json @@ -1,5 +1,24 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "$ref": "file:///home/runner/work/truecharts/truecharts/charts/library/common/schemas/secret.json", - "description": "Mirrors docs path persistence/secret.md and reuses shared schema secret.json." + "description": "Mirrors docs path persistence/secret.md and reuses shared schema secret.json.", + "properties": { + "objectName": { + "type": "string", + "minLength": 1 + }, + "key": { + "type": "string", + "minLength": 1 + }, + "path": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "key", + "objectName", + "path" + ] } diff --git a/charts/library/common/schemas/rbac.json b/charts/library/common/schemas/rbac.json index 26c80c088d7c4..f05b9a6b3a15b 100644 --- a/charts/library/common/schemas/rbac.json +++ b/charts/library/common/schemas/rbac.json @@ -1,7 +1,12 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", - "properties": {}, + "properties": { + "apiGroup": { + "type": "string", + "minLength": 1 + } + }, "additionalProperties": { "type": "object", "properties": { @@ -123,5 +128,8 @@ "additionalProperties": true, "description": "Define rbac" }, - "description": "Create rbac objects" + "description": "Create rbac objects", + "required": [ + "apiGroup" + ] } diff --git a/charts/library/common/schemas/route.json b/charts/library/common/schemas/route.json index 3cb5fddacd4a2..379137be02952 100644 --- a/charts/library/common/schemas/route.json +++ b/charts/library/common/schemas/route.json @@ -183,8 +183,14 @@ }, "additionalProperties": true, "description": "Configuration for `route.main`." + }, + "rules": { + "type": "object" } }, "additionalProperties": true, - "description": "Configuration for `route`." + "description": "Configuration for `route`.", + "required": [ + "rules" + ] } diff --git a/charts/library/common/schemas/secret.json b/charts/library/common/schemas/secret.json index 8e0eed6a7f90d..29acb25cc52e3 100644 --- a/charts/library/common/schemas/secret.json +++ b/charts/library/common/schemas/secret.json @@ -1,7 +1,11 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", - "properties": {}, + "properties": { + "data": { + "type": "object" + } + }, "additionalProperties": { "type": "object", "properties": { @@ -45,5 +49,8 @@ "additionalProperties": true, "description": "Define Secret" }, - "description": "Create Secret objects" + "description": "Create Secret objects", + "required": [ + "data" + ] } diff --git a/charts/library/common/schemas/service/ExternalIP.json b/charts/library/common/schemas/service/ExternalIP.json index 9b05bc3337261..622548522707c 100644 --- a/charts/library/common/schemas/service/ExternalIP.json +++ b/charts/library/common/schemas/service/ExternalIP.json @@ -2,6 +2,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path service/ExternalIP.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "externalIP": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "externalIP" + ] } diff --git a/charts/library/common/schemas/service/ExternalName.json b/charts/library/common/schemas/service/ExternalName.json index 185d7f857ae4b..e388c4b9b1487 100644 --- a/charts/library/common/schemas/service/ExternalName.json +++ b/charts/library/common/schemas/service/ExternalName.json @@ -2,6 +2,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path service/ExternalName.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "externalName": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "externalName" + ] } diff --git a/charts/library/common/schemas/service/NodePort.json b/charts/library/common/schemas/service/NodePort.json index d7866a95d10c1..3d09d65c75b03 100644 --- a/charts/library/common/schemas/service/NodePort.json +++ b/charts/library/common/schemas/service/NodePort.json @@ -2,6 +2,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path service/NodePort.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "nodePort": { + "type": "integer", + "minimum": 1 + } + }, + "additionalProperties": true, + "required": [ + "nodePort" + ] } diff --git a/charts/library/common/schemas/service/ports.json b/charts/library/common/schemas/service/ports.json index a74275bf93eb3..b402294f6c9a8 100644 --- a/charts/library/common/schemas/service/ports.json +++ b/charts/library/common/schemas/service/ports.json @@ -2,6 +2,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path service/ports.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "port": { + "type": "integer", + "minimum": 1 + } + }, + "additionalProperties": true, + "required": [ + "port" + ] } diff --git a/charts/library/common/schemas/webhook.json b/charts/library/common/schemas/webhook.json index 38f796d4555b7..f108f6fe6238f 100644 --- a/charts/library/common/schemas/webhook.json +++ b/charts/library/common/schemas/webhook.json @@ -39,6 +39,10 @@ }, "additionalProperties": true, "description": "Create webhook objects" + }, + "resources": { + "type": "string", + "minLength": 1 } }, "additionalProperties": { @@ -224,5 +228,8 @@ "additionalProperties": true, "description": "Define a webhook object with the given name" }, - "description": "Create webhook objects" + "description": "Create webhook objects", + "required": [ + "resources" + ] } diff --git a/charts/library/common/schemas/workload/cronjob.json b/charts/library/common/schemas/workload/cronjob.json index b312c64d45411..f0097096f2f16 100644 --- a/charts/library/common/schemas/workload/cronjob.json +++ b/charts/library/common/schemas/workload/cronjob.json @@ -2,6 +2,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "description": "Mirrors docs path workload/cronjob.md.", - "properties": {}, - "additionalProperties": true + "properties": { + "schedule": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": true, + "required": [ + "schedule" + ] } From 23e5ecd546ffcf3928cee8ea4dc50bda2b68a856 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 14 Feb 2026 14:42:21 +0000 Subject: [PATCH 3/4] fix(common): revert required constraints on top-level container schemas - Remove required fields from top-level container schemas (rbac, configmap, secret, etc.) - Keep required constraints only for nested instance schemas (persistence/nfs, service/ports, etc.) - Top-level containers shouldn't enforce required fields when empty by default Co-authored-by: PrivatePuffin <7613738+PrivatePuffin@users.noreply.github.com> --- charts/library/common/schemas/cnpg/cnpg.json | 11 +---------- charts/library/common/schemas/configmap.json | 11 ++--------- charts/library/common/schemas/containerOptions.json | 10 +++------- charts/library/common/schemas/credentials.json | 12 ++---------- charts/library/common/schemas/imagePullSecret.json | 12 ++---------- charts/library/common/schemas/rbac.json | 12 ++---------- charts/library/common/schemas/route.json | 8 +------- charts/library/common/schemas/secret.json | 11 ++--------- charts/library/common/schemas/webhook.json | 9 +-------- 9 files changed, 16 insertions(+), 80 deletions(-) diff --git a/charts/library/common/schemas/cnpg/cnpg.json b/charts/library/common/schemas/cnpg/cnpg.json index 4b9f9d663703a..1df535d212665 100644 --- a/charts/library/common/schemas/cnpg/cnpg.json +++ b/charts/library/common/schemas/cnpg/cnpg.json @@ -1,14 +1,5 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "$ref": "file:///home/runner/work/truecharts/truecharts/charts/library/common/schemas/cnpg.json", - "description": "Mirrors docs path cnpg/cnpg.md and reuses shared schema cnpg.json.", - "properties": { - "cluster": { - "type": "string", - "minLength": 1 - } - }, - "required": [ - "cluster" - ] + "description": "Mirrors docs path cnpg/cnpg.md and reuses shared schema cnpg.json." } diff --git a/charts/library/common/schemas/configmap.json b/charts/library/common/schemas/configmap.json index 567ef27d67172..17a50a3a5fa12 100644 --- a/charts/library/common/schemas/configmap.json +++ b/charts/library/common/schemas/configmap.json @@ -1,11 +1,7 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", - "properties": { - "data": { - "type": "object" - } - }, + "properties": {}, "additionalProperties": { "type": "object", "properties": { @@ -43,8 +39,5 @@ "additionalProperties": true, "description": "Define Configmap" }, - "description": "Create Configmap objects", - "required": [ - "data" - ] + "description": "Create Configmap objects" } diff --git a/charts/library/common/schemas/containerOptions.json b/charts/library/common/schemas/containerOptions.json index f8369f82eaf59..7491ba0adebaa 100644 --- a/charts/library/common/schemas/containerOptions.json +++ b/charts/library/common/schemas/containerOptions.json @@ -3,18 +3,14 @@ "type": "object", "properties": { "NVIDIA_CAPS": { - "type": "string", + "type": "array", "items": { "type": "string", "description": "Configuration for `containerOptions.NVIDIA_CAPS.$item`." }, - "description": "Defines the NVIDIA_CAPS to be passed as an environment variable to the container.", - "minLength": 1 + "description": "Defines the NVIDIA_CAPS to be passed as an environment variable to the container." } }, "additionalProperties": true, - "description": "Options that apply to all containers, unless overridden at the container level See more info about containerOptions [here](/truecharts-common/containeroptions)", - "required": [ - "NVIDIA_CAPS" - ] + "description": "Options that apply to all containers, unless overridden at the container level See more info about containerOptions [here](/truecharts-common/containeroptions)" } diff --git a/charts/library/common/schemas/credentials.json b/charts/library/common/schemas/credentials.json index d5892d063e9c6..c16ea797ec4d0 100644 --- a/charts/library/common/schemas/credentials.json +++ b/charts/library/common/schemas/credentials.json @@ -1,12 +1,7 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", - "properties": { - "encrKey": { - "type": "string", - "minLength": 1 - } - }, + "properties": {}, "additionalProperties": { "type": "object", "properties": { @@ -93,8 +88,5 @@ "additionalProperties": true, "description": "Define credentials" }, - "description": "Create credentials objects", - "required": [ - "encrKey" - ] + "description": "Create credentials objects" } diff --git a/charts/library/common/schemas/imagePullSecret.json b/charts/library/common/schemas/imagePullSecret.json index 99293f93d62ee..cf95820e2fe82 100644 --- a/charts/library/common/schemas/imagePullSecret.json +++ b/charts/library/common/schemas/imagePullSecret.json @@ -1,12 +1,7 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", - "properties": { - "email": { - "type": "string", - "minLength": 1 - } - }, + "properties": {}, "additionalProperties": { "type": "object", "properties": { @@ -87,8 +82,5 @@ "additionalProperties": true, "description": "Define image pull secret" }, - "description": "Define image pull secrets", - "required": [ - "email" - ] + "description": "Define image pull secrets" } diff --git a/charts/library/common/schemas/rbac.json b/charts/library/common/schemas/rbac.json index f05b9a6b3a15b..26c80c088d7c4 100644 --- a/charts/library/common/schemas/rbac.json +++ b/charts/library/common/schemas/rbac.json @@ -1,12 +1,7 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", - "properties": { - "apiGroup": { - "type": "string", - "minLength": 1 - } - }, + "properties": {}, "additionalProperties": { "type": "object", "properties": { @@ -128,8 +123,5 @@ "additionalProperties": true, "description": "Define rbac" }, - "description": "Create rbac objects", - "required": [ - "apiGroup" - ] + "description": "Create rbac objects" } diff --git a/charts/library/common/schemas/route.json b/charts/library/common/schemas/route.json index 379137be02952..3cb5fddacd4a2 100644 --- a/charts/library/common/schemas/route.json +++ b/charts/library/common/schemas/route.json @@ -183,14 +183,8 @@ }, "additionalProperties": true, "description": "Configuration for `route.main`." - }, - "rules": { - "type": "object" } }, "additionalProperties": true, - "description": "Configuration for `route`.", - "required": [ - "rules" - ] + "description": "Configuration for `route`." } diff --git a/charts/library/common/schemas/secret.json b/charts/library/common/schemas/secret.json index 29acb25cc52e3..8e0eed6a7f90d 100644 --- a/charts/library/common/schemas/secret.json +++ b/charts/library/common/schemas/secret.json @@ -1,11 +1,7 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", - "properties": { - "data": { - "type": "object" - } - }, + "properties": {}, "additionalProperties": { "type": "object", "properties": { @@ -49,8 +45,5 @@ "additionalProperties": true, "description": "Define Secret" }, - "description": "Create Secret objects", - "required": [ - "data" - ] + "description": "Create Secret objects" } diff --git a/charts/library/common/schemas/webhook.json b/charts/library/common/schemas/webhook.json index f108f6fe6238f..38f796d4555b7 100644 --- a/charts/library/common/schemas/webhook.json +++ b/charts/library/common/schemas/webhook.json @@ -39,10 +39,6 @@ }, "additionalProperties": true, "description": "Create webhook objects" - }, - "resources": { - "type": "string", - "minLength": 1 } }, "additionalProperties": { @@ -228,8 +224,5 @@ "additionalProperties": true, "description": "Define a webhook object with the given name" }, - "description": "Create webhook objects", - "required": [ - "resources" - ] + "description": "Create webhook objects" } From 5b3254182893927921c94422ef8c46e4c147932c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 14 Feb 2026 14:45:36 +0000 Subject: [PATCH 4/4] fix(common): adjust minimum constraints for edge cases - Allow LUN 0 for iSCSI (valid iSCSI configuration) - Allow UID/GID 0 for securityContext (root user/group is valid use case) - Keep retry attempts as string per documentation Co-authored-by: PrivatePuffin <7613738+PrivatePuffin@users.noreply.github.com> --- charts/library/common/schemas/container/securityContext.json | 4 ++-- charts/library/common/schemas/persistence/iscsi.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/library/common/schemas/container/securityContext.json b/charts/library/common/schemas/container/securityContext.json index 07e1bc9205333..18c40bfef4ef5 100644 --- a/charts/library/common/schemas/container/securityContext.json +++ b/charts/library/common/schemas/container/securityContext.json @@ -8,11 +8,11 @@ }, "runAsUser": { "type": "integer", - "minimum": 1 + "minimum": 0 }, "runAsGroup": { "type": "integer", - "minimum": 1 + "minimum": 0 }, "readOnlyRootFilesystem": { "type": "boolean" diff --git a/charts/library/common/schemas/persistence/iscsi.json b/charts/library/common/schemas/persistence/iscsi.json index 96b0492b437c6..27d3c5020f130 100644 --- a/charts/library/common/schemas/persistence/iscsi.json +++ b/charts/library/common/schemas/persistence/iscsi.json @@ -16,7 +16,7 @@ }, "lun": { "type": "integer", - "minimum": 1 + "minimum": 0 } }, "additionalProperties": true,