catalog/incubator/sonsoftheforest/0.0.2/questions.yaml

2300 lines
99 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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: Advanced
description: Advanced Configuration
- name: Postgresql
description: Postgresql
- name: Documentation
description: Documentation
portals: {}
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: sonsoftheforest
group: App Configuration
label: Sons of the Forest
schema:
additional_attrs: true
type: dict
attrs:
- variable: game
label: Game Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: id
label: Game Id
description: The ID of the container to download at start up.
schema:
type: string
required: true
default: "2465200"
- variable: user
label: Steam User
description: Leave blank for anonymous login.
schema:
type: string
default: ""
- variable: password
label: Steam Password
description: Leave blank for anonymous login.
schema:
type: string
default: ""
- variable: validate
label: Validate
description: Validates the game data.
schema:
type: boolean
default: true
- variable: params
label: Game Params
schema:
type: list
default: []
required: true
items:
- variable: param
label: Param
schema:
type: string
required: true
default: ""
- variable: server
label: Game Server Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: ServerName
label: Server Name
description: Name of the server visible in the server list, and in the Steam contacts.
schema:
type: string
required: true
default: "Sons Of The Forest Docker Server"
- variable: MaxPlayers
label: Max Players
description: The maximum number of players allowed simultaneously on the server.
schema:
type: int
required: true
default: 8
min: 1
- variable: Password
label: Password
description: Adds a password to make your server “private”. Upon connection, this password will be requested before the client can proceed.
schema:
type: string
private: true
default: ""
- variable: LanOnly
label: Lan Only
description: Allows or restricts the server visibility to LAN only.
schema:
type: boolean
default: false
- variable: SaveSlot
label: Save Slot
description: When creating a new save, this number will be the id of the save.
schema:
type: int
required: true
default: 1
min: 1
- variable: SaveMode
label: Save Mode
description: Game save initialization mode.
schema:
type: string
required: true
default: "Continue"
enum:
- value: Continue
description: Continue
- value: New
description: New
- variable: GameMode
label: Game Mode
description: Sets the difficulty game mode when creating a new save.
schema:
type: string
required: true
default: "normal"
enum:
- value: peaceful
description: Peaceful
- value: normal
description: Normal
- value: hard
description: Hard
- value: hardsurvival
description: Hard Survival
- value: custom
description: Custom
- variable: SaveInterval
label: Save Interval
description: How often the game server automatically saves the game to SaveSlot, in seconds.
schema:
type: int
required: true
default: 600
- variable: IdleDayCycleSpeed
label: Idle Day Cycle Speed
description: A multiplier to how quickly the time passes compared to normal gameplay when the server is considered idle (no player connected).
schema:
type: string
required: true
default: "0.0"
- variable: IdleTargetFramerate
label: Idle Target Framerate
description: Target framerate of the server when its considered idle (no player connected).
schema:
type: int
required: true
default: 5
- variable: ActiveTargetFramerate
label: Active Target Framerate
description: Target framerate of the server when its NOT considered idle (one or more player connected).
schema:
type: int
required: true
default: 60
- variable: LogFilesEnabled
label: Log Files Enabled
description: Defines if the logs will be written to files.
schema:
type: boolean
default: false
- variable: TimestampLogFilenames
label: Timestamp Log Filenames
description: Enabled log files timestamping.
schema:
type: boolean
default: true
- variable: TimestampLogEntries
label: Timestamp Log Entries
description: Enables each log entry written to file to be timestamped.
schema:
type: boolean
default: true
- variable: SkipNetworkAccessibilityTest
label: Skip Network Accessibility Test
description: Opt-out of network accessibility self tests.
schema:
type: boolean
default: false
- variable: GameSettings
label: Game Settings
schema:
additional_attrs: true
type: dict
attrs:
- variable: Gameplay.TreeRegrowth
label: Tree Regrowth
description: Enable automatic tree regrowth, triggered when sleeping.
schema:
type: boolean
default: true
- variable: Structure.Damage
label: Structure Damage
description: Allow buildings to be damaged.
schema:
type: boolean
default: true
- variable: CustomGameModeSettings
label: Custom GameMode Settings
description: These parameters are ignored if the Game Mode is not “custom”.
schema:
additional_attrs: true
type: dict
attrs:
- variable: GameSetting.Multiplayer.Cheats
label: Cheats
description: Allows cheats on the server.
schema:
type: boolean
default: false
- variable: GameSetting.Vail.EnemySpawn
label: Enemy Spawn
description: Enable enemies spawning.
schema:
type: boolean
default: true
- variable: GameSetting.Vail.EnemyHealth
label: Enemy Health
description: Adjust enemy starting health.
schema:
type: string
required: true
default: "normal"
enum:
- value: low
description: Low
- value: normal
description: Normal
- value: high
description: High
- variable: GameSetting.Vail.EnemyDamage
label: Enemy Damage
description: Adjust damage enemies can do.
schema:
type: string
required: true
default: "normal"
enum:
- value: low
description: Low
- value: normal
description: Normal
- value: high
description: High
- variable: GameSetting.Vail.EnemyArmour
label: Enemy Armour
description: Adjust enemies armor strength.
schema:
type: string
required: true
default: "normal"
enum:
- value: low
description: Low
- value: normal
description: Normal
- value: high
description: High
- variable: GameSetting.Vail.EnemyAggression
label: Enemy Aggression
description: Adjust enemy aggression level.
schema:
type: string
required: true
default: "normal"
enum:
- value: low
description: Low
- value: normal
description: Normal
- value: high
description: High
- variable: GameSetting.Vail.AnimalSpawnRate
label: Animal Spawn Rate
description: Adjust animal spawn rate.
schema:
type: string
required: true
default: "normal"
enum:
- value: low
description: Low
- value: normal
description: Normal
- value: high
description: High
- variable: GameSetting.Environment.StartingSeason
label: Starting Season
description: Set environmental starting season.
schema:
type: string
required: true
default: "summer"
enum:
- value: spring
description: Spring
- value: summer
description: Summer
- value: autumn
description: Autumn
- value: winter
description: Winter
- variable: GameSetting.Environment.SeasonLength
label: Season Length
description: Adjust season length.
schema:
type: string
required: true
default: "default"
enum:
- value: short
description: Short
- value: default
description: Default
- value: long
description: Long
- value: realistic
description: Realistic
- variable: GameSetting.Environment.DayLength
label: Day Length
description: Adjust day length.
schema:
type: string
required: true
default: "default"
enum:
- value: short
description: Short
- value: default
description: Default
- value: long
description: Long
- value: realistic
description: Realistic
- variable: GameSetting.Environment.PrecipitationFrequency
label: Precipitation Frequency
description: Adjust the frequency of rain and snow.
schema:
type: string
required: true
default: "default"
enum:
- value: low
description: Low
- value: default
description: Default
- value: high
description: High
- variable: Structure.Damage
label: Structure Damage
description: Allow buildings to be damaged.
schema:
type: boolean
default: true
- variable: GameSetting.Survival.ConsumableEffects
label: Consumable Effects
description: Enable damage taken when low hydration and low fullness.
schema:
type: string
required: true
default: "hard"
enum:
- value: normal
description: normal
- value: hard
description: Hard
- variable: GameSetting.Survival.PlayerStatsDamage
label: PlayerStat Damage
description: Enable damage from each bad or rotten food and drink.
schema:
type: string
required: true
default: "off"
enum:
- value: "off"
description: "Off"
- value: normal
description: normal
- value: hard
description: Hard
- variable: GameSetting.Survival.ColdPenalties
label: Cold Penalties
description: Adjusts the severity that cold will affect health and stamina regeneration.
schema:
type: string
required: true
default: "off"
enum:
- value: "off"
description: "Off"
- value: normal
description: normal
- value: hard
description: Hard
- variable: GameSetting.Survival.ReducedFoodInContainers
label: Reduced Food In Containers
description: Reduces the amount of food found in containers.
schema:
type: boolean
default: false
- variable: GameSetting.Survival.SingleUseContainers
label: Single Use Containers
description: Containers can only be opened once.
schema:
type: boolean
default: false
- 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: 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: 8766
required: true
- variable: query
label: Query service
description: Query Service Port Configuration
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: query
label: Query 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: 27016
required: true
- variable: sync
label: Sync service
description: Sync Service Port Configuration
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: sync
label: Sync 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: 9700
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: steamcmd
label: App SteamCMD Storage
description: Stores the Application SteamCMD.
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
- 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: 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</br>
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: serverfiles
label: App Server Files Storage
description: Stores the Application Server Files.
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
- 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: 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</br>
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: 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: 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</br>
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: 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: 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: scaleGPU
label: GPU Configuration
group: Resources and Devices
schema:
type: list
default: []
items:
- variable: scaleGPUEntry
label: GPU
schema:
additional_attrs: true
type: dict
attrs:
# Specify GPU configuration
- variable: gpu
label: Select GPU
schema:
additional_attrs: true
type: dict
$ref:
- "definitions/gpuConfiguration"
attrs: []
- variable: workaround
label: "Workaround"
schema:
type: string
default: workaround
hidden: true
# - 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: 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
<br /><a href="https://truecharts.org">https://truecharts.org</a>
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
<br /><a href="https://truecharts.org/sponsor">https://truecharts.org/sponsor</a>
schema:
additional_attrs: true
type: dict
attrs:
- variable: confirmDonate
label: I have considered donating
schema:
type: boolean
default: true
hidden: true