{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "nameOverride": { "type": "string" }, "fullnameOverride": { "type": "string" }, "commonLabels": { "$ref": "#/definitions/StringMap" }, "commonAnnotations": { "$ref": "#/definitions/StringMap" }, "crds": { "type": "object", "properties": { "skipVersionCheck": { "type": "boolean" } }, "additionalProperties": false }, "imagePullSecrets": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 } }, "required": [ "name" ], "additionalProperties": true } }, "operator": { "type": "object", "properties": { "replicaCount": { "type": "integer", "minimum": 0 }, "updateStrategy": { "$ref": "#/definitions/UpdateStrategy" }, "image": { "$ref": "#/definitions/Image" }, "podAnnotations": { "$ref": "#/definitions/StringMap" }, "podLabels": { "$ref": "#/definitions/StringMap" }, "serviceAnnotations": { "$ref": "#/definitions/StringMap" }, "serviceLabels": { "$ref": "#/definitions/StringMap" }, "resources": { "type": "object" }, "nodeSelector": { "$ref": "#/definitions/StringMap" }, "tolerations": { "type": "array", "items": { "type": "object" } }, "affinity": { "type": "object" }, "config": { "type": "object", "properties": { "logLevel": { "type": "string", "enum": [ "debug", "info", "warn", "error" ] } }, "required": [ "logLevel" ], "additionalProperties": false }, "serviceAccount": { "type": "object", "properties": { "create": { "type": "boolean" }, "annotations": { "$ref": "#/definitions/StringMap" }, "name": { "type": "string" } }, "required": [ "annotations", "create", "name" ], "additionalProperties": false }, "watchNamespaces": { "type": "array", "items": { "type": "string" } }, "watchNamespaceSelector": { "$ref": "#/definitions/LabelSelector" }, "rbac": { "type": "object", "properties": { "create": { "type": "boolean" } }, "required": [ "create" ], "additionalProperties": false }, "serviceMonitor": { "type": "object", "properties": { "create": { "type": "boolean" }, "labels": { "$ref": "#/definitions/StringMap" } }, "required": [ "create" ], "additionalProperties": false } }, "oneOf": [ { "properties": { "watchNamespaces": { "minItems": 1 }, "watchNamespaceSelector": { "additionalProperties": false } } }, { "properties": { "watchNamespaces": { "maxItems": 0 }, "watchNamespaceSelector": { "$ref": "#/definitions/LabelSelector" } } } ], "required": [ "affinity", "config", "image", "updateStrategy", "nodeSelector", "podAnnotations", "podLabels", "rbac", "replicaCount", "resources", "serviceAccount", "serviceAnnotations", "serviceLabels", "serviceMonitor", "tolerations" ], "additionalProperties": false }, "engine": { "type": "object", "properties": { "image": { "$ref": "#/definitions/Image" }, "resources": { "type": "object" }, "sidecar": { "type": "object", "properties":{ "podMonitor": { "type": "object", "properties": { "create": { "type": "boolean" }, "labels": { "$ref": "#/definitions/StringMap" } }, "required": [ "create" ], "additionalProperties": false } }, "required": [ "podMonitor" ], "additionalProperties": false } }, "required": [ "image", "resources", "sidecar" ], "additionalProperties": false }, "networkValidator": { "type": "object", "properties": { "image": { "$ref": "#/definitions/Image" } }, "required": [ "image" ], "additionalProperties": false }, "sessionAgent": { "type": "object", "properties": { "image": { "$ref": "#/definitions/Image" }, "resources": { "type": "object" } }, "required": [ "image", "resources" ], "additionalProperties": false }, "license": { "type": "object", "properties": { "secretName": { "type": "string", "minLength": 1 } }, "required": [ "secretName" ], "additionalProperties": false }, "dashboards": { "type": "object", "properties" : { "create": { "type": "boolean" }, "config": { "type": "object", "properties": { "grafana": { "type": "object", "properties": { "folderAnnotation": { "$ref": "#/definitions/NameValuePair" }, "dashboardLabel": { "$ref": "#/definitions/NameValuePair" } }, "required": [ "folderAnnotation", "dashboardLabel" ], "additionalProperties": false } }, "required": [ "grafana" ], "additionalProperties": false }, "instances": { "type": "object", "properties": { "overview": { "$ref": "#/definitions/DashboardInstance" }, "license" : { "$ref": "#/definitions/DashboardInstance" }, "blockMetrics" : { "$ref": "#/definitions/DashboardInstance" }, "blockLogs" : { "$ref": "#/definitions/DashboardInstance" } }, "required": [ "overview", "license", "blockMetrics", "blockLogs" ], "additionalProperties": false } }, "required": [ "create", "config", "instances" ], "additionalProperties": false }, "tests": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "required": [ "enabled" ], "additionalProperties": false }, "global": { "type": "object" } }, "required": [ "commonAnnotations", "commonLabels", "crds", "engine", "fullnameOverride", "imagePullSecrets", "license", "nameOverride", "operator", "networkValidator", "sessionAgent", "dashboards", "tests" ], "additionalProperties": false, "definitions": { "StringMap": { "type": "object", "additionalProperties": { "type": "string" } }, "Image": { "type": "object", "properties": { "repository": { "type": "string", "minLength": 1 }, "tag": { "type": "string" }, "digest": { "type": "string", "pattern": "^$|^sha256:[a-f0-9]{64}$" }, "pullPolicy": { "type": "string", "enum": [ "Always", "IfNotPresent", "Never" ] } }, "required": [ "digest", "pullPolicy", "repository", "tag" ], "additionalProperties": false }, "LabelSelector": { "type": "object", "properties": { "matchExpressions": { "type": "array", "items": { "type": "object", "required": [ "key", "operator" ], "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false } }, "matchLabels": { "$ref": "#/definitions/StringMap" } }, "additionalProperties": false }, "UpdateStrategy": { "type": "object", "oneOf" : [ { "properties": { "type": { "$ref": "#/definitions/RecreateType" } }, "required": [ "type" ], "additionalProperties": false }, { "properties": { "type": { "$ref": "#/definitions/RollingUpdateType" }, "rollingUpdate": { "$ref": "#/definitions/RollingUpdate" } }, "required": [ "type" ], "additionalProperties": false } ] }, "RecreateType": { "type": "string", "enum": [ "Recreate" ] }, "RollingUpdateType": { "type": "string", "enum": [ "RollingUpdate" ] }, "RollingUpdate": { "type": "object", "properties": { "maxSurge": { "type": ["integer", "string"], "minimum": 0, "pattern": "^\\d+%?$" }, "maxUnavailable": { "type": ["integer", "string"], "minimum": 0, "pattern": "^\\d+%?$" } }, "anyOf": [ {"required": ["maxSurge"]}, {"required": ["maxUnavailable"]} ], "additionalProperties": false }, "DashboardInstance" : { "type" : "object", "properties" : { "create" : { "type" : "boolean" } }, "required" : [ "create" ], "additionalProperties": false }, "NameValuePair" : { "type" : "object", "properties" : { "name" : { "type": "string", "minLength": 1 }, "value" : { "type" : "string", "minLength": 1 } }, "required" : [ "name", "value" ], "additionalProperties": false } } }