From 68f95ae7a45922ccefb867ce8082ed6ab2eae12a Mon Sep 17 00:00:00 2001 From: Kjeld Schouten Date: Mon, 8 Apr 2024 13:18:30 +0200 Subject: [PATCH] finish service schema --- library/common/schemas/definitions.json | 10 ++++++ library/common/schemas/service.json | 45 ++++++++++++++++++------- 2 files changed, 43 insertions(+), 12 deletions(-) diff --git a/library/common/schemas/definitions.json b/library/common/schemas/definitions.json index 9f4b4e90..467e83cd 100644 --- a/library/common/schemas/definitions.json +++ b/library/common/schemas/definitions.json @@ -11,5 +11,15 @@ "additionalProperties": { "type": ["string", "null"] } + }, + "enabled": { + "type": ["boolean", "string"] + }, + "targetSelector": { + "type": ["string"] + }, + "primary": { + "type": ["boolean"], + "default": false } } diff --git a/library/common/schemas/service.json b/library/common/schemas/service.json index cd663bd1..6da5da0d 100644 --- a/library/common/schemas/service.json +++ b/library/common/schemas/service.json @@ -1,11 +1,10 @@ { "instance": { "type": "object", - "additionalProperties": true, + "additionalProperties": false, "properties": { "enabled": { - "type": "boolean", - "default": true + "$ref": "definitions.json#/enabled" }, "annotations": { "$ref": "definitions.json#/annotations" @@ -13,12 +12,21 @@ "labels": { "$ref": "definitions.json#/labels" }, - "nameOverride": { + "name": { + "type": "string" + }, + "namespace": { "type": "string" }, "type": { "type": "string" }, + "targetSelector": { + "$ref": "definitions.json#/enabled" + }, + "expandObjectName": { + "type": "boolean" + }, "clusterIP": { "type": "string" }, @@ -41,7 +49,17 @@ "enum": ["None", "ClientIP"] }, "sessionAffinityConfig": { - "type": "object" + "type": "object", + "properties": { + "clientIP": { + "type": "object", + "properties": { + "timeoutSeconds": { + "type": ["string", "integer"] + }, + } + } + } }, "externalIPs": { "type": "array", @@ -68,8 +86,7 @@ } }, "primary": { - "type": "boolean", - "default": false + "$ref": "definitions.json#/primary" } }, "required": [] @@ -77,15 +94,16 @@ "servicePort": { "type": "object", - "additionalProperties": true, + "additionalProperties": false, "properties": { "enabled": { - "type": "boolean", - "default": true + "$ref": "definitions.json#/enabled" }, "primary": { - "type": "boolean", - "default": false + "$ref": "definitions.json#/primary" + }, + "targetSelector": { + "$ref": "definitions.json#/enabled" }, "port": { "type": ["string", "integer"] @@ -97,6 +115,9 @@ "targetPort": { "type": ["string", "integer"] }, + "hostPort": { + "type": ["string", "integer"] + }, "nodePort": { "type": ["string", "integer"] }