{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:rancher:schema:rancher-chart:v1",
  "title": "Rancher Chart Values",
  "type": "object",
  "properties": {
    "agentTLSMode": {
      "type": ["string", "null"],
      "enum": ["strict", "system-store", "", null],
      "description": "agentTLSMode must be 'strict' or 'system-store' or null (defaults to system-store)"
    },
    "auditLog": {
      "type": "object",
      "properties": {
        "destination": {
          "type": "string",
          "enum": ["sidecar", "hostPath"],
          "description": "auditLog.destination must be either 'sidecar' or 'hostPath'"
        },
        "level": {
          "type": "integer",
          "enum": [0, 1, 2, 3],
          "description": "auditLog.level must be a number 0-3; 0 to disable, 3 for most verbose"
        },
        "enabled": {
          "type": "boolean",
          "description": "auditLog.enabled must be a boolean"
        }
      }
    },
    "service": {
      "type": "object",
      "description": "The default rancher service configuration",
      "properties": {
        "type": {
          "type": ["string", "null"],
          "enum": ["ClusterIP", "LoadBalancer", "NodePort", "", null]
        },
        "disableHTTP": {
          "type": "boolean"
        }
      }
    },
    "ingress": {
      "type": "object",
      "description": "The default rancher ingress configuration",
      "properties": {
        "servicePort": {
          "type": "integer",
          "enum": [443, 80]
        }
      }
    }
  },
  "required": [],
  "if": {
    "properties": {
      "service": {
        "properties": {
          "disableHTTP": { "const": true }
        },
        "required": ["disableHTTP"]
      }
    }
  },
  "then": {
    "properties": {
      "ingress": {
        "properties": {
          "servicePort": {
            "enum": [443]
          }
        },
        "required": ["servicePort"]
      }
    }
  }
}
