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: generalsettings
label: "General Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CMD_FORBIDDEN_NOTE_IDS
label: "CMD_FORBIDDEN_NOTE_IDS"
description: "disallow creation of notes, even if allowFreeUrl or CMD_ALLOW_FREEURL is true"
schema:
type: string
default: "robots.txt, favicon.ico, api, build, css, docs, fonts, js, uploads, vendor, views"
- variable: CMD_IMAGE_UPLOAD_TYPE
label: "CMD_IMAGE_UPLOAD_TYPE"
description: "Where to upload images."
schema:
type: string
default: "filesystem"
enum:
- value: "filesystem"
description: "filesystem"
- value: "imgur"
description: "imgur"
- value: "s3"
description: "s3"
- value: "minio"
description: "minio"
- value: "azure"
description: "azure"
- value: "lutim"
description: "lutim"
- variable: CMD_SOURCE_URL
label: "CMD_SOURCE_URL"
description: "Provides the link to the source code of HedgeDoc on the entry page"
schema:
type: string
default: ""
- variable: CMD_TOOBUSY_LAG
label: "CMD_TOOBUSY_LAG"
description: "CPU time for one event loop tick until node throttles connections. (milliseconds)"
schema:
type: int
default: 70
- variable: CMD_ALLOW_GRAVATAR
label: "CMD_ALLOW_GRAVATAR"
description: "Set to false to disable Libravatar as profile picture source on your instance."
schema:
type: boolean
default: true
- variable: httpsettings
label: "HTTP Settings"
schema:
type: boolean
default: true
show_subquestions_if: true
subquestions:
- variable: CMD_DOMAIN
label: "CMD_DOMAIN"
description: "Domain name (eg. hedgedoc.org)"
schema:
type: string
default: ""
- variable: CMD_PROTOCOL_USESSL
label: "CMD_PROTOCOL_USESSL"
description: "Set to use SSL protocol for resources path (only applied when domain is set)"
schema:
type: boolean
default: false
- variable: CMD_URL_ADDPORT
label: "CMD_URL_ADDPORT"
description: "Set to add port on callback URL (ports 80 or 443 won't be applied) (only applied when domain is set)"
schema:
type: boolean
default: false
- variable: CMD_ALLOW_ORIGIN
label: "CMD_ALLOW_ORIGIN"
description: "Domain name whitelist (use comma to separate)"
schema:
type: string
default: "localhost"
- variable: websecsettings
label: "Web Security Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CMD_HSTS_ENABLE
label: "CMD_HSTS_ENABLE"
description: "Set to enable HSTS if HTTPS is also enabled"
schema:
type: boolean
default: true
- variable: CMD_HSTS_INCLUDE_SUBDOMAINS
label: "CMD_HSTS_INCLUDE_SUBDOMAINS"
description: "Set to include subdomains in HSTS"
schema:
type: boolean
default: true
- variable: CMD_HSTS_MAX_AGE
label: "CMD_HSTS_MAX_AGE"
description: "Max duration in seconds to tell clients to keep HSTS status"
schema:
type: int
default: 31536000
- variable: CMD_HSTS_PRELOAD
label: "CMD_HSTS_PRELOAD"
description: "Whether to allow preloading of the site's HSTS status"
schema:
type: boolean
default: true
- variable: CMD_CSP_ENABLE
label: "CMD_CSP_ENABLE"
description: "Whether to apply a Content-Security-Policy header to responses"
schema:
type: boolean
default: true
- variable: CMD_CSP_ADD_DISQUS
label: "CMD_CSP_ADD_DISQUS"
description: "Enable to allow users to add Disqus comments to their notes or presentations."
schema:
type: boolean
default: false
- variable: CMD_CSP_ADD_GOOGLE_ANALYTICS
label: "CMD_CSP_ADD_GOOGLE_ANALYTICS"
description: "Enable to allow users to add Google Analytics to their notes."
schema:
type: boolean
default: false
- variable: CMD_CSP_REPORTURI
label: "CMD_CSP_REPORTURI"
description: "Allows to add a URL for CSP reports in case of violations."
schema:
type: string
default: ""
- variable: CMD_CSP_ALLOW_FRAMING
label: "CMD_CSP_ALLOW_FRAMING"
description: "Disable to disallow embedding of the instance via iframe."
schema:
type: boolean
default: true
- variable: CMD_CSP_ALLOW_PDF_EMBED
label: "CMD_CSP_ALLOW_PDF_EMBED"
description: "Disable to disallow embedding PDFs."
schema:
type: boolean
default: true
- variable: CMD_COOKIE_POLICY
label: "CMD_COOKIE_POLICY"
description: "Set a SameSite policy whether cookies are send from cross-origin"
schema:
type: string
default: "lax"
enum:
- value: "lax"
description: "lax"
- value: "strict"
description: "strict"
- value: "none"
description: "none"
- variable: userprivillegesettings
label: "Users and Privileges Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CMD_ALLOW_ANONYMOUS
label: "CMD_ALLOW_ANONYMOUS"
description: "Set to allow anonymous usage"
schema:
type: boolean
default: false
- variable: CMD_ALLOW_ANONYMOUS_EDITS
label: "CMD_ALLOW_ANONYMOUS_EDITS"
description: "If allowAnonymous is false: allow users to select freely permission, allowing guests to edit existing notes"
schema:
type: boolean
default: false
- variable: CMD_ALLOW_FREEURL
label: "CMD_ALLOW_FREEURL"
description: "Set to allow new note creation by accessing a nonexistent note URL"
schema:
type: boolean
default: false
- variable: CMD_REQUIRE_FREEURL_AUTHENTICATION
label: "CMD_REQUIRE_FREEURL_AUTHENTICATION"
description: "Set to require authentication for FreeURL mode style note creation"
schema:
type: boolean
default: true
- variable: CMD_DEFAULT_PERMISSION
label: "CMD_DEFAULT_PERMISSION"
description: "Set notes default permission (only applied on signed-in users)"
schema:
type: string
default: "editable"
enum:
- value: "editable"
description: "editable"
- value: "freely"
description: "freely"
- value: "limited"
description: "limited"
- value: "locked"
description: "locked"
- value: "protected"
description: "protected"
- value: "private"
description: "private"
- variable: CMD_SESSION_LIFE
label: "CMD_SESSION_LIFE"
description: "Cookie session life time in milliseconds."
schema:
type: int
default: 1209600000
- variable: loginsettings
label: "Login Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CMD_EMAIL
label: "CMD_EMAIL"
description: "Set to allow email sign-in"
schema:
type: boolean
default: true
- variable: CMD_ALLOW_EMAIL_REGISTER
label: "CMD_ALLOW_EMAIL_REGISTER"
description: "Set to allow registration of new accounts using an email address."
schema:
type: boolean
default: true
- variable: dropboxsettings
label: "Dropbox Login Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CMD_DROPBOX_CLIENTID
label: "CMD_DROPBOX_CLIENTID"
description: "Dropbox API client id"
schema:
type: string
private: true
default: ""
- variable: CMD_DROPBOX_CLIENTSECRET
label: "CMD_DROPBOX_CLIENTSECRET"
description: "Dropbox API client secret"
schema:
type: string
private: true
default: ""
- variable: facebooksettings
label: "Facebook Login Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CMD_FACEBOOK_CLIENTID
label: "CMD_FACEBOOK_CLIENTID"
description: "Facebook API client id"
schema:
type: string
private: true
default: ""
- variable: CMD_FACEBOOK_CLIENTSECRET
label: "CMD_FACEBOOK_CLIENTSECRET"
description: "Facebook API client secret"
schema:
type: string
private: true
default: ""
- variable: githubsettings
label: "Github Login Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CMD_GITHUB_CLIENTID
label: "CMD_GITHUB_CLIENTID"
description: "Github API client id"
schema:
type: string
private: true
default: ""
- variable: CMD_GITHUB_CLIENTSECRET
label: "CMD_GITHUB_CLIENTSECRET"
description: "Github API client secret"
schema:
type: string
private: true
default: ""
- variable: gitlabsettings
label: "GitLab Login Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CMD_GITLAB_SCOPE
label: "CMD_GITLAB_SCOPE"
description: "GitLab API requested scope"
schema:
type: string
default: "api"
enum:
- value: "api"
description: "api"
- value: "read_user"
description: "read_user"
- variable: CMD_GITLAB_BASEURL
label: "CMD_GITLAB_BASEURL"
description: "GitLab authentication endpoint"
schema:
type: string
default: ""
- variable: CMD_GITLAB_CLIENTID
label: "CMD_GITLAB_CLIENTID"
description: "GitLab API client id"
schema:
type: string
private: true
default: ""
- variable: CMD_GITLAB_CLIENTSECRET
label: "CMD_GITLAB_CLIENTSECRET"
description: "GitLab API client secret"
schema:
type: string
private: true
default: ""
- variable: CMD_GITLAB_VERSION
label: "CMD_GITLAB_VERSION"
description: "GitLab API version"
schema:
type: string
default: "v4"
enum:
- value: "v4"
description: "v4"
- value: "v3"
description: "v3"
- variable: googlesettings
label: "Google Login Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CMD_GOOGLE_CLIENTID
label: "CMD_GOOGLE_CLIENTID"
description: "Google API client id"
schema:
type: string
private: true
default: ""
- variable: CMD_GOOGLE_CLIENTSECRET
label: "CMD_GOOGLE_CLIENTSECRET"
description: "Google API client secret"
schema:
type: string
private: true
default: ""
- variable: CMD_GOOGLE_HOSTEDDOMAIN
label: "CMD_GOOGLE_HOSTEDDOMAIN"
description: "Provided only if the user belongs to a hosted domain"
schema:
type: string
default: ""
- variable: twittersettings
label: "Twitter Login Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CMD_TWITTER_CONSUMERKEY
label: "CMD_TWITTER_CONSUMERKEY"
description: "Twitter API consumer key"
schema:
type: string
private: true
default: ""
- variable: CMD_TWITTER_CONSUMERSECRET
label: "CMD_TWITTER_CONSUMERSECRET"
description: "Twitter API consumer secret"
schema:
type: string
private: true
default: ""
- variable: mattermostsettings
label: "Mattermost Login Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CMD_MATTERMOST_BASEURL
label: "CMD_MATTERMOST_BASEURL"
description: "Mattermost authentication endpoint for versions below 5.0"
schema:
type: string
default: ""
- variable: CMD_MATTERMOST_CLIENTID
label: "CMD_MATTERMOST_CLIENTID"
description: "Mattermost API client id"
schema:
type: string
private: true
default: ""
- variable: CMD_MATTERMOST_CLIENTSECRET
label: "CMD_MATTERMOST_CLIENTSECRET"
description: "Mattermost API client secret"
schema:
type: string
private: true
default: ""
- variable: oauthsettings
label: "OAuth2 Login Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CMD_OAUTH2_USER_PROFILE_URL
label: "CMD_OAUTH2_USER_PROFILE_URL"
description: "Where to retrieve information about a user after successful login"
schema:
type: string
default: ""
- variable: CMD_OAUTH2_USER_PROFILE_USERNAME_ATTR
label: "CMD_OAUTH2_USER_PROFILE_USERNAME_ATTR"
description: "Where to find the username in the JSON from the user profile URL"
schema:
type: string
default: ""
- variable: CMD_OAUTH2_USER_PROFILE_DISPLAY_NAME_ATTR
label: "CMD_OAUTH2_USER_PROFILE_DISPLAY_NAME_ATTR"
description: "Where to find the display-name in the JSON from the user profile URL"
schema:
type: string
default: ""
- variable: CMD_OAUTH2_USER_PROFILE_EMAIL_ATTR
label: "CMD_OAUTH2_USER_PROFILE_EMAIL_ATTR"
description: "Where to find the email address in the JSON from the user profile URL"
schema:
type: string
default: ""
- variable: CMD_OAUTH2_USER_PROFILE_ID_ATTR
label: "CMD_OAUTH2_USER_PROFILE_ID_ATTR"
description: "Where to find the dedicated user ID (optional, overrides CMD_OAUTH2_USER_PROFILE_USERNAME_ATTR)"
schema:
type: string
default: ""
- variable: CMD_OAUTH2_TOKEN_URL
label: "CMD_OAUTH2_TOKEN_URL"
description: "Sometimes called token endpoint, please refer to the documentation of your OAuth2 provider"
schema:
type: string
default: ""
- variable: CMD_OAUTH2_AUTHORIZATION_URL
label: "CMD_OAUTH2_AUTHORIZATION_URL"
description: "Authorization URL of your provider, please refer to the documentation of your OAuth2 provider"
schema:
type: string
default: ""
- variable: CMD_OAUTH2_CLIENT_ID
label: "CMD_OAUTH2_CLIENT_ID"
description: "You will get this from your OAuth2 provider when you register HedgeDoc as OAuth2-client"
schema:
type: string
private: true
default: ""
- variable: CMD_OAUTH2_CLIENT_SECRET
label: "CMD_OAUTH2_CLIENT_SECRET"
description: "You will get this from your OAuth2 provider when you register HedgeDoc as OAuth2-client"
schema:
type: string
default: ""
- variable: CMD_OAUTH2_PROVIDERNAME
label: "CMD_OAUTH2_PROVIDERNAME"
description: "Optional name to be displayed at login form indicating the oAuth2 provider"
schema:
type: string
default: ""
- variable: CMD_OAUTH2_SCOPE
label: "CMD_OAUTH2_SCOPE"
description: "Scope to request for OIDC (OpenID Connect) providers"
schema:
type: string
default: ""
- variable: CMD_OAUTH2_ROLES_CLAIM
label: "CMD_OAUTH2_ROLES_CLAIM"
description: "ID token claim, which is supposed to provide an array of strings of roles"
schema:
type: string
default: ""
- variable: CMD_OAUTH2_ACCESS_ROLE
label: "CMD_OAUTH2_ACCESS_ROLE"
description: "The role which should be included in the ID token roles claim to grant access"
schema:
type: string
default: ""
- variable: ldapsettings
label: "LDAP Login Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CMD_LDAP_URL
label: "CMD_LDAP_URL"
description: "URL of LDAP server"
schema:
type: string
default: ""
- variable: CMD_LDAP_BINDDN
label: "CMD_LDAP_BINDDN"
description: "bindDn for LDAP access"
schema:
type: string
default: ""
- variable: CMD_LDAP_BINDCREDENTIALS
label: "CMD_LDAP_BINDCREDENTIALS"
description: "bindCredentials for LDAP access"
schema:
type: string
default: ""
- variable: CMD_LDAP_SEARCHBASE
label: "CMD_LDAP_SEARCHBASE"
description: "LDAP directory to begin search from"
schema:
type: string
default: ""
- variable: CMD_LDAP_SEARCHFILTER
label: "CMD_LDAP_SEARCHFILTER"
description: "LDAP filter to search with"
schema:
type: string
default: ""
- variable: CMD_LDAP_SEARCHATTRIBUTES
label: "CMD_LDAP_SEARCHATTRIBUTES"
description: "LDAP attributes to search with (use comma to separate)"
schema:
type: string
default: ""
- variable: CMD_LDAP_USERIDFIELD
label: "CMD_LDAP_USERIDFIELD"
description: "The LDAP field which is used uniquely identify a user on HedgeDoc"
schema:
type: string
default: ""
- variable: CMD_LDAP_USERNAMEFIELD
label: "CMD_LDAP_USERNAMEFIELD"
description: "The LDAP field which is used as the username on HedgeDoc"
schema:
type: string
default: ""
- variable: CMD_LDAP_TLS_CA
label: "CMD_LDAP_TLS_CA"
description: "Root CA for LDAP TLS in PEM format (use comma to separate)"
schema:
type: string
default: ""
- variable: CMD_LDAP_PROVIDERNAME
label: "CMD_LDAP_PROVIDERNAME"
description: "CMD_LDAP_PROVIDERNAME"
schema:
type: string
default: ""
- variable: samlsettings
label: "SAML Login Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CMD_SAML_IDPSSOURL
label: "CMD_SAML_IDPSSOURL"
description: "Authentication endpoint of IdP. for details"
schema:
type: string
default: ""
- variable: CMD_SAML_IDPCERT
label: "CMD_SAML_IDPCERT"
description: "Certificate file path of IdP in PEM format"
schema:
type: string
default: ""
- variable: CMD_SAML_CLIENTCERT
label: "CMD_SAML_CLIENTCERT"
description: "Certificate file path for the client in PEM format"
schema:
type: string
default: ""
- variable: CMD_SAML_ISSUER
label: "CMD_SAML_ISSUER"
description: "Issuer to supply to identity provider"
schema:
type: string
default: ""
- variable: CMD_SAML_DISABLEREQUESTEDAUTHNCONTEXT
label: "CMD_SAML_DISABLEREQUESTEDAUTHNCONTEXT"
description: "True to allow any authentication method, false restricts to password authentication"
schema:
type: boolean
default: false
- variable: CMD_SAML_IDENTIFIERFORMAT
label: "CMD_SAML_IDENTIFIERFORMAT"
description: "Name identifier format"
schema:
type: string
default: "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
- variable: CMD_SAML_GROUPATTRIBUTE
label: "CMD_SAML_GROUPATTRIBUTE"
description: "Attribute name for group list"
schema:
type: string
default: ""
- variable: CMD_SAML_REQUIREDGROUPS
label: "CMD_SAML_REQUIREDGROUPS"
description: "Group names that allowed (use vertical bar to separate)"
schema:
type: string
default: ""
- variable: CMD_SAML_EXTERNALGROUPS
label: "CMD_SAML_EXTERNALGROUPS"
description: "Group names that not allowed (use vertical bar to separate) "
schema:
type: string
default: ""
- variable: CMD_SAML_ATTRIBUTE_ID
label: "CMD_SAML_ATTRIBUTE_ID"
description: "Attribute map for id"
schema:
type: string
default: ""
- variable: CMD_SAML_ATTRIBUTE_USERNAME
label: "CMD_SAML_ATTRIBUTE_USERNAME"
description: "Attribute map for username"
schema:
type: string
default: ""
- variable: CMD_SAML_ATTRIBUTE_EMAIL
label: "CMD_SAML_ATTRIBUTE_EMAIL"
description: "Attribute map for email"
schema:
type: string
default: ""
- variable: CMD_SAML_PROVIDERNAME
label: "CMD_SAML_PROVIDERNAME"
description: "Optional name to be displayed at login form indicating the SAML provider"
schema:
type: string
default: ""
- variable: amazonsettings
label: "Amazon S3 Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CMD_S3_ACCESS_KEY_ID
label: "CMD_S3_ACCESS_KEY_ID"
description: "AWS access key id"
schema:
type: string
private: true
default: ""
- variable: CMD_S3_SECRET_ACCESS_KEY
label: "CMD_S3_SECRET_ACCESS_KEY"
description: "AWS secret key"
schema:
type: string
private: true
default: ""
- variable: CMD_S3_REGION
label: "CMD_S3_REGION"
description: "AWS S3 region"
schema:
type: string
default: ""
- variable: CMD_S3_BUCKET
label: "CMD_S3_BUCKET"
description: "AWS S3 bucket name"
schema:
type: string
default: ""
- variable: CMD_S3_ENDPOINT
label: "CMD_S3_ENDPOINT "
description: "S3 API endpoint if you don't use AWS name"
schema:
type: string
default: ""
- variable: azuresettings
label: "Azure Blob Storage Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CMD_AZURE_CONNECTION_STRING
label: "CMD_AZURE_CONNECTION_STRING"
description: "Azure Blob Storage connection string"
schema:
type: string
default: ""
- variable: CMD_AZURE_CONTAINER
label: "CMD_AZURE_CONTAINER"
description: "Azure Blob Storage container name (automatically created if non existent)"
schema:
type: string
default: ""
- variable: miniosettings
label: "Minio Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CMD_MINIO_ACCESS_KEY
label: "CMD_MINIO_ACCESS_KEY"
description: "Minio access key"
schema:
type: string
private: true
default: ""
- variable: CMD_MINIO_SECRET_KEY
label: "CMD_MINIO_SECRET_KEY"
description: "Minio secret key"
schema:
type: string
private: true
default: ""
- variable: CMD_MINIO_ENDPOINT
label: "CMD_MINIO_ENDPOINT"
description: "Address of your Minio endpoint/instance"
schema:
type: string
default: ""
- variable: CMD_MINIO_PORT
label: "CMD_MINIO_ACCESS_KEY"
description: "Port that is used for your Minio instance"
schema:
type: string
default: ""
- variable: CMD_MINIO_SECURE
label: "CMD_MINIO_SECURE"
description: "If set to true HTTPS is used for Minio"
schema:
type: boolean
default: true
- variable: imgursettings
label: "Imgur Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CMD_IMGUR_CLIENTID
label: "CMD_IMGUR_CLIENTID"
description: "Imgur API client id"
schema:
type: string
private: true
default: ""
- variable: lutimsettings
label: "Lutim Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CMD_LUTIM_URL
label: "CMD_LUTIM_URL"
description: "When CMD_IMAGE_UPLOAD_TYPE is set to lutim, you can setup the lutim url"
schema:
type: string
default: ""
- variable: logsettings
label: "Logs Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: DEBUG
label: "DEBUG"
description: "Set debug mode, show more logs"
schema:
type: boolean
default: false
- variable: CMD_LOGLEVEL
label: "CMD_LOGLEVEL"
description: "Defines what kind of logs are provided to stdout."
schema:
type: string
default: "info"
enum:
- value: "info"
description: "info"
- value: "warn"
description: "warn"
- value: "error"
description: "error"
- value: "verbose"
description: "verbose"
- value: "debug"
description: "debug"
- variable: TZ
label: Timezone
group: Container Configuration
schema:
type: string
default: "Etc/UTC"
$ref:
- "definitions/timezone"
- 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..."
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 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: The IP Families that should be used
schema:
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: 10132
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: 10132
- 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 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: uploads
label: "App Uploads Storage"
description: "Stores the Application Uploads."
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: 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: 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 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: 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: 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: nodePort
description: Leave Empty to Disable
label: nodePort DEPRECATED
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
description: Please read the documentation at
https://truecharts.org
schema:
additional_attrs: true
type: dict
attrs:
- variable: confirmDocs
label: I have checked the documentation
schema:
type: boolean
default: true
- variable: donateNag
group: Documentation
label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor
description: Please consider supporting TrueCharts, see
https://truecharts.org/sponsor
schema:
additional_attrs: true
type: dict
attrs:
- variable: confirmDonate
label: I have considered donating
schema:
type: boolean
default: true
hidden: true