{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "HelmTemplateConfig",
  "type": "object",
  "additionalProperties": false,
  "required": ["outPath", "path", "releaseName"],
  "properties": {
    "path": {
      "type": "string",
      "description": "Path at which the Helm chart can be found.",
      "minLength": 1
    },
    "outPath": {
      "type": "string",
      "description": "OutPath to write the rendered manifests to. If it points to a .yaml or .yml file, the rendered manifests will be written to that file. If it points to a directory, the rendered manifests will be written to this directory joined with the chart name.",
      "minLength": 1
    },
    "releaseName": {
      "type": "string",
      "description": "ReleaseName to use for the rendered manifests.",
      "minLength": 1
    },
    "useReleaseName": {
      "type": "boolean",
      "description": "Whether to use the release name in the output path (instead of the chart name). This only has an effect if outPath is set to a directory.",
      "default": false
    },
    "namespace": {
      "type": "string",
      "description": "Namespace to use for the rendered manifests."
    },
    "valuesFiles": {
      "type": "array",
      "description": "ValuesFiles to use for rendering the Helm chart.",
      "items": {
        "type": "string",
        "minLength": 1
      }
    },
    "includeCRDs": {
      "type": "boolean",
      "description": "Whether to include CRDs in the rendered manifests.",
      "default": false
    },
    "disableHooks": {
      "type": "boolean",
      "description": "Whether to disable hooks in the rendered manifests.",
      "default": false
    },
    "skipTests": {
      "type": "boolean",
      "description": "Whether to skip tests when rendering the manifests.",
      "default": false
    },
    "kubeVersion": {
      "type": "string",
      "description": "KubeVersion allows for passing a specific Kubernetes version to use when rendering the manifests."
    },
    "apiVersions": {
      "type": "array",
      "description": "APIVersions allows a manual set of supported API Versions to be passed when rendering the manifests.",
      "items": {
        "type": "string",
        "minLength": 1
      }
    }
  }
}
