diff --git a/deployments/kubernetes/chart/reloader/values.schema.json b/deployments/kubernetes/chart/reloader/values.schema.json index 56eb678a..08c1cac8 100644 --- a/deployments/kubernetes/chart/reloader/values.schema.json +++ b/deployments/kubernetes/chart/reloader/values.schema.json @@ -12,8 +12,133 @@ "env-vars", "annotations" ] + }, + "service": { + "type": "object", + "properties": { + "ipFamilyPolicy": { + "type": "string", + "enum": [ + "SingleStack", + "PreferDualStack", + "RequireDualStack" + ] + }, + "ipFamilies": { + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 2, + "uniqueItems": true + } + }, + "allOf": [ + { + "if": { + "properties": { + "ipFamilyPolicy": { + "const": "SingleStack" + } + }, + "required": [ + "ipFamilyPolicy" + ] + }, + "then": { + "properties": { + "ipFamilies": { + "allOf": [ + { + "type": "array" + }, + { + "items": { + "type": "string", + "enum": [ + "IPv4" + ] + } + }, + { + "maxItems": 1, + "minItems": 1 + } + ] + } + } + } + }, + { + "if": { + "properties": { + "ipFamilyPolicy": { + "const": "RequireDualStack" + } + }, + "required": [ + "ipFamilyPolicy" + ] + }, + "then": { + "properties": { + "ipFamilies": { + "allOf": [ + { + "type": "array" + }, + { + "items": { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + } + }, + { + "minItems": 2 + } + ] + } + } + } + }, + { + "if": { + "properties": { + "ipFamilyPolicy": { + "const": "PreferDualStack" + } + }, + "required": [ + "ipFamilyPolicy" + ] + }, + "then": { + "properties": { + "ipFamilies": { + "allOf": [ + { + "type": "array" + }, + { + "items": { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + } + } + ] + } + } + } + } + ] } } } } -} \ No newline at end of file +}