{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "enabled": {
      "description": "Usually used when using opentelemetry-target-allocator as a subchart.",
      "type": "boolean"
    },
    "global": {
      "type": "object"
    },
    "fullnameOverride": {
      "type": "string"
    },
    "nameOverride": {
      "type": "string"
    },
    "mode": {
      "description": "Valid values are 'deployment' and 'statefulset'.",
      "type": "string",
      "enum": [
        "deployment",
        "statefulset"
      ]
    },
    "configMap": {
      "type": "object",
      "properties": {
        "create": {
          "type": "boolean"
        },
        "existingName": {
          "type": "string"
        },
        "existingKey": {
          "type": "string"
        }
      }
    },
    "extraVolumes": {
      "type": "array"
    },
    "extraVolumeMounts": {
      "type": "array"
    },
    "replicaCount": {
      "type": "integer"
    },
    "targetAllocator": {
      "type": "object",
      "properties": {
        "config": {
          "type": "object",
          "properties": {
            "allocation_strategy": {
              "type": "string"
            },
            "config": {
              "type": "object",
              "properties": {
                "scrape_configs": {
                  "type": "array"
                }
              }
            },
            "filter_strategy": {
              "type": "string"
            },
            "prometheus_cr": {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean"
                },
                "pod_monitor_selector": {
                  "type": "object"
                },
                "scrapeInterval": {
                  "type": "string"
                },
                "service_monitor_selector": {
                  "type": "object"
                }
              }
            }
          }
        },
        "image": {
          "type": "object",
          "properties": {
            "repository": {
              "type": "string"
            },
            "tag": {
              "type": "string"
            }
          }
        },
        "imagePullSecrets": {
          "type": "array"
        },
        "extraEnvs": {
          "type": "array",
          "items": {
            "type": "object"
          }
        },
        "resources": {
          "type": "object"
        },
        "serviceAccount": {
          "type": "object",
          "properties": {
            "annotations": {
              "type": "object"
            },
            "create": {
              "type": "boolean"
            },
            "name": {
              "type": "string"
            }
          }
        }
      }
    },
    "statefulset": {
      "type": "object",
      "description": "StatefulSet-specific configuration, only used when mode is 'statefulset'.",
      "properties": {
        "volumeClaimTemplates": {
          "type": "array"
        },
        "podManagementPolicy": {
          "type": "string"
        },
        "persistentVolumeClaimRetentionPolicy": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "whenDeleted": {
              "type": "string"
            },
            "whenScaled": {
              "type": "string"
            }
          }
        }
      }
    }
  }
}
