helm-charts/charts/library/common/schemas/service.json
Bernd Schorgers a01a89cb13
feat(common): Release common 4.0.0 (#398)
Co-authored-by: lab-assistant[bot] <180935599+lab-assistant[bot]@users.noreply.github.com>
2025-05-16 08:55:14 +02:00

128 lines
3 KiB
JSON

{
"instance": {
"allOf": [
{ "$ref": "definitions.json#/resourceIdentifier" },
{
"type": "object",
"additionalProperties": false,
"properties": {
"forceRename": {},
"prefix": {},
"suffix": {},
"enabled": {
"type": "boolean",
"default": true
},
"annotations": {
"$ref": "definitions.json#/annotations"
},
"labels": {
"$ref": "definitions.json#/labels"
},
"type": {
"type": "string"
},
"clusterIP": {
"type": "string"
},
"externalName": {
"type": "string"
},
"loadBalancerIP": {
"type": "string"
},
"loadBalancerSourceRanges": {
"type": "array",
"items": {"type": "string"}
},
"loadBalancerClass": {
"type": "string"
},
"internalTrafficPolicy": {
"type": "string",
"enum": ["Cluster", "Local"]
},
"externalTrafficPolicy": {
"type": "string",
"enum": ["Cluster", "Local"]
},
"allocateLoadBalancerNodePorts": {
"type": "boolean"
},
"sessionAffinity": {
"type": "string",
"enum": ["None", "ClientIP"]
},
"sessionAffinityConfig": {
"type": "object"
},
"externalIPs": {
"type": "array",
"items": {"type": "string"}
},
"publishNotReadyAddresses": {
"type": "boolean"
},
"ipFamilyPolicy": {
"type": "string",
"enum": ["SingleStack", "PreferDualStack", "RequireDualStack"]
},
"ipFamilies": {
"type": "array",
"items": {
"type": "string",
"enum": ["IPv4", "IPv6"]
}
},
"ports": {
"type": "object",
"additionalProperties": {
"$ref": "#/servicePort"
}
},
"primary": {
"type": "boolean",
"default": false
},
"controller": {
"type": "string"
},
"extraSelectorLabels": {}
},
"required": []
}
]
},
"servicePort": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean",
"default": true
},
"primary": {
"type": "boolean",
"default": false
},
"port": {
"type": ["string", "integer"]
},
"protocol": {
"type": "string",
"enum": ["HTTP", "HTTPS", "TCP", "UDP"]
},
"targetPort": {
"type": ["string", "integer"]
},
"nodePort": {
"type": ["string", "integer"]
},
"appProtocol": {
"type": "string"
}
},
"required": ["port"]
}
}