{
  "$schema": "http://json-schema.org/draft-07/schema",
  "type": "object",
  "properties": {
    "provider": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            }
          }
        }
      ]
    },
    "extraArgs": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "secretConfiguration": {
      "$comment": "This value is DEPRECATED as secrets should be configured external to the chart and exposed to the container via extraVolumes & extraVolumeMounts.",
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "mountPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "subPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "data": {
          "type": "object",
          "patternProperties": {
            ".+": {
              "type": "string"
            }
          }
        }
      }
    },
    "service": {
      "type": "object",
      "properties": {
        "annotations": {
          "type": "object"
        },
        "ipFamilies": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "IPv6",
              "IPv4"
            ]
          }
        },
        "ipFamilyPolicy": {
          "type": [
            "string",
            "null"
          ],
          "items": {
            "type": "string",
            "enum": [
              "SingleStack",
              "PreferDualStack",
              "RequireDualStack"
            ]
          }
        },
        "port": {
          "type": "integer"
        }
      }
    }
  }
}
