questions:
- variable: installTVK.enabled
  default: true
  description: "TriloVault Manager is an instance of TrilioVault for Kubernetes. Selecting this checkbox automatically creates a TrilioVault Manager instance"
  required: true
  type: boolean
  label: "Install TrilioVault Manager Automatically"
  group: "TrilioVault Manager Install Configuration"

- variable: installTVK.tvkInstanceName
  show_if: "installTVK.enabled=true"
  default: "triliovault-manager"
  description: "TrilioVault Manager Instance Name. This will be used to manage the Kubernetes cluster in TVK Management Console and backups performed by the TrilioVault for Kubernetes"
  required: true
  type: string
  label: "TrilioVault Manager Instance Name"
  group: "TrilioVault Manager Install Configuration"

- variable: installTVK.applicationScope
  default: Cluster
  description: "TrilioVault Manager installation scope: Cluster or Namespaced"
  required: true
  type: enum
  label: "TrilioVault Manager Installation Scope"
  group: "TrilioVault Manager Install Configuration"
  options:
    - "Cluster"
    - "Namespaced"

- variable: installTVK.ingressConfig.host
  default: "rancher.k8s-tvk.com"
  description: "Hostname URL to access the TVK Management Console - For example: rancher.k8s-tvk.com"
  required: true
  type: hostname
  label: "TVK Management Console Hostname URL"
  group: "Ingress Configuration"

- variable: installTVK.ingressConfig.tlsSecretName
  default: ""
  description: "TLS Secret containing an appropriate certificate to access the TVK Management Console over HTTPS protocol. Secret should of type kubernetes.io/tls"
  required: false
  type: secret
  label: "TLS Secret of type kubernetes.io/tls (Optional)"
  group: "Ingress Configuration"


- variable: installTVK.ComponentConfiguration.ingressController.service.type
  default: "NodePort"
  description: "Ingress Controller Service Type to access the TVK Management Console"
  required: true
  type: enum
  label: "Ingress Controller Service Type"
  group: "Ingress Configuration"
  options:
    - "NodePort"
    - "LoadBalancer"

- variable: installTVK.ingressConfig.annotations
  default: ""
  description: "Annotations to add for the TrilioVault Manager ingress resource - For example: {'foo':'bar'}"
  required: false
  type: string
  label: "Annotations for Ingress Resource (Optional)"
  group: "Ingress Configuration"

- variable: proxySettings.PROXY_ENABLED
  default: false
  description: "Select this checkbox to deploy the TrilioVault Manager via a proxy server"
  required: false
  type: boolean
  label: "Proxy Settings (Optional)"
  group: "Proxy Settings"
  show_subquestion_if: true
  subquestions:
  - variable: proxySettings.NO_PROXY
    default: ""
    description: "Provide the user defined IPs/hosts and subnets to exempt from proxy. User can provide comma separated values. For example: 'localhost,127.0.0.1,10.239.112.0/20,10.240.0.0/14'"
    required: false
    type: string
    label: "No Proxy (Optional)"
    group: "Proxy Settings"
  - variable: proxySettings.HTTP_PROXY
    default: ""
    description: "Provide HTTP proxy information. For example: http://<uname>:<password>@<IP>:<Port>"
    required: true
    type: string
    label: "HTTP Proxy"
    group: "Proxy Settings"
  - variable: proxySettings.HTTPS_PROXY
    default: ""
    description: "Provide HTTPS proxy information. For example: https://<uname>:<password>@<IP>:<Port>"
    required: true
    type: string
    label: "HTTPS Proxy"
    group: "Proxy Settings"
  - variable: proxySettings.CA_BUNDLE_CONFIGMAP
    default: ""
    description: "Provide a CA Certificate bundle configmap present on the Kubernetes cluster to communicate with the proxy server"
    required: false
    type: string
    label: "CA Certificate Bundle Configmap Name (Optional)"
    group: "Proxy Settings"

- variable: observability.enabled
  default: false
  description: "Select this checkbox to deploy the Observability Stack with Triliovault operator"
  required: false
  type: boolean
  label: "Observability Stack (Optional)"
  group: "Observability"
  show_subquestion_if: true
  subquestions:
    - variable: observability.logging.loki.enabled
      default: true
      description: "Select this checkbox to deploy the Logging Stack with Loki"
      required: true
      type: boolean
      label: "Logging with Loki"
      group: "Logging"
    - variable: observability.logging.promtail.enabled
      default: true
      description: "Select this checkbox to deploy the Logging Stack with Promtail"
      required: true
      type: boolean
      label: "Logging with Promtail"
      group: "Logging"
    - variable: observability.monitoring.prometheus.enabled
      default: true
      description: "Select this checkbox to deploy the Monitoring Stack with Prometheus"
      required: true
      type: boolean
      label: "Monitoring with Prometheus"
      group: "Monitoring"
    - variable: observability.monitoring.prometheus.server.enabled
      default: true
      description: "Select this checkbox to deploy the Monitoring Stack with Prometheus Server"
      required: true
      type: boolean
      label: "Monitoring with Prometheus Server"
      group: "Monitoring"
    - variable: observability.visualization.grafana.enabled
      default: true
      description: "Select this checkbox to deploy the Visualization Stack with Grafana"
      required: true
      type: boolean
      label: "Visualization with Grafana"
      group: "Visualization"
    - variable: observability.visualization.grafana.service.type
      show_if: "observability.visualization.grafana.enabled=true"
      default: "ClusterIP"
      description: "Grafana Service Type to access the Grafana Dashboards"
      required: true
      type: enum
      label: "Grafana Service Type"
      group: "Visualization"
      options:
        - "NodePort"
        - "LoadBalancer"