catalog/stable/wekan/5.0.4/questions.yaml

3483 lines
139 KiB
YAML

groups:
- name: Container Image
description: Image to be used for container
- name: Controller
description: Configure Workload Deployment
- name: Container Configuration
description: Additional Container Configuration
- 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: Documentation
description: Documentation
portals:
open:
protocols:
- "$kubernetes-resource_configmap_portal_protocol"
host:
- "$kubernetes-resource_configmap_portal_host"
ports:
- "$kubernetes-resource_configmap_portal_port"
questions:
- variable: global
label: Global Settings
group: Controller
schema:
type: dict
hidden: true
attrs:
- variable: isSCALE
label: Flag this is SCALE
schema:
type: boolean
default: true
hidden: true
- variable: controller
group: Controller
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: advanced
label: Show Advanced Controller Settings
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: type
description: Please specify type of workload to deploy
label: (Advanced) Controller Type
schema:
type: string
required: true
enum:
- value: deployment
description: Deployment
- value: statefulset
description: Statefulset
- value: daemonset
description: Daemonset
default: deployment
- variable: replicas
description: Number of desired pod replicas
label: Desired Replicas
schema:
type: int
required: true
default: 1
- variable: strategy
description: Please specify type of workload to deploy
label: (Advanced) Update Strategy
schema:
type: string
required: true
enum:
- value: Recreate
description: "Recreate: Kill existing pods before creating new ones"
- value: RollingUpdate
description: "RollingUpdate: Create new pods and then kill old ones"
- value: OnDelete
description: "(Legacy) OnDelete: ignore .spec.template changes"
default: Recreate
- variable: expert
label: Show Expert Configuration Options
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: labelsList
label: Controller Labels
schema:
type: list
default: []
items:
- variable: labelItem
label: Label
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
- variable: value
label: Value
schema:
type: string
- variable: annotationsList
label: Controller Annotations
schema:
type: list
default: []
items:
- variable: annotationItem
label: Label
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
- variable: value
label: Value
schema:
type: string
- variable: customextraargs
group: Controller
label: "Extra Args"
description: "Do not click this unless you know what you are doing"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: extraArgs
label: Extra Args
schema:
type: list
default: []
items:
- variable: arg
label: Arg
schema:
type: string
- variable: env
group: "Container Configuration"
label: "Image Environment"
schema:
additional_attrs: true
type: dict
attrs:
- variable: ROOT_URL
label: "ROOT_URL"
schema:
type: string
default: ""
required: true
- variable: BROWSER_POLICY_ENABLED
label: "BROWSER_POLICY_ENABLED"
description: "Enable browser policy and allow one trusted URL that can have iframe that has Wekan embedded inside."
schema:
type: boolean
default: false
- variable: TRUSTED_URL
label: "TRUSTED_URL"
description: "When browser policy is enabled, HTML code at this Trusted URL can have iframe that embeds Wekan inside."
schema:
type: string
default: ""
- variable: logoutenabled
label: "Logout/Login Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: LOGOUT_WITH_TIMER
label: "LOGOUT_WITH_TIMER"
schema:
type: boolean
default: false
- variable: LOGOUT_IN
label: "LOGOUT_IN (Days)"
schema:
type: int
default: 0
- variable: LOGOUT_ON_HOURS
label: "LOGOUT_ON_HOURS"
schema:
type: int
default: 0
- variable: LOGOUT_ON_MINUTES
label: "LOGOUT_ON_MINUTES"
schema:
type: int
default: 0
- variable: ACCOUNTS_COMMON_LOGIN_EXPIRATION_IN_DAYS
label: "ACCOUNTS_COMMON_LOGIN_EXPIRATION_IN_DAYS"
schema:
type: int
default: 90
- variable: passwordnabled
label: "Password Brute Force Protection Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE
label: "ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE"
schema:
type: int
default: 3
- variable: ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD
label: "ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD"
schema:
type: int
default: 60
- variable: ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW
label: "ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW"
schema:
type: int
default: 15
- variable: ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE
label: "ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE"
schema:
type: int
default: 3
- variable: ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD
label: "ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD"
schema:
type: int
default: 60
- variable: ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW
label: "ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW"
schema:
type: int
default: 15
- variable: imagenabled
label: "Image Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: MAX_IMAGE_PIXEL
label: "MAX_IMAGE_PIXEL"
schema:
type: int
default: 1024
- variable: IMAGE_COMPRESS_RATIO
label: "IMAGE_COMPRESS_RATIO"
schema:
type: int
default: 80
- variable: mailenabled
label: "Mail Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: MAIL_URL
label: "MAIL_URL"
schema:
type: string
default: ""
- variable: MAIL_SERVICE_USER
label: "MAIL_SERVICE_USER"
schema:
type: string
default: ""
- variable: MAIL_SERVICE_PASSWORD
label: "MAIL_SERVICE_PASSWORD"
schema:
type: string
private: true
default: ""
- variable: MAIL_SERVICE
label: "MAIL_SERVICE"
schema:
type: string
default: ""
- variable: notificationsenabled
label: "Notifications Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: BIGEVENTS_PATTERN
label: "BIGEVENTS_PATTERN"
schema:
type: string
default: "NONE"
- variable: NOTIFICATION_TRAY_AFTER_READ_DAYS_BEFORE_REMOVE
label: "NOTIFICATION_TRAY_AFTER_READ_DAYS_BEFORE_REMOVE"
description: "Number of days after a notification is read before we remove it."
schema:
type: int
default: 90
- variable: EMAIL_NOTIFICATION_TIMEOUT
label: "EMAIL_NOTIFICATION_TIMEOUT"
schema:
type: int
default: 30000
- variable: NOTIFY_DUE_DAYS_BEFORE_AND_AFTER
label: "NOTIFY_DUE_DAYS_BEFORE_AND_AFTER"
description: "Notify due days, default is None, 2 days before and on the event day"
schema:
type: string
default: "2,0"
- variable: NOTIFY_DUE_AT_HOUR_OF_DAY
label: "NOTIFY_DUE_AT_HOUR_OF_DAY"
description: "Notify due at hour of day."
schema:
type: int
default: 8
- variable: personalizationenabled
label: "UX Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: RESULTS_PER_PAGE
label: "RESULTS_PER_PAGE"
schema:
type: int
default: 20
required: true
- variable: RICHER_CARD_COMMENT_EDITOR
label: "RICHER_CARD_COMMENT_EDITOR"
schema:
type: boolean
default: false
- variable: CARD_OPENED_WEBHOOK_ENABLED
label: "CARD_OPENED_WEBHOOK_ENABLED"
schema:
type: boolean
default: false
- variable: PASSWORD_LOGIN_ENABLED
label: "PASSWORD_LOGIN_ENABLED"
schema:
type: boolean
default: false
- variable: WAIT_SPINNER
label: "WAIT_SPINNER"
description: "Sets the Wait Spinner animation"
schema:
type: string
default: "Bounce"
enum:
- value: "Bounce"
description: "Bounce"
- value: "Cube"
description: "Cube"
- value: "Cube-Grid"
description: "Cube-Grid"
- value: "Dot"
description: "Dot"
- value: "Double-Bounce"
description: "Double-Bounce"
- value: "Rotateplane"
description: "Rotateplane"
- value: "Scaleout"
description: "Scaleout"
- value: "Wave"
description: "Wave"
- variable: backendenabled
label: "Backend Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: WITH_API
label: "WITH_API"
schema:
type: boolean
default: true
- variable: WEBHOOKS_ATTRIBUTES
label: "WEBHOOKS_ATTRIBUTES"
description: "What to send to Outgoing Webhook."
schema:
type: string
default: "cardId,listId,oldListId,boardId,comment,user,card,commentId,swimlaneId,customerField,customFieldValue"
- variable: corsenabled
label: "CORS Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CORS
label: "CORS"
schema:
type: string
default: "*"
- variable: CORS_ALLOW_HEADERS
label: "CORS_ALLOW_HEADERS"
schema:
type: string
default: "Authorization,Content-Type"
- variable: CORS_EXPOSE_HEADERS
label: "CORS_EXPOSE_HEADERS"
schema:
type: string
default: "*"
- variable: matomoenabled
label: "Matomo Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: MATOMO_ADDRESS
label: "MATOMO_ADDRESS"
description: "The address of the server where Matomo is hosted."
schema:
type: string
default: ""
- variable: MATOMO_SITE_ID
label: "MATOMO_SITE_ID"
description: "The value of the site ID given in Matomo server for Wekan."
schema:
type: int
default: 1
- variable: MATOMO_DO_NOT_TRACK
label: "MATOMO_DO_NOT_TRACK"
description: "The option do not track which enables users to not be tracked by matomo."
schema:
type: boolean
default: true
- variable: MATOMO_WITH_USERNAME
label: "MATOMO_WITH_USERNAME"
description: "The option that allows matomo to retrieve the username."
schema:
type: boolean
default: true
- variable: ORACLE_OIM_ENABLED
label: "ORACLE_OIM_ENABLED"
description: "OAUTH2 ORACLE on premise identity manager OIM"
schema:
type: boolean
default: false
- variable: oatuhncenabled
label: "OAUTH2 Nextcloud Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: OAUTH2_ENABLED
label: "OAUTH2_ENABLED"
schema:
type: boolean
default: false
- variable: OAUTH2_LOGIN_STYLE
label: "OAUTH2_LOGIN_STYLE"
description: "OAuth2 login style: popup or redirect."
schema:
type: string
default: "redirect"
enum:
- value: "redirect"
description: "redirect"
- value: "popup"
description: "popup"
- variable: OAUTH2_CLIENT_ID
label: "OAUTH2_CLIENT_ID"
description: "Application GUID captured during app registration"
schema:
type: string
default: ""
- variable: OAUTH2_SECRET
label: "OAUTH2_SECRET"
description: "Secret key generated during app registration"
schema:
type: string
default: ""
- variable: OAUTH2_SERVER_URL
label: "OAUTH2_SERVER_URL"
schema:
type: string
default: ""
- variable: OAUTH2_AUTH_ENDPOINT
label: "OAUTH2_AUTH_ENDPOINT"
schema:
type: string
default: ""
- variable: OAUTH2_USERINFO_ENDPOINT
label: "OAUTH2_USERINFO_ENDPOINT"
schema:
type: string
default: ""
- variable: OAUTH2_TOKEN_ENDPOINT
label: "OAUTH2_TOKEN_ENDPOINT"
schema:
type: string
default: ""
- variable: OAUTH2_ID_MAP
label: "OAUTH2_ID_MAP"
description: "The claim name you want to map to the unique ID field."
schema:
type: string
default: ""
- variable: OAUTH2_USERNAME_MAP
label: "OAUTH2_USERNAME_MAP"
description: "The claim name you want to map to the username field."
schema:
type: string
default: ""
- variable: OAUTH2_FULLNAME_MAP
label: "OAUTH2_FULLNAME_MAP"
description: "The claim name you want to map to the full name field."
schema:
type: string
default: ""
- variable: OAUTH2_EMAIL_MAP
label: "OAUTH2_EMAIL_MAP"
description: "The claim name you want to map to the email field."
schema:
type: string
default: ""
- variable: oatuhkeycloackenabled
label: "OAUTH2 Keycloack Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: OAUTH2_ENABLED
label: "OAUTH2_ENABLED"
schema:
type: boolean
default: false
- variable: OAUTH2_LOGIN_STYLE
label: "OAUTH2_LOGIN_STYLE"
description: "OAuth2 login style: popup or redirect."
schema:
type: string
default: "redirect"
enum:
- value: "redirect"
description: "redirect"
- value: "popup"
description: "popup"
- variable: OAUTH2_CLIENT_ID
label: "OAUTH2_CLIENT_ID"
description: "Application GUID captured during app registration"
schema:
type: string
default: ""
- variable: OAUTH2_SECRET
label: "OAUTH2_SECRET"
description: "Secret key generated during app registration"
schema:
type: string
default: ""
- variable: OAUTH2_SERVER_URL
label: "OAUTH2_SERVER_URL"
schema:
type: string
default: ""
- variable: OAUTH2_AUTH_ENDPOINT
label: "OAUTH2_AUTH_ENDPOINT"
schema:
type: string
default: ""
- variable: OAUTH2_USERINFO_ENDPOINT
label: "OAUTH2_USERINFO_ENDPOINT"
schema:
type: string
default: ""
- variable: OAUTH2_TOKEN_ENDPOINT
label: "OAUTH2_TOKEN_ENDPOINT"
schema:
type: string
default: ""
- variable: oatuhdoorkeeperenabled
label: "OAUTH2 Doorkeeper Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: OAUTH2_ENABLED
label: "OAUTH2_ENABLED"
schema:
type: boolean
default: false
- variable: OAUTH2_LOGIN_STYLE
label: "OAUTH2_LOGIN_STYLE"
description: "OAuth2 login style: popup or redirect."
schema:
type: string
default: "redirect"
enum:
- value: "redirect"
description: "redirect"
- value: "popup"
description: "popup"
- variable: OAUTH2_CLIENT_ID
label: "OAUTH2_CLIENT_ID"
description: "Application GUID captured during app registration"
schema:
type: string
default: ""
- variable: OAUTH2_SECRET
label: "OAUTH2_SECRET"
description: "Secret key generated during app registration"
schema:
type: string
default: ""
- variable: OAUTH2_SERVER_URL
label: "OAUTH2_SERVER_URL"
schema:
type: string
default: ""
- variable: OAUTH2_AUTH_ENDPOINT
label: "OAUTH2_AUTH_ENDPOINT"
schema:
type: string
default: ""
- variable: OAUTH2_USERINFO_ENDPOINT
label: "OAUTH2_USERINFO_ENDPOINT"
schema:
type: string
default: ""
- variable: OAUTH2_TOKEN_ENDPOINT
label: "OAUTH2_TOKEN_ENDPOINT"
schema:
type: string
default: ""
- variable: OAUTH2_ID_TOKEN_WHITELIST_FIELDS
label: "OAUTH2_ID_TOKEN_WHITELIST_FIELDS"
schema:
type: string
default: ""
- variable: OAUTH2_REQUEST_PERMISSIONS
label: "OAUTH2_REQUEST_PERMISSIONS"
description: "The claim name you want to map to the unique ID field."
schema:
type: string
default: ""
- variable: OAUTH2_ID_MAP
label: "OAUTH2_ID_MAP"
description: "The claim name you want to map to the unique ID field."
schema:
type: string
default: ""
- variable: OAUTH2_USERNAME_MAP
label: "OAUTH2_USERNAME_MAP"
description: "The claim name you want to map to the username field."
schema:
type: string
default: ""
- variable: OAUTH2_FULLNAME_MAP
label: "OAUTH2_FULLNAME_MAP"
description: "The claim name you want to map to the full name field."
schema:
type: string
default: ""
- variable: OAUTH2_EMAIL_MAP
label: "OAUTH2_EMAIL_MAP"
description: "The claim name you want to map to the email field."
schema:
type: string
default: ""
- variable: oatuhazureenabled
label: "OAUTH2 Azure Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: OAUTH2_ENABLED
label: "OAUTH2_ENABLED"
schema:
type: boolean
default: false
- variable: OAUTH2_CA_CERT
label: "OAUTH2_CA_CERT"
schema:
type: string
private: true
default: ""
- variable: OAUTH2_ADFS_ENABLED
label: "OAUTH2_ADFS_ENABLED"
schema:
type: boolean
default: false
- variable: OAUTH2_LOGIN_STYLE
label: "OAUTH2_LOGIN_STYLE"
description: "OAuth2 login style: popup or redirect."
schema:
type: string
default: "redirect"
enum:
- value: "redirect"
description: "redirect"
- value: "popup"
description: "popup"
- variable: OAUTH2_CLIENT_ID
label: "OAUTH2_CLIENT_ID"
description: "Application GUID captured during app registration"
schema:
type: string
default: ""
- variable: OAUTH2_SECRET
label: "OAUTH2_SECRET"
description: "Secret key generated during app registration"
schema:
type: string
default: ""
- variable: OAUTH2_SERVER_URL
label: "OAUTH2_SERVER_URL"
schema:
type: string
default: ""
- variable: OAUTH2_AUTH_ENDPOINT
label: "OAUTH2_AUTH_ENDPOINT"
schema:
type: string
default: ""
- variable: OAUTH2_USERINFO_ENDPOINT
label: "OAUTH2_USERINFO_ENDPOINT"
schema:
type: string
default: ""
- variable: OAUTH2_TOKEN_ENDPOINT
label: "OAUTH2_TOKEN_ENDPOINT"
schema:
type: string
default: ""
- variable: OAUTH2_ID_MAP
label: "OAUTH2_ID_MAP"
description: "The claim name you want to map to the unique ID field."
schema:
type: string
default: ""
- variable: OAUTH2_USERNAME_MAP
label: "OAUTH2_USERNAME_MAP"
description: "The claim name you want to map to the username field."
schema:
type: string
default: ""
- variable: OAUTH2_FULLNAME_MAP
label: "OAUTH2_FULLNAME_MAP"
description: "The claim name you want to map to the full name field."
schema:
type: string
default: ""
- variable: OAUTH2_EMAIL_MAP
label: "OAUTH2_EMAIL_MAP"
description: "The claim name you want to map to the email field."
schema:
type: string
default: ""
- variable: ldapenabled
label: "LDAP Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: LDAP_ENABLE
label: "LDAP_ENABLE"
schema:
type: boolean
default: false
- variable: DEFAULT_AUTHENTICATION_METHOD
label: "DEFAULT_AUTHENTICATION_METHOD"
schema:
type: string
default: "ldap"
- variable: LDAP_PORT
label: "LDAP_PORT"
schema:
type: int
default: 389
- variable: LDAP_HOST
label: "LDAP_HOST"
schema:
type: string
default: ""
- variable: LDAP_AD_SIMPLE_AUTH
label: "LDAP_AD_SIMPLE_AUTH"
schema:
type: boolean
default: false
- variable: LDAP_USER_AUTHENTICATION
label: "LDAP_USER_AUTHENTICATION"
schema:
type: boolean
default: false
- variable: LDAP_USER_AUTHENTICATION_FIELD
label: "LDAP_USER_AUTHENTICATION_FIELD"
schema:
type: string
default: "uid"
- variable: LDAP_DEFAULT_DOMAIN
label: "LDAP_DEFAULT_DOMAIN"
schema:
type: string
default: ""
- variable: LDAP_BASEDN
label: "LDAP_BASEDN"
schema:
type: string
default: ""
- variable: LDAP_LOGIN_FALLBACK
label: "LDAP_LOGIN_FALLBACK"
schema:
type: boolean
default: false
- variable: LDAP_RECONNECT
label: "LDAP_RECONNECT"
schema:
type: boolean
default: true
- variable: LDAP_TIMEOUT
label: "LDAP_TIMEOUT"
schema:
type: int
default: 10000
- variable: LDAP_IDLE_TIMEOUT
label: "LDAP_IDLE_TIMEOUT"
schema:
type: int
default: 10000
- variable: LDAP_CONNECT_TIMEOUT
label: "LDAP_CONNECT_TIMEOUT"
schema:
type: int
default: 10000
- variable: LDAP_AUTHENTIFICATION
label: "LDAP_AUTHENTIFICATION"
schema:
type: boolean
default: true
- variable: LDAP_AUTHENTIFICATION_USERDN
label: "LDAP_AUTHENTIFICATION_USERDN"
schema:
type: string
default: ""
- variable: LDAP_AUTHENTIFICATION_PASSWORD
label: "LDAP_AUTHENTIFICATION_PASSWORD"
schema:
type: string
private: true
default: ""
- variable: LDAP_LOG_ENABLED
label: "LDAP_LOG_ENABLED"
schema:
type: boolean
default: true
- variable: LDAP_BACKGROUND_SYNC
label: "LDAP_BACKGROUND_SYNC"
schema:
type: boolean
default: true
- variable: LDAP_BACKGROUND_SYNC_INTERVAL
label: "LDAP_BACKGROUND_SYNC_INTERVAL"
schema:
type: string
default: "every 1 hour"
- variable: LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED
label: "LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED"
schema:
type: boolean
default: false
- variable: LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS
label: "LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS"
schema:
type: boolean
default: false
- variable: LDAP_ENCRYPTION
label: "LDAP_ENCRYPTION"
schema:
type: string
default: "false"
- variable: LDAP_CA_CERT
label: "LDAP_CA_CERT"
schema:
type: string
private: true
default: ""
- variable: LDAP_REJECT_UNAUTHORIZED
label: "LDAP_REJECT_UNAUTHORIZED"
schema:
type: boolean
default: false
- variable: LDAP_USER_SEARCH_FILTER
label: "LDAP_USER_SEARCH_FILTER"
schema:
type: string
default: ""
- variable: LDAP_USER_SEARCH_SCOPE
label: "LDAP_USER_SEARCH_SCOPE"
schema:
type: string
default: "one"
enum:
- value: "one"
description: "one"
- value: "base"
description: "base"
- value: "sub"
description: "sub"
- variable: LDAP_USER_SEARCH_FIELD
label: "LDAP_USER_SEARCH_FIELD"
schema:
type: string
default: ""
- variable: LDAP_SEARCH_PAGE_SIZE
label: "LDAP_SEARCH_PAGE_SIZE"
schema:
type: int
default: 0
- variable: LDAP_SEARCH_SIZE_LIMIT
label: "LDAP_SEARCH_SIZE_LIMIT"
schema:
type: int
default: 0
- variable: LDAP_GROUP_FILTER_ENABLE
label: "LDAP_GROUP_FILTER_ENABLE"
schema:
type: boolean
default: false
- variable: LDAP_GROUP_FILTER_OBJECTCLASS
label: "LDAP_GROUP_FILTER_OBJECTCLASS"
schema:
type: string
default: ""
- variable: LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE
label: "LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE"
schema:
type: string
default: ""
- variable: LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE
label: "LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE"
schema:
type: string
default: ""
- variable: LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT
label: "LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT"
schema:
type: string
default: ""
- variable: LDAP_GROUP_FILTER_GROUP_NAME
label: "LDAP_GROUP_FILTER_GROUP_NAME"
schema:
type: string
default: ""
- variable: LDAP_UNIQUE_IDENTIFIER_FIELD
label: "LDAP_UNIQUE_IDENTIFIER_FIELD"
schema:
type: string
default: ""
- variable: LDAP_UTF8_NAMES_SLUGIFY
label: "LDAP_UTF8_NAMES_SLUGIFY"
schema:
type: boolean
default: true
- variable: LDAP_USERNAME_FIELD
label: "LDAP_USERNAME_FIELD"
schema:
type: string
default: ""
- variable: LDAP_FULLNAME_FIELD
label: "LDAP_FULLNAME_FIELD"
schema:
type: string
default: "fullname"
- variable: LDAP_MERGE_EXISTING_USERS
label: "LDAP_MERGE_EXISTING_USERS"
schema:
type: boolean
default: false
- variable: LDAP_EMAIL_MATCH_ENABLE
label: "LDAP_EMAIL_MATCH_ENABLE"
schema:
type: boolean
default: true
- variable: LDAP_EMAIL_MATCH_REQUIRE
label: "LDAP_EMAIL_MATCH_REQUIRE"
schema:
type: boolean
default: true
- variable: LDAP_EMAIL_MATCH_VERIFIED
label: "LDAP_EMAIL_MATCH_VERIFIED"
schema:
type: boolean
default: true
- variable: LDAP_EMAIL_FIELD
label: "LDAP_EMAIL_FIELD"
schema:
type: string
default: "mail"
- variable: LDAP_SYNC_USER_DATA
label: "LDAP_SYNC_USER_DATA"
schema:
type: boolean
default: false
- variable: LDAP_SYNC_USER_DATA_FIELDMAP
label: "LDAP_SYNC_USER_DATA_FIELDMAP"
schema:
type: string
default: ""
- variable: LDAP_SYNC_GROUP_ROLES
label: "LDAP_SYNC_GROUP_ROLES"
schema:
type: string
default: ""
- variable: LDAP_SYNC_ADMIN_STATUS
label: "LDAP_SYNC_ADMIN_STATUS"
schema:
type: boolean
default: true
- variable: LDAP_SYNC_ADMIN_GROUPS
label: "LDAP_SYNC_ADMIN_GROUPS"
schema:
type: string
default: ""
- variable: headerenabled
label: "LDAP Header Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: HEADER_LOGIN_ID
label: "HEADER_LOGIN_ID"
schema:
type: string
default: ""
- variable: HEADER_LOGIN_FIRSTNAME
label: "HEADER_LOGIN_FIRSTNAME"
schema:
type: string
default: ""
- variable: HEADER_LOGIN_LASTNAME
label: "HEADER_LOGIN_LASTNAME"
schema:
type: string
default: ""
- variable: HEADER_LOGIN_EMAIL
label: "HEADER_LOGIN_EMAIL"
schema:
type: string
default: ""
- variable: casenabled
label: "CAS Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CAS_ENABLED
label: "CAS_ENABLED"
schema:
type: boolean
default: false
- variable: CAS_BASE_URL
label: "CAS_BASE_URL"
schema:
type: string
default: ""
- variable: CAS_LOGIN_URL
label: "CAS_LOGIN_URL"
schema:
type: string
default: ""
- variable: CAS_VALIDATE_URL
label: "CAS_VALIDATE_URL"
schema:
type: string
default: ""
- variable: samlenabled
label: "SAML Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: SAML_ENABLED
label: "SAML_ENABLED"
schema:
type: boolean
default: false
- variable: SAML_PROVIDER
label: "SAML_PROVIDER"
schema:
type: string
default: ""
- variable: SAML_ENTRYPOINT
label: "SAML_ENTRYPOINT"
schema:
type: string
default: ""
- variable: SAML_ISSUER
label: "SAML_ISSUER"
schema:
type: string
default: ""
- variable: SAML_CERT
label: "SAML_CERT"
schema:
type: string
private: true
default: ""
- variable: SAML_IDPSLO_REDIRECTURL
label: "SAML_IDPSLO_REDIRECTURL"
schema:
type: string
default: ""
- variable: SAML_PRIVATE_KEYFILE
label: "SAML_PRIVATE_KEYFILE"
schema:
type: string
default: ""
- variable: SAML_PUBLIC_CERTFILE
label: "SAML_PUBLIC_CERTFILE"
schema:
type: string
default: ""
- variable: SAML_IDENTIFIER_FORMAT
label: "SAML_IDENTIFIER_FORMAT"
schema:
type: string
default: ""
- variable: SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE
label: "SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE"
schema:
type: string
default: ""
- variable: SAML_ATTRIBUTES
label: "SAML_ATTRIBUTES"
schema:
type: string
default: ""
- variable: TZ
label: Timezone
group: Container Configuration
schema:
type: string
default: "Etc/UTC"
$ref:
- "definitions/timezone"
- variable: envList
label: Image Environment
group: Container Configuration
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: expertpodconf
group: Container Configuration
label: Show Expert Configuration
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: tty
label: Enable TTY
description: Determines whether containers in a pod runs with TTY enabled. By default pod has it disabled.
group: Workload Details
schema:
type: boolean
default: false
- variable: stdin
label: Enable STDIN
description: Determines whether containers in a pod runs with stdin enabled. By default pod has it disabled.
group: Workload Details
schema:
type: boolean
default: false
- variable: termination
group: Container Configuration
label: Termination settings
schema:
additional_attrs: true
type: dict
attrs:
- variable: gracePeriodSeconds
label: Grace Period Seconds
schema:
type: int
default: 10
- variable: podLabelsList
group: Container Configuration
label: Pod Labels
schema:
type: list
default: []
items:
- variable: podLabelItem
label: Label
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
- variable: value
label: Value
schema:
type: string
- variable: podAnnotationsList
group: Container Configuration
label: Pod Annotations
schema:
type: list
default: []
items:
- variable: podAnnotationItem
label: Label
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
- variable: value
label: Value
schema:
type: string
- 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
schema:
type: string
default: Simple
enum:
- value: Simple
description: Simple
- value: ClusterIP
description: ClusterIP
- value: NodePort
description: NodePort (Advanced)
- value: LoadBalancer
description: LoadBalancer (Advanced)
- variable: loadBalancerIP
label: LoadBalancer IP
description: LoadBalancerIP
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: string
default: ""
- variable: externalIPs
label: "External IP's"
description: "External IP's"
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: list
default: []
items:
- variable: externalIP
label: External IP
schema:
type: string
- variable: ipFamilyPolicy
label: IP Family Policy
description: (Advanced) Specify the IP Policy
schema:
show_if: [["type", "!=", "Simple"]]
type: string
default: SingleStack
enum:
- value: SingleStack
description: SingleStack
- value: PreferDualStack
description: PreferDualStack
- value: RequireDualStack
description: RequireDualStack
- variable: ipFamilies
label: (Advanced) IP Families
description: (Advanced) The IP Families that should be used
schema:
show_if: [["type", "!=", "Simple"]]
type: list
default: []
items:
- variable: ipFamily
label: IP Family
schema:
type: string
- 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: 10192
required: true
- variable: advanced
label: Show Advanced Settings
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: enabled
label: Enable the Port
schema:
type: boolean
hidden: true
default: true
- variable: protocol
label: Port Type
schema:
type: string
default: HTTP
enum:
- value: HTTP
description: HTTP
- value: HTTPS
description: HTTPS
- value: TCP
description: TCP
- value: UDP
description: UDP
- variable: nodePort
label: Node Port (Optional)
description: This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer
schema:
type: int
min: 9000
max: 65535
- variable: targetPort
label: "Target Port"
description: "The internal(!) port on the container the Application runs on"
schema:
type: int
default: 8080
- variable: serviceexpert
group: Networking and Services
label: Show Expert Config
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: hostNetwork
group: Networking and Services
label: Host-Networking (Complicated)
schema:
type: boolean
default: false
- variable: externalInterfaces
description: Add External Interfaces
label: Add external Interfaces
group: Networking
schema:
type: list
items:
- variable: interfaceConfiguration
description: Interface Configuration
label: Interface Configuration
schema:
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:
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
show_subquestions_if: static
subquestions:
- variable: staticIPConfigurations
label: Static IP Addresses
schema:
type: list
items:
- variable: staticIP
label: Static IP
schema:
type: ipaddr
cidr: true
- variable: staticRoutes
label: Static Routes
schema:
type: list
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: dnsPolicy
group: Networking and Services
label: dnsPolicy
schema:
type: string
default: ""
enum:
- value: ""
description: Default
- value: ClusterFirst
description: ClusterFirst
- value: ClusterFirstWithHostNet
description: ClusterFirstWithHostNet
- value: None
description: None
- variable: dnsConfig
label: DNS Configuration
group: Networking and Services
description: Specify custom DNS configuration which will be applied to the pod
schema:
additional_attrs: true
type: dict
attrs:
- variable: nameservers
label: Name Servers
schema:
default: []
type: list
items:
- variable: nameserver
label: Name Server
schema:
type: string
- variable: options
label: Options
schema:
default: []
type: list
items:
- variable: option
label: Option Entry
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
- variable: value
label: Value
schema:
type: string
- variable: searches
label: Searches
schema:
default: []
type: list
items:
- variable: search
label: Search Entry
schema:
type: string
- 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
schema:
type: string
default: Simple
enum:
- value: Simple
description: Simple
- value: NodePort
description: NodePort
- value: ClusterIP
description: ClusterIP
- value: LoadBalancer
description: LoadBalancer
- variable: loadBalancerIP
label: LoadBalancer IP
description: LoadBalancerIP
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: string
default: ""
- variable: externalIPs
label: "External IP's"
description: "External IP's"
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: list
default: []
items:
- variable: externalIP
label: External IP
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: nodePort
label: Node Port (Optional)
description: This port gets exposed to the node. Only considered when service type is NodePort
schema:
type: int
min: 9000
max: 65535
- 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 Data 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: simplePVC
enum:
- value: simplePVC
description: PVC (simple)
- value: simpleHP
description: Host Path (simple)
- value: emptyDir
description: emptyDir
- value: pvc
description: PVC
- value: hostPath
description: Host Path
- 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: setPermissionsSimple
label: Automatic Permissions
description: Automatically set permissions on install
schema:
show_if: [["type", "=", "simpleHP"]]
type: boolean
default: false
- variable: setPermissions
label: Automatic Permissions
description: Automatically set permissions on install
schema:
show_if: [["type", "=", "hostPath"]]
type: boolean
default: false
- variable: readOnly
label: Read Only
schema:
type: boolean
default: false
- variable: hostPathSimple
label: Host Path
description: Path inside the container the storage is mounted
schema:
show_if: [["type", "=", "simpleHP"]]
type: hostpath
- 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
schema:
show_if: [["type", "=", "pvc"]]
type: string
default: 999Gi
- variable: hostPathType
label: (Advanced) hostPath Type
schema:
show_if: [["type", "=", "hostPath"]]
type: string
default: ""
enum:
- value: ""
description: Default
- value: DirectoryOrCreate
description: DirectoryOrCreate
- value: Directory
description: Directory
- value: FileOrCreate
description: FileOrCreate
- value: File
description: File
- value: Socket
description: Socket
- value: CharDevice
description: CharDevice
- value: BlockDevice
description: BlockDevice
- variable: storageClass
label: (Advanced) storageClass
description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!"
schema:
show_if: [["type", "=", "pvc"]]
type: string
default: SCALE-ZFS
- variable: accessMode
label: (Advanced) Access Mode
description: Allow or disallow multiple PVC's writhing to the same PV
schema:
show_if: [["type", "=", "pvc"]]
type: string
default: ReadWriteOnce
enum:
- value: ReadWriteOnce
description: ReadWriteOnce
- value: ReadOnlyMany
description: ReadOnlyMany
- value: ReadWriteMany
description: ReadWriteMany
- variable: advanced
label: Show Advanced Options
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: labelsList
label: Labels
schema:
type: list
default: []
items:
- variable: labelItem
label: Label
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
- variable: value
label: Value
schema:
type: string
- variable: annotationsList
label: Annotations
schema:
type: list
default: []
items:
- variable: annotationItem
label: Label
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
- variable: value
label: Value
schema:
type: string
- 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: name
label: Name (Optional)
description: "Not required, please set to config when mounting /config or temp when mounting /tmp"
schema:
type: string
- variable: type
label: Type of Storage
description: Sets the persistence type, Anything other than PVC could break rollback!
schema:
type: string
default: simpleHP
enum:
- value: simplePVC
description: PVC (Simple)
- value: simpleHP
description: Host Path (Simple)
- value: emptyDir
description: emptyDir
- value: pvc
description: PVC
- value: hostPath
description: Host Path
- 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: setPermissionsSimple
label: Automatic Permissions
description: Automatically set permissions on install
schema:
show_if: [["type", "=", "simpleHP"]]
type: boolean
default: true
- variable: setPermissions
label: Automatic Permissions
description: Automatically set permissions on install
schema:
show_if: [["type", "=", "hostPath"]]
type: boolean
default: true
- variable: readOnly
label: Read Only
schema:
type: boolean
default: false
- variable: hostPathSimple
label: Host Path
description: Path inside the container the storage is mounted
schema:
show_if: [["type", "=", "simpleHP"]]
type: hostpath
- 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: 999Gi
- variable: hostPathType
label: (Advanced) Host Path Type
schema:
show_if: [["type", "=", "hostPath"]]
type: string
default: ""
enum:
- value: ""
description: Default
- value: DirectoryOrCreate
description: DirectoryOrCreate
- value: Directory
description: Directory
- value: FileOrCreate
description: FileOrCreate
- value: File
description: File
- value: Socket
description: Socket
- value: CharDevice
description: CharDevice
- value: BlockDevice
description: BlockDevice
- variable: storageClass
label: (Advanced) StorageClass
description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!"
schema:
show_if: [["type", "=", "pvc"]]
type: string
default: SCALE-ZFS
- variable: accessMode
label: (Advanced) Access Mode
description: Allow or disallow multiple PVC's writhing to the same PV
schema:
show_if: [["type", "=", "pvc"]]
type: string
default: ReadWriteOnce
enum:
- value: ReadWriteOnce
description: ReadWriteOnce
- value: ReadOnlyMany
description: ReadOnlyMany
- value: ReadWriteMany
description: ReadWriteMany
- variable: advanced
label: Show Advanced Options
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: labelsList
label: Labels
schema:
type: list
default: []
items:
- variable: labelItem
label: Label
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
- variable: value
label: Value
schema:
type: string
- variable: annotationsList
label: Annotations
schema:
type: list
default: []
items:
- variable: annotationItem
label: Label
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
- variable: value
label: Value
schema:
type: string
- 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: []
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: tls
label: TLS-Settings
schema:
type: list
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: scaleCert
label: Select TrueNAS SCALE Certificate
schema:
type: int
$ref:
- "definitions/certificate"
- variable: entrypoint
label: (Advanced) Traefik Entrypoint
description: Entrypoint used by Traefik when using Traefik as Ingress Provider
schema:
type: string
default: websecure
required: true
- variable: middlewares
label: Traefik Middlewares
description: Add previously created Traefik Middlewares to this Ingress
schema:
type: list
default: []
items:
- variable: name
label: Name
schema:
type: string
default: ""
required: true
- variable: expert
label: Show Expert Configuration Options
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: enableFixedMiddlewares
description: These middlewares enforce a number of best practices.
label: Enable Default Middlewares
schema:
type: boolean
default: true
- variable: ingressClassName
label: IngressClass Name
schema:
type: string
default: ""
- variable: labelsList
label: Labels
schema:
type: list
default: []
items:
- variable: labelItem
label: Label
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
- variable: value
label: Value
schema:
type: string
- variable: annotationsList
label: Annotations
schema:
type: list
default: []
items:
- variable: annotationItem
label: Label
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
- variable: value
label: Value
schema:
type: string
- 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: labelsList
label: Labels
schema:
type: list
default: []
items:
- variable: labelItem
label: Label
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
- variable: value
label: Value
schema:
type: string
- variable: annotationsList
label: Annotations
schema:
type: list
default: []
items:
- variable: annotationItem
label: Label
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
- variable: value
label: Value
schema:
type: string
- 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: service
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: []
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: scaleCert
label: Select TrueNAS SCALE Certificate
schema:
type: int
$ref:
- "definitions/certificate"
- variable: entrypoint
label: Traefik Entrypoint
description: Entrypoint used by Traefik when using Traefik as Ingress Provider
schema:
type: string
default: websecure
required: true
- variable: middlewares
label: Traefik Middlewares
description: Add previously created Traefik Middlewares to this Ingress
schema:
type: list
default: []
items:
- variable: name
label: Name
schema:
type: string
default: ""
required: true
- variable: security
label: Container Security Settings
group: Security and Permissions
schema:
type: dict
additional_attrs: true
attrs:
- variable: editsecurity
label: Change PUID / UMASK values
description: By enabling this you override default set values.
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- 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
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: "002"
- variable: advancedSecurity
label: Show Advanced Security Settings
group: Security and Permissions
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: securityContext
label: Security Context
schema:
additional_attrs: true
type: dict
attrs:
- variable: privileged
label: "Privileged mode"
schema:
type: boolean
default: false
- variable: readOnlyRootFilesystem
label: "ReadOnly Root Filesystem"
schema:
type: boolean
default: true
- variable: allowPrivilegeEscalation
label: "Allow Privilege Escalation"
schema:
type: boolean
default: false
- variable: runAsNonRoot
label: "runAsNonRoot"
schema:
type: boolean
default: true
- variable: capabilities
label: Capabilities
schema:
additional_attrs: true
type: dict
attrs:
- variable: drop
label: Drop Capability
schema:
type: list
default: []
items:
- variable: dropEntry
label: ""
schema:
type: string
- variable: add
label: Add Capability
schema:
type: list
default: []
items:
- variable: addEntry
label: ""
schema:
type: string
- variable: podSecurityContext
group: Security and Permissions
label: Pod Security Context
schema:
additional_attrs: true
type: dict
attrs:
- variable: runAsUser
label: "runAsUser"
description: "The UserID of the user running the application"
schema:
type: int
default: 568
- variable: runAsGroup
label: "runAsGroup"
description: "The groupID this App of the user running the application"
schema:
type: int
default: 568
- variable: fsGroup
label: "fsGroup"
description: "The group that should own ALL storage."
schema:
type: int
default: 568
- 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
- variable: advancedresources
label: Set Custom Resource Limits/Requests (Advanced)
group: Resources and Devices
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: resources
label: ""
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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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
attrs:
- variable: cpu
label: CPU
description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation"
schema:
type: string
default: 10m
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/docs/manual/SCALE%20Apps/indepth/validation"
schema:
type: string
default: 50Mi
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: hostPath
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"
# Specify GPU configuration
- variable: scaleGPU
label: GPU Configuration
group: Resources and Devices
schema:
type: dict
$ref:
- "definitions/gpuConfiguration"
attrs: []
# - variable: autoscaling
# group: Advanced
# label: (Advanced) Horizontal Pod Autoscaler
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - 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:
# additional_attrs: true
# type: dict
# attrs:
# - 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: 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: openvpn
description: OpenVPN
- value: wireguard
description: Wireguard
- value: tailscale
description: Tailscale
- variable: openvpn
label: OpenVPN Settings
schema:
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
default: ""
required: true
- variable: tailscale
label: Tailscale Settings
schema:
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: 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: Sock5 Server
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: dict
show_if: [["type", "!=", "disabled"]]
attrs:
- variable: enabled
label: Enabled
schema:
type: boolean
default: true
hidden: true
- variable: type
label: Type
schema:
type: string
default: hostPath
hidden: true
- variable: hostPathType
label: hostPathType
schema:
type: string
default: File
hidden: true
- variable: noMount
label: noMount
schema:
type: boolean
default: true
hidden: true
- variable: hostPath
label: Full Path to File
description: "Path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn"
schema:
type: string
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
- 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: git
label: Git Settings
schema:
additional_attrs: true
type: dict
attrs:
- variable: deployKey
description: Raw SSH Private Key
label: Deploy Key
schema:
type: string
- variable: deployKeyBase64
description: Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence
label: Deploy Key Base64
schema:
type: string
- variable: service
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: type
label: Service Type
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
schema:
type: string
default: NodePort
enum:
- value: NodePort
description: NodePort
- value: ClusterIP
description: ClusterIP
- value: LoadBalancer
description: LoadBalancer
- variable: loadBalancerIP
label: LoadBalancer IP
description: LoadBalancerIP
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: string
default: ""
- variable: externalIPs
label: "External IP's"
description: "External IP's"
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: list
default: []
items:
- variable: externalIP
label: External IP
schema:
type: string
- variable: ports
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: codeserver
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: nodePort
description: Leave Empty to Disable
label: "nodePort"
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: promtail
label: Promtail
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enabled
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: loki
label: Loki URL
schema:
type: string
required: true
- variable: logs
label: Log Paths
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: path
label: Path
schema:
type: string
required: true
- variable: args
label: Promtail Command Line Arguments
schema:
type: list
show_if: [["type", "!=", "disabled"]]
default: []
items:
- variable: arg
label: Arg
schema:
type: string
required: true
- variable: envList
label: Promtail 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: docs
group: Documentation
label: "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/docs/about/sponsor"
schema:
additional_attrs: true
type: dict
attrs:
- variable: confirmDonate
label: I have considered donating
schema:
type: boolean
default: true
hidden: true