groups: - name: Container Image description: Image to be used for container - name: General Settings description: General Deployment Settings - name: App Configuration description: App Specific Config Options - name: Networking and Services description: Configure Network and Services for Container - name: Storage and Persistence description: Persist and Share Data that is Separate from the Container - name: Ingress description: Ingress Configuration - name: Security and Permissions description: Configure Security Context and Permissions - name: Resources and Devices description: "Specify Resources/Devices to be Allocated to Workload" - name: Middlewares description: Traefik Middlewares - name: Metrics description: Metrics - name: VPN description: VPN - 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: "General Settings" schema: type: dict hidden: true attrs: - variable: isSCALE label: Flag this is SCALE schema: type: boolean default: true hidden: true - variable: controller group: "General Settings" label: "" schema: additional_attrs: true type: dict attrs: - variable: replicas description: Number of desired pod replicas label: Desired Replicas schema: type: int required: true default: 1 - variable: customextraargs group: "General Settings" 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: "App 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: "General Settings" 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: "General Settings" 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: 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: 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: 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: 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: pvc enum: - value: pvc description: PVC - value: hostPath description: Host Path - value: emptyDir description: emptyDir - value: nfs description: NFS Share - variable: server label: NFS Server schema: show_if: [["type", "=", "nfs"]] type: string default: "" - variable: path label: Path on NFS Server schema: show_if: [["type", "=", "nfs"]] type: string default: "" - variable: 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: hostPath label: Host Path description: Path inside the container the storage is mounted schema: show_if: [["type", "=", "hostPath"]] type: hostpath - variable: medium label: EmptyDir Medium schema: show_if: [["type", "=", "emptyDir"]] type: string default: "" enum: - value: "" description: Default - value: Memory description: Memory - variable: size label: Size quotum of Storage (Do NOT REDUCE after installation) description: This value can ONLY be INCREASED after the installation schema: show_if: [["type", "=", "pvc"]] type: string default: 256Gi - variable: persistenceList label: Additional App Storage group: Storage and Persistence schema: type: list default: [] items: - variable: persistenceListEntry label: Custom Storage schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enable the storage schema: type: boolean default: true hidden: true - variable: type label: Type of Storage description: Sets the persistence type, Anything other than PVC could break rollback! schema: type: string default: hostPath enum: - value: pvc description: PVC - value: hostPath description: Host Path - value: emptyDir description: emptyDir - value: nfs description: NFS Share - variable: server label: NFS Server schema: show_if: [["type", "=", "nfs"]] type: string default: "" - variable: path label: Path on NFS Server schema: show_if: [["type", "=", "nfs"]] type: string default: "" - variable: 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: hostPath label: Host Path description: Path inside the container the storage is mounted schema: show_if: [["type", "=", "hostPath"]] type: hostpath - variable: mountPath label: Mount Path description: Path inside the container the storage is mounted schema: type: string default: "" required: true valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' - variable: medium label: EmptyDir Medium schema: show_if: [["type", "=", "emptyDir"]] type: string default: "" enum: - value: "" description: Default - value: Memory description: Memory - variable: size label: Size Quotum of Storage schema: show_if: [["type", "=", "pvc"]] type: string default: 256Gi - variable: 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: ingressClassName label: (Advanced/Optional) IngressClass Name schema: type: string default: "" - 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: ingressList label: Add Manual Custom Ingresses group: Ingress schema: type: list default: [] items: - variable: ingressListEntry label: Custom Ingress schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enable Ingress schema: type: boolean default: true hidden: true - variable: name label: Name schema: type: string default: "" - variable: ingressClassName label: IngressClass Name schema: type: string default: "" - variable: hosts label: Hosts schema: type: list default: [] items: - variable: hostEntry label: Host schema: additional_attrs: true type: dict attrs: - variable: host label: HostName schema: type: string default: "" required: true - variable: paths label: Paths schema: type: list default: [] items: - variable: pathEntry label: Host schema: additional_attrs: true type: dict attrs: - variable: path label: Path schema: type: string required: true default: "/" - variable: pathType label: Path Type schema: type: string required: true default: Prefix - variable: 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: 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: resources group: Resources and Devices label: "Resource Limits" schema: additional_attrs: true type: dict attrs: - variable: limits label: Advanced Limit Resource Consumption schema: additional_attrs: true type: dict attrs: - variable: cpu label: CPU description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/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 hidden: true 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 hidden: true valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' - variable: memory label: "RAM" description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" schema: type: string default: 50Mi hidden: true valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' - variable: deviceList label: Mount USB Devices group: Resources and Devices schema: type: list default: [] items: - variable: deviceListEntry label: Device schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enable the Storage schema: type: boolean default: true - variable: type label: (Advanced) Type of Storage description: Sets the persistence type schema: type: string default: 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: horizontalPodAutoscaler group: Advanced label: (Advanced) Horizontal Pod Autoscaler schema: type: list default: [] items: - variable: hpaEntry label: HPA Entry schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string required: true default: "" - variable: enabled label: Enabled schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: target label: Target description: Deployment name, Defaults to Main Deployment schema: type: string default: "" - variable: minReplicas label: Minimum Replicas schema: type: int default: 1 - variable: maxReplicas label: Maximum Replicas schema: type: int default: 5 - variable: targetCPUUtilizationPercentage label: Target CPU Utilization Percentage schema: type: int default: 80 - variable: targetMemoryUtilizationPercentage label: Target Memory Utilization Percentage schema: type: int default: 80 - variable: networkPolicy group: Advanced label: (Advanced) Network Policy schema: type: list default: [] items: - variable: netPolicyEntry label: Network Policy Entry schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string required: true default: "" - variable: enabled label: Enabled schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: policyType label: Policy Type schema: type: string default: "" enum: - value: "" description: Default - value: ingress description: Ingress - value: egress description: Egress - value: ingress-egress description: Ingress and Egress - variable: egress label: Egress schema: type: list default: [] items: - variable: egressEntry label: "" schema: additional_attrs: true type: dict attrs: - variable: to label: To schema: type: list default: [] items: - variable: toEntry label: "" schema: additional_attrs: true type: dict attrs: - variable: ipBlock label: IP Block schema: additional_attrs: true type: dict attrs: - variable: cidr label: CIDR schema: type: string default: "" - variable: except label: Except schema: type: list default: [] items: - variable: exceptint label: "" schema: type: string - variable: namespaceSelector label: Namespace Selector schema: additional_attrs: true type: dict attrs: - variable: matchExpressions label: Match Expressions schema: type: list default: [] items: - variable: expressionEntry label: "" schema: additional_attrs: true type: dict attrs: - variable: key label: Key schema: type: string - variable: operator label: Operator schema: type: string default: TCP enum: - value: In description: In - value: NotIn description: NotIn - value: Exists description: Exists - value: DoesNotExist description: DoesNotExist - variable: values label: Values schema: type: list default: [] items: - variable: value label: "" schema: type: string - variable: podSelector label: "" schema: additional_attrs: true type: dict attrs: - variable: matchExpressions label: Match Expressions schema: type: list default: [] items: - variable: expressionEntry label: "" schema: additional_attrs: true type: dict attrs: - variable: key label: Key schema: type: string - variable: operator label: Operator schema: type: string default: TCP enum: - value: In description: In - value: NotIn description: NotIn - value: Exists description: Exists - value: DoesNotExist description: DoesNotExist - variable: values label: Values schema: type: list default: [] items: - variable: value label: "" schema: type: string - variable: ports label: Ports schema: type: list default: [] items: - variable: portsEntry label: "" schema: additional_attrs: true type: dict attrs: - variable: port label: Port schema: type: int - variable: endPort label: End Port schema: type: int - variable: protocol label: Protocol schema: type: string default: TCP enum: - value: TCP description: TCP - value: UDP description: UDP - value: SCTP description: SCTP - variable: ingress label: Ingress schema: type: list default: [] items: - variable: ingressEntry label: "" schema: additional_attrs: true type: dict attrs: - variable: from label: From schema: type: list default: [] items: - variable: fromEntry label: "" schema: additional_attrs: true type: dict attrs: - variable: ipBlock label: IP Block schema: additional_attrs: true type: dict attrs: - variable: cidr label: CIDR schema: type: string default: "" - variable: except label: Except schema: type: list default: [] items: - variable: exceptint label: "" schema: type: string - variable: namespaceSelector label: Namespace Selector schema: additional_attrs: true type: dict attrs: - variable: matchExpressions label: Match Expressions schema: type: list default: [] items: - variable: expressionEntry label: "" schema: additional_attrs: true type: dict attrs: - variable: key label: Key schema: type: string - variable: operator label: Operator schema: type: string default: TCP enum: - value: In description: In - value: NotIn description: NotIn - value: Exists description: Exists - value: DoesNotExist description: DoesNotExist - variable: values label: Values schema: type: list default: [] items: - variable: value label: "" schema: type: string - variable: podSelector label: "" schema: additional_attrs: true type: dict attrs: - variable: matchExpressions label: Match Expressions schema: type: list default: [] items: - variable: expressionEntry label: "" schema: additional_attrs: true type: dict attrs: - variable: key label: Key schema: type: string - variable: operator label: Operator schema: type: string default: TCP enum: - value: In description: In - value: NotIn description: NotIn - value: Exists description: Exists - value: DoesNotExist description: DoesNotExist - variable: values label: Values schema: type: list default: [] items: - variable: value label: "" schema: type: string - variable: ports label: Ports schema: type: list default: [] items: - variable: portsEntry label: "" schema: additional_attrs: true type: dict attrs: - variable: port label: Port schema: type: int - variable: endPort label: End Port schema: type: int - variable: protocol label: Protocol schema: type: string default: TCP enum: - value: TCP description: TCP - value: UDP description: UDP - value: SCTP description: SCTP - variable: addons group: Addons label: "" schema: additional_attrs: true type: dict attrs: - variable: codeserver label: Codeserver schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enabled schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: 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: 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: auth_once label: Auth Once description: Only attempt to log in if not already logged in. schema: type: boolean default: true - variable: accept_dns label: Accept DNS description: Accept DNS configuration from the admin console. schema: type: boolean default: false - variable: userspace label: Userspace description: Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device. schema: type: boolean default: false - variable: routes label: Routes description: Expose physical subnet routes to your entire Tailscale network. schema: type: string default: "" - variable: dest_ip label: Destination IP description: Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched. schema: type: string default: "" - variable: sock5_server label: Sock5 Server description: The address on which to listen for SOCKS5 proxying into the tailscale net. schema: type: string default: "" - variable: outbound_http_proxy_listen label: Outbound HTTP Proxy Listen description: The address on which to listen for HTTP proxying into the tailscale net. schema: type: string default: "" - variable: extra_args label: Extra Args description: Extra Args schema: type: string default: "" - variable: daemon_extra_args label: Tailscale Daemon Extra Args description: Tailscale Daemon Extra Args schema: type: string default: "" - variable: killSwitch label: Enable Killswitch schema: type: boolean show_if: [["type", "!=", "disabled"]] default: true - variable: excludedNetworks_IPv4 label: Killswitch Excluded IPv4 networks description: List of Killswitch Excluded IPv4 Addresses schema: type: list show_if: [["type", "!=", "disabled"]] default: [] items: - variable: networkv4 label: IPv4 Network schema: type: string required: true - variable: excludedNetworks_IPv6 label: Killswitch Excluded IPv6 networks description: "List of Killswitch Excluded IPv6 Addresses" schema: type: list show_if: [["type", "!=", "disabled"]] default: [] items: - variable: networkv6 label: IPv6 Network schema: type: string required: true - variable: configFile label: VPN Config File Location schema: type: 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: docs group: Documentation label: Please read the documentation at https://truecharts.org description: Please read the documentation at
https://truecharts.org schema: additional_attrs: true type: dict attrs: - variable: confirmDocs label: I have checked the documentation schema: type: boolean default: true - variable: donateNag group: Documentation label: Please consider supporting TrueCharts, see https://truecharts.org/sponsor description: Please consider supporting TrueCharts, see
https://truecharts.org/sponsor schema: additional_attrs: true type: dict attrs: - variable: confirmDonate label: I have considered donating schema: type: boolean default: true hidden: true