TrueChartsClone/charts/traefik/0.2.0/questions.yaml

453 lines
16 KiB
YAML

groups:
- name: "Container Images"
description: "Image to be used for container"
- name: "Container Entrypoint"
description: "Configuration of the executable that will be run when the container is started"
- name: "Container Environment Variables"
description: "Set the environment that will be visible to the container"
- name: "Networking"
description: "Configure networking for container"
- name: "Storage"
description: "Persist and share data that is separate from the lifecycle of the container"
- name: "traefik Configuration"
description: "Configure traefik deployment"
- name: "Workload Details"
description: "Configure how workload should be deployed"
- name: "Scaling/Upgrade Policy"
description: "Configure how pods are replaced when configuration is upgraded"
- name: "Restart Policy"
description: "Configure when pod should be restarted in case of failure"
- name: "Resource Reservation"
description: "Specify resources to be allocated to workload"
- name: "Ingress"
description: "Configure ingress"
- name: "Certmanager Settings"
description: "Configure Certmanager"
- name: "WARNING"
description: "WARNING"
portals:
web_portal:
protocols:
- "https"
host:
- "$variable-appIngress.webui.host"
ports:
- "443"
questions:
# Image related
- variable: image
description: "Docker Image Details"
label: "Docker Image"
group: "Container Images"
schema:
type: dict
required: true
attrs:
- variable: repository
description: "Docker image repository"
label: "Image repository"
schema:
type: string
required: true
default: "traefik"
- variable: tag
description: "Tag to use for specified image"
label: "Image Tag"
schema:
type: string
default: "2.4.2"
- variable: pullPolicy
description: "Docker Image Pull Policy"
label: "Image Pull Policy"
schema:
type: string
default: "IfNotPresent"
enum:
- value: "IfNotPresent"
description: "Only pull image if not present on host"
- value: "Always"
description: "Always pull image even if present on host"
- value: "Never"
description: "Never pull image even if it's not present on host"
- variable: appVolumeMounts
label: "app storage"
group: "Storage"
schema:
type: dict
attrs:
# Config ------------------------
- variable: data
label: "Data Dataset"
schema:
type: dict
$ref:
- "normalize/ixVolume"
attrs:
- variable: datasetName
label: "Dataset Name"
schema:
type: string
default: "data"
required: true
editable: false
- variable: mountPath
label: "Mount Path"
description: "Path to mount inside the pod"
schema:
type: path
required: true
default: "/data"
editable: false
- variable: hostPathEnabled
label: "host Path Enabled"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: hostPath
label: "Host Path"
schema:
type: hostpath
required: true
- variable: appIngress
label: ""
group: "Ingress"
schema:
type: dict
attrs:
- variable: webui
label: "Web Ingress Configuration"
group: "Ingress"
schema:
type: dict
attrs:
- variable: enabled
label: "Enable Web Ingress"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: entrypoint
label: "Select Entrypoint"
schema:
type: string
default: "websecure"
required: true
enum:
- value: "websecure"
description: "Websecure: HTTPS/TLS port 443"
- variable: host
label: "Host"
required: true
schema:
type: string
- variable: certType
label: "Select Certificate Type"
schema:
type: string
default: "letsencrypt-prod"
enum:
- value: ""
description: "No Encryption/TLS/Certificates"
- value: "letsencrypt-prod"
description: "Letsencrypt Production Certificates"
- value: "letsencrypt-staging"
description: "Letsencrypt Test Certificates"
- value: "wildcard"
description: "Global Wildcard Certificate"
- value: "selfsigned"
description: "Self-Signed Certificate"
- value: "existingcert"
description: "Existing Certificate"
- variable: existingcert
label: "Existing Certificate Name"
schema:
type: string
show_if: [["certType", "=", "existingcert"]]
default: ""
- variable: authForwardURL
label: "Forward Authentication URL"
schema:
type: string
default: ""
- variable: certmanager
description: "Configure CertManager Settings"
label: "CertManager Settings"
group: "Certmanager Settings"
schema:
type: dict
required: true
attrs:
- variable: email
description: "Email Adress to use with Letsencrypt"
label: "Email-Adress"
schema:
type: string
default: ""
required: true
- variable: wildcardDomain
description: "Enter Domain name here, if you want to setup a global wildcard-domain"
label: "Wildcard Domain"
schema:
type: string
default: ""
- variable: provider
description: "Select the CertManager provider to use"
label: "CertManager Provider"
schema:
type: string
default: "cloudflare"
enum:
- value: "cloudflare"
description: "Cloudflare"
- value: "cloudDNS"
description: "Google cloudDNS"
- value: "route53"
description: "Route53"
- value: "digitalocean"
description: "Digitalocean"
- value: "rfc2136"
description: "rfc2136"
- value: "azureDNS"
description: "AzureDNS"
- value: "akamai"
description: "Akamai"
- value: "acmeDNS"
description: "acmeDNS"
- variable: cloudflare
description: "Configure Cloudflare Settings"
label: "Cloudflare Settings"
schema:
show_if: [["provider", "=", "cloudflare"]]
type: dict
required: true
attrs:
- variable: apikey
description: "Enter your Cloudflare API-Key"
label: "API-Key"
schema:
type: string
default: ""
required: true
- variable: cloudDNS
description: "Configure Google cloudDNS Settings"
label: "Google cloudDNS Settings"
schema:
type: dict
show_if: [["provider", "=", "cloudDNS"]]
required: true
attrs:
- variable: project
description: "Enter your Google cloudDNS Project Name"
label: "Project"
schema:
type: string
default: ""
required: true
- variable: keyjson
description: "Enter your Google cloudDNS JSON Key"
label: "Key-JSON"
schema:
type: string
default: ""
required: true
- variable: route53
description: "Configure Route53 Settings"
label: "Route53 Settings"
schema:
type: dict
show_if: [["provider", "=", "route53"]]
required: true
attrs:
- variable: region
description: "Enter your Route53 Region"
label: "Region"
schema:
type: string
default: ""
required: true
- variable: accessKeyID
description: "Enter your Route53 accessKeyID"
label: "accessKeyID"
schema:
type: string
default: ""
required: true
- variable: secretaccesskey
description: "Enter your Route53 secretaccesskey"
label: "Secretaccesskey"
schema:
type: string
default: ""
required: true
- variable: digitalocean
description: "Configure Digitalocean Settings"
label: "Digitalocean Settings"
schema:
type: dict
show_if: [["provider", "=", "digitalocean"]]
required: true
attrs:
- variable: accesstoken
description: "Enter your Digitalocean Access Token"
label: "Access Token"
schema:
type: string
default: ""
required: true
- variable: rfc2136
description: "Configure rfc2136 Settings"
label: "rfc2136 Settings"
schema:
type: dict
show_if: [["provider", "=", "rfc2136"]]
required: true
attrs:
- variable: nameserver
description: "Enter your rfc2136 Nameserver"
label: "Nameserver"
schema:
type: string
default: ""
required: true
- variable: tsigKeyName
description: "Enter your rfc2136 tsigKeyName"
label: "tsigKeyName"
schema:
type: string
default: ""
required: true
- variable: tsigsecretkey
description: "Enter your rfc2136 tsigsecretkey"
label: "tsigsecretkey"
schema:
type: string
default: ""
required: true
- variable: tsigAlgorithm
description: "Enter your rfc2136 tsigAlgorithm"
label: "tsigAlgorithm"
schema:
type: string
default: ""
required: true
- variable: azureDNS
description: "Configure AzureDNS Settings"
label: "AzureDNS Settings"
schema:
type: dict
show_if: [["provider", "=", "azureDNS"]]
required: true
attrs:
- variable: environment
description: "Enter your AzureDNS environment"
label: "environment"
schema:
type: string
default: ""
required: true
- variable: subscriptionID
description: "Enter your AzureDNS subscriptionID"
label: "subscriptionID"
schema:
type: string
default: ""
required: true
- variable: resourceGroupName
description: "Enter your AzureDNS resourceGroupName"
label: "resourceGroupName"
schema:
type: string
default: ""
required: true
- variable: hostedZoneName
description: "Enter your AzureDNS hostedZoneName"
label: "hostedZoneName"
schema:
type: string
default: ""
required: true
- variable: akamai
description: "Configure Akamai Settings"
label: "Akamai Settings"
schema:
type: dict
show_if: [["provider", "=", "akamai"]]
required: true
attrs:
- variable: serviceConsumerDomain
description: "Enter your Akamai serviceConsumerDomain"
label: "serviceConsumerDomain"
schema:
type: string
default: ""
required: true
- variable: clientToken
description: "Enter your Akamai clientToken"
label: "clientToken"
schema:
type: string
default: ""
required: true
- variable: clientSecret
description: "Enter your Akamai clientSecret"
label: "clientSecret"
schema:
type: string
default: ""
required: true
- variable: accessToken
description: "Enter your Akamai accessToken"
label: "accessToken"
schema:
type: string
default: ""
required: true
- variable: acmeDNS
description: "Configure acmeDNS Settings"
label: "acmeDNS Settings"
schema:
type: dict
show_if: [["provider", "=", "acmeDNS"]]
required: true
attrs:
- variable: host
description: "Enter your acmeDNS host"
label: "host"
schema:
type: string
default: ""
required: true
- variable: apikey
description: "Enter your acmeDNS acmednsjson"
label: "acmednsjson"
schema:
type: string
default: ""
required: true
- variable: warning
label: "This App binds to the same ports as TrueNAS SCALE UI: 80 and 443"
description: "Please be sure to set the UI to a different port or adapter"
group: "WARNING"
schema:
type: dict
attrs:
- variable: confirm-warning
description: "Check this to confirm you have made precautions against conflicts on port 80 and 443"
label: "I understand above warning and its consequences"
schema:
type: boolean
default: false
required: true