diff --git a/stable/game-server-watcher/1.0.0/.helmignore b/stable/game-server-watcher/1.0.0/.helmignore
new file mode 100644
index 00000000000..77ca5567b26
--- /dev/null
+++ b/stable/game-server-watcher/1.0.0/.helmignore
@@ -0,0 +1,30 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
+# OWNERS file for Kubernetes
+OWNERS
+# helm-docs templates
+*.gotmpl
+# docs folder
+/docs
+# icon
+icon.png
diff --git a/stable/game-server-watcher/1.0.0/CHANGELOG.md b/stable/game-server-watcher/1.0.0/CHANGELOG.md
new file mode 100644
index 00000000000..65e8f5ea8a5
--- /dev/null
+++ b/stable/game-server-watcher/1.0.0/CHANGELOG.md
@@ -0,0 +1,11 @@
+---
+title: Changelog
+---
+
+
+*for the complete changelog, please refer to the website*
+
+**Important:**
+
+
+## [game-server-watcher-1.0.0](https://github.com/truecharts/charts/compare/game-server-watcher-0.0.4...game-server-watcher-1.0.0) (2024-03-06)
\ No newline at end of file
diff --git a/stable/game-server-watcher/1.0.0/Chart.yaml b/stable/game-server-watcher/1.0.0/Chart.yaml
new file mode 100644
index 00000000000..468d38170d9
--- /dev/null
+++ b/stable/game-server-watcher/1.0.0/Chart.yaml
@@ -0,0 +1,38 @@
+annotations:
+ max_scale_version: 24.04.0
+ min_scale_version: 23.10.0
+ truecharts.org/SCALE-support: "true"
+ truecharts.org/category: monitor
+ truecharts.org/max_helm_version: "3.14"
+ truecharts.org/min_helm_version: "3.11"
+ truecharts.org/train: stable
+apiVersion: v2
+appVersion: 3.0.0
+dependencies:
+ - name: common
+ version: 18.0.4
+ repository: oci://tccr.io/truecharts
+ condition: ""
+ alias: ""
+ tags: []
+ import-values: []
+deprecated: false
+description: A simple discord/telegram/slack bot to monitor your game servers and players in style.
+home: https://truecharts.org/charts/stable/game-server-watcher
+icon: https://truecharts.org/img/hotlink-ok/chart-icons/game-server-watcher.png
+keywords:
+ - game-server-watcher
+ - monitoring
+ - bots
+kubeVersion: ">=1.24.0-0"
+maintainers:
+ - name: TrueCharts
+ email: info@truecharts.org
+ url: https://truecharts.org
+name: game-server-watcher
+sources:
+ - https://github.com/a-sync/game-server-watcher
+ - https://github.com/truecharts/charts/tree/master/charts/stable/game-server-watcher
+ - https://ghcr.io/a-sync/game-server-watcher
+type: application
+version: 1.0.0
diff --git a/stable/game-server-watcher/1.0.0/README.md b/stable/game-server-watcher/1.0.0/README.md
new file mode 100644
index 00000000000..e803c346907
--- /dev/null
+++ b/stable/game-server-watcher/1.0.0/README.md
@@ -0,0 +1,28 @@
+---
+title: README
+---
+
+## General Info
+
+TrueCharts can be installed as both _normal_ Helm Charts or as Apps on TrueNAS SCALE.
+However only installations using the TrueNAS SCALE Apps system are supported.
+
+For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/game-server-watcher)
+
+**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
+
+## Support
+
+- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE/guides/scale-intro).
+- See the [Website](https://truecharts.org)
+- Check our [Discord](https://discord.gg/tVsPTHWTtr)
+- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)
+
+---
+
+## Sponsor TrueCharts
+
+TrueCharts can only exist due to the incredible effort of our staff.
+Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
+
+_All Rights Reserved - The TrueCharts Project_
diff --git a/stable/game-server-watcher/1.0.0/app-changelog.md b/stable/game-server-watcher/1.0.0/app-changelog.md
new file mode 100644
index 00000000000..62d38ca78a0
--- /dev/null
+++ b/stable/game-server-watcher/1.0.0/app-changelog.md
@@ -0,0 +1,3 @@
+
+
+## [game-server-watcher-1.0.0](https://github.com/truecharts/charts/compare/game-server-watcher-0.0.4...game-server-watcher-1.0.0) (2024-03-06)
\ No newline at end of file
diff --git a/stable/game-server-watcher/1.0.0/app-readme.md b/stable/game-server-watcher/1.0.0/app-readme.md
new file mode 100644
index 00000000000..1df63f491aa
--- /dev/null
+++ b/stable/game-server-watcher/1.0.0/app-readme.md
@@ -0,0 +1,8 @@
+A simple discord/telegram/slack bot to monitor your game servers and players in style.
+
+This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/game-server-watcher](https://truecharts.org/charts/stable/game-server-watcher)
+
+---
+
+TrueCharts can only exist due to the incredible effort of our staff.
+Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
diff --git a/stable/game-server-watcher/1.0.0/charts/common-18.0.4.tgz b/stable/game-server-watcher/1.0.0/charts/common-18.0.4.tgz
new file mode 100644
index 00000000000..a718951b29f
Binary files /dev/null and b/stable/game-server-watcher/1.0.0/charts/common-18.0.4.tgz differ
diff --git a/stable/game-server-watcher/1.0.0/ix_values.yaml b/stable/game-server-watcher/1.0.0/ix_values.yaml
new file mode 100644
index 00000000000..b7ea4480233
--- /dev/null
+++ b/stable/game-server-watcher/1.0.0/ix_values.yaml
@@ -0,0 +1,55 @@
+image:
+ repository: ghcr.io/a-sync/game-server-watcher
+ pullPolicy: IfNotPresent
+ tag: v3.0.0@sha256:34d717b8353284d2b2d18c862b2dece46b61aeedce1b20dc00610de9a7a46a23
+
+securityContext:
+ container:
+ readOnlyRootFilesystem: false
+ runAsUser: 0
+ runAsGroup: 0
+
+service:
+ main:
+ ports:
+ main:
+ protocol: http
+ port: 10690
+
+workload:
+ main:
+ podSpec:
+ containers:
+ main:
+ env:
+ # Writeable folder for data storage
+ DATA_PATH: "{{.Values.persistence.data.mountPath }}"
+ # Web service host
+ HOST: 0.0.0.0
+ # Web service port
+ PORT: "{{ .Values.service.main.ports.main.port }}"
+ # Admin PASSWORD
+ SECRET: secret
+ # Enable or Disable debug mode
+ DBG: 0
+ # Game server info refresh interval in minutes
+ REFRESH_TIME_MINUTES: 2
+ # Steam web API key
+ STEAM_WEB_API_KEY: ""
+ # Discord bot token
+ DISCORD_BOT_TOKEN: ""
+ # Telegram bot token
+ TELEGRAM_BOT_TOKEN: ""
+ # Slack bot token
+ SLACK_BOT_TOKEN: ""
+ # Slack app token
+ SLACK_APP_TOKEN: ""
+
+persistence:
+ data:
+ enabled: true
+ mountPath: "/data"
+
+portal:
+ open:
+ enabled: true
diff --git a/stable/game-server-watcher/1.0.0/questions.yaml b/stable/game-server-watcher/1.0.0/questions.yaml
new file mode 100755
index 00000000000..84a8b472d8e
--- /dev/null
+++ b/stable/game-server-watcher/1.0.0/questions.yaml
@@ -0,0 +1,2963 @@
+groups:
+ - name: Container Image
+ description: Image to be used for container
+ - name: General Settings
+ description: General Deployment Settings
+ - name: Workload Settings
+ description: Workload Settings
+ - name: App Configuration
+ description: App Specific Config Options
+ - name: Networking and Services
+ description: Configure Network and Services for Container
+ - name: Storage and Persistence
+ description: Persist and Share Data that is Separate from the Container
+ - name: Ingress
+ description: Ingress Configuration
+ - name: Security and Permissions
+ description: Configure Security Context and Permissions
+ - name: Resources and Devices
+ description: "Specify Resources/Devices to be Allocated to Workload"
+ - name: Middlewares
+ description: Traefik Middlewares
+ - name: Metrics
+ description: Metrics
+ - name: Addons
+ description: Addon Configuration
+ - name: Backup Configuration
+ description: Configure Velero Backup Schedule
+ - name: Advanced
+ description: Advanced Configuration
+ - name: Postgresql
+ description: Postgresql
+ - name: Documentation
+ description: Documentation
+
+portals:
+ open:
+ protocols:
+ - "$kubernetes-resource_configmap_tcportal-open_protocol"
+ host:
+ - "$kubernetes-resource_configmap_tcportal-open_host"
+ ports:
+ - "$kubernetes-resource_configmap_tcportal-open_port"
+
+questions:
+ - variable: global
+ group: General Settings
+ label: "Global Settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: stopAll
+ label: Stop All
+ description: "Stops All Running pods and hibernates cnpg"
+ schema:
+ type: boolean
+ default: false
+
+ - variable: workload
+ group: "Workload Settings"
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+
+ - variable: type
+ label: Type (Advanced)
+ schema:
+ type: string
+ default: Deployment
+ enum:
+ - value: Deployment
+ description: Deployment
+ - value: DaemonSet
+ description: DaemonSet
+
+ - variable: replicas
+ label: Replicas (Advanced)
+ description: Set the number of Replicas
+ schema:
+ type: int
+ show_if: [["type", "!=", "DaemonSet"]]
+ default: 1
+
+ - variable: podSpec
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: containers
+ label: Containers
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+
+ - variable: main
+ label: Main Container
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+
+ - variable: env
+ label: Image Environment
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: SECRET
+ label: Admin Password
+ description: The admin web GUI password.
+ schema:
+ type: string
+ private: true
+ required: true
+ default: ""
+ - variable: DBG
+ label: Debug Mode
+ description: Enable/Disable Debug mode.
+ schema:
+ type: boolean
+ default: False
+ - variable: REFRESH_TIME_MINUTES
+ label: Refresh Time Minutes
+ schema:
+ type: int
+ default: 2
+ - variable: STEAM_WEB_API_KEY
+ label: Steam Web API Key
+ description: Set this to enable steam API features.
+ schema:
+ type: string
+ private: true
+ default: ""
+ - variable: DISCORD_BOT_TOKEN
+ label: Discord Bot Token
+ description: Set this to enable discord bot features.
+ schema:
+ type: string
+ private: true
+ default: ""
+ - variable: TELEGRAM_BOT_TOKEN
+ label: Telegram Bot Token
+ description: Set this to enable telegram bot features.
+ schema:
+ type: string
+ private: true
+ default: ""
+ - variable: slack
+ label: Show Slack Options
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: SLACK_APP_TOKEN
+ label: Slack App Token
+ schema:
+ type: string
+ private: true
+ default: ""
+ - variable: SLACK_BOT_TOKEN
+ label: Slack Bot Token
+ schema:
+ type: string
+ private: true
+ default: ""
+
+ - variable: envList
+ label: Extra Environment Variables
+ description: "Please be aware that some variables are set in the background, adding duplicates here might cause issues or prevent the app from starting..."
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: envItem
+ label: Environment Variable
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Name
+ schema:
+ type: string
+ - variable: value
+ label: Value
+ schema:
+ type: string
+ - variable: extraArgs
+ label: Extra Args
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: arg
+ label: Arg
+ schema:
+ type: string
+
+ - variable: advanced
+ label: Show Advanced Settings
+ description: Advanced settings are not covered by TrueCharts Support
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: command
+ label: Command
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: param
+ label: Param
+ schema:
+ type: string
+
+ - variable: TZ
+ label: Timezone
+ group: "General Settings"
+ schema:
+ type: string
+ default: "Etc/UTC"
+ $ref:
+ - "definitions/timezone"
+
+ - variable: podOptions
+ group: "General Settings"
+ label: "Global Pod Options (Advanced)"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: expertPodOpts
+ label: "Expert - Pod Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: hostNetwork
+ label: "Host Networking"
+ schema:
+ type: boolean
+ default: false
+ - variable: dnsConfig
+ label: "DNS Configuration"
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: options
+ label: "Options"
+ schema:
+ type: list
+ default: [{"name": "ndots", "value": "1"}]
+ items:
+ - variable: optionsEntry
+ label: "Option Entry"
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: nameservers
+ label: "Nameservers"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: nsEntry
+ label: "Nameserver Entry"
+ schema:
+ type: string
+ required: true
+ - variable: searches
+ label: "Searches"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: searchEntry
+ label: "Search Entry"
+ schema:
+ type: string
+ required: true
+
+ - variable: imagePullSecretList
+ group: "General Settings"
+ label: "Image Pull Secrets"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: pullsecretentry
+ label: "Pull Secret"
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: enabled
+ label: Enabled
+ schema:
+ type: boolean
+ default: true
+ - variable: data
+ label: Data
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: registry
+ label: "Registry"
+ schema:
+ type: string
+ required: true
+ default: "https://index.docker.io/v1/"
+ - variable: username
+ label: "Username"
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: password
+ label: "Password"
+ schema:
+ type: string
+ required: true
+ private: true
+ default: ""
+ - variable: email
+ label: "Email"
+ schema:
+ type: string
+ required: true
+ default: ""
+
+ - variable: service
+ group: Networking and Services
+ label: Configure Service(s)
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+
+ - variable: main
+ label: "Main Service"
+ description: "The Primary service on which the healthcheck runs, often the webUI"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+
+ - variable: enabled
+ label: Enable the Service
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: type
+ label: Service Type
+ description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: LoadBalancer
+ enum:
+ - value: LoadBalancer
+ description: LoadBalancer (Expose Ports)
+ - value: ClusterIP
+ description: ClusterIP (Do Not Expose Ports)
+
+ - variable: loadBalancerIP
+ label: LoadBalancer IP
+ description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: ports
+ label: "Service's Port(s) Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+
+ - variable: main
+ label: "Main Service Port Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: port
+ label: "Port"
+ description: "This port exposes the container port on the service"
+ schema:
+ type: int
+ default: 10690
+ required: true
+ - variable: serviceexpert
+ group: Networking and Services
+ label: Show Expert Config
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+
+ - variable: scaleExternalInterface
+ description: Add External Interfaces
+ label: Add external Interfaces
+ group: Networking
+ schema:
+ type: list
+ items:
+ - variable: interfaceConfiguration
+ description: Interface Configuration
+ label: Interface Configuration
+ schema:
+ additional_attrs: true
+ type: dict
+ $ref:
+ - "normalize/interfaceConfiguration"
+ attrs:
+ - variable: hostInterface
+ description: Please Specify Host Interface
+ label: Host Interface
+ schema:
+ type: string
+ required: true
+ $ref:
+ - "definitions/interface"
+ - variable: ipam
+ description: Define how IP Address will be managed
+ label: IP Address Management
+ schema:
+ additional_attrs: true
+ type: dict
+ required: true
+ attrs:
+ - variable: type
+ description: Specify type for IPAM
+ label: IPAM Type
+ schema:
+ type: string
+ required: true
+ enum:
+ - value: dhcp
+ description: Use DHCP
+ - value: static
+ description: Use Static IP
+ - variable: staticIPConfigurations
+ label: Static IP Addresses
+ schema:
+ type: list
+ show_if: [["type", "=", "static"]]
+ items:
+ - variable: staticIP
+ label: Static IP
+ schema:
+ type: ipaddr
+ cidr: true
+ - variable: staticRoutes
+ label: Static Routes
+ schema:
+ type: list
+ show_if: [["type", "=", "static"]]
+ items:
+ - variable: staticRouteConfiguration
+ label: Static Route Configuration
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: destination
+ label: Destination
+ schema:
+ type: ipaddr
+ cidr: true
+ required: true
+ - variable: gateway
+ label: Gateway
+ schema:
+ type: ipaddr
+ cidr: false
+ required: true
+
+ - variable: serviceList
+ label: Add Manual Custom Services
+ group: Networking and Services
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: serviceListEntry
+ label: Custom Service
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: Enable the service
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: Name
+ schema:
+ type: string
+ default: ""
+ - variable: type
+ label: Service Type
+ description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: LoadBalancer
+ enum:
+ - value: LoadBalancer
+ description: LoadBalancer (Expose Ports)
+ - value: ClusterIP
+ description: ClusterIP (Do Not Expose Ports)
+ - value: Simple
+ description: Deprecated CHANGE THIS
+ - variable: loadBalancerIP
+ label: LoadBalancer IP
+ description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: advancedsvcset
+ label: Show Advanced Service Settings
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: externalIPs
+ label: "External IP's"
+ description: "External IP's"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: externalIP
+ label: External IP
+ schema:
+ type: string
+ - variable: ipFamilyPolicy
+ label: IP Family Policy
+ description: Specify the IP Policy
+ schema:
+ type: string
+ default: SingleStack
+ enum:
+ - value: SingleStack
+ description: SingleStack
+ - value: PreferDualStack
+ description: PreferDualStack
+ - value: RequireDualStack
+ description: RequireDualStack
+ - variable: ipFamilies
+ label: IP Families
+ description: (Advanced) The IP Families that should be used
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: ipFamily
+ label: IP Family
+ schema:
+ type: string
+ - variable: portsList
+ label: Additional Service Ports
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: portsListEntry
+ label: Custom ports
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: Enable the Port
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: Port Name
+ schema:
+ type: string
+ default: ""
+ - variable: protocol
+ label: Port Type
+ schema:
+ type: string
+ default: tcp
+ enum:
+ - value: http
+ description: HTTP
+ - value: https
+ description: HTTPS
+ - value: tcp
+ description: TCP
+ - value: udp
+ description: UDP
+ - variable: targetPort
+ label: Target Port
+ description: This port exposes the container port on the service
+ schema:
+ type: int
+ required: true
+ - variable: port
+ label: Container Port
+ schema:
+ type: int
+ required: true
+
+ - variable: persistence
+ label: Integrated Persistent Storage
+ description: Integrated Persistent Storage
+ group: Storage and Persistence
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+
+ - variable: data
+ label: "App Config Storage"
+ description: "Stores the Application Data."
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: Type of Storage
+ description: Sets the persistence type, Anything other than PVC could break rollback!
+ schema:
+ type: string
+ default: pvc
+ enum:
+ - value: pvc
+ description: PVC
+ - value: hostPath
+ description: Host Path
+ - value: emptyDir
+ description: emptyDir
+ - value: nfs
+ description: NFS Share
+ - value: iscsi
+ description: iSCSI Share
+ - variable: server
+ label: NFS Server
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: path
+ label: Path on NFS Server
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: iscsi
+ label: iSCSI Options
+ schema:
+ show_if: [["type", "=", "iscsi"]]
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: targetPortal
+ label: targetPortal
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: iqn
+ label: iqn
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: lun
+ label: lun
+ schema:
+ type: int
+ default: 0
+ - variable: authSession
+ label: authSession
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: username
+ label: username
+ schema:
+ type: string
+ default: ""
+ - variable: password
+ label: password
+ schema:
+ type: string
+ default: ""
+ - variable: usernameInitiator
+ label: usernameInitiator
+ schema:
+ type: string
+ default: ""
+ - variable: passwordInitiator
+ label: passwordInitiator
+ schema:
+ type: string
+ default: ""
+ - variable: authDiscovery
+ label: authDiscovery
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: username
+ label: username
+ schema:
+ type: string
+ default: ""
+ - variable: password
+ label: password
+ schema:
+ type: string
+ default: ""
+ - variable: usernameInitiator
+ label: usernameInitiator
+ schema:
+ type: string
+ default: ""
+ - variable: passwordInitiator
+ label: passwordInitiator
+ schema:
+ type: string
+ default: ""
+
+ - variable: autoPermissions
+ label: Automatic Permissions Configuration
+ description: Automatically set permissions
+ schema:
+ show_if: [["type", "!=", "pvc"]]
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: chown
+ label: Run CHOWN
+ description: |
+ It will run CHOWN on the path with the given fsGroup
+ schema:
+ type: boolean
+ default: false
+ - variable: chmod
+ label: Run CHMOD
+ description: |
+ It will run CHMOD on the path with the given value
+ Format should be 3 digits, e.g. 770
+ schema:
+ type: string
+ valid_chars: '[0-9]{3}'
+ default: ""
+ - variable: recursive
+ label: Recursive
+ description: |
+ It will run CHOWN and CHMOD recursively
+ schema:
+ type: boolean
+ default: false
+ - variable: readOnly
+ label: Read Only
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPath
+ label: Host Path
+ description: Path inside the container the storage is mounted
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: hostpath
+ - variable: medium
+ label: EmptyDir Medium
+ schema:
+ show_if: [["type", "=", "emptyDir"]]
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: Default
+ - value: Memory
+ description: Memory
+ - variable: size
+ label: Size quotum of Storage (Do NOT REDUCE after installation)
+ description: This value can ONLY be INCREASED after the installation
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: 256Gi
+ - variable: storageClass
+ label: 'storageClass (Advanced)'
+ description: 'sets the storageClass to something other than iX default. Only for advanced usecases!'
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: ""
+ - variable: static
+ label: 'Static Fixed PVC Bindings (Experimental)'
+ description: Link a PVC to a specific storage location
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: mode
+ label: mode
+ description: |
+ disabled: use normal dynamic PVCs
+ smb: connect to an SMB share
+ nfs: connect to an NFS share
+ schema:
+ type: string
+ default: "disabled"
+ enum:
+ - value: disabled
+ description: disabled
+ - value: smb
+ description: smb
+ - value: nfs
+ description: nfs
+ - variable: server
+ label: Server
+ description: server to connect to
+ schema:
+ type: string
+ show_if: [["mode", "!=", "disabled"]]
+ default: "myserver"
+ - variable: share
+ label: Share
+ description: share to connect to
+ schema:
+ type: string
+ show_if: [["mode", "!=", "disabled"]]
+ default: "/myshare"
+ - variable: user
+ label: User
+ description: connecting user
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: "myuser"
+ - variable: domain
+ label: Domain
+ description: user domain
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: ""
+ - variable: password
+ label: Password
+ description: connecting password
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: ""
+ - variable: volumeSnapshots
+ label: 'Volume Snapshots (Experimental)'
+ description: Add an entry to the list to force creation of a volumeSnapshot of this PVC
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: list
+ default: []
+ items:
+ - variable: volumeSnapshotEntry
+ label: Custom volumeSnapshot
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Name
+ description: 'WARNING: renaming this, means deletion of the snapshot with the old name!'
+ schema:
+ type: string
+ default: "mysnapshot"
+ required: true
+ - variable: volumeSnapshotClassName
+ label: 'volumeSnapshot Class Name (Advanced)'
+ description: For use with PVCs using a non-default storageClass
+ schema:
+ type: string
+ default: ""
+
+ - variable: persistenceList
+ label: Additional App Storage
+ group: Storage and Persistence
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: persistenceListEntry
+ label: Custom Storage
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: Enable the storage
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: type
+ label: Type of Storage
+ description: Sets the persistence type, Anything other than PVC could break rollback!
+ schema:
+ type: string
+ default: hostPath
+ enum:
+ - value: pvc
+ description: PVC
+ - value: hostPath
+ description: Host Path
+ - value: emptyDir
+ description: emptyDir
+ - value: nfs
+ description: NFS Share
+ - variable: server
+ label: NFS Server
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: path
+ label: Path on NFS Server
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: iscsi
+ label: iSCSI Options
+ schema:
+ show_if: [["type", "=", "iscsi"]]
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: targetPortal
+ label: targetPortal
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: iqn
+ label: iqn
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: lun
+ label: lun
+ schema:
+ type: int
+ default: 0
+ - variable: authSession
+ label: authSession
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: username
+ label: username
+ schema:
+ type: string
+ default: ""
+ - variable: password
+ label: password
+ schema:
+ type: string
+ default: ""
+ - variable: usernameInitiator
+ label: usernameInitiator
+ schema:
+ type: string
+ default: ""
+ - variable: passwordInitiator
+ label: passwordInitiator
+ schema:
+ type: string
+ default: ""
+ - variable: authDiscovery
+ label: authDiscovery
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: username
+ label: username
+ schema:
+ type: string
+ default: ""
+ - variable: password
+ label: password
+ schema:
+ type: string
+ default: ""
+ - variable: usernameInitiator
+ label: usernameInitiator
+ schema:
+ type: string
+ default: ""
+ - variable: passwordInitiator
+ label: passwordInitiator
+ schema:
+ type: string
+ default: ""
+ - variable: autoPermissions
+ label: Automatic Permissions Configuration
+ description: Automatically set permissions
+ schema:
+ show_if: [["type", "!=", "pvc"]]
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: chown
+ label: Run CHOWN
+ description: |
+ It will run CHOWN on the path with the given fsGroup
+ schema:
+ type: boolean
+ default: false
+ - variable: chmod
+ label: Run CHMOD
+ description: |
+ It will run CHMOD on the path with the given value
+ Format should be 3 digits, e.g. 770
+ schema:
+ type: string
+ valid_chars: '[0-9]{3}'
+ default: ""
+ - variable: recursive
+ label: Recursive
+ description: |
+ It will run CHOWN and CHMOD recursively
+ schema:
+ type: boolean
+ default: false
+ - variable: readOnly
+ label: Read Only
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPath
+ label: Host Path
+ description: Path inside the container the storage is mounted
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: hostpath
+ - variable: mountPath
+ label: Mount Path
+ description: Path inside the container the storage is mounted
+ schema:
+ type: string
+ default: ""
+ required: true
+ valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$'
+ - variable: medium
+ label: EmptyDir Medium
+ schema:
+ show_if: [["type", "=", "emptyDir"]]
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: Default
+ - value: Memory
+ description: Memory
+ - variable: size
+ label: Size Quotum of Storage
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: 256Gi
+ - variable: storageClass
+ label: 'storageClass (Advanced)'
+ description: 'sets the storageClass to something other than iX default. Only for advanced usecases!'
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: ""
+ - variable: static
+ label: 'Static Fixed PVC Bindings (Experimental)'
+ description: Link a PVC to a specific storage location
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: mode
+ label: mode
+ description: |
+ disabled: use normal dynamic PVCs
+ smb: connect to an SMB share
+ nfs: connect to an NFS share
+ schema:
+ type: string
+ default: "disabled"
+ enum:
+ - value: "disabled"
+ description: disabled
+ - value: smb
+ description: smb
+ - value: nfs
+ description: nfs
+ - variable: server
+ label: Server
+ description: server to connect to
+ schema:
+ type: string
+ show_if: [["mode", "!=", "disabled"]]
+ default: "myserver"
+ - variable: share
+ label: Share
+ description: share to connect to
+ schema:
+ type: string
+ show_if: [["mode", "!=", "disabled"]]
+ default: "/myshare"
+ - variable: user
+ label: User
+ description: connecting user
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: "myuser"
+ - variable: domain
+ label: Domain
+ description: user domain
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: ""
+ - variable: password
+ label: Password
+ description: connecting password
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: ""
+ - variable: volumeSnapshots
+ label: 'Volume Snapshots (Experimental)'
+ description: Add an entry to the list to force creation of a volumeSnapshot of this PVC
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: list
+ default: []
+ items:
+ - variable: volumeSnapshotEntry
+ label: Custom volumeSnapshot
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Name
+ description: 'WARNING: renaming this, means deletion of the snapshot with the old name!'
+ schema:
+ type: string
+ default: "mysnapshot"
+ required: true
+ - variable: volumeSnapshotClassName
+ label: 'volumeSnapshot Class Name (Advanced)'
+ description: For use with PVCs using a non-default storageClass
+ schema:
+ type: string
+ default: ""
+
+ - variable: ingress
+ label: ""
+ group: Ingress
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+
+ - variable: main
+ label: "Main Ingress"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: Enable Ingress
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: hosts
+ label: Hosts
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: hostEntry
+ label: Host
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: host
+ label: HostName
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: paths
+ label: Paths
+ schema:
+ type: list
+ default: [{path: "/", pathType: "Prefix"}]
+ items:
+ - variable: pathEntry
+ label: Host
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: path
+ label: Path
+ schema:
+ type: string
+ required: true
+ default: "/"
+ - variable: pathType
+ label: Path Type
+ schema:
+ type: string
+ required: true
+ default: Prefix
+
+ - variable: integrations
+ label: Integrations
+ description: Connect ingress with other charts
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: traefik
+ label: Traefik
+ description: Connect ingress with Traefik
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: true
+ - variable: allowCors
+ label: 'Allow Cross Origin Requests (advanced)'
+ schema:
+ type: boolean
+ default: false
+ show_if: [["enabled", "=", true]]
+ - variable: entrypoints
+ label: Entrypoints
+ schema:
+ type: list
+ default: ["websecure"]
+ show_if: [["enabled", "=", true]]
+ items:
+ - variable: entrypoint
+ label: Entrypoint
+ schema:
+ type: string
+ - variable: middlewares
+ label: Middlewares
+ schema:
+ type: list
+ default: []
+ show_if: [["enabled", "=", true]]
+ items:
+ - variable: middleware
+ label: Middleware
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: name
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: namespace
+ label: 'namespace (optional)'
+ schema:
+ type: string
+ default: ""
+ - variable: certManager
+ label: certManager
+ description: Connect ingress with certManager
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: false
+ - variable: certificateIssuer
+ label: certificateIssuer
+ description: defaults to chartname
+ schema:
+ type: string
+ default: ""
+ show_if: [["enabled", "=", true]]
+ - variable: homepage
+ label: Homepage
+ description: Connect ingress with Homepage
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: false
+ - variable: name
+ label: Name (Optional)
+ description: Defaults to chart name
+ schema:
+ type: string
+ default: ""
+ show_if: [["enabled", "=", true]]
+ - variable: description
+ label: Description (Optional)
+ description: Defaults to chart description
+ schema:
+ type: string
+ default: ""
+ show_if: [["enabled", "=", true]]
+ - variable: icon
+ label: Icon (Optional)
+ description: Defaults to chart icon
+ schema:
+ type: string
+ default: ""
+ show_if: [["enabled", "=", true]]
+ - variable: group
+ label: Group
+ schema:
+ type: string
+ required: true
+ default: "default"
+ show_if: [["enabled", "=", true]]
+ - variable: widget
+ label: Widget Settings
+ schema:
+ type: dict
+ additional_attrs: true
+ show_if: [["enabled", "=", true]]
+ attrs:
+ - variable: enabled
+ label: Enable Widget
+ description: When disabled all widget annotations are skipped.
+ schema:
+ type: boolean
+ default: true
+ - variable: custom
+ label: Options
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: key
+ label: API-key (key)
+ schema:
+ type: string
+ default: ""
+ - variable: customkv
+ label: Custom Options
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: option
+ label: Option
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: key
+ label: Key
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: value
+ label: Value
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: advanced
+ label: Show Advanced Settings
+ description: Advanced settings are not covered by TrueCharts Support
+ schema:
+ type: boolean
+ default: false
+ - variable: ingressClassName
+ label: (Advanced/Optional) IngressClass Name
+ schema:
+ type: string
+ show_if: [["advanced", "=", true]]
+ default: ""
+ - variable: tls
+ label: TLS-Settings
+ schema:
+ type: list
+ show_if: [["advanced", "=", true]]
+ default: []
+ items:
+ - variable: tlsEntry
+ label: Host
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: hosts
+ label: Certificate Hosts
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: host
+ label: Host
+ schema:
+ type: string
+ default: ""
+ required: true
+
+ - variable: certificateIssuer
+ label: Use Cert-Manager clusterIssuer
+ description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.'
+ schema:
+ type: string
+ default: ""
+ - variable: clusterCertificate
+ label: 'Cluster Certificate (Advanced)'
+ description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.'
+ schema:
+ type: string
+ show_if: [["certificateIssuer", "=", ""]]
+ default: ""
+ - variable: secretName
+ label: 'Use Custom Certificate Secret (Advanced)'
+ schema:
+ show_if: [["certificateIssuer", "=", ""]]
+ type: string
+ default: ""
+
+ - variable: ingressList
+ label: Add Manual Custom Ingresses
+ group: Ingress
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: ingressListEntry
+ label: Custom Ingress
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: Enable Ingress
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: Name
+ schema:
+ type: string
+ default: ""
+ - variable: ingressClassName
+ label: IngressClass Name
+ schema:
+ type: string
+ default: ""
+ - variable: hosts
+ label: Hosts
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: hostEntry
+ label: Host
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: host
+ label: HostName
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: paths
+ label: Paths
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: pathEntry
+ label: Host
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: path
+ label: Path
+ schema:
+ type: string
+ required: true
+ default: "/"
+ - variable: pathType
+ label: Path Type
+ schema:
+ type: string
+ required: true
+ default: Prefix
+ - variable: overrideService
+ label: Linked Service
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Service Name
+ schema:
+ type: string
+ default: ""
+ - variable: port
+ label: Service Port
+ schema:
+ type: int
+ - variable: tls
+ label: TLS-Settings
+ schema:
+ type: list
+ default: []
+ show_if: [["certificateIssuer", "=", ""]]
+ items:
+ - variable: tlsEntry
+ label: Host
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: hosts
+ label: Certificate Hosts
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: host
+ label: Host
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: certificateIssuer
+ label: Use Cert-Manager clusterIssuer
+ description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.'
+ schema:
+ type: string
+ default: ""
+ - variable: clusterCertificate
+ label: 'Cluster Certificate (Advanced)'
+ description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.'
+ schema:
+ type: string
+ show_if: [["certificateIssuer", "=", ""]]
+ default: ""
+ - variable: secretName
+ label: Use Custom Secret (Advanced)
+ schema:
+ type: string
+ show_if: [["certificateIssuer", "=", ""]]
+ default: ""
+ - variable: integrations
+ label: Integrations
+ description: Connect ingress with other charts
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: traefik
+ label: Traefik
+ description: Connect ingress with Traefik
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: true
+ - variable: allowCors
+ label: "Allow Cross Origin Requests"
+ schema:
+ type: boolean
+ default: false
+ show_if: [["enabled", "=", true]]
+ - variable: entrypoints
+ label: Entrypoints
+ schema:
+ type: list
+ default: ["websecure"]
+ show_if: [["enabled", "=", true]]
+ items:
+ - variable: entrypoint
+ label: Entrypoint
+ schema:
+ type: string
+ - variable: middlewares
+ label: Middlewares
+ schema:
+ type: list
+ default: []
+ show_if: [["enabled", "=", true]]
+ items:
+ - variable: middleware
+ label: Middleware
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: name
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: namespace
+ label: namespace
+ schema:
+ type: string
+ default: ""
+ - variable: certManager
+ label: certManager
+ description: Connect ingress with certManager
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: true
+ - variable: certificateIssuer
+ label: certificateIssuer
+ description: defaults to chartname
+ schema:
+ type: string
+ default: ""
+ show_if: [["enabled", "=", true]]
+ - variable: homepage
+ label: Homepage
+ description: Connect ingress with Homepage
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: false
+ - variable: name
+ label: Name
+ description: defaults to chartname
+ schema:
+ type: string
+ default: ""
+ show_if: [["enabled", "=", true]]
+ - variable: description
+ label: Description
+ description: defaults to chart description
+ schema:
+ type: string
+ default: ""
+ show_if: [["enabled", "=", true]]
+ - variable: group
+ label: Group
+ schema:
+ type: string
+ required: true
+ default: "default"
+ show_if: [["enabled", "=", true]]
+
+ - variable: securityContext
+ group: Security and Permissions
+ label: Security Context
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: container
+ label: Container
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ # Settings from questions.yaml get appended here on a per-app basis
+
+ - variable: runAsUser
+ label: "runAsUser"
+ description: "The UserID of the user running the application"
+ schema:
+ type: int
+ default: 0
+ - variable: runAsGroup
+ label: "runAsGroup"
+ description: "The groupID of the user running the application"
+ schema:
+ type: int
+ default: 0
+ # Settings from questions.yaml get appended here on a per-app basis
+ - variable: PUID
+ label: Process User ID - PUID
+ description: When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps
+ schema:
+ type: int
+ show_if: [["runAsUser", "=", 0]]
+ default: 568
+ - variable: UMASK
+ label: UMASK
+ description: When supported by the container, this sets the UMASK for the App. Not supported by all Apps
+ schema:
+ type: string
+ default: "0022"
+
+ - variable: advanced
+ label: Show Advanced Settings
+ description: Advanced settings are not covered by TrueCharts Support
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: privileged
+ label: "Privileged mode"
+ schema:
+ type: boolean
+ default: false
+ - variable: readOnlyRootFilesystem
+ label: "ReadOnly Root Filesystem"
+ schema:
+ type: boolean
+ default: true
+
+ - variable: pod
+ label: Pod
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: fsGroupChangePolicy
+ label: "When should we take ownership?"
+ schema:
+ type: string
+ default: OnRootMismatch
+ enum:
+ - value: OnRootMismatch
+ description: OnRootMismatch
+ - value: Always
+ description: Always
+ - variable: supplementalGroups
+ label: Supplemental Groups
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: supplementalGroupsEntry
+ label: Supplemental Group
+ schema:
+ type: int
+ # Settings from questions.yaml get appended here on a per-app basis
+
+ - variable: fsGroup
+ label: "fsGroup"
+ description: "The group that should own ALL storage."
+ schema:
+ type: int
+ default: 568
+ - variable: resources
+ group: Resources and Devices
+ label: "Resource Limits"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: limits
+ label: Advanced Limit Resource Consumption
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: cpu
+ label: CPU
+ description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation"
+ schema:
+ type: string
+ default: 4000m
+ valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
+ - variable: memory
+ label: RAM
+ description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation"
+ schema:
+ type: string
+ default: 8Gi
+ valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
+ - variable: 'gpu.intel.com/i915'
+ label: Add Intel i915 GPUs
+ schema:
+ type: int
+ default: 0
+ - variable: 'nvidia.com/gpu'
+ label: Add NVIDIA GPUs (Experimental)
+ schema:
+ type: int
+ default: 0
+ - variable: 'amd.com/gpu'
+ label: Add AMD GPUs
+ schema:
+ type: int
+ default: 0
+ - variable: requests
+ label: "Minimum Resources Required (request)"
+ schema:
+ additional_attrs: true
+ type: dict
+ hidden: true
+ attrs:
+ - variable: cpu
+ label: CPU
+ description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation"
+ schema:
+ type: string
+ default: 10m
+ hidden: true
+ valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
+ - variable: memory
+ label: "RAM"
+ description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation"
+ schema:
+ type: string
+ default: 50Mi
+ hidden: true
+ valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
+ - variable: deviceList
+ label: Mount USB Devices
+ group: Resources and Devices
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: deviceListEntry
+ label: Device
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: Enable the Storage
+ schema:
+ type: boolean
+ default: true
+ - variable: type
+ label: (Advanced) Type of Storage
+ description: Sets the persistence type
+ schema:
+ type: string
+ default: device
+ hidden: true
+ - variable: readOnly
+ label: readOnly
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPath
+ label: Host Device Path
+ description: Path to the device on the host system
+ schema:
+ type: path
+ - variable: mountPath
+ label: Container Device Path
+ description: Path inside the container the device is mounted
+ schema:
+ type: string
+ default: "/dev/ttyACM0"
+
+# - variable: horizontalPodAutoscaler
+# group: Advanced
+# label: (Advanced) Horizontal Pod Autoscaler
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: hpaEntry
+# label: HPA Entry
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: name
+# label: Name
+# schema:
+# type: string
+# required: true
+# default: ""
+# - variable: enabled
+# label: Enabled
+# schema:
+# type: boolean
+# default: false
+# show_subquestions_if: true
+# subquestions:
+# - variable: target
+# label: Target
+# description: Deployment name, Defaults to Main Deployment
+# schema:
+# type: string
+# default: ""
+# - variable: minReplicas
+# label: Minimum Replicas
+# schema:
+# type: int
+# default: 1
+# - variable: maxReplicas
+# label: Maximum Replicas
+# schema:
+# type: int
+# default: 5
+# - variable: targetCPUUtilizationPercentage
+# label: Target CPU Utilization Percentage
+# schema:
+# type: int
+# default: 80
+# - variable: targetMemoryUtilizationPercentage
+# label: Target Memory Utilization Percentage
+# schema:
+# type: int
+# default: 80
+ - variable: networkPolicy
+ group: Advanced
+ label: (Advanced) Network Policy
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: netPolicyEntry
+ label: Network Policy Entry
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Name
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: enabled
+ label: Enabled
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: policyType
+ label: Policy Type
+ schema:
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: Default
+ - value: ingress
+ description: Ingress
+ - value: egress
+ description: Egress
+ - value: ingress-egress
+ description: Ingress and Egress
+ - variable: egress
+ label: Egress
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: egressEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: to
+ label: To
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: toEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: ipBlock
+ label: IP Block
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: cidr
+ label: CIDR
+ schema:
+ type: string
+ default: ""
+ - variable: except
+ label: Except
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: exceptint
+ label: ""
+ schema:
+ type: string
+ - variable: namespaceSelector
+ label: Namespace Selector
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: matchExpressions
+ label: Match Expressions
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: expressionEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: key
+ label: Key
+ schema:
+ type: string
+ - variable: operator
+ label: Operator
+ schema:
+ type: string
+ default: TCP
+ enum:
+ - value: In
+ description: In
+ - value: NotIn
+ description: NotIn
+ - value: Exists
+ description: Exists
+ - value: DoesNotExist
+ description: DoesNotExist
+ - variable: values
+ label: Values
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: value
+ label: ""
+ schema:
+ type: string
+ - variable: podSelector
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: matchExpressions
+ label: Match Expressions
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: expressionEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: key
+ label: Key
+ schema:
+ type: string
+ - variable: operator
+ label: Operator
+ schema:
+ type: string
+ default: TCP
+ enum:
+ - value: In
+ description: In
+ - value: NotIn
+ description: NotIn
+ - value: Exists
+ description: Exists
+ - value: DoesNotExist
+ description: DoesNotExist
+ - variable: values
+ label: Values
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: value
+ label: ""
+ schema:
+ type: string
+ - variable: ports
+ label: Ports
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: portsEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: port
+ label: Port
+ schema:
+ type: int
+ - variable: endPort
+ label: End Port
+ schema:
+ type: int
+ - variable: protocol
+ label: Protocol
+ schema:
+ type: string
+ default: TCP
+ enum:
+ - value: TCP
+ description: TCP
+ - value: UDP
+ description: UDP
+ - value: SCTP
+ description: SCTP
+ - variable: ingress
+ label: Ingress
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: ingressEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: from
+ label: From
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: fromEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: ipBlock
+ label: IP Block
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: cidr
+ label: CIDR
+ schema:
+ type: string
+ default: ""
+ - variable: except
+ label: Except
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: exceptint
+ label: ""
+ schema:
+ type: string
+ - variable: namespaceSelector
+ label: Namespace Selector
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: matchExpressions
+ label: Match Expressions
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: expressionEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: key
+ label: Key
+ schema:
+ type: string
+ - variable: operator
+ label: Operator
+ schema:
+ type: string
+ default: TCP
+ enum:
+ - value: In
+ description: In
+ - value: NotIn
+ description: NotIn
+ - value: Exists
+ description: Exists
+ - value: DoesNotExist
+ description: DoesNotExist
+ - variable: values
+ label: Values
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: value
+ label: ""
+ schema:
+ type: string
+ - variable: podSelector
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: matchExpressions
+ label: Match Expressions
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: expressionEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: key
+ label: Key
+ schema:
+ type: string
+ - variable: operator
+ label: Operator
+ schema:
+ type: string
+ default: TCP
+ enum:
+ - value: In
+ description: In
+ - value: NotIn
+ description: NotIn
+ - value: Exists
+ description: Exists
+ - value: DoesNotExist
+ description: DoesNotExist
+ - variable: values
+ label: Values
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: value
+ label: ""
+ schema:
+ type: string
+ - variable: ports
+ label: Ports
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: portsEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: port
+ label: Port
+ schema:
+ type: int
+ - variable: endPort
+ label: End Port
+ schema:
+ type: int
+ - variable: protocol
+ label: Protocol
+ schema:
+ type: string
+ default: TCP
+ enum:
+ - value: TCP
+ description: TCP
+ - value: UDP
+ description: UDP
+ - value: SCTP
+ description: SCTP
+
+ - variable: addons
+ group: Addons
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+
+ - variable: codeserver
+ label: Codeserver
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: Enabled
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: service
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: Service Type
+ description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: LoadBalancer
+ enum:
+ - value: NodePort
+ description: Deprecated CHANGE THIS
+ - value: ClusterIP
+ description: ClusterIP
+ - value: LoadBalancer
+ description: LoadBalancer
+ - variable: loadBalancerIP
+ label: LoadBalancer IP
+ description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: ports
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: codeserver
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: port
+ label: Port
+ schema:
+ type: int
+ default: 36107
+ - variable: ingress
+ label: "Ingress"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: Enable Ingress
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: hosts
+ label: Hosts
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: hostEntry
+ label: Host
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: host
+ label: HostName
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: paths
+ label: Paths
+ schema:
+ type: list
+ default: [{path: "/", pathType: "Prefix"}]
+ items:
+ - variable: pathEntry
+ label: Host
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: path
+ label: Path
+ schema:
+ type: string
+ required: true
+ default: "/"
+ - variable: pathType
+ label: Path Type
+ schema:
+ type: string
+ required: true
+ default: Prefix
+ - variable: integrations
+ label: Integrations
+ description: Connect ingress with other charts
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: traefik
+ label: Traefik
+ description: Connect ingress with Traefik
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: true
+ - variable: allowCors
+ label: 'Allow Cross Origin Requests (advanced)'
+ schema:
+ type: boolean
+ default: false
+ show_if: [["enabled", "=", true]]
+ - variable: entrypoints
+ label: Entrypoints
+ schema:
+ type: list
+ default: ["websecure"]
+ show_if: [["enabled", "=", true]]
+ items:
+ - variable: entrypoint
+ label: Entrypoint
+ schema:
+ type: string
+ - variable: middlewares
+ label: Middlewares
+ schema:
+ type: list
+ default: []
+ show_if: [["enabled", "=", true]]
+ items:
+ - variable: middleware
+ label: Middleware
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: name
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: namespace
+ label: 'namespace (optional)'
+ schema:
+ type: string
+ default: ""
+ - variable: certManager
+ label: certManager
+ description: Connect ingress with certManager
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: false
+ - variable: certificateIssuer
+ label: certificateIssuer
+ description: defaults to chartname
+ schema:
+ type: string
+ default: ""
+ show_if: [["enabled", "=", true]]
+ - variable: advanced
+ label: Show Advanced Settings
+ description: Advanced settings are not covered by TrueCharts Support
+ schema:
+ type: boolean
+ default: false
+ - variable: ingressClassName
+ label: (Advanced/Optional) IngressClass Name
+ schema:
+ type: string
+ show_if: [["advanced", "=", true]]
+ default: ""
+ - variable: tls
+ label: TLS-Settings
+ schema:
+ type: list
+ show_if: [["advanced", "=", true]]
+ default: []
+ items:
+ - variable: tlsEntry
+ label: Host
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: hosts
+ label: Certificate Hosts
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: host
+ label: Host
+ schema:
+ type: string
+ default: ""
+ required: true
+
+ - variable: certificateIssuer
+ label: Use Cert-Manager clusterIssuer
+ description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.'
+ schema:
+ type: string
+ default: ""
+ - variable: clusterCertificate
+ label: 'Cluster Certificate (Advanced)'
+ description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.'
+ schema:
+ type: string
+ show_if: [["certificateIssuer", "=", ""]]
+ default: ""
+ - variable: secretName
+ label: 'Use Custom Certificate Secret (Advanced)'
+ schema:
+ show_if: [["certificateIssuer", "=", ""]]
+ type: string
+ default: ""
+ - variable: scaleCert
+ label: 'Use TrueNAS SCALE Certificate (Deprecated)'
+ schema:
+ show_if: [["certificateIssuer", "=", ""]]
+ type: int
+ $ref:
+ - "definitions/certificate"
+ - variable: envList
+ label: Codeserver Environment Variables
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: Environment Variable
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Name
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: Value
+ schema:
+ type: string
+ required: true
+
+ - variable: netshoot
+ label: Netshoot
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: Enabled
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: envList
+ label: Netshoot Environment Variables
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: Environment Variable
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Name
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: Value
+ schema:
+ type: string
+ required: true
+
+ - variable: vpn
+ label: VPN
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: Type
+ schema:
+ type: string
+ default: disabled
+ enum:
+ - value: disabled
+ description: disabled
+ - value: gluetun
+ description: Gluetun
+ - value: tailscale
+ description: Tailscale
+ - value: openvpn
+ description: OpenVPN (Deprecated)
+ - value: wireguard
+ description: Wireguard (Deprecated)
+ - variable: openvpn
+ label: OpenVPN Settings
+ schema:
+ additional_attrs: true
+ type: dict
+ show_if: [["type", "=", "openvpn"]]
+ attrs:
+ - variable: username
+ label: Authentication Username (Optional)
+ description: Authentication Username, Optional
+ schema:
+ type: string
+ default: ""
+ - variable: password
+ label: Authentication Password
+ description: Authentication Credentials
+ schema:
+ type: string
+ show_if: [["username", "!=", ""]]
+ default: ""
+ required: true
+ - variable: tailscale
+ label: Tailscale Settings
+ schema:
+ additional_attrs: true
+ type: dict
+ show_if: [["type", "=", "tailscale"]]
+ attrs:
+ - variable: authkey
+ label: Authentication Key
+ description: Provide an auth key to automatically authenticate the node as your user account.
+ schema:
+ type: string
+ private: true
+ default: ""
+ - variable: auth_once
+ label: Auth Once
+ description: Only attempt to log in if not already logged in.
+ schema:
+ type: boolean
+ default: true
+ - variable: accept_dns
+ label: Accept DNS
+ description: Accept DNS configuration from the admin console.
+ schema:
+ type: boolean
+ default: false
+ - variable: userspace
+ label: Userspace
+ description: Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device.
+ schema:
+ type: boolean
+ default: false
+ - variable: routes
+ label: Routes
+ description: Expose physical subnet routes to your entire Tailscale network.
+ schema:
+ type: string
+ default: ""
+ - variable: dest_ip
+ label: Destination IP
+ description: Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched.
+ schema:
+ type: string
+ default: ""
+ - variable: sock5_server
+ label: Sock5 Server
+ description: The address on which to listen for SOCKS5 proxying into the tailscale net.
+ schema:
+ type: string
+ default: ""
+ - variable: outbound_http_proxy_listen
+ label: Outbound HTTP Proxy Listen
+ description: The address on which to listen for HTTP proxying into the tailscale net.
+ schema:
+ type: string
+ default: ""
+ - variable: extra_args
+ label: Extra Args
+ description: Extra Args
+ schema:
+ type: string
+ default: ""
+ - variable: daemon_extra_args
+ label: Tailscale Daemon Extra Args
+ description: Tailscale Daemon Extra Args
+ schema:
+ type: string
+ default: ""
+ - variable: killSwitch
+ label: Enable Killswitch
+ schema:
+ type: boolean
+ show_if: [["type", "!=", "disabled"]]
+ default: true
+ - variable: excludedNetworks_IPv4
+ label: Killswitch Excluded IPv4 networks
+ description: List of Killswitch Excluded IPv4 Addresses
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: networkv4
+ label: IPv4 Network
+ schema:
+ type: string
+ required: true
+ - variable: excludedNetworks_IPv6
+ label: Killswitch Excluded IPv6 networks
+ description: "List of Killswitch Excluded IPv6 Addresses"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: networkv6
+ label: IPv6 Network
+ schema:
+ type: string
+ required: true
+ - variable: configFile
+ label: VPN Config File Location
+ schema:
+ type: string
+ show_if: [["type", "!=", "disabled"]]
+ default: ""
+
+ - variable: envList
+ label: VPN Environment Variables
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: Environment Variable
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Name
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: Value
+ schema:
+ type: string
+ required: true
+ max_length: 10240
+
+ - variable: schedulesList
+ group: "Backup Configuration"
+ label: "Backup Schedules"
+ schema:
+ type: list
+ items:
+ - variable: schedulesEntry
+ label: "Schedule"
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: schedule
+ label: "schedule"
+ show_if: [["enabled", "=", true]]
+ schema:
+ type: string
+ required: true
+ default: "0 0 0 * * *"
+ - variable: useOwnerReferencesInBackup
+ label: "useOwnerReferencesInBackup"
+ show_if: [["enabled", "=", true]]
+ schema:
+ type: boolean
+ default: false
+ - variable: template
+ label: template
+ show_if: [["enabled", "=", true]]
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: ttl
+ label: "ttl"
+ schema:
+ type: string
+ required: true
+ default: "240h"
+ - variable: storageLocation
+ label: "storageLocation"
+ schema:
+ type: string
+ required: true
+ default: "default"
+
+ - variable: docs
+ group: Documentation
+ label: Please read the documentation at https://truecharts.org
+ description: Please read the documentation at
+
https://truecharts.org
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: confirmDocs
+ label: I have checked the documentation
+ schema:
+ type: boolean
+ default: true
+ - variable: donateNag
+ group: Documentation
+ label: Please consider supporting TrueCharts, see https://truecharts.org/sponsor
+ description: Please consider supporting TrueCharts, see
+
https://truecharts.org/sponsor
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: confirmDonate
+ label: I have considered donating
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+
diff --git a/stable/game-server-watcher/1.0.0/templates/NOTES.txt b/stable/game-server-watcher/1.0.0/templates/NOTES.txt
new file mode 100644
index 00000000000..efcb74cb772
--- /dev/null
+++ b/stable/game-server-watcher/1.0.0/templates/NOTES.txt
@@ -0,0 +1 @@
+{{- include "tc.v1.common.lib.chart.notes" $ -}}
diff --git a/stable/game-server-watcher/1.0.0/templates/common.yaml b/stable/game-server-watcher/1.0.0/templates/common.yaml
new file mode 100644
index 00000000000..b51394e00a4
--- /dev/null
+++ b/stable/game-server-watcher/1.0.0/templates/common.yaml
@@ -0,0 +1 @@
+{{ include "tc.v1.common.loader.all" . }}
diff --git a/stable/game-server-watcher/1.0.0/values.yaml b/stable/game-server-watcher/1.0.0/values.yaml
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/stable/game-server-watcher/item.yaml b/stable/game-server-watcher/item.yaml
new file mode 100644
index 00000000000..6e06221314b
--- /dev/null
+++ b/stable/game-server-watcher/item.yaml
@@ -0,0 +1,4 @@
+icon_url: https://truecharts.org/img/hotlink-ok/chart-icons/game-server-watcher.png
+categories:
+ - monitor
+screenshots: []
diff --git a/stable/gaseous-server/1.0.5/app-changelog.md b/stable/gaseous-server/1.0.5/app-changelog.md
deleted file mode 100644
index bfd0388f358..00000000000
--- a/stable/gaseous-server/1.0.5/app-changelog.md
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-## [gaseous-server-1.0.5](https://github.com/truecharts/charts/compare/gaseous-server-1.0.4...gaseous-server-1.0.5) (2024-03-06)
\ No newline at end of file
diff --git a/stable/twofauth/1.0.6/.helmignore b/stable/twofauth/1.0.6/.helmignore
new file mode 100644
index 00000000000..77ca5567b26
--- /dev/null
+++ b/stable/twofauth/1.0.6/.helmignore
@@ -0,0 +1,30 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
+# OWNERS file for Kubernetes
+OWNERS
+# helm-docs templates
+*.gotmpl
+# docs folder
+/docs
+# icon
+icon.png
diff --git a/stable/twofauth/1.0.6/CHANGELOG.md b/stable/twofauth/1.0.6/CHANGELOG.md
new file mode 100644
index 00000000000..6dc89fcc0f6
--- /dev/null
+++ b/stable/twofauth/1.0.6/CHANGELOG.md
@@ -0,0 +1,11 @@
+---
+title: Changelog
+---
+
+
+*for the complete changelog, please refer to the website*
+
+**Important:**
+
+
+## [twofauth-1.0.6](https://github.com/truecharts/charts/compare/twofauth-1.0.5...twofauth-1.0.6) (2024-03-06)
\ No newline at end of file
diff --git a/stable/twofauth/1.0.6/Chart.yaml b/stable/twofauth/1.0.6/Chart.yaml
new file mode 100644
index 00000000000..a33d054c3d0
--- /dev/null
+++ b/stable/twofauth/1.0.6/Chart.yaml
@@ -0,0 +1,37 @@
+annotations:
+ max_scale_version: 24.04.0
+ min_scale_version: 23.10.0
+ truecharts.org/SCALE-support: "true"
+ truecharts.org/category: auth
+ truecharts.org/max_helm_version: "3.14"
+ truecharts.org/min_helm_version: "3.11"
+ truecharts.org/train: stable
+apiVersion: v2
+appVersion: 5.0.4
+dependencies:
+ - name: common
+ version: 17.5.1
+ repository: oci://tccr.io/truecharts
+ condition: ""
+ alias: ""
+ tags: []
+ import-values: []
+deprecated: false
+description: A Web app to manage your 2FA accounts and generate their security codes.
+home: https://truecharts.org/charts/stable/twofauth
+icon: https://truecharts.org/img/hotlink-ok/chart-icons/twofauth.png
+keywords:
+ - 2fauth
+ - auth
+kubeVersion: ">=1.24.0-0"
+maintainers:
+ - name: TrueCharts
+ email: info@truecharts.org
+ url: https://truecharts.org
+name: twofauth
+sources:
+ - https://github.com/Bubka/2fauth
+ - https://github.com/truecharts/charts/tree/master/charts/stable/twofauth
+ - https://hub.docker.com/r/2fauth/2fauth
+type: application
+version: 1.0.6
diff --git a/stable/twofauth/1.0.6/README.md b/stable/twofauth/1.0.6/README.md
new file mode 100644
index 00000000000..8c5ab2836c6
--- /dev/null
+++ b/stable/twofauth/1.0.6/README.md
@@ -0,0 +1,28 @@
+---
+title: README
+---
+
+## General Info
+
+TrueCharts can be installed as both _normal_ Helm Charts or as Apps on TrueNAS SCALE.
+However only installations using the TrueNAS SCALE Apps system are supported.
+
+For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/twofauth)
+
+**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
+
+## Support
+
+- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE/guides/scale-intro).
+- See the [Website](https://truecharts.org)
+- Check our [Discord](https://discord.gg/tVsPTHWTtr)
+- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)
+
+---
+
+## Sponsor TrueCharts
+
+TrueCharts can only exist due to the incredible effort of our staff.
+Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
+
+_All Rights Reserved - The TrueCharts Project_
diff --git a/stable/twofauth/1.0.6/app-changelog.md b/stable/twofauth/1.0.6/app-changelog.md
new file mode 100644
index 00000000000..ba28400bb73
--- /dev/null
+++ b/stable/twofauth/1.0.6/app-changelog.md
@@ -0,0 +1,3 @@
+
+
+## [twofauth-1.0.6](https://github.com/truecharts/charts/compare/twofauth-1.0.5...twofauth-1.0.6) (2024-03-06)
\ No newline at end of file
diff --git a/stable/twofauth/1.0.6/app-readme.md b/stable/twofauth/1.0.6/app-readme.md
new file mode 100644
index 00000000000..9fbf99ef6fa
--- /dev/null
+++ b/stable/twofauth/1.0.6/app-readme.md
@@ -0,0 +1,8 @@
+A Web app to manage your 2FA accounts and generate their security codes.
+
+This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/twofauth](https://truecharts.org/charts/stable/twofauth)
+
+---
+
+TrueCharts can only exist due to the incredible effort of our staff.
+Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
diff --git a/stable/twofauth/1.0.6/charts/common-17.5.1.tgz b/stable/twofauth/1.0.6/charts/common-17.5.1.tgz
new file mode 100644
index 00000000000..6bb96f1f5af
Binary files /dev/null and b/stable/twofauth/1.0.6/charts/common-17.5.1.tgz differ
diff --git a/stable/twofauth/1.0.6/ix_values.yaml b/stable/twofauth/1.0.6/ix_values.yaml
new file mode 100644
index 00000000000..a4875cfa52e
--- /dev/null
+++ b/stable/twofauth/1.0.6/ix_values.yaml
@@ -0,0 +1,126 @@
+image:
+ repository: 2fauth/2fauth
+ pullPolicy: IfNotPresent
+ tag: 5.0.4@sha256:d76532e680bd5bc4306672f41d4af8cf7fd97d928fd780e7c664c8b2276e8a34
+
+securityContext:
+ container:
+ readOnlyRootFilesystem: false
+ runAsUser: 1000
+ runAsGroup: 1000
+
+twofauth:
+ app:
+ name: 2FAuth
+ site_owner: mail@example.com
+ url: http://localhost:8000
+ session_lifetime: 120
+ trusted_proxies: []
+ mail:
+ driver: log
+ host: ""
+ port: 587
+ from: ""
+ user: ""
+ pass: ""
+ # TLS | STARTTLS | SSL
+ encryption: STARTTLS
+ from_name: 2FAuth
+ from_address: changeme@example.com
+ auth:
+ # web-guard | reverse-proxy-guard
+ guard: web-guard
+ # show if guard uses reverse-proxy-guard
+ proxy_header_for_user: ""
+ proxy_header_for_email: ""
+ proxy_logout_url: ""
+ webauthn:
+ name: 2FAuth
+ id: ""
+ icon: ""
+ # required | preferred | discouraged
+ user_verified: preferred
+
+workload:
+ main:
+ podSpec:
+ containers:
+ main:
+ probes:
+ liveness:
+ path: /infos
+ readiness:
+ path: /infos
+ startup:
+ type: tcp
+ env:
+ # APP
+ APP_ENV: local
+ APP_KEY:
+ secretKeyRef:
+ name: twofauth-secret
+ key: APP_KEY
+ APP_NAME: "{{ .Values.twofauth.app.name }}"
+ SITE_OWNER: "{{ .Values.twofauth.app.site_owner }}"
+ APP_URL: "{{ .Values.twofauth.app.url }}"
+ SESSION_LIFETIME: "{{ .Values.twofauth.app.session_lifetime }}"
+ TRUSTED_PROXIES: '{{ join "," .Values.twofauth.app.trusted_proxies }}'
+ # MAIL
+ MAIL_DRIVER: "{{ .Values.twofauth.mail.driver }}"
+ MAIL_HOST: "{{ .Values.twofauth.mail.host }}"
+ MAIL_PORT: "{{ .Values.twofauth.mail.port }}"
+ MAIL_FROM: "{{ .Values.twofauth.mail.from }}"
+ MAIL_USERNAME: "{{ .Values.twofauth.mail.user }}"
+ MAIL_PASSWORD: "{{ .Values.twofauth.mail.pass }}"
+ MAIL_ENCRYPTION: "{{ .Values.twofauth.mail.encryption }}"
+ MAIL_FROM_NAME: "{{ .Values.twofauth.mail.from_name }}"
+ MAIL_FROM_ADDRESS: "{{ .Values.twofauth.mail.from_address }}"
+ # AUTH
+ AUTHENTICATION_GUARD: "{{ .Values.twofauth.auth.guard }}"
+ AUTH_PROXY_HEADER_FOR_USER: "{{ .Values.twofauth.auth.proxy_header_for_user }}"
+ AUTH_PROXY_HEADER_FOR_EMAIL: "{{ .Values.twofauth.auth.proxy_header_for_email }}"
+ PROXY_LOGOUT_URL: "{{ .Values.twofauth.auth.proxy_logout_url }}"
+ # WebAuthn:
+ WEBAUTHN_NAME: "{{ .Values.twofauth.webauthn.name }}"
+ WEBAUTHN_ID: "{{ .Values.twofauth.webauthn.id }}"
+ # Optional image data in BASE64 (128 bytes maximum) or an image url
+ WEBAUTHN_ICON: "{{ .Values.twofauth.webauthn.icon }}"
+ WEBAUTHN_USER_VERIFICATION: "{{ .Values.twofauth.webauthn.user_verified }}"
+ # Postgres
+ DB_CONNECTION: pgsql
+ DB_DATABASE: "{{ .Values.cnpg.main.database }}"
+ DB_USERNAME: "{{ .Values.cnpg.main.user }}"
+ DB_PORT: 5432
+ DB_HOST:
+ secretKeyRef:
+ name: cnpg-main-urls
+ key: host
+ DB_PASSWORD:
+ secretKeyRef:
+ name: cnpg-main-user
+ key: password
+
+service:
+ main:
+ ports:
+ main:
+ protocol: http
+ targetPort: 8000
+ port: 8000
+
+persistence:
+ config:
+ enabled: true
+ mountPath: /2fauth
+ varrun:
+ enabled: false
+
+cnpg:
+ main:
+ enabled: true
+ user: twofauth
+ database: twofauth
+
+portal:
+ open:
+ enabled: true
diff --git a/stable/twofauth/1.0.6/questions.yaml b/stable/twofauth/1.0.6/questions.yaml
new file mode 100755
index 00000000000..b74de896811
--- /dev/null
+++ b/stable/twofauth/1.0.6/questions.yaml
@@ -0,0 +1,3014 @@
+groups:
+ - name: Container Image
+ description: Image to be used for container
+ - name: General Settings
+ description: General Deployment Settings
+ - name: Workload Settings
+ description: Workload Settings
+ - name: App Configuration
+ description: App Specific Config Options
+ - name: Networking and Services
+ description: Configure Network and Services for Container
+ - name: Storage and Persistence
+ description: Persist and Share Data that is Separate from the Container
+ - name: Ingress
+ description: Ingress Configuration
+ - name: Security and Permissions
+ description: Configure Security Context and Permissions
+ - name: Resources and Devices
+ description: "Specify Resources/Devices to be Allocated to Workload"
+ - name: Middlewares
+ description: Traefik Middlewares
+ - name: Metrics
+ description: Metrics
+ - name: Addons
+ description: Addon Configuration
+ - name: Backup Configuration
+ description: Configure Velero Backup Schedule
+ - name: Advanced
+ description: Advanced Configuration
+ - name: Postgresql
+ description: Postgresql
+ - name: Documentation
+ description: Documentation
+
+portals:
+ open:
+ protocols:
+ - "$kubernetes-resource_configmap_tcportal-open_protocol"
+ host:
+ - "$kubernetes-resource_configmap_tcportal-open_host"
+ ports:
+ - "$kubernetes-resource_configmap_tcportal-open_port"
+
+questions:
+ - variable: global
+ group: General Settings
+ label: "Global Settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: stopAll
+ label: Stop All
+ description: "Stops All Running pods and hibernates cnpg"
+ schema:
+ type: boolean
+ default: false
+
+ - variable: workload
+ group: "Workload Settings"
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+
+ - variable: type
+ label: Type (Advanced)
+ schema:
+ type: string
+ default: Deployment
+ enum:
+ - value: Deployment
+ description: Deployment
+ - value: DaemonSet
+ description: DaemonSet
+
+ - variable: replicas
+ label: Replicas (Advanced)
+ description: Set the number of Replicas
+ schema:
+ type: int
+ show_if: [["type", "!=", "DaemonSet"]]
+ default: 1
+
+ - variable: podSpec
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: containers
+ label: Containers
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+
+ - variable: main
+ label: Main Container
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+
+ - variable: envList
+ label: Extra Environment Variables
+ description: "Please be aware that some variables are set in the background, adding duplicates here might cause issues or prevent the app from starting..."
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: envItem
+ label: Environment Variable
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Name
+ schema:
+ type: string
+ - variable: value
+ label: Value
+ schema:
+ type: string
+ - variable: extraArgs
+ label: Extra Args
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: arg
+ label: Arg
+ schema:
+ type: string
+
+ - variable: advanced
+ label: Show Advanced Settings
+ description: Advanced settings are not covered by TrueCharts Support
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: command
+ label: Command
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: param
+ label: Param
+ schema:
+ type: string
+
+ - variable: twofauth
+ group: App Configuration
+ label: 2fauth
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: app
+ label: App Configuration
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: App Name
+ schema:
+ type: string
+ default: "2FAuth"
+ - variable: session_lifetime
+ label: Session Lifetime
+ schema:
+ type: int
+ default: 120
+ - variable: site_owner
+ label: Site Owner Email
+ schema:
+ type: string
+ default: ""
+ - variable: trusted_proxies
+ label: Trusted Proxies
+ schema:
+ type: list
+ empty: false
+ default: []
+ required: true
+ items:
+ - variable: proxy
+ label: Proxy
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: mail
+ label: Mail Configuration
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: driver
+ label: Driver
+ schema:
+ type: string
+ required: true
+ default: log
+ enum:
+ - value: log
+ description: Log
+ - value: smtp
+ description: SMTP
+ - variable: host
+ label: Host
+ schema:
+ type: string
+ default: ""
+ - variable: port
+ label: Port
+ schema:
+ type: int
+ default: 587
+ - variable: from
+ label: From
+ schema:
+ type: string
+ default: ""
+ - variable: user
+ label: User
+ schema:
+ type: string
+ default: ""
+ - variable: pass
+ label: Pass
+ schema:
+ type: string
+ private: true
+ default: ""
+ - variable: encryption
+ label: encryption
+ schema:
+ type: string
+ default: "STARTTLS"
+ enum:
+ - value: TLS
+ description: TLS
+ - value: STARTTLS
+ description: STARTTLS
+ - value: SSL
+ description: SSL
+ - variable: from_name
+ label: From Name
+ schema:
+ type: string
+ default: "2FAuth"
+ - variable: from_address
+ label: From Address
+ schema:
+ type: string
+ default: ""
+ - variable: auth
+ label: Auth Configuration
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: guard
+ label: Guard
+ schema:
+ type: string
+ default: "web-guard"
+ enum:
+ - value: web-guard
+ description: Web Guard
+ - value: reverse-proxy-guard
+ description: Reverse Proxy Guard
+ - variable: proxy_header_for_user
+ label: Proxy Header for User
+ schema:
+ type: string
+ default: ""
+ show_if: [[guard, "=", "reverse-proxy-guard"]]
+ - variable: proxy_header_for_email
+ label: Proxy Header for Email
+ schema:
+ type: string
+ default: ""
+ show_if: [[guard, "=", "reverse-proxy-guard"]]
+ - variable: proxy_logout_url
+ label: Proxy Logout Url
+ schema:
+ type: string
+ default: ""
+ show_if: [[guard, "=", "reverse-proxy-guard"]]
+ - variable: webauthn
+ label: WebAuthn Configuration
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Name
+ schema:
+ type: string
+ default: 2FAuth
+ - variable: id
+ label: ID
+ schema:
+ type: string
+ default: ""
+ - variable: icon
+ label: Icon
+ schema:
+ type: string
+ default: ""
+ - variable: user_verified
+ label: User Verified
+ schema:
+ type: string
+ default: preferred
+ enum:
+ - value: required
+ description: Required
+ - value: preferred
+ description: Preferred
+ - value: discouraged
+ description: Discouraged
+ - variable: TZ
+ label: Timezone
+ group: "General Settings"
+ schema:
+ type: string
+ default: "Etc/UTC"
+ $ref:
+ - "definitions/timezone"
+
+ - variable: podOptions
+ group: "General Settings"
+ label: "Global Pod Options (Advanced)"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: expertPodOpts
+ label: "Expert - Pod Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: hostNetwork
+ label: "Host Networking"
+ schema:
+ type: boolean
+ default: false
+ - variable: dnsConfig
+ label: "DNS Configuration"
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: options
+ label: "Options"
+ schema:
+ type: list
+ default: [{"name": "ndots", "value": "1"}]
+ items:
+ - variable: optionsEntry
+ label: "Option Entry"
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: nameservers
+ label: "Nameservers"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: nsEntry
+ label: "Nameserver Entry"
+ schema:
+ type: string
+ required: true
+ - variable: searches
+ label: "Searches"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: searchEntry
+ label: "Search Entry"
+ schema:
+ type: string
+ required: true
+
+ - variable: imagePullSecretList
+ group: "General Settings"
+ label: "Image Pull Secrets"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: pullsecretentry
+ label: "Pull Secret"
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: enabled
+ label: Enabled
+ schema:
+ type: boolean
+ default: true
+ - variable: data
+ label: Data
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: registry
+ label: "Registry"
+ schema:
+ type: string
+ required: true
+ default: "https://index.docker.io/v1/"
+ - variable: username
+ label: "Username"
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: password
+ label: "Password"
+ schema:
+ type: string
+ required: true
+ private: true
+ default: ""
+ - variable: email
+ label: "Email"
+ schema:
+ type: string
+ required: true
+ default: ""
+
+ - variable: service
+ group: Networking and Services
+ label: Configure Service(s)
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+
+ - variable: main
+ label: "Main Service"
+ description: "The Primary service on which the healthcheck runs, often the webUI"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+
+ - variable: enabled
+ label: Enable the Service
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: type
+ label: Service Type
+ description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: LoadBalancer
+ enum:
+ - value: LoadBalancer
+ description: LoadBalancer (Expose Ports)
+ - value: ClusterIP
+ description: ClusterIP (Do Not Expose Ports)
+
+ - variable: loadBalancerIP
+ label: LoadBalancer IP
+ description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: ports
+ label: "Service's Port(s) Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+
+ - variable: main
+ label: "Main Service Port Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: port
+ label: "Port"
+ description: "This port exposes the container port on the service"
+ schema:
+ type: int
+ default: 8000
+ required: true
+ - variable: serviceexpert
+ group: Networking and Services
+ label: Show Expert Config
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+
+ - variable: scaleExternalInterface
+ description: Add External Interfaces
+ label: Add external Interfaces
+ group: Networking
+ schema:
+ type: list
+ items:
+ - variable: interfaceConfiguration
+ description: Interface Configuration
+ label: Interface Configuration
+ schema:
+ additional_attrs: true
+ type: dict
+ $ref:
+ - "normalize/interfaceConfiguration"
+ attrs:
+ - variable: hostInterface
+ description: Please Specify Host Interface
+ label: Host Interface
+ schema:
+ type: string
+ required: true
+ $ref:
+ - "definitions/interface"
+ - variable: ipam
+ description: Define how IP Address will be managed
+ label: IP Address Management
+ schema:
+ additional_attrs: true
+ type: dict
+ required: true
+ attrs:
+ - variable: type
+ description: Specify type for IPAM
+ label: IPAM Type
+ schema:
+ type: string
+ required: true
+ enum:
+ - value: dhcp
+ description: Use DHCP
+ - value: static
+ description: Use Static IP
+ - variable: staticIPConfigurations
+ label: Static IP Addresses
+ schema:
+ type: list
+ show_if: [["type", "=", "static"]]
+ items:
+ - variable: staticIP
+ label: Static IP
+ schema:
+ type: ipaddr
+ cidr: true
+ - variable: staticRoutes
+ label: Static Routes
+ schema:
+ type: list
+ show_if: [["type", "=", "static"]]
+ items:
+ - variable: staticRouteConfiguration
+ label: Static Route Configuration
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: destination
+ label: Destination
+ schema:
+ type: ipaddr
+ cidr: true
+ required: true
+ - variable: gateway
+ label: Gateway
+ schema:
+ type: ipaddr
+ cidr: false
+ required: true
+
+ - variable: serviceList
+ label: Add Manual Custom Services
+ group: Networking and Services
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: serviceListEntry
+ label: Custom Service
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: Enable the service
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: Name
+ schema:
+ type: string
+ default: ""
+ - variable: type
+ label: Service Type
+ description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: LoadBalancer
+ enum:
+ - value: LoadBalancer
+ description: LoadBalancer (Expose Ports)
+ - value: ClusterIP
+ description: ClusterIP (Do Not Expose Ports)
+ - value: Simple
+ description: Deprecated CHANGE THIS
+ - variable: loadBalancerIP
+ label: LoadBalancer IP
+ description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: advancedsvcset
+ label: Show Advanced Service Settings
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: externalIPs
+ label: "External IP's"
+ description: "External IP's"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: externalIP
+ label: External IP
+ schema:
+ type: string
+ - variable: ipFamilyPolicy
+ label: IP Family Policy
+ description: Specify the IP Policy
+ schema:
+ type: string
+ default: SingleStack
+ enum:
+ - value: SingleStack
+ description: SingleStack
+ - value: PreferDualStack
+ description: PreferDualStack
+ - value: RequireDualStack
+ description: RequireDualStack
+ - variable: ipFamilies
+ label: IP Families
+ description: (Advanced) The IP Families that should be used
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: ipFamily
+ label: IP Family
+ schema:
+ type: string
+ - variable: portsList
+ label: Additional Service Ports
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: portsListEntry
+ label: Custom ports
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: Enable the Port
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: Port Name
+ schema:
+ type: string
+ default: ""
+ - variable: protocol
+ label: Port Type
+ schema:
+ type: string
+ default: tcp
+ enum:
+ - value: http
+ description: HTTP
+ - value: https
+ description: HTTPS
+ - value: tcp
+ description: TCP
+ - value: udp
+ description: UDP
+ - variable: targetPort
+ label: Target Port
+ description: This port exposes the container port on the service
+ schema:
+ type: int
+ required: true
+ - variable: port
+ label: Container Port
+ schema:
+ type: int
+ required: true
+
+ - variable: persistence
+ label: Integrated Persistent Storage
+ description: Integrated Persistent Storage
+ group: Storage and Persistence
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+
+ - variable: config
+ label: "App Config Storage"
+ description: "Stores the Application Configuration."
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: Type of Storage
+ description: Sets the persistence type, Anything other than PVC could break rollback!
+ schema:
+ type: string
+ default: pvc
+ enum:
+ - value: pvc
+ description: PVC
+ - value: hostPath
+ description: Host Path
+ - value: emptyDir
+ description: emptyDir
+ - value: nfs
+ description: NFS Share
+ - value: iscsi
+ description: iSCSI Share
+ - variable: server
+ label: NFS Server
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: path
+ label: Path on NFS Server
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: iscsi
+ label: iSCSI Options
+ schema:
+ show_if: [["type", "=", "iscsi"]]
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: targetPortal
+ label: targetPortal
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: iqn
+ label: iqn
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: lun
+ label: lun
+ schema:
+ type: int
+ default: 0
+ - variable: authSession
+ label: authSession
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: username
+ label: username
+ schema:
+ type: string
+ default: ""
+ - variable: password
+ label: password
+ schema:
+ type: string
+ default: ""
+ - variable: usernameInitiator
+ label: usernameInitiator
+ schema:
+ type: string
+ default: ""
+ - variable: passwordInitiator
+ label: passwordInitiator
+ schema:
+ type: string
+ default: ""
+ - variable: authDiscovery
+ label: authDiscovery
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: username
+ label: username
+ schema:
+ type: string
+ default: ""
+ - variable: password
+ label: password
+ schema:
+ type: string
+ default: ""
+ - variable: usernameInitiator
+ label: usernameInitiator
+ schema:
+ type: string
+ default: ""
+ - variable: passwordInitiator
+ label: passwordInitiator
+ schema:
+ type: string
+ default: ""
+
+ - variable: autoPermissions
+ label: Automatic Permissions Configuration
+ description: Automatically set permissions
+ schema:
+ show_if: [["type", "!=", "pvc"]]
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: chown
+ label: Run CHOWN
+ description: |
+ It will run CHOWN on the path with the given fsGroup
+ schema:
+ type: boolean
+ default: false
+ - variable: chmod
+ label: Run CHMOD
+ description: |
+ It will run CHMOD on the path with the given value
+ Format should be 3 digits, e.g. 770
+ schema:
+ type: string
+ valid_chars: '[0-9]{3}'
+ default: ""
+ - variable: recursive
+ label: Recursive
+ description: |
+ It will run CHOWN and CHMOD recursively
+ schema:
+ type: boolean
+ default: false
+ - variable: readOnly
+ label: Read Only
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPath
+ label: Host Path
+ description: Path inside the container the storage is mounted
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: hostpath
+ - variable: medium
+ label: EmptyDir Medium
+ schema:
+ show_if: [["type", "=", "emptyDir"]]
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: Default
+ - value: Memory
+ description: Memory
+ - variable: size
+ label: Size quotum of Storage (Do NOT REDUCE after installation)
+ description: This value can ONLY be INCREASED after the installation
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: 256Gi
+ - variable: storageClass
+ label: 'storageClass (Advanced)'
+ description: 'sets the storageClass to something other than iX default. Only for advanced usecases!'
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: ""
+ - variable: static
+ label: 'Static Fixed PVC Bindings (Experimental)'
+ description: Link a PVC to a specific storage location
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: mode
+ label: mode
+ description: |
+ disabled: use normal dynamic PVCs
+ smb: connect to an SMB share
+ nfs: connect to an NFS share
+ schema:
+ type: string
+ default: "disabled"
+ enum:
+ - value: disabled
+ description: disabled
+ - value: smb
+ description: smb
+ - value: nfs
+ description: nfs
+ - variable: server
+ label: Server
+ description: server to connect to
+ schema:
+ type: string
+ show_if: [["mode", "!=", "disabled"]]
+ default: "myserver"
+ - variable: share
+ label: Share
+ description: share to connect to
+ schema:
+ type: string
+ show_if: [["mode", "!=", "disabled"]]
+ default: "/myshare"
+ - variable: user
+ label: User
+ description: connecting user
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: "myuser"
+ - variable: domain
+ label: Domain
+ description: user domain
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: ""
+ - variable: password
+ label: Password
+ description: connecting password
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: ""
+ - variable: volumeSnapshots
+ label: 'Volume Snapshots (Experimental)'
+ description: Add an entry to the list to force creation of a volumeSnapshot of this PVC
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: list
+ default: []
+ items:
+ - variable: volumeSnapshotEntry
+ label: Custom volumeSnapshot
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Name
+ description: 'WARNING: renaming this, means deletion of the snapshot with the old name!'
+ schema:
+ type: string
+ default: "mysnapshot"
+ required: true
+ - variable: volumeSnapshotClassName
+ label: 'volumeSnapshot Class Name (Advanced)'
+ description: For use with PVCs using a non-default storageClass
+ schema:
+ type: string
+ default: ""
+
+ - variable: persistenceList
+ label: Additional App Storage
+ group: Storage and Persistence
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: persistenceListEntry
+ label: Custom Storage
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: Enable the storage
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: type
+ label: Type of Storage
+ description: Sets the persistence type, Anything other than PVC could break rollback!
+ schema:
+ type: string
+ default: hostPath
+ enum:
+ - value: pvc
+ description: PVC
+ - value: hostPath
+ description: Host Path
+ - value: emptyDir
+ description: emptyDir
+ - value: nfs
+ description: NFS Share
+ - variable: server
+ label: NFS Server
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: path
+ label: Path on NFS Server
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: iscsi
+ label: iSCSI Options
+ schema:
+ show_if: [["type", "=", "iscsi"]]
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: targetPortal
+ label: targetPortal
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: iqn
+ label: iqn
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: lun
+ label: lun
+ schema:
+ type: int
+ default: 0
+ - variable: authSession
+ label: authSession
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: username
+ label: username
+ schema:
+ type: string
+ default: ""
+ - variable: password
+ label: password
+ schema:
+ type: string
+ default: ""
+ - variable: usernameInitiator
+ label: usernameInitiator
+ schema:
+ type: string
+ default: ""
+ - variable: passwordInitiator
+ label: passwordInitiator
+ schema:
+ type: string
+ default: ""
+ - variable: authDiscovery
+ label: authDiscovery
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: username
+ label: username
+ schema:
+ type: string
+ default: ""
+ - variable: password
+ label: password
+ schema:
+ type: string
+ default: ""
+ - variable: usernameInitiator
+ label: usernameInitiator
+ schema:
+ type: string
+ default: ""
+ - variable: passwordInitiator
+ label: passwordInitiator
+ schema:
+ type: string
+ default: ""
+ - variable: autoPermissions
+ label: Automatic Permissions Configuration
+ description: Automatically set permissions
+ schema:
+ show_if: [["type", "!=", "pvc"]]
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: chown
+ label: Run CHOWN
+ description: |
+ It will run CHOWN on the path with the given fsGroup
+ schema:
+ type: boolean
+ default: false
+ - variable: chmod
+ label: Run CHMOD
+ description: |
+ It will run CHMOD on the path with the given value
+ Format should be 3 digits, e.g. 770
+ schema:
+ type: string
+ valid_chars: '[0-9]{3}'
+ default: ""
+ - variable: recursive
+ label: Recursive
+ description: |
+ It will run CHOWN and CHMOD recursively
+ schema:
+ type: boolean
+ default: false
+ - variable: readOnly
+ label: Read Only
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPath
+ label: Host Path
+ description: Path inside the container the storage is mounted
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: hostpath
+ - variable: mountPath
+ label: Mount Path
+ description: Path inside the container the storage is mounted
+ schema:
+ type: string
+ default: ""
+ required: true
+ valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$'
+ - variable: medium
+ label: EmptyDir Medium
+ schema:
+ show_if: [["type", "=", "emptyDir"]]
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: Default
+ - value: Memory
+ description: Memory
+ - variable: size
+ label: Size Quotum of Storage
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: 256Gi
+ - variable: storageClass
+ label: 'storageClass (Advanced)'
+ description: 'sets the storageClass to something other than iX default. Only for advanced usecases!'
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: ""
+ - variable: static
+ label: 'Static Fixed PVC Bindings (Experimental)'
+ description: Link a PVC to a specific storage location
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: mode
+ label: mode
+ description: |
+ disabled: use normal dynamic PVCs
+ smb: connect to an SMB share
+ nfs: connect to an NFS share
+ schema:
+ type: string
+ default: "disabled"
+ enum:
+ - value: "disabled"
+ description: disabled
+ - value: smb
+ description: smb
+ - value: nfs
+ description: nfs
+ - variable: server
+ label: Server
+ description: server to connect to
+ schema:
+ type: string
+ show_if: [["mode", "!=", "disabled"]]
+ default: "myserver"
+ - variable: share
+ label: Share
+ description: share to connect to
+ schema:
+ type: string
+ show_if: [["mode", "!=", "disabled"]]
+ default: "/myshare"
+ - variable: user
+ label: User
+ description: connecting user
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: "myuser"
+ - variable: domain
+ label: Domain
+ description: user domain
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: ""
+ - variable: password
+ label: Password
+ description: connecting password
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: ""
+ - variable: volumeSnapshots
+ label: 'Volume Snapshots (Experimental)'
+ description: Add an entry to the list to force creation of a volumeSnapshot of this PVC
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: list
+ default: []
+ items:
+ - variable: volumeSnapshotEntry
+ label: Custom volumeSnapshot
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Name
+ description: 'WARNING: renaming this, means deletion of the snapshot with the old name!'
+ schema:
+ type: string
+ default: "mysnapshot"
+ required: true
+ - variable: volumeSnapshotClassName
+ label: 'volumeSnapshot Class Name (Advanced)'
+ description: For use with PVCs using a non-default storageClass
+ schema:
+ type: string
+ default: ""
+
+ - variable: ingress
+ label: ""
+ group: Ingress
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+
+ - variable: main
+ label: "Main Ingress"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: Enable Ingress
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: hosts
+ label: Hosts
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: hostEntry
+ label: Host
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: host
+ label: HostName
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: paths
+ label: Paths
+ schema:
+ type: list
+ default: [{path: "/", pathType: "Prefix"}]
+ items:
+ - variable: pathEntry
+ label: Host
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: path
+ label: Path
+ schema:
+ type: string
+ required: true
+ default: "/"
+ - variable: pathType
+ label: Path Type
+ schema:
+ type: string
+ required: true
+ default: Prefix
+
+ - variable: integrations
+ label: Integrations
+ description: Connect ingress with other charts
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: traefik
+ label: Traefik
+ description: Connect ingress with Traefik
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: true
+ - variable: allowCors
+ label: 'Allow Cross Origin Requests (advanced)'
+ schema:
+ type: boolean
+ default: false
+ show_if: [["enabled", "=", true]]
+ - variable: entrypoints
+ label: Entrypoints
+ schema:
+ type: list
+ default: ["websecure"]
+ show_if: [["enabled", "=", true]]
+ items:
+ - variable: entrypoint
+ label: Entrypoint
+ schema:
+ type: string
+ - variable: middlewares
+ label: Middlewares
+ schema:
+ type: list
+ default: []
+ show_if: [["enabled", "=", true]]
+ items:
+ - variable: middleware
+ label: Middleware
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: name
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: namespace
+ label: 'namespace (optional)'
+ schema:
+ type: string
+ default: ""
+ - variable: certManager
+ label: certManager
+ description: Connect ingress with certManager
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: false
+ - variable: certificateIssuer
+ label: certificateIssuer
+ description: defaults to chartname
+ schema:
+ type: string
+ default: ""
+ show_if: [["enabled", "=", true]]
+ - variable: homepage
+ label: Homepage
+ description: Connect ingress with Homepage
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: false
+ - variable: name
+ label: Name (Optional)
+ description: Defaults to chart name
+ schema:
+ type: string
+ default: ""
+ show_if: [["enabled", "=", true]]
+ - variable: description
+ label: Description (Optional)
+ description: Defaults to chart description
+ schema:
+ type: string
+ default: ""
+ show_if: [["enabled", "=", true]]
+ - variable: icon
+ label: Icon (Optional)
+ description: Defaults to chart icon
+ schema:
+ type: string
+ default: ""
+ show_if: [["enabled", "=", true]]
+ - variable: group
+ label: Group
+ schema:
+ type: string
+ required: true
+ default: "default"
+ show_if: [["enabled", "=", true]]
+ - variable: widget
+ label: Widget Settings
+ schema:
+ type: dict
+ additional_attrs: true
+ show_if: [["enabled", "=", true]]
+ attrs:
+ - variable: enabled
+ label: Enable Widget
+ description: When disabled all widget annotations are skipped.
+ schema:
+ type: boolean
+ default: true
+ - variable: custom
+ label: Options
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: key
+ label: API-key (key)
+ schema:
+ type: string
+ default: ""
+ - variable: customkv
+ label: Custom Options
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: option
+ label: Option
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: key
+ label: Key
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: value
+ label: Value
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: advanced
+ label: Show Advanced Settings
+ description: Advanced settings are not covered by TrueCharts Support
+ schema:
+ type: boolean
+ default: false
+ - variable: ingressClassName
+ label: (Advanced/Optional) IngressClass Name
+ schema:
+ type: string
+ show_if: [["advanced", "=", true]]
+ default: ""
+ - variable: tls
+ label: TLS-Settings
+ schema:
+ type: list
+ show_if: [["advanced", "=", true]]
+ default: []
+ items:
+ - variable: tlsEntry
+ label: Host
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: hosts
+ label: Certificate Hosts
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: host
+ label: Host
+ schema:
+ type: string
+ default: ""
+ required: true
+
+ - variable: certificateIssuer
+ label: Use Cert-Manager clusterIssuer
+ description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.'
+ schema:
+ type: string
+ default: ""
+ - variable: clusterCertificate
+ label: 'Cluster Certificate (Advanced)'
+ description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.'
+ schema:
+ type: string
+ show_if: [["certificateIssuer", "=", ""]]
+ default: ""
+ - variable: secretName
+ label: 'Use Custom Certificate Secret (Advanced)'
+ schema:
+ show_if: [["certificateIssuer", "=", ""]]
+ type: string
+ default: ""
+
+ - variable: ingressList
+ label: Add Manual Custom Ingresses
+ group: Ingress
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: ingressListEntry
+ label: Custom Ingress
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: Enable Ingress
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: Name
+ schema:
+ type: string
+ default: ""
+ - variable: ingressClassName
+ label: IngressClass Name
+ schema:
+ type: string
+ default: ""
+ - variable: hosts
+ label: Hosts
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: hostEntry
+ label: Host
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: host
+ label: HostName
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: paths
+ label: Paths
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: pathEntry
+ label: Host
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: path
+ label: Path
+ schema:
+ type: string
+ required: true
+ default: "/"
+ - variable: pathType
+ label: Path Type
+ schema:
+ type: string
+ required: true
+ default: Prefix
+ - variable: overrideService
+ label: Linked Service
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Service Name
+ schema:
+ type: string
+ default: ""
+ - variable: port
+ label: Service Port
+ schema:
+ type: int
+ - variable: tls
+ label: TLS-Settings
+ schema:
+ type: list
+ default: []
+ show_if: [["certificateIssuer", "=", ""]]
+ items:
+ - variable: tlsEntry
+ label: Host
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: hosts
+ label: Certificate Hosts
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: host
+ label: Host
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: certificateIssuer
+ label: Use Cert-Manager clusterIssuer
+ description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.'
+ schema:
+ type: string
+ default: ""
+ - variable: clusterCertificate
+ label: 'Cluster Certificate (Advanced)'
+ description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.'
+ schema:
+ type: string
+ show_if: [["certificateIssuer", "=", ""]]
+ default: ""
+ - variable: secretName
+ label: Use Custom Secret (Advanced)
+ schema:
+ type: string
+ show_if: [["certificateIssuer", "=", ""]]
+ default: ""
+ - variable: integrations
+ label: Integrations
+ description: Connect ingress with other charts
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: traefik
+ label: Traefik
+ description: Connect ingress with Traefik
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: true
+ - variable: allowCors
+ label: "Allow Cross Origin Requests"
+ schema:
+ type: boolean
+ default: false
+ show_if: [["enabled", "=", true]]
+ - variable: entrypoints
+ label: Entrypoints
+ schema:
+ type: list
+ default: ["websecure"]
+ show_if: [["enabled", "=", true]]
+ items:
+ - variable: entrypoint
+ label: Entrypoint
+ schema:
+ type: string
+ - variable: middlewares
+ label: Middlewares
+ schema:
+ type: list
+ default: []
+ show_if: [["enabled", "=", true]]
+ items:
+ - variable: middleware
+ label: Middleware
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: name
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: namespace
+ label: namespace
+ schema:
+ type: string
+ default: ""
+ - variable: certManager
+ label: certManager
+ description: Connect ingress with certManager
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: true
+ - variable: certificateIssuer
+ label: certificateIssuer
+ description: defaults to chartname
+ schema:
+ type: string
+ default: ""
+ show_if: [["enabled", "=", true]]
+ - variable: homepage
+ label: Homepage
+ description: Connect ingress with Homepage
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: false
+ - variable: name
+ label: Name
+ description: defaults to chartname
+ schema:
+ type: string
+ default: ""
+ show_if: [["enabled", "=", true]]
+ - variable: description
+ label: Description
+ description: defaults to chart description
+ schema:
+ type: string
+ default: ""
+ show_if: [["enabled", "=", true]]
+ - variable: group
+ label: Group
+ schema:
+ type: string
+ required: true
+ default: "default"
+ show_if: [["enabled", "=", true]]
+
+ - variable: securityContext
+ group: Security and Permissions
+ label: Security Context
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: container
+ label: Container
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ # Settings from questions.yaml get appended here on a per-app basis
+
+ - variable: runAsUser
+ label: "runAsUser"
+ description: "The UserID of the user running the application"
+ schema:
+ type: int
+ default: 1000
+ - variable: runAsGroup
+ label: "runAsGroup"
+ description: "The groupID of the user running the application"
+ schema:
+ type: int
+ default: 1000
+ # Settings from questions.yaml get appended here on a per-app basis
+ - variable: PUID
+ label: Process User ID - PUID
+ description: When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps
+ schema:
+ type: int
+ show_if: [["runAsUser", "=", 0]]
+ default: 568
+ - variable: UMASK
+ label: UMASK
+ description: When supported by the container, this sets the UMASK for the App. Not supported by all Apps
+ schema:
+ type: string
+ default: "0022"
+
+ - variable: advanced
+ label: Show Advanced Settings
+ description: Advanced settings are not covered by TrueCharts Support
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: privileged
+ label: "Privileged mode"
+ schema:
+ type: boolean
+ default: false
+ - variable: readOnlyRootFilesystem
+ label: "ReadOnly Root Filesystem"
+ schema:
+ type: boolean
+ default: true
+
+ - variable: pod
+ label: Pod
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: fsGroupChangePolicy
+ label: "When should we take ownership?"
+ schema:
+ type: string
+ default: OnRootMismatch
+ enum:
+ - value: OnRootMismatch
+ description: OnRootMismatch
+ - value: Always
+ description: Always
+ - variable: supplementalGroups
+ label: Supplemental Groups
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: supplementalGroupsEntry
+ label: Supplemental Group
+ schema:
+ type: int
+ # Settings from questions.yaml get appended here on a per-app basis
+
+ - variable: fsGroup
+ label: "fsGroup"
+ description: "The group that should own ALL storage."
+ schema:
+ type: int
+ default: 568
+ - variable: resources
+ group: Resources and Devices
+ label: "Resource Limits"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: limits
+ label: Advanced Limit Resource Consumption
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: cpu
+ label: CPU
+ description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation"
+ schema:
+ type: string
+ default: 4000m
+ valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
+ - variable: memory
+ label: RAM
+ description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation"
+ schema:
+ type: string
+ default: 8Gi
+ valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
+ - variable: 'gpu.intel.com/i915'
+ label: Add Intel i915 GPUs
+ schema:
+ type: int
+ default: 0
+ - variable: 'nvidia.com/gpu'
+ label: Add NVIDIA GPUs (Experimental)
+ schema:
+ type: int
+ default: 0
+ - variable: 'amd.com/gpu'
+ label: Add AMD GPUs
+ schema:
+ type: int
+ default: 0
+ - variable: requests
+ label: "Minimum Resources Required (request)"
+ schema:
+ additional_attrs: true
+ type: dict
+ hidden: true
+ attrs:
+ - variable: cpu
+ label: CPU
+ description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation"
+ schema:
+ type: string
+ default: 10m
+ hidden: true
+ valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
+ - variable: memory
+ label: "RAM"
+ description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation"
+ schema:
+ type: string
+ default: 50Mi
+ hidden: true
+ valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
+ - variable: deviceList
+ label: Mount USB Devices
+ group: Resources and Devices
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: deviceListEntry
+ label: Device
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: Enable the Storage
+ schema:
+ type: boolean
+ default: true
+ - variable: type
+ label: (Advanced) Type of Storage
+ description: Sets the persistence type
+ schema:
+ type: string
+ default: device
+ hidden: true
+ - variable: readOnly
+ label: readOnly
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPath
+ label: Host Device Path
+ description: Path to the device on the host system
+ schema:
+ type: path
+ - variable: mountPath
+ label: Container Device Path
+ description: Path inside the container the device is mounted
+ schema:
+ type: string
+ default: "/dev/ttyACM0"
+
+# - variable: horizontalPodAutoscaler
+# group: Advanced
+# label: (Advanced) Horizontal Pod Autoscaler
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: hpaEntry
+# label: HPA Entry
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: name
+# label: Name
+# schema:
+# type: string
+# required: true
+# default: ""
+# - variable: enabled
+# label: Enabled
+# schema:
+# type: boolean
+# default: false
+# show_subquestions_if: true
+# subquestions:
+# - variable: target
+# label: Target
+# description: Deployment name, Defaults to Main Deployment
+# schema:
+# type: string
+# default: ""
+# - variable: minReplicas
+# label: Minimum Replicas
+# schema:
+# type: int
+# default: 1
+# - variable: maxReplicas
+# label: Maximum Replicas
+# schema:
+# type: int
+# default: 5
+# - variable: targetCPUUtilizationPercentage
+# label: Target CPU Utilization Percentage
+# schema:
+# type: int
+# default: 80
+# - variable: targetMemoryUtilizationPercentage
+# label: Target Memory Utilization Percentage
+# schema:
+# type: int
+# default: 80
+ - variable: networkPolicy
+ group: Advanced
+ label: (Advanced) Network Policy
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: netPolicyEntry
+ label: Network Policy Entry
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Name
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: enabled
+ label: Enabled
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: policyType
+ label: Policy Type
+ schema:
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: Default
+ - value: ingress
+ description: Ingress
+ - value: egress
+ description: Egress
+ - value: ingress-egress
+ description: Ingress and Egress
+ - variable: egress
+ label: Egress
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: egressEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: to
+ label: To
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: toEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: ipBlock
+ label: IP Block
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: cidr
+ label: CIDR
+ schema:
+ type: string
+ default: ""
+ - variable: except
+ label: Except
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: exceptint
+ label: ""
+ schema:
+ type: string
+ - variable: namespaceSelector
+ label: Namespace Selector
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: matchExpressions
+ label: Match Expressions
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: expressionEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: key
+ label: Key
+ schema:
+ type: string
+ - variable: operator
+ label: Operator
+ schema:
+ type: string
+ default: TCP
+ enum:
+ - value: In
+ description: In
+ - value: NotIn
+ description: NotIn
+ - value: Exists
+ description: Exists
+ - value: DoesNotExist
+ description: DoesNotExist
+ - variable: values
+ label: Values
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: value
+ label: ""
+ schema:
+ type: string
+ - variable: podSelector
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: matchExpressions
+ label: Match Expressions
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: expressionEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: key
+ label: Key
+ schema:
+ type: string
+ - variable: operator
+ label: Operator
+ schema:
+ type: string
+ default: TCP
+ enum:
+ - value: In
+ description: In
+ - value: NotIn
+ description: NotIn
+ - value: Exists
+ description: Exists
+ - value: DoesNotExist
+ description: DoesNotExist
+ - variable: values
+ label: Values
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: value
+ label: ""
+ schema:
+ type: string
+ - variable: ports
+ label: Ports
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: portsEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: port
+ label: Port
+ schema:
+ type: int
+ - variable: endPort
+ label: End Port
+ schema:
+ type: int
+ - variable: protocol
+ label: Protocol
+ schema:
+ type: string
+ default: TCP
+ enum:
+ - value: TCP
+ description: TCP
+ - value: UDP
+ description: UDP
+ - value: SCTP
+ description: SCTP
+ - variable: ingress
+ label: Ingress
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: ingressEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: from
+ label: From
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: fromEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: ipBlock
+ label: IP Block
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: cidr
+ label: CIDR
+ schema:
+ type: string
+ default: ""
+ - variable: except
+ label: Except
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: exceptint
+ label: ""
+ schema:
+ type: string
+ - variable: namespaceSelector
+ label: Namespace Selector
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: matchExpressions
+ label: Match Expressions
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: expressionEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: key
+ label: Key
+ schema:
+ type: string
+ - variable: operator
+ label: Operator
+ schema:
+ type: string
+ default: TCP
+ enum:
+ - value: In
+ description: In
+ - value: NotIn
+ description: NotIn
+ - value: Exists
+ description: Exists
+ - value: DoesNotExist
+ description: DoesNotExist
+ - variable: values
+ label: Values
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: value
+ label: ""
+ schema:
+ type: string
+ - variable: podSelector
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: matchExpressions
+ label: Match Expressions
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: expressionEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: key
+ label: Key
+ schema:
+ type: string
+ - variable: operator
+ label: Operator
+ schema:
+ type: string
+ default: TCP
+ enum:
+ - value: In
+ description: In
+ - value: NotIn
+ description: NotIn
+ - value: Exists
+ description: Exists
+ - value: DoesNotExist
+ description: DoesNotExist
+ - variable: values
+ label: Values
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: value
+ label: ""
+ schema:
+ type: string
+ - variable: ports
+ label: Ports
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: portsEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: port
+ label: Port
+ schema:
+ type: int
+ - variable: endPort
+ label: End Port
+ schema:
+ type: int
+ - variable: protocol
+ label: Protocol
+ schema:
+ type: string
+ default: TCP
+ enum:
+ - value: TCP
+ description: TCP
+ - value: UDP
+ description: UDP
+ - value: SCTP
+ description: SCTP
+
+ - variable: addons
+ group: Addons
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+
+ - variable: codeserver
+ label: Codeserver
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: Enabled
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: service
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: Service Type
+ description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: LoadBalancer
+ enum:
+ - value: NodePort
+ description: Deprecated CHANGE THIS
+ - value: ClusterIP
+ description: ClusterIP
+ - value: LoadBalancer
+ description: LoadBalancer
+ - variable: loadBalancerIP
+ label: LoadBalancer IP
+ description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: ports
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: codeserver
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: port
+ label: Port
+ schema:
+ type: int
+ default: 36107
+ - variable: ingress
+ label: "Ingress"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: Enable Ingress
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: hosts
+ label: Hosts
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: hostEntry
+ label: Host
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: host
+ label: HostName
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: paths
+ label: Paths
+ schema:
+ type: list
+ default: [{path: "/", pathType: "Prefix"}]
+ items:
+ - variable: pathEntry
+ label: Host
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: path
+ label: Path
+ schema:
+ type: string
+ required: true
+ default: "/"
+ - variable: pathType
+ label: Path Type
+ schema:
+ type: string
+ required: true
+ default: Prefix
+ - variable: integrations
+ label: Integrations
+ description: Connect ingress with other charts
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: traefik
+ label: Traefik
+ description: Connect ingress with Traefik
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: true
+ - variable: allowCors
+ label: 'Allow Cross Origin Requests (advanced)'
+ schema:
+ type: boolean
+ default: false
+ show_if: [["enabled", "=", true]]
+ - variable: entrypoints
+ label: Entrypoints
+ schema:
+ type: list
+ default: ["websecure"]
+ show_if: [["enabled", "=", true]]
+ items:
+ - variable: entrypoint
+ label: Entrypoint
+ schema:
+ type: string
+ - variable: middlewares
+ label: Middlewares
+ schema:
+ type: list
+ default: []
+ show_if: [["enabled", "=", true]]
+ items:
+ - variable: middleware
+ label: Middleware
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: name
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: namespace
+ label: 'namespace (optional)'
+ schema:
+ type: string
+ default: ""
+ - variable: certManager
+ label: certManager
+ description: Connect ingress with certManager
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: false
+ - variable: certificateIssuer
+ label: certificateIssuer
+ description: defaults to chartname
+ schema:
+ type: string
+ default: ""
+ show_if: [["enabled", "=", true]]
+ - variable: advanced
+ label: Show Advanced Settings
+ description: Advanced settings are not covered by TrueCharts Support
+ schema:
+ type: boolean
+ default: false
+ - variable: ingressClassName
+ label: (Advanced/Optional) IngressClass Name
+ schema:
+ type: string
+ show_if: [["advanced", "=", true]]
+ default: ""
+ - variable: tls
+ label: TLS-Settings
+ schema:
+ type: list
+ show_if: [["advanced", "=", true]]
+ default: []
+ items:
+ - variable: tlsEntry
+ label: Host
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: hosts
+ label: Certificate Hosts
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: host
+ label: Host
+ schema:
+ type: string
+ default: ""
+ required: true
+
+ - variable: certificateIssuer
+ label: Use Cert-Manager clusterIssuer
+ description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.'
+ schema:
+ type: string
+ default: ""
+ - variable: clusterCertificate
+ label: 'Cluster Certificate (Advanced)'
+ description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.'
+ schema:
+ type: string
+ show_if: [["certificateIssuer", "=", ""]]
+ default: ""
+ - variable: secretName
+ label: 'Use Custom Certificate Secret (Advanced)'
+ schema:
+ show_if: [["certificateIssuer", "=", ""]]
+ type: string
+ default: ""
+ - variable: scaleCert
+ label: 'Use TrueNAS SCALE Certificate (Deprecated)'
+ schema:
+ show_if: [["certificateIssuer", "=", ""]]
+ type: int
+ $ref:
+ - "definitions/certificate"
+ - variable: envList
+ label: Codeserver Environment Variables
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: Environment Variable
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Name
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: Value
+ schema:
+ type: string
+ required: true
+
+ - variable: netshoot
+ label: Netshoot
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: Enabled
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: envList
+ label: Netshoot Environment Variables
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: Environment Variable
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Name
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: Value
+ schema:
+ type: string
+ required: true
+
+ - variable: vpn
+ label: VPN
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: Type
+ schema:
+ type: string
+ default: disabled
+ enum:
+ - value: disabled
+ description: disabled
+ - value: gluetun
+ description: Gluetun
+ - value: tailscale
+ description: Tailscale
+ - value: openvpn
+ description: OpenVPN (Deprecated)
+ - value: wireguard
+ description: Wireguard (Deprecated)
+ - variable: openvpn
+ label: OpenVPN Settings
+ schema:
+ additional_attrs: true
+ type: dict
+ show_if: [["type", "=", "openvpn"]]
+ attrs:
+ - variable: username
+ label: Authentication Username (Optional)
+ description: Authentication Username, Optional
+ schema:
+ type: string
+ default: ""
+ - variable: password
+ label: Authentication Password
+ description: Authentication Credentials
+ schema:
+ type: string
+ show_if: [["username", "!=", ""]]
+ default: ""
+ required: true
+ - variable: tailscale
+ label: Tailscale Settings
+ schema:
+ additional_attrs: true
+ type: dict
+ show_if: [["type", "=", "tailscale"]]
+ attrs:
+ - variable: authkey
+ label: Authentication Key
+ description: Provide an auth key to automatically authenticate the node as your user account.
+ schema:
+ type: string
+ private: true
+ default: ""
+ - variable: auth_once
+ label: Auth Once
+ description: Only attempt to log in if not already logged in.
+ schema:
+ type: boolean
+ default: true
+ - variable: accept_dns
+ label: Accept DNS
+ description: Accept DNS configuration from the admin console.
+ schema:
+ type: boolean
+ default: false
+ - variable: userspace
+ label: Userspace
+ description: Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device.
+ schema:
+ type: boolean
+ default: false
+ - variable: routes
+ label: Routes
+ description: Expose physical subnet routes to your entire Tailscale network.
+ schema:
+ type: string
+ default: ""
+ - variable: dest_ip
+ label: Destination IP
+ description: Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched.
+ schema:
+ type: string
+ default: ""
+ - variable: sock5_server
+ label: Sock5 Server
+ description: The address on which to listen for SOCKS5 proxying into the tailscale net.
+ schema:
+ type: string
+ default: ""
+ - variable: outbound_http_proxy_listen
+ label: Outbound HTTP Proxy Listen
+ description: The address on which to listen for HTTP proxying into the tailscale net.
+ schema:
+ type: string
+ default: ""
+ - variable: extra_args
+ label: Extra Args
+ description: Extra Args
+ schema:
+ type: string
+ default: ""
+ - variable: daemon_extra_args
+ label: Tailscale Daemon Extra Args
+ description: Tailscale Daemon Extra Args
+ schema:
+ type: string
+ default: ""
+ - variable: killSwitch
+ label: Enable Killswitch
+ schema:
+ type: boolean
+ show_if: [["type", "!=", "disabled"]]
+ default: true
+ - variable: excludedNetworks_IPv4
+ label: Killswitch Excluded IPv4 networks
+ description: List of Killswitch Excluded IPv4 Addresses
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: networkv4
+ label: IPv4 Network
+ schema:
+ type: string
+ required: true
+ - variable: excludedNetworks_IPv6
+ label: Killswitch Excluded IPv6 networks
+ description: "List of Killswitch Excluded IPv6 Addresses"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: networkv6
+ label: IPv6 Network
+ schema:
+ type: string
+ required: true
+ - variable: configFile
+ label: VPN Config File Location
+ schema:
+ type: string
+ show_if: [["type", "!=", "disabled"]]
+ default: ""
+
+ - variable: envList
+ label: VPN Environment Variables
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: Environment Variable
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Name
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: Value
+ schema:
+ type: string
+ required: true
+ max_length: 10240
+
+ - variable: docs
+ group: Documentation
+ label: Please read the documentation at https://truecharts.org
+ description: Please read the documentation at
+
https://truecharts.org
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: confirmDocs
+ label: I have checked the documentation
+ schema:
+ type: boolean
+ default: true
+ - variable: donateNag
+ group: Documentation
+ label: Please consider supporting TrueCharts, see https://truecharts.org/sponsor
+ description: Please consider supporting TrueCharts, see
+
https://truecharts.org/sponsor
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: confirmDonate
+ label: I have considered donating
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+
diff --git a/stable/twofauth/1.0.6/templates/NOTES.txt b/stable/twofauth/1.0.6/templates/NOTES.txt
new file mode 100644
index 00000000000..efcb74cb772
--- /dev/null
+++ b/stable/twofauth/1.0.6/templates/NOTES.txt
@@ -0,0 +1 @@
+{{- include "tc.v1.common.lib.chart.notes" $ -}}
diff --git a/stable/twofauth/1.0.6/templates/_secrets.tpl b/stable/twofauth/1.0.6/templates/_secrets.tpl
new file mode 100644
index 00000000000..5008373e373
--- /dev/null
+++ b/stable/twofauth/1.0.6/templates/_secrets.tpl
@@ -0,0 +1,13 @@
+{{/* Define the secrets */}}
+{{- define "twofauth.secret" -}}
+ {{- $secretName := (printf "%s-twofauth-secret" (include "tc.v1.common.lib.chart.names.fullname" $)) }}
+
+ {{- $appKey := randAlphaNum 32 -}}
+
+ {{- with lookup "v1" "Secret" .Release.Namespace $secretName -}}
+ {{- $appKey = index .data "APP_KEY" | b64dec -}}
+ {{- end }}
+enabled: true
+data:
+ APP_KEY: {{ $appKey }}
+{{- end -}}
diff --git a/stable/twofauth/1.0.6/templates/common.yaml b/stable/twofauth/1.0.6/templates/common.yaml
new file mode 100644
index 00000000000..959caee0647
--- /dev/null
+++ b/stable/twofauth/1.0.6/templates/common.yaml
@@ -0,0 +1,10 @@
+{{/* Make sure all variables are set properly */}}
+{{- include "tc.v1.common.loader.init" . -}}
+
+{{- $secret := include "twofauth.secret" . | fromYaml -}}
+{{- if $secret -}}
+ {{- $_ := set .Values.secret "twofauth-secret" $secret -}}
+{{- end -}}
+
+{{/* Render the templates */}}
+{{- include "tc.v1.common.loader.apply" . -}}
diff --git a/stable/twofauth/1.0.6/values.yaml b/stable/twofauth/1.0.6/values.yaml
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/stable/twofauth/item.yaml b/stable/twofauth/item.yaml
new file mode 100644
index 00000000000..a3508458403
--- /dev/null
+++ b/stable/twofauth/item.yaml
@@ -0,0 +1,4 @@
+icon_url: https://truecharts.org/img/hotlink-ok/chart-icons/twofauth.png
+categories:
+ - auth
+screenshots: []