{
  "$schema": "http://json-schema.org/schema#",
  "$defs": {
    "AWSElasticBlockStoreVolumeSource": {
      "properties": {
        "volumeID": {
          "type": "string"
        },
        "fsType": {
          "type": "string"
        },
        "partition": {
          "type": "integer"
        },
        "readOnly": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "volumeID"
      ]
    },
    "Affinity": {
      "properties": {
        "nodeAffinity": {
          "$ref": "#/$defs/NodeAffinity"
        },
        "podAffinity": {
          "$ref": "#/$defs/PodAffinity"
        },
        "podAntiAffinity": {
          "$ref": "#/$defs/PodAntiAffinity"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "AutoscalerSpec": {
      "properties": {
        "minReplicas": {
          "type": "integer"
        },
        "maxReplicas": {
          "type": "integer"
        },
        "behavior": {
          "$ref": "#/$defs/HorizontalPodAutoscalerBehavior"
        },
        "metrics": {
          "items": {
            "$ref": "#/$defs/MetricSpec"
          },
          "type": "array"
        },
        "targetCPUUtilization": {
          "type": "integer"
        },
        "targetMemoryUtilization": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "AzureDiskVolumeSource": {
      "properties": {
        "diskName": {
          "type": "string"
        },
        "diskURI": {
          "type": "string"
        },
        "cachingMode": {
          "type": "string"
        },
        "fsType": {
          "type": "string"
        },
        "readOnly": {
          "type": "boolean"
        },
        "kind": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "diskName",
        "diskURI"
      ]
    },
    "AzureFileVolumeSource": {
      "properties": {
        "secretName": {
          "type": "string"
        },
        "shareName": {
          "type": "string"
        },
        "readOnly": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "secretName",
        "shareName"
      ]
    },
    "CSIVolumeSource": {
      "properties": {
        "driver": {
          "type": "string"
        },
        "readOnly": {
          "type": "boolean"
        },
        "fsType": {
          "type": "string"
        },
        "volumeAttributes": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "nodePublishSecretRef": {
          "$ref": "#/$defs/LocalObjectReference"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "driver"
      ]
    },
    "Capabilities": {
      "properties": {
        "add": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "drop": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "CephFSVolumeSource": {
      "properties": {
        "monitors": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "path": {
          "type": "string"
        },
        "user": {
          "type": "string"
        },
        "secretFile": {
          "type": "string"
        },
        "secretRef": {
          "$ref": "#/$defs/LocalObjectReference"
        },
        "readOnly": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "monitors"
      ]
    },
    "CinderVolumeSource": {
      "properties": {
        "volumeID": {
          "type": "string"
        },
        "fsType": {
          "type": "string"
        },
        "readOnly": {
          "type": "boolean"
        },
        "secretRef": {
          "$ref": "#/$defs/LocalObjectReference"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "volumeID"
      ]
    },
    "ClusterTrustBundleProjection": {
      "properties": {
        "name": {
          "type": "string"
        },
        "signerName": {
          "type": "string"
        },
        "labelSelector": {
          "$ref": "#/$defs/LabelSelector"
        },
        "optional": {
          "type": "boolean"
        },
        "path": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "path"
      ]
    },
    "ConfigMapEnvSource": {
      "properties": {
        "name": {
          "type": "string"
        },
        "optional": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ConfigMapKeySelector": {
      "properties": {
        "name": {
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "optional": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "key"
      ]
    },
    "ConfigMapProjection": {
      "properties": {
        "name": {
          "type": "string"
        },
        "items": {
          "items": {
            "$ref": "#/$defs/KeyToPath"
          },
          "type": "array"
        },
        "optional": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ConfigMapVolumeSource": {
      "properties": {
        "name": {
          "type": "string"
        },
        "items": {
          "items": {
            "$ref": "#/$defs/KeyToPath"
          },
          "type": "array"
        },
        "defaultMode": {
          "type": "integer"
        },
        "optional": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ConfigMapsSpec": {
      "properties": {
        "name": {
          "type": "string"
        },
        "mountPath": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "name",
        "mountPath"
      ]
    },
    "Container": {
      "properties": {
        "name": {
          "type": "string"
        },
        "image": {
          "type": "string"
        },
        "command": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "args": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "workingDir": {
          "type": "string"
        },
        "ports": {
          "items": {
            "$ref": "#/$defs/ContainerPort"
          },
          "type": "array"
        },
        "envFrom": {
          "items": {
            "$ref": "#/$defs/EnvFromSource"
          },
          "type": "array"
        },
        "env": {
          "items": {
            "$ref": "#/$defs/EnvVar"
          },
          "type": "array"
        },
        "resources": {
          "$ref": "#/$defs/ResourceRequirements"
        },
        "resizePolicy": {
          "items": {
            "$ref": "#/$defs/ContainerResizePolicy"
          },
          "type": "array"
        },
        "restartPolicy": {
          "type": "string"
        },
        "volumeMounts": {
          "items": {
            "$ref": "#/$defs/VolumeMount"
          },
          "type": "array"
        },
        "volumeDevices": {
          "items": {
            "$ref": "#/$defs/VolumeDevice"
          },
          "type": "array"
        },
        "livenessProbe": {
          "$ref": "#/$defs/Probe"
        },
        "readinessProbe": {
          "$ref": "#/$defs/Probe"
        },
        "startupProbe": {
          "$ref": "#/$defs/Probe"
        },
        "lifecycle": {
          "$ref": "#/$defs/Lifecycle"
        },
        "terminationMessagePath": {
          "type": "string"
        },
        "terminationMessagePolicy": {
          "type": "string"
        },
        "imagePullPolicy": {
          "type": "string"
        },
        "securityContext": {
          "$ref": "#/$defs/SecurityContext"
        },
        "stdin": {
          "type": "boolean"
        },
        "stdinOnce": {
          "type": "boolean"
        },
        "tty": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "name"
      ]
    },
    "ContainerPort": {
      "properties": {
        "name": {
          "type": "string"
        },
        "hostPort": {
          "type": "integer"
        },
        "containerPort": {
          "type": "integer"
        },
        "protocol": {
          "type": "string"
        },
        "hostIP": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "containerPort"
      ]
    },
    "ContainerResizePolicy": {
      "properties": {
        "resourceName": {
          "type": "string"
        },
        "restartPolicy": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "resourceName",
        "restartPolicy"
      ]
    },
    "DaemonSetUpdateStrategy": {
      "properties": {
        "type": {
          "type": "string"
        },
        "rollingUpdate": {
          "$ref": "#/$defs/RollingUpdateDaemonSet"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "DeploymentUpdateStrategy": {
      "properties": {
        "type": {
          "type": "string"
        },
        "rollingUpdate": {
          "$ref": "#/$defs/RollingUpdateDeployment"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "DownwardAPIProjection": {
      "properties": {
        "items": {
          "items": {
            "$ref": "#/$defs/DownwardAPIVolumeFile"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "DownwardAPIVolumeFile": {
      "properties": {
        "path": {
          "type": "string"
        },
        "fieldRef": {
          "$ref": "#/$defs/ObjectFieldSelector"
        },
        "resourceFieldRef": {
          "$ref": "#/$defs/ResourceFieldSelector"
        },
        "mode": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "path"
      ]
    },
    "DownwardAPIVolumeSource": {
      "properties": {
        "items": {
          "items": {
            "$ref": "#/$defs/DownwardAPIVolumeFile"
          },
          "type": "array"
        },
        "defaultMode": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "EmptyDirVolumeSource": {
      "properties": {
        "medium": {
          "type": "string"
        },
        "sizeLimit": {
          "$ref": "#/$defs/Quantity"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "EnvFromSource": {
      "properties": {
        "prefix": {
          "type": "string"
        },
        "configMapRef": {
          "$ref": "#/$defs/ConfigMapEnvSource"
        },
        "secretRef": {
          "$ref": "#/$defs/SecretEnvSource"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "EnvVar": {
      "properties": {
        "name": {
          "type": "string"
        },
        "value": {
          "type": "string"
        },
        "valueFrom": {
          "$ref": "#/$defs/EnvVarSource"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "name"
      ]
    },
    "EnvVarSource": {
      "properties": {
        "fieldRef": {
          "$ref": "#/$defs/ObjectFieldSelector"
        },
        "resourceFieldRef": {
          "$ref": "#/$defs/ResourceFieldSelector"
        },
        "configMapKeyRef": {
          "$ref": "#/$defs/ConfigMapKeySelector"
        },
        "secretKeyRef": {
          "$ref": "#/$defs/SecretKeySelector"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "EphemeralVolumeSource": {
      "properties": {
        "volumeClaimTemplate": {
          "$ref": "#/$defs/PersistentVolumeClaimTemplate"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ExecAction": {
      "properties": {
        "command": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "FCVolumeSource": {
      "properties": {
        "targetWWNs": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "lun": {
          "type": "integer"
        },
        "fsType": {
          "type": "string"
        },
        "readOnly": {
          "type": "boolean"
        },
        "wwids": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "FieldsV1": {
      "properties": {},
      "additionalProperties": false,
      "type": "object"
    },
    "FlexVolumeSource": {
      "properties": {
        "driver": {
          "type": "string"
        },
        "fsType": {
          "type": "string"
        },
        "secretRef": {
          "$ref": "#/$defs/LocalObjectReference"
        },
        "readOnly": {
          "type": "boolean"
        },
        "options": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "driver"
      ]
    },
    "FlockerVolumeSource": {
      "properties": {
        "datasetName": {
          "type": "string"
        },
        "datasetUUID": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "GCEPersistentDiskVolumeSource": {
      "properties": {
        "pdName": {
          "type": "string"
        },
        "fsType": {
          "type": "string"
        },
        "partition": {
          "type": "integer"
        },
        "readOnly": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "pdName"
      ]
    },
    "GitRepoVolumeSource": {
      "properties": {
        "repository": {
          "type": "string"
        },
        "revision": {
          "type": "string"
        },
        "directory": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "repository"
      ]
    },
    "GlusterfsVolumeSource": {
      "properties": {
        "endpoints": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "readOnly": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "endpoints",
        "path"
      ]
    },
    "HPAScalingPolicy": {
      "properties": {
        "type": {
          "type": "string"
        },
        "value": {
          "type": "integer"
        },
        "periodSeconds": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "type",
        "value",
        "periodSeconds"
      ]
    },
    "HPAScalingRules": {
      "properties": {
        "stabilizationWindowSeconds": {
          "type": "integer"
        },
        "selectPolicy": {
          "type": "string"
        },
        "policies": {
          "items": {
            "$ref": "#/$defs/HPAScalingPolicy"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "HTTPGetAction": {
      "properties": {
        "path": {
          "type": "string"
        },
        "port": {
          "type": [
            "string",
            "integer"
          ]
        },
        "host": {
          "type": "string"
        },
        "scheme": {
          "type": "string"
        },
        "httpHeaders": {
          "items": {
            "$ref": "#/$defs/HTTPHeader"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "port"
      ]
    },
    "HTTPHeader": {
      "properties": {
        "name": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "name",
        "value"
      ]
    },
    "HorizontalPodAutoscalerBehavior": {
      "properties": {
        "scaleUp": {
          "$ref": "#/$defs/HPAScalingRules"
        },
        "scaleDown": {
          "$ref": "#/$defs/HPAScalingRules"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "HostPathVolumeSource": {
      "properties": {
        "path": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "path"
      ]
    },
    "ISCSIVolumeSource": {
      "properties": {
        "targetPortal": {
          "type": "string"
        },
        "iqn": {
          "type": "string"
        },
        "lun": {
          "type": "integer"
        },
        "iscsiInterface": {
          "type": "string"
        },
        "fsType": {
          "type": "string"
        },
        "readOnly": {
          "type": "boolean"
        },
        "portals": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "chapAuthDiscovery": {
          "type": "boolean"
        },
        "chapAuthSession": {
          "type": "boolean"
        },
        "secretRef": {
          "$ref": "#/$defs/LocalObjectReference"
        },
        "initiatorName": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "targetPortal",
        "iqn",
        "lun"
      ]
    },
    "Ingress": {
      "properties": {
        "type": {
          "type": "string"
        },
        "ruleType": {
          "type": "string"
        },
        "hostname": {
          "type": "string"
        },
        "annotations": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "tls": {
          "items": {
            "$ref": "#/$defs/IngressTLS"
          },
          "type": "array"
        },
        "ingressClassName": {
          "type": "string"
        },
        "route": {
          "$ref": "#/$defs/OpenShiftRoute"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "IngressTLS": {
      "properties": {
        "hosts": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "secretName": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "IntOrString": {
      "properties": {
        "Type": {
          "type": "integer"
        },
        "IntVal": {
          "type": "integer"
        },
        "StrVal": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "Type",
        "IntVal",
        "StrVal"
      ]
    },
    "KeyToPath": {
      "properties": {
        "key": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "mode": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "key",
        "path"
      ]
    },
    "LabelSelector": {
      "properties": {
        "matchLabels": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "matchExpressions": {
          "items": {
            "$ref": "#/$defs/LabelSelectorRequirement"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "LabelSelectorRequirement": {
      "properties": {
        "key": {
          "type": "string"
        },
        "operator": {
          "type": "string"
        },
        "values": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "key",
        "operator"
      ]
    },
    "Lifecycle": {
      "properties": {
        "postStart": {
          "$ref": "#/$defs/LifecycleHandler"
        },
        "preStop": {
          "$ref": "#/$defs/LifecycleHandler"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "LifecycleHandler": {
      "properties": {
        "exec": {
          "$ref": "#/$defs/ExecAction"
        },
        "httpGet": {
          "$ref": "#/$defs/HTTPGetAction"
        },
        "tcpSocket": {
          "$ref": "#/$defs/TCPSocketAction"
        },
        "sleep": {
          "$ref": "#/$defs/SleepAction"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "LocalObjectReference": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ManagedFieldsEntry": {
      "properties": {
        "manager": {
          "type": "string"
        },
        "operation": {
          "type": "string"
        },
        "apiVersion": {
          "type": "string"
        },
        "time": {
          "$ref": "#/$defs/Time"
        },
        "fieldsType": {
          "type": "string"
        },
        "fieldsV1": {
          "$ref": "#/$defs/FieldsV1"
        },
        "subresource": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "MetricIdentifier": {
      "properties": {
        "name": {
          "type": "string"
        },
        "selector": {
          "$ref": "#/$defs/LabelSelector"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "name"
      ]
    },
    "MetricSpec": {
      "properties": {
        "type": {
          "type": "string"
        },
        "pods": {
          "$ref": "#/$defs/PodsMetricSource"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "type"
      ]
    },
    "MetricTarget": {
      "properties": {
        "type": {
          "type": "string"
        },
        "value": {
          "$ref": "#/$defs/Quantity"
        },
        "averageValue": {
          "$ref": "#/$defs/Quantity"
        },
        "averageUtilization": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "type"
      ]
    },
    "MetricsConfigSpec": {
      "properties": {
        "enableMetrics": {
          "type": "boolean"
        },
        "disablePrometheusAnnotations": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ModifyVolumeStatus": {
      "properties": {
        "targetVolumeAttributesClassName": {
          "type": "string"
        },
        "status": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "status"
      ]
    },
    "NFSVolumeSource": {
      "properties": {
        "server": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "readOnly": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "server",
        "path"
      ]
    },
    "NodeAffinity": {
      "properties": {
        "requiredDuringSchedulingIgnoredDuringExecution": {
          "$ref": "#/$defs/NodeSelector"
        },
        "preferredDuringSchedulingIgnoredDuringExecution": {
          "items": {
            "$ref": "#/$defs/PreferredSchedulingTerm"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "NodeSelector": {
      "properties": {
        "nodeSelectorTerms": {
          "items": {
            "$ref": "#/$defs/NodeSelectorTerm"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "nodeSelectorTerms"
      ]
    },
    "NodeSelectorRequirement": {
      "properties": {
        "key": {
          "type": "string"
        },
        "operator": {
          "type": "string"
        },
        "values": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "key",
        "operator"
      ]
    },
    "NodeSelectorTerm": {
      "properties": {
        "matchExpressions": {
          "items": {
            "$ref": "#/$defs/NodeSelectorRequirement"
          },
          "type": "array"
        },
        "matchFields": {
          "items": {
            "$ref": "#/$defs/NodeSelectorRequirement"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ObjectFieldSelector": {
      "properties": {
        "apiVersion": {
          "type": "string"
        },
        "fieldPath": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "fieldPath"
      ]
    },
    "ObjectMeta": {
      "properties": {
        "name": {
          "type": "string"
        },
        "generateName": {
          "type": "string"
        },
        "namespace": {
          "type": "string"
        },
        "selfLink": {
          "type": "string"
        },
        "uid": {
          "type": "string"
        },
        "resourceVersion": {
          "type": "string"
        },
        "generation": {
          "type": "integer"
        },
        "creationTimestamp": {
          "$ref": "#/$defs/Time"
        },
        "deletionTimestamp": {
          "$ref": "#/$defs/Time"
        },
        "deletionGracePeriodSeconds": {
          "type": "integer"
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "annotations": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "ownerReferences": {
          "items": {
            "$ref": "#/$defs/OwnerReference"
          },
          "type": "array"
        },
        "finalizers": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "managedFields": {
          "items": {
            "$ref": "#/$defs/ManagedFieldsEntry"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ObservabilitySpec": {
      "properties": {
        "metrics": {
          "$ref": "#/$defs/MetricsConfigSpec"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "OpenShiftRoute": {
      "properties": {
        "termination": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "OpenTelemetryCollectorSpec": {
      "properties": {
        "presets": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "logsCollection": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "enabled": {
                  "description": "Specifies whether the collector should collect logs.",
                  "type": "boolean"
                },
                "includeCollectorLogs": {
                  "description": "Specifies whether the collector should collect its own logs.",
                  "type": "boolean"
                },
                "storeCheckpoints": {
                  "description": "Specifies whether logs checkpoints should be stored in /var/lib/otelcol/ host directory.",
                  "type": "boolean"
                },
                "maxRecombineLogSize": {
                  "description": "Specifies the max recombine log size.",
                  "type": "integer"
                }
              }
            },
            "hostMetrics": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "enabled": {
                  "description": "Specifies whether the collector should collect host metrics.",
                  "type": "boolean"
                }
              }
            },
            "kubeletMetrics": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "enabled": {
                  "description": "Specifies whether the collector should collect kubelet metrics.",
                  "type": "boolean"
                }
              }
            },
            "kubernetesAttributes": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "enabled": {
                  "description": "Specifies whether the collector should add Kubernetes metdata to resource attributes.",
                  "type": "boolean"
                },
                "extractAllPodLabels": {
                  "description": "Specifies whether the k8sattributes processor should extract all pod labels.",
                  "type": "boolean"
                },
                "extractAllPodAnnotations": {
                  "description": "Specifies whether the k8sattributes processor should extract all pod annotations.",
                  "type": "boolean"
                }
              }
            },
            "kubernetesEvents": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "enabled": {
                  "description": "Specifies whether the collector should collect Kubernetes objects.",
                  "type": "boolean"
                },
                "disableLeaderElection": {
                  "description": "Specifies whether the collector should use leader election extension to collect Kubernetes objects.",
                  "type": "boolean"
                }
              }
            },
            "clusterMetrics": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "enabled": {
                  "description": "Specifies whether the collector should collect cluster metrics.",
                  "type": "boolean"
                },
                "disableLeaderElection": {
                  "description": "Specifies whether the collector should use leader election extension to collect cluster metrics.",
                  "type": "boolean"
                }
              }
            },
            "annotationDiscovery": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "logs": {
                  "enabled": {
                    "description": "Specifies whether the collector should collect logs. When enabled, the default_annotation 'io.opentelemetry.discovery.logs/enabled: \"true\"' is set.",
                    "type": "boolean"
                  }
                },
                "metrics": {
                  "enabled": {
                    "description": "Specifies whether the collector should collect metrics.",
                    "type": "boolean"
                  }
                }
              }
            },
            "resourceDetection": {
              "type": "object",
              "additionalProperties": false,
              "description": "Configures resource detection processors. Each detector can be enabled individually. Base detectors 'env' and 'k8snode' are always included.",
              "properties": {
                "eks": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "enabled": {
                      "description": "Enables the EKS resource detector to detect k8s.cluster.name and AWS resource attributes.",
                      "type": "boolean"
                    }
                  }
                },
                "aks": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "enabled": {
                      "description": "Enables the AKS resource detector to detect k8s.cluster.name and Azure resource attributes.",
                      "type": "boolean"
                    }
                  }
                },
                "gcp": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "enabled": {
                      "description": "Enables the GCP resource detector to detect k8s.cluster.name and GCP resource attributes.",
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "enabled": {
          "type": "boolean"
        },
        "clusterRoleBinding": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean",
              "default": "true"
            },
            "clusterRoleName": {
              "type": "string"
            }
          }
        },
        "suffix": {
          "type": "string"
        },
        "fullnameOverride": {
          "type": "string"
        },
        "annotations": {
          "type": "object"
        },
        "labels": {
          "type": "object"
        },
        "managementState": {
          "type": "string"
        },
        "scrape_configs_file": {
          "type": "string",
          "default": ""
        },
        "resources": {
          "$ref": "#/$defs/ResourceRequirements"
        },
        "nodeSelector": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "args": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "replicas": {
          "type": "integer"
        },
        "minReplicas": {
          "type": "integer"
        },
        "maxReplicas": {
          "type": "integer"
        },
        "autoscaler": {
          "$ref": "#/$defs/AutoscalerSpec"
        },
        "podDisruptionBudget": {
          "$ref": "#/$defs/PodDisruptionBudgetSpec"
        },
        "securityContext": {
          "$ref": "#/$defs/SecurityContext"
        },
        "podSecurityContext": {
          "$ref": "#/$defs/PodSecurityContext"
        },
        "podAnnotations": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "targetAllocator": {
          "$ref": "#/$defs/OpenTelemetryTargetAllocator"
        },
        "mode": {
          "type": "string"
        },
        "serviceAccount": {
          "type": "string"
        },
        "image": {
          "description": "Image use in both standalone and agent configs",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "registry": {
              "type": "string"
            },
            "repository": {
              "type": "string"
            },
            "tag": {
              "type": "string"
            },
            "digest": {
              "type": "string"
            },
            "pullPolicy": {
              "type": "string",
              "enum": [
                "IfNotPresent",
                "Always",
                "Never"
              ]
            }
          }
        },
        "upgradeStrategy": {
          "type": "string"
        },
        "config": {
          "type": "object"
        },
        "volumeMounts": {
          "items": {
            "$ref": "#/$defs/VolumeMount"
          },
          "type": "array"
        },
        "ports": {
          "items": {
            "$ref": "#/$defs/PortsSpec"
          },
          "type": "array"
        },
        "env": {
          "items": {
            "$ref": "#/$defs/EnvVar"
          },
          "type": "array"
        },
        "envFrom": {
          "items": {
            "$ref": "#/$defs/EnvFromSource"
          },
          "type": "array"
        },
        "volumeClaimTemplates": {
          "items": {
            "$ref": "#/$defs/PersistentVolumeClaim"
          },
          "type": "array"
        },
        "tolerations": {
          "items": {
            "$ref": "#/$defs/Toleration"
          },
          "type": "array"
        },
        "volumes": {
          "items": {
            "$ref": "#/$defs/Volume"
          },
          "type": "array"
        },
        "ingress": {
          "$ref": "#/$defs/Ingress"
        },
        "hostNetwork": {
          "type": "boolean"
        },
        "hostPID": {
          "type": "boolean"
        },
        "shareProcessNamespace": {
          "type": "boolean"
        },
        "priorityClassName": {
          "type": "string"
        },
        "affinity": {
          "$ref": "#/$defs/Affinity"
        },
        "lifecycle": {
          "$ref": "#/$defs/Lifecycle"
        },
        "terminationGracePeriodSeconds": {
          "type": "integer"
        },
        "livenessProbe": {
          "$ref": "#/$defs/Probe"
        },
        "initContainers": {
          "items": {
            "$ref": "#/$defs/Container"
          },
          "type": "array"
        },
        "additionalContainers": {
          "items": {
            "$ref": "#/$defs/Container"
          },
          "type": "array"
        },
        "observability": {
          "$ref": "#/$defs/ObservabilitySpec"
        },
        "topologySpreadConstraints": {
          "items": {
            "$ref": "#/$defs/TopologySpreadConstraint"
          },
          "type": "array"
        },
        "configmaps": {
          "items": {
            "$ref": "#/$defs/ConfigMapsSpec"
          },
          "type": "array"
        },
        "updateStrategy": {
          "$ref": "#/$defs/DaemonSetUpdateStrategy"
        },
        "daemonSetUpdateStrategy": {
          "$ref": "#/$defs/DaemonSetUpdateStrategy"
        },
        "deploymentUpdateStrategy": {
          "$ref": "#/$defs/DeploymentUpdateStrategy"
        }
      },
      "additionalProperties": true,
      "type": "object"
    },
    "OpenTelemetryTargetAllocator": {
      "properties": {
        "replicas": {
          "type": "integer"
        },
        "nodeSelector": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "resources": {
          "$ref": "#/$defs/ResourceRequirements"
        },
        "allocationStrategy": {
          "type": "string"
        },
        "filterStrategy": {
          "type": "string"
        },
        "serviceAccount": {
          "type": "string"
        },
        "image": {
          "type": "string"
        },
        "enabled": {
          "type": "boolean"
        },
        "affinity": {
          "$ref": "#/$defs/Affinity"
        },
        "prometheusCR": {
          "$ref": "#/$defs/OpenTelemetryTargetAllocatorPrometheusCR"
        },
        "securityContext": {
          "$ref": "#/$defs/SecurityContext"
        },
        "podSecurityContext": {
          "$ref": "#/$defs/PodSecurityContext"
        },
        "topologySpreadConstraints": {
          "items": {
            "$ref": "#/$defs/TopologySpreadConstraint"
          },
          "type": "array"
        },
        "tolerations": {
          "items": {
            "$ref": "#/$defs/Toleration"
          },
          "type": "array"
        },
        "env": {
          "items": {
            "$ref": "#/$defs/EnvVar"
          },
          "type": "array"
        },
        "observability": {
          "$ref": "#/$defs/ObservabilitySpec"
        },
        "podDisruptionBudget": {
          "$ref": "#/$defs/PodDisruptionBudgetSpec"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "OpenTelemetryTargetAllocatorPrometheusCR": {
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "scrapeInterval": {
          "type": "string"
        },
        "podMonitorSelector": {
          "$ref": "#/$defs/LabelSelector"
        },
        "serviceMonitorSelector": {
          "$ref": "#/$defs/LabelSelector"
        },
        "probeSelector": {
          "$ref": "#/$defs/LabelSelector"
        },
        "scrapeConfigSelector": {
          "$ref": "#/$defs/LabelSelector"
        },
        "allowNamespaces": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of namespaces to allow for scraping"
        },
        "denyNamespaces": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of namespaces to exclude from scraping"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "OwnerReference": {
      "properties": {
        "apiVersion": {
          "type": "string"
        },
        "kind": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "uid": {
          "type": "string"
        },
        "controller": {
          "type": "boolean"
        },
        "blockOwnerDeletion": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "apiVersion",
        "kind",
        "name",
        "uid"
      ]
    },
    "PersistentVolumeClaim": {
      "properties": {
        "kind": {
          "type": "string"
        },
        "apiVersion": {
          "type": "string"
        },
        "metadata": {
          "$ref": "#/$defs/ObjectMeta"
        },
        "spec": {
          "$ref": "#/$defs/PersistentVolumeClaimSpec"
        },
        "status": {
          "$ref": "#/$defs/PersistentVolumeClaimStatus"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "PersistentVolumeClaimCondition": {
      "properties": {
        "type": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "lastProbeTime": {
          "$ref": "#/$defs/Time"
        },
        "lastTransitionTime": {
          "$ref": "#/$defs/Time"
        },
        "reason": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "type",
        "status"
      ]
    },
    "PersistentVolumeClaimSpec": {
      "properties": {
        "accessModes": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "selector": {
          "$ref": "#/$defs/LabelSelector"
        },
        "resources": {
          "$ref": "#/$defs/VolumeResourceRequirements"
        },
        "volumeName": {
          "type": "string"
        },
        "storageClassName": {
          "type": "string"
        },
        "volumeMode": {
          "type": "string"
        },
        "dataSource": {
          "$ref": "#/$defs/TypedLocalObjectReference"
        },
        "dataSourceRef": {
          "$ref": "#/$defs/TypedObjectReference"
        },
        "volumeAttributesClassName": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "PersistentVolumeClaimStatus": {
      "properties": {
        "phase": {
          "type": "string"
        },
        "accessModes": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "capacity": {
          "$ref": "#/$defs/ResourceList"
        },
        "conditions": {
          "items": {
            "$ref": "#/$defs/PersistentVolumeClaimCondition"
          },
          "type": "array"
        },
        "allocatedResources": {
          "$ref": "#/$defs/ResourceList"
        },
        "allocatedResourceStatuses": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "currentVolumeAttributesClassName": {
          "type": "string"
        },
        "modifyVolumeStatus": {
          "$ref": "#/$defs/ModifyVolumeStatus"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "PersistentVolumeClaimTemplate": {
      "properties": {
        "metadata": {
          "$ref": "#/$defs/ObjectMeta"
        },
        "spec": {
          "$ref": "#/$defs/PersistentVolumeClaimSpec"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "spec"
      ]
    },
    "PersistentVolumeClaimVolumeSource": {
      "properties": {
        "claimName": {
          "type": "string"
        },
        "readOnly": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "claimName"
      ]
    },
    "PhotonPersistentDiskVolumeSource": {
      "properties": {
        "pdID": {
          "type": "string"
        },
        "fsType": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "pdID"
      ]
    },
    "PodAffinity": {
      "properties": {
        "requiredDuringSchedulingIgnoredDuringExecution": {
          "items": {
            "$ref": "#/$defs/PodAffinityTerm"
          },
          "type": "array"
        },
        "preferredDuringSchedulingIgnoredDuringExecution": {
          "items": {
            "$ref": "#/$defs/WeightedPodAffinityTerm"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "PodAffinityTerm": {
      "properties": {
        "labelSelector": {
          "$ref": "#/$defs/LabelSelector"
        },
        "namespaces": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "topologyKey": {
          "type": "string"
        },
        "namespaceSelector": {
          "$ref": "#/$defs/LabelSelector"
        },
        "matchLabelKeys": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "mismatchLabelKeys": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "topologyKey"
      ]
    },
    "PodAntiAffinity": {
      "properties": {
        "requiredDuringSchedulingIgnoredDuringExecution": {
          "items": {
            "$ref": "#/$defs/PodAffinityTerm"
          },
          "type": "array"
        },
        "preferredDuringSchedulingIgnoredDuringExecution": {
          "items": {
            "$ref": "#/$defs/WeightedPodAffinityTerm"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "PodDisruptionBudgetSpec": {
      "properties": {
        "minAvailable": {
          "type": [
            "string",
            "integer"
          ]
        },
        "maxUnavailable": {
          "type": [
            "string",
            "integer"
          ]
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "PodSecurityContext": {
      "properties": {
        "seLinuxOptions": {
          "$ref": "#/$defs/SELinuxOptions"
        },
        "windowsOptions": {
          "$ref": "#/$defs/WindowsSecurityContextOptions"
        },
        "runAsUser": {
          "type": "integer"
        },
        "runAsGroup": {
          "type": "integer"
        },
        "runAsNonRoot": {
          "type": "boolean"
        },
        "supplementalGroups": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "fsGroup": {
          "type": "integer"
        },
        "sysctls": {
          "items": {
            "$ref": "#/$defs/Sysctl"
          },
          "type": "array"
        },
        "fsGroupChangePolicy": {
          "type": "string"
        },
        "seccompProfile": {
          "$ref": "#/$defs/SeccompProfile"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "PodsMetricSource": {
      "properties": {
        "metric": {
          "$ref": "#/$defs/MetricIdentifier"
        },
        "target": {
          "$ref": "#/$defs/MetricTarget"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "metric",
        "target"
      ]
    },
    "PortworxVolumeSource": {
      "properties": {
        "volumeID": {
          "type": "string"
        },
        "fsType": {
          "type": "string"
        },
        "readOnly": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "volumeID"
      ]
    },
    "PreferredSchedulingTerm": {
      "properties": {
        "weight": {
          "type": "integer"
        },
        "preference": {
          "$ref": "#/$defs/NodeSelectorTerm"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "weight",
        "preference"
      ]
    },
    "Probe": {
      "properties": {
        "initialDelaySeconds": {
          "type": "integer"
        },
        "timeoutSeconds": {
          "type": "integer"
        },
        "periodSeconds": {
          "type": "integer"
        },
        "successThreshold": {
          "type": "integer"
        },
        "failureThreshold": {
          "type": "integer"
        },
        "terminationGracePeriodSeconds": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ProjectedVolumeSource": {
      "properties": {
        "sources": {
          "items": {
            "$ref": "#/$defs/VolumeProjection"
          },
          "type": "array"
        },
        "defaultMode": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "sources"
      ]
    },
    "Quantity": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        }
      ]
    },
    "QuobyteVolumeSource": {
      "properties": {
        "registry": {
          "type": "string"
        },
        "volume": {
          "type": "string"
        },
        "readOnly": {
          "type": "boolean"
        },
        "user": {
          "type": "string"
        },
        "group": {
          "type": "string"
        },
        "tenant": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "registry",
        "volume"
      ]
    },
    "RBDVolumeSource": {
      "properties": {
        "monitors": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "image": {
          "type": "string"
        },
        "fsType": {
          "type": "string"
        },
        "pool": {
          "type": "string"
        },
        "user": {
          "type": "string"
        },
        "keyring": {
          "type": "string"
        },
        "secretRef": {
          "$ref": "#/$defs/LocalObjectReference"
        },
        "readOnly": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "monitors",
        "image"
      ]
    },
    "ResourceClaim": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "name"
      ]
    },
    "ResourceFieldSelector": {
      "properties": {
        "containerName": {
          "type": "string"
        },
        "resource": {
          "type": "string"
        },
        "divisor": {
          "$ref": "#/$defs/Quantity"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "resource"
      ]
    },
    "ResourceList": {
      "additionalProperties": {
        "$ref": "#/$defs/Quantity"
      },
      "type": "object"
    },
    "ResourceRequirements": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "limits": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "cpu": {
              "type": [
                "string",
                "integer"
              ]
            },
            "memory": {
              "type": "string"
            }
          }
        },
        "requests": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "cpu": {
              "type": [
                "string",
                "integer"
              ]
            },
            "memory": {
              "type": "string"
            }
          }
        }
      }
    },
    "RollingUpdateDaemonSet": {
      "properties": {
        "maxUnavailable": {
          "type": [
            "string",
            "integer"
          ]
        },
        "maxSurge": {
          "type": [
            "string",
            "integer"
          ]
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "RollingUpdateDeployment": {
      "properties": {
        "maxUnavailable": {
          "type": [
            "string",
            "integer"
          ]
        },
        "maxSurge": {
          "type": [
            "string",
            "integer"
          ]
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "SELinuxOptions": {
      "properties": {
        "user": {
          "type": "string"
        },
        "role": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "level": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ScaleIOVolumeSource": {
      "properties": {
        "gateway": {
          "type": "string"
        },
        "system": {
          "type": "string"
        },
        "secretRef": {
          "$ref": "#/$defs/LocalObjectReference"
        },
        "sslEnabled": {
          "type": "boolean"
        },
        "protectionDomain": {
          "type": "string"
        },
        "storagePool": {
          "type": "string"
        },
        "storageMode": {
          "type": "string"
        },
        "volumeName": {
          "type": "string"
        },
        "fsType": {
          "type": "string"
        },
        "readOnly": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "gateway",
        "system",
        "secretRef"
      ]
    },
    "SeccompProfile": {
      "properties": {
        "type": {
          "type": "string"
        },
        "localhostProfile": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "type"
      ]
    },
    "SecretEnvSource": {
      "properties": {
        "name": {
          "type": "string"
        },
        "optional": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "SecretKeySelector": {
      "properties": {
        "name": {
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "optional": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "key"
      ]
    },
    "SecretProjection": {
      "properties": {
        "name": {
          "type": "string"
        },
        "items": {
          "items": {
            "$ref": "#/$defs/KeyToPath"
          },
          "type": "array"
        },
        "optional": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "SecretVolumeSource": {
      "properties": {
        "secretName": {
          "type": "string"
        },
        "items": {
          "items": {
            "$ref": "#/$defs/KeyToPath"
          },
          "type": "array"
        },
        "defaultMode": {
          "type": "integer"
        },
        "optional": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "SecurityContext": {
      "properties": {
        "capabilities": {
          "$ref": "#/$defs/Capabilities"
        },
        "privileged": {
          "type": "boolean"
        },
        "seLinuxOptions": {
          "$ref": "#/$defs/SELinuxOptions"
        },
        "windowsOptions": {
          "$ref": "#/$defs/WindowsSecurityContextOptions"
        },
        "runAsUser": {
          "type": "integer"
        },
        "runAsGroup": {
          "type": "integer"
        },
        "runAsNonRoot": {
          "type": "boolean"
        },
        "readOnlyRootFilesystem": {
          "type": "boolean"
        },
        "allowPrivilegeEscalation": {
          "type": "boolean"
        },
        "procMount": {
          "type": "string"
        },
        "seccompProfile": {
          "$ref": "#/$defs/SeccompProfile"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ServiceAccountTokenProjection": {
      "properties": {
        "audience": {
          "type": "string"
        },
        "expirationSeconds": {
          "type": "integer"
        },
        "path": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "path"
      ]
    },
    "PortsSpec": {
      "properties": {
        "name": {
          "type": "string"
        },
        "protocol": {
          "type": "string"
        },
        "appProtocol": {
          "type": "string"
        },
        "port": {
          "type": "integer"
        },
        "targetPort": {
          "type": [
            "string",
            "integer"
          ]
        },
        "hostPort": {
          "type": "integer"
        },
        "nodePort": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "port"
      ]
    },
    "ServicePort": {
      "properties": {
        "name": {
          "type": "string"
        },
        "protocol": {
          "type": "string"
        },
        "appProtocol": {
          "type": "string"
        },
        "port": {
          "type": "integer"
        },
        "targetPort": {
          "type": [
            "string",
            "integer"
          ]
        },
        "nodePort": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "port"
      ]
    },
    "SleepAction": {
      "properties": {
        "seconds": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "seconds"
      ]
    },
    "StorageOSVolumeSource": {
      "properties": {
        "volumeName": {
          "type": "string"
        },
        "volumeNamespace": {
          "type": "string"
        },
        "fsType": {
          "type": "string"
        },
        "readOnly": {
          "type": "boolean"
        },
        "secretRef": {
          "$ref": "#/$defs/LocalObjectReference"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Sysctl": {
      "properties": {
        "name": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "name",
        "value"
      ]
    },
    "TCPSocketAction": {
      "properties": {
        "port": {
          "type": [
            "string",
            "integer"
          ]
        },
        "host": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "port"
      ]
    },
    "Time": {
      "properties": {},
      "additionalProperties": false,
      "type": "object"
    },
    "Toleration": {
      "properties": {
        "key": {
          "type": "string"
        },
        "operator": {
          "type": "string"
        },
        "value": {
          "type": "string"
        },
        "effect": {
          "type": "string"
        },
        "tolerationSeconds": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "TopologySpreadConstraint": {
      "properties": {
        "maxSkew": {
          "type": "integer"
        },
        "topologyKey": {
          "type": "string"
        },
        "whenUnsatisfiable": {
          "type": "string"
        },
        "labelSelector": {
          "$ref": "#/$defs/LabelSelector"
        },
        "minDomains": {
          "type": "integer"
        },
        "nodeAffinityPolicy": {
          "type": "string"
        },
        "nodeTaintsPolicy": {
          "type": "string"
        },
        "matchLabelKeys": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "maxSkew",
        "topologyKey",
        "whenUnsatisfiable"
      ]
    },
    "TypedLocalObjectReference": {
      "properties": {
        "apiGroup": {
          "type": "string"
        },
        "kind": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "apiGroup",
        "kind",
        "name"
      ]
    },
    "TypedObjectReference": {
      "properties": {
        "apiGroup": {
          "type": "string"
        },
        "kind": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "namespace": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "apiGroup",
        "kind",
        "name"
      ]
    },
    "Volume": {
      "properties": {
        "name": {
          "type": "string"
        },
        "hostPath": {
          "$ref": "#/$defs/HostPathVolumeSource"
        },
        "emptyDir": {
          "$ref": "#/$defs/EmptyDirVolumeSource"
        },
        "gcePersistentDisk": {
          "$ref": "#/$defs/GCEPersistentDiskVolumeSource"
        },
        "awsElasticBlockStore": {
          "$ref": "#/$defs/AWSElasticBlockStoreVolumeSource"
        },
        "gitRepo": {
          "$ref": "#/$defs/GitRepoVolumeSource"
        },
        "secret": {
          "$ref": "#/$defs/SecretVolumeSource"
        },
        "nfs": {
          "$ref": "#/$defs/NFSVolumeSource"
        },
        "iscsi": {
          "$ref": "#/$defs/ISCSIVolumeSource"
        },
        "glusterfs": {
          "$ref": "#/$defs/GlusterfsVolumeSource"
        },
        "persistentVolumeClaim": {
          "$ref": "#/$defs/PersistentVolumeClaimVolumeSource"
        },
        "rbd": {
          "$ref": "#/$defs/RBDVolumeSource"
        },
        "flexVolume": {
          "$ref": "#/$defs/FlexVolumeSource"
        },
        "cinder": {
          "$ref": "#/$defs/CinderVolumeSource"
        },
        "cephfs": {
          "$ref": "#/$defs/CephFSVolumeSource"
        },
        "flocker": {
          "$ref": "#/$defs/FlockerVolumeSource"
        },
        "downwardAPI": {
          "$ref": "#/$defs/DownwardAPIVolumeSource"
        },
        "fc": {
          "$ref": "#/$defs/FCVolumeSource"
        },
        "azureFile": {
          "$ref": "#/$defs/AzureFileVolumeSource"
        },
        "configMap": {
          "$ref": "#/$defs/ConfigMapVolumeSource"
        },
        "vsphereVolume": {
          "$ref": "#/$defs/VsphereVirtualDiskVolumeSource"
        },
        "quobyte": {
          "$ref": "#/$defs/QuobyteVolumeSource"
        },
        "azureDisk": {
          "$ref": "#/$defs/AzureDiskVolumeSource"
        },
        "photonPersistentDisk": {
          "$ref": "#/$defs/PhotonPersistentDiskVolumeSource"
        },
        "projected": {
          "$ref": "#/$defs/ProjectedVolumeSource"
        },
        "portworxVolume": {
          "$ref": "#/$defs/PortworxVolumeSource"
        },
        "scaleIO": {
          "$ref": "#/$defs/ScaleIOVolumeSource"
        },
        "storageos": {
          "$ref": "#/$defs/StorageOSVolumeSource"
        },
        "csi": {
          "$ref": "#/$defs/CSIVolumeSource"
        },
        "ephemeral": {
          "$ref": "#/$defs/EphemeralVolumeSource"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "name"
      ]
    },
    "VolumeDevice": {
      "properties": {
        "name": {
          "type": "string"
        },
        "devicePath": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "name",
        "devicePath"
      ]
    },
    "VolumeMount": {
      "properties": {
        "name": {
          "type": "string"
        },
        "readOnly": {
          "type": "boolean"
        },
        "mountPath": {
          "type": "string"
        },
        "subPath": {
          "type": "string"
        },
        "mountPropagation": {
          "type": "string"
        },
        "subPathExpr": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "name",
        "mountPath"
      ]
    },
    "VolumeProjection": {
      "properties": {
        "secret": {
          "$ref": "#/$defs/SecretProjection"
        },
        "downwardAPI": {
          "$ref": "#/$defs/DownwardAPIProjection"
        },
        "configMap": {
          "$ref": "#/$defs/ConfigMapProjection"
        },
        "serviceAccountToken": {
          "$ref": "#/$defs/ServiceAccountTokenProjection"
        },
        "clusterTrustBundle": {
          "$ref": "#/$defs/ClusterTrustBundleProjection"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "VolumeResourceRequirements": {
      "properties": {
        "limits": {
          "type": "object"
        },
        "requests": {
          "type": "object"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "VsphereVirtualDiskVolumeSource": {
      "properties": {
        "volumePath": {
          "type": "string"
        },
        "fsType": {
          "type": "string"
        },
        "storagePolicyName": {
          "type": "string"
        },
        "storagePolicyID": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "volumePath"
      ]
    },
    "WeightedPodAffinityTerm": {
      "properties": {
        "weight": {
          "type": "integer"
        },
        "podAffinityTerm": {
          "$ref": "#/$defs/PodAffinityTerm"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "weight",
        "podAffinityTerm"
      ]
    },
    "WindowsSecurityContextOptions": {
      "properties": {
        "gmsaCredentialSpecName": {
          "type": "string"
        },
        "gmsaCredentialSpec": {
          "type": "string"
        },
        "runAsUserName": {
          "type": "string"
        },
        "hostProcess": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "InstrumentationSpec": {
      "properties": {
        "name": {
          "type": "string"
        },
        "labels": {
          "type": "object"
        },
        "annotations": {
          "type": "object"
        },
        "enabled": {
          "type": "boolean"
        },
        "exporter": {
          "$ref": "#/$defs/Exporter"
        },
        "resource": {
          "$ref": "#/$defs/Resource"
        },
        "propagators": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "sampler": {
          "$ref": "#/$defs/Sampler"
        },
        "env": {
          "items": {
            "$ref": "#/$defs/EnvVar"
          },
          "type": "array"
        },
        "java": {
          "$ref": "#/$defs/Java"
        },
        "nodejs": {
          "$ref": "#/$defs/NodeJS"
        },
        "python": {
          "$ref": "#/$defs/Python"
        },
        "dotnet": {
          "$ref": "#/$defs/DotNet"
        },
        "go": {
          "$ref": "#/$defs/Go"
        },
        "apacheHttpd": {
          "$ref": "#/$defs/ApacheHttpd"
        },
        "nginx": {
          "$ref": "#/$defs/Nginx"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Java": {
      "properties": {
        "image": {
          "type": "string"
        },
        "volumeLimitSize": {
          "type": "string"
        },
        "env": {
          "items": {
            "$ref": "#/$defs/EnvVar"
          },
          "type": "array"
        },
        "resources": {
          "$ref": "#/$defs/ResourceRequirements"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Nginx": {
      "properties": {
        "image": {
          "type": "string"
        },
        "volumeLimitSize": {
          "type": "string"
        },
        "env": {
          "items": {
            "$ref": "#/$defs/EnvVar"
          },
          "type": "array"
        },
        "attrs": {
          "items": {
            "$ref": "#/$defs/EnvVar"
          },
          "type": "array"
        },
        "configFile": {
          "type": "string"
        },
        "resourceRequirements": {
          "$ref": "#/$defs/ResourceRequirements"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "NodeJS": {
      "properties": {
        "image": {
          "type": "string"
        },
        "volumeLimitSize": {
          "type": "string"
        },
        "env": {
          "items": {
            "$ref": "#/$defs/EnvVar"
          },
          "type": "array"
        },
        "resourceRequirements": {
          "$ref": "#/$defs/ResourceRequirements"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Python": {
      "properties": {
        "image": {
          "type": "string"
        },
        "volumeLimitSize": {
          "type": "string"
        },
        "env": {
          "items": {
            "$ref": "#/$defs/EnvVar"
          },
          "type": "array"
        },
        "resourceRequirements": {
          "$ref": "#/$defs/ResourceRequirements"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Resource": {
      "properties": {
        "resourceAttributes": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "addK8sUIDAttributes": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Sampler": {
      "properties": {
        "type": {
          "type": "string"
        },
        "argument": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ApacheHttpd": {
      "properties": {
        "image": {
          "type": "string"
        },
        "volumeLimitSize": {
          "type": "string"
        },
        "env": {
          "items": {
            "$ref": "#/$defs/EnvVar"
          },
          "type": "array"
        },
        "attrs": {
          "items": {
            "$ref": "#/$defs/EnvVar"
          },
          "type": "array"
        },
        "version": {
          "type": "string"
        },
        "configPath": {
          "type": "string"
        },
        "resourceRequirements": {
          "$ref": "#/$defs/ResourceRequirements"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "DotNet": {
      "properties": {
        "image": {
          "type": "string"
        },
        "volumeLimitSize": {
          "type": "string"
        },
        "env": {
          "items": {
            "$ref": "#/$defs/EnvVar"
          },
          "type": "array"
        },
        "resourceRequirements": {
          "$ref": "#/$defs/ResourceRequirements"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Exporter": {
      "properties": {
        "endpoint": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Go": {
      "properties": {
        "image": {
          "type": "string"
        },
        "volumeLimitSize": {
          "type": "string"
        },
        "env": {
          "items": {
            "$ref": "#/$defs/EnvVar"
          },
          "type": "array"
        },
        "resourceRequirements": {
          "$ref": "#/$defs/ResourceRequirements"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "OpAMPBridgeSpec": {
      "properties": {
        "clusterRole": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "annotations": {
              "type": "object"
            },
            "name": {
              "type": "string"
            },
            "rules": {
              "type": "array",
              "items": {
                "type": "object"
              }
            }
          },
          "required": [
            "enabled"
          ]
        },
        "enabled": {
          "type": "boolean"
        },
        "addReportingLabel": {
          "type": "boolean"
        },
        "addManagedLabel": {
          "type": "boolean"
        },
        "endpoint": {
          "type": "string"
        },
        "description": {
          "type": "object"
        },
        "annotations": {
          "type": "object"
        },
        "labels": {
          "type": "object"
        },
        "headers": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "capabilities": {
          "additionalProperties": {
            "type": "boolean"
          },
          "type": "object"
        },
        "componentsAllowed": {
          "additionalProperties": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "type": "object"
        },
        "resources": {
          "$ref": "#/$defs/ResourceRequirements"
        },
        "nodeSelector": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "securityContext": {
          "$ref": "#/$defs/SecurityContext"
        },
        "podSecurityContext": {
          "$ref": "#/$defs/PodSecurityContext"
        },
        "podAnnotations": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "serviceAccount": {
          "type": "string"
        },
        "image": {
          "description": "Image use in both standalone and agent configs",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "registry": {
              "type": "string"
            },
            "repository": {
              "type": "string"
            },
            "tag": {
              "type": "string"
            },
            "digest": {
              "type": "string"
            },
            "pullPolicy": {
              "type": "string",
              "enum": [
                "IfNotPresent",
                "Always",
                "Never"
              ]
            }
          }
        },
        "upgradeStrategy": {
          "type": "string"
        },
        "volumeMounts": {
          "items": {
            "$ref": "#/$defs/VolumeMount"
          },
          "type": "array"
        },
        "ports": {
          "items": {
            "$ref": "#/$defs/ServicePort"
          },
          "type": "array"
        },
        "env": {
          "items": {
            "$ref": "#/$defs/EnvVar"
          },
          "type": "array"
        },
        "envFrom": {
          "items": {
            "$ref": "#/$defs/EnvFromSource"
          },
          "type": "array"
        },
        "tolerations": {
          "items": {
            "$ref": "#/$defs/Toleration"
          },
          "type": "array"
        },
        "volumes": {
          "items": {
            "$ref": "#/$defs/Volume"
          },
          "type": "array"
        },
        "hostNetwork": {
          "type": "boolean"
        },
        "hostPID": {
          "type": "boolean"
        },
        "priorityClassName": {
          "type": "string"
        },
        "affinity": {
          "$ref": "#/$defs/Affinity"
        },
        "topologySpreadConstraints": {
          "items": {
            "$ref": "#/$defs/TopologySpreadConstraint"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "endpoint",
        "capabilities",
        "upgradeStrategy"
      ]
    },
    "AdditionalLabels": {
      "type": "object",
      "additionalProperties": true,
      "title": "AdditionalLabels"
    },
    "EnableConfigBlock": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "enabled": {
          "type": "boolean"
        }
      },
      "required": [
        "enabled"
      ],
      "title": "EnableConfigBlock"
    },
    "AttachMetadata": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "node": {
          "type": "boolean"
        }
      },
      "required": [
        "node"
      ],
      "title": "AttachMetadata"
    },
    "KubeAPIServer": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "tlsConfig": {
          "$ref": "#/$defs/TLSConfig"
        },
        "serviceMonitor": {
          "$ref": "#/$defs/Monitor"
        }
      },
      "required": [
        "enabled",
        "serviceMonitor",
        "tlsConfig"
      ],
      "title": "KubeAPIServer"
    },
    "TLSConfig": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "serverName": {
          "type": "string"
        },
        "insecureSkipVerify": {
          "type": "boolean"
        }
      },
      "required": [
        "insecureSkipVerify",
        "serverName"
      ],
      "title": "TLSConfig"
    },
    "KubeDNS": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "service": {
          "$ref": "#/$defs/KubeDNSService"
        },
        "serviceMonitor": {
          "$ref": "#/$defs/KubeServiceMonitor"
        }
      },
      "required": [
        "enabled",
        "service",
        "serviceMonitor"
      ],
      "title": "KubeDNS"
    },
    "KubeDNSService": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "dnsmasq": {
          "$ref": "#/$defs/Dnsmasq"
        },
        "skydns": {
          "$ref": "#/$defs/Dnsmasq"
        }
      },
      "required": [
        "dnsmasq",
        "skydns"
      ],
      "title": "KubeDNSService"
    },
    "Dnsmasq": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "port": {
          "type": "integer"
        },
        "targetPort": {
          "type": "integer"
        }
      },
      "required": [
        "port",
        "targetPort"
      ],
      "title": "Dnsmasq"
    },
    "Kubelet": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "namespace": {
          "type": "string"
        },
        "serviceMonitor": {
          "$ref": "#/$defs/KubeletServiceMonitor"
        }
      },
      "required": [
        "enabled",
        "namespace",
        "serviceMonitor"
      ],
      "title": "Kubelet"
    },
    "KubeletServiceMonitor": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "attachMetadata": {
          "$ref": "#/$defs/AttachMetadata"
        },
        "interval": {
          "type": "string"
        },
        "honorLabels": {
          "type": "boolean"
        },
        "honorTimestamps": {
          "type": "boolean"
        },
        "https": {
          "type": "boolean"
        },
        "cAdvisor": {
          "type": "boolean"
        },
        "probes": {
          "type": "boolean"
        }
      },
      "required": [
        "cAdvisor",
        "honorLabels",
        "honorTimestamps",
        "https",
        "interval",
        "probes"
      ],
      "title": "KubeletServiceMonitor"
    },
    "KubeServiceMonitorDefinition": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "endpoints": {
          "type": "array",
          "items": {}
        },
        "service": {
          "$ref": "#/$defs/KubeService"
        },
        "serviceMonitor": {
          "$ref": "#/$defs/KubeServiceMonitor"
        }
      },
      "required": [
        "enabled",
        "endpoints",
        "service",
        "serviceMonitor"
      ],
      "title": "KubeServiceMonitorDefinition"
    },
    "KubeService": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "selector": {
          "type": "object",
          "patternProperties": {
            "^[a-zA-Z0-9-]+$": {
              "type": "string",
              "description": "Selector labels used to match the service to pods."
            }
          },
          "description": "Labels to select pods for the service."
        },
        "port": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "targetPort": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "enabled"
      ],
      "title": "KubeService"
    },
    "KubeServiceMonitor": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "interval": {
          "type": "string"
        },
        "sampleLimit": {
          "type": "integer"
        },
        "targetLimit": {
          "type": "integer"
        },
        "labelLimit": {
          "type": "integer"
        },
        "labelNameLengthLimit": {
          "type": "integer"
        },
        "labelValueLengthLimit": {
          "type": "integer"
        },
        "proxyUrl": {
          "type": "string"
        },
        "port": {
          "type": "string"
        },
        "jobLabel": {
          "type": "string"
        },
        "selector": {
          "$ref": "#/$defs/AdditionalLabels"
        },
        "metricRelabelings": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/MetricRelabeling"
          }
        },
        "relabelings": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/MetricRelabeling"
          }
        },
        "additionalLabels": {
          "$ref": "#/$defs/AdditionalLabels"
        },
        "https": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "insecureSkipVerify": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "serverName": {
          "anyOf": [
            {
              "type": "null"
            },
            {
              "type": "string"
            }
          ]
        },
        "dnsmasqMetricRelabelings": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/MetricRelabeling"
          }
        },
        "dnsmasqRelabelings": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/MetricRelabeling"
          }
        },
        "scheme": {
          "type": "string"
        },
        "caFile": {
          "type": "string"
        },
        "certFile": {
          "type": "string"
        },
        "keyFile": {
          "type": "string"
        }
      },
      "required": [
        "additionalLabels",
        "interval",
        "jobLabel",
        "labelLimit",
        "labelNameLengthLimit",
        "labelValueLengthLimit",
        "metricRelabelings",
        "proxyUrl",
        "relabelings",
        "sampleLimit",
        "selector",
        "targetLimit"
      ],
      "title": "KubeServiceMonitor"
    },
    "KubeStateMetrics": {
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "namespaceOverride": {
          "type": "string"
        },
        "rbac": {
          "$ref": "#/$defs/KubeStateMetricsRbac"
        },
        "releaseLabel": {
          "type": "boolean"
        },
        "prometheus": {
          "$ref": "#/$defs/Prometheus"
        },
        "selfMonitor": {
          "$ref": "#/$defs/EnableConfigBlock"
        }
      },
      "required": [
        "namespaceOverride",
        "prometheus",
        "rbac",
        "releaseLabel",
        "selfMonitor"
      ],
      "title": "KubeStateMetrics"
    },
    "Prometheus": {
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "monitor": {
          "$ref": "#/$defs/Monitor"
        }
      },
      "required": [
        "monitor"
      ],
      "title": "Prometheus"
    },
    "Monitor": {
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "interval": {
          "type": "string"
        },
        "sampleLimit": {
          "type": "integer"
        },
        "targetLimit": {
          "type": "integer"
        },
        "labelLimit": {
          "type": "integer"
        },
        "labelNameLengthLimit": {
          "type": "integer"
        },
        "labelValueLengthLimit": {
          "type": "integer"
        },
        "scrapeTimeout": {
          "type": "string"
        },
        "proxyUrl": {
          "type": "string"
        },
        "honorLabels": {
          "type": "boolean"
        },
        "metricRelabelings": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/MetricRelabeling"
          }
        },
        "relabelings": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/MetricRelabeling"
          }
        },
        "jobLabel": {
          "type": "string"
        },
        "selector": {
          "$ref": "#/$defs/Selector"
        },
        "additionalLabels": {
          "$ref": "#/$defs/AdditionalLabels"
        }
      },
      "required": [
        "interval",
        "labelLimit",
        "labelNameLengthLimit",
        "labelValueLengthLimit",
        "metricRelabelings",
        "proxyUrl",
        "relabelings",
        "sampleLimit",
        "targetLimit"
      ],
      "title": "Monitor"
    },
    "MetricRelabeling": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "action": {
          "type": "string"
        },
        "regex": {
          "type": "string"
        },
        "sourceLabels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "targetLabel": {
          "type": "string"
        },
        "replacement": {
          "type": "string"
        },
        "separator": {
          "type": "string"
        },
        "modulus": {
          "type": "integer"
        }
      },
      "title": "MetricRelabeling"
    },
    "Selector": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "matchLabels": {
          "$ref": "#/$defs/MatchLabels"
        }
      },
      "required": [
        "matchLabels"
      ],
      "title": "Selector"
    },
    "MatchLabels": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "component": {
          "type": "string"
        },
        "provider": {
          "type": "string"
        }
      },
      "required": [
        "component",
        "provider"
      ],
      "title": "MatchLabels"
    },
    "KubeStateMetricsRbac": {
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "create": {
          "type": "boolean"
        }
      },
      "required": [
        "create"
      ],
      "title": "KubeStateMetricsRbac"
    },
    "PrometheusNodeExporter": {
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "namespaceOverride": {
          "type": "string"
        },
        "podLabels": {
          "$ref": "#/$defs/PodLabels"
        },
        "releaseLabel": {
          "type": "boolean"
        },
        "extraArgs": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "service": {
          "$ref": "#/$defs/PrometheusNodeExporterService"
        },
        "prometheus": {
          "$ref": "#/$defs/Prometheus"
        },
        "rbac": {
          "$ref": "#/$defs/PrometheusNodeExporterRbac"
        }
      },
      "required": [
        "extraArgs",
        "namespaceOverride",
        "podLabels",
        "prometheus",
        "rbac",
        "releaseLabel",
        "service"
      ],
      "title": "PrometheusNodeExporter"
    },
    "PodLabels": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "jobLabel": {
          "type": "string"
        }
      },
      "required": [
        "jobLabel"
      ],
      "title": "PodLabels"
    },
    "PrometheusNodeExporterRbac": {
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "pspEnabled": {
          "type": "boolean"
        }
      },
      "required": [
        "pspEnabled"
      ],
      "title": "PrometheusNodeExporterRbac"
    },
    "PrometheusNodeExporterService": {
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "portName": {
          "type": "string"
        }
      },
      "required": [
        "portName"
      ],
      "title": "PrometheusNodeExporterService"
    }
  },
  "properties": {
    "cleanupJob": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        }
      }
    },
    "crds": {
      "type": "object",
      "properties": {
        "install": {
          "type": "boolean"
        }
      }
    },
    "fullnameOverride": {
      "type": "string"
    },
    "namespaceOverride": {
      "type": "string"
    },
    "defaultCRConfig": {
      "$ref": "#/$defs/OpenTelemetryCollectorSpec"
    },
    "collectors": {
      "type": "object",
      "patternProperties": {
        "^[a-z]+[a-zA-Z0-9]+$": {
          "$ref": "#/$defs/OpenTelemetryCollectorSpec"
        }
      }
    },
    "clusterName": {
      "type": "string"
    },
    "clusterRole": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "annotations": {
          "type": "object"
        },
        "name": {
          "type": "string"
        },
        "rules": {
          "type": "array",
          "items": {
            "type": "object"
          }
        }
      },
      "required": [
        "enabled"
      ]
    },
    "opAMPBridge": {
      "$ref": "#/$defs/OpAMPBridgeSpec"
    },
    "instrumentation": {
      "$ref": "#/$defs/InstrumentationSpec"
    },
    "extraEnvs": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "opentelemetry-operator": {
      "type": "object"
    },
    "kubernetesServiceMonitors": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "ignoreNamespaceSelectors": {
          "type": "boolean"
        }
      },
      "required": [
        "enabled",
        "ignoreNamespaceSelectors"
      ]
    },
    "kubeApiServer": {
      "$ref": "#/$defs/KubeAPIServer"
    },
    "kubelet": {
      "$ref": "#/$defs/Kubelet"
    },
    "kubeControllerManager": {
      "$ref": "#/$defs/KubeServiceMonitorDefinition"
    },
    "coreDns": {
      "$ref": "#/$defs/KubeServiceMonitorDefinition"
    },
    "kubeDns": {
      "$ref": "#/$defs/KubeDNS"
    },
    "kubeEtcd": {
      "$ref": "#/$defs/KubeServiceMonitorDefinition"
    },
    "kubeScheduler": {
      "$ref": "#/$defs/KubeServiceMonitorDefinition"
    },
    "kubeProxy": {
      "$ref": "#/$defs/KubeServiceMonitorDefinition"
    },
    "kubeStateMetrics": {
      "$ref": "#/$defs/EnableConfigBlock"
    },
    "nodeExporter": {
      "$ref": "#/$defs/EnableConfigBlock"
    },
    "kube-state-metrics": {
      "$ref": "#/$defs/KubeStateMetrics"
    },
    "prometheus-node-exporter": {
      "$ref": "#/$defs/PrometheusNodeExporter"
    }
  }
}
