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: BASEROW_PUBLIC_URL label: "BASEROW_PUBLIC_URL" description: "The public URL or IP that will be used to access baserow. Always should start with http:// https:// even if accessing via an IP address." schema: type: string required: true default: "" - variable: enable_mail_settings label: "Enable Mail Settings" schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: FROM_EMAIL label: "FROM_EMAIL" description: "The public URL or IP that will be used to access baserow. Always should start with http:// https:// even if accessing via an IP address." schema: type: string default: "" - variable: EMAIL_SMTP label: "EMAIL_SMTP" description: "If set to any non empty value then Baserow will start sending emails using the configuration options below. If not set then Baserow will not send emails and just log them to the Celery worker logs instead." schema: type: string default: "" enum: - value: "" description: "Disabled" - value: "true" description: "Enabled" - variable: EMAIL_SMTP_USE_TLS label: "EMAIL_SMTP_USE_TLS" description: "If set to any non empty value then Baserow will attempt to send emails using TLS." schema: type: string default: "" enum: - value: "" description: "Disabled" - value: "true" description: "Enabled" - variable: EMAIL_SMTP_HOST label: "EMAIL_SMTP_HOST" description: "The host of the external SMTP server that Baserow should use to send emails." schema: type: string default: "" - variable: EMAIL_SMTP_PORT label: "EMAIL_SMTP_PORT" description: "The port used to connect to $EMAIL_SMTP_HOST on." schema: type: int default: 587 - variable: EMAIL_SMTP_USER label: "EMAIL_SMTP_USER" description: "The username to authenticate with $EMAIL_SMTP_HOST when sending emails." schema: type: string default: "" - variable: EMAIL_SMTP_PASSWORD label: "EMAIL_SMTP_PASSWORD" description: "The password to authenticate with $EMAIL_SMTP_HOST when sending emails." schema: type: string private: true default: "" - 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" schema: type: string default: Simple enum: - value: Simple description: Simple - value: ClusterIP description: ClusterIP - value: NodePort description: NodePort (Advanced) - value: LoadBalancer description: LoadBalancer (Advanced) - variable: loadBalancerIP label: LoadBalancer IP description: LoadBalancerIP schema: show_if: [["type", "=", "LoadBalancer"]] type: string default: "" - variable: externalIPs label: "External IP's" description: "External IP's" schema: show_if: [["type", "=", "LoadBalancer"]] type: list default: [] items: - variable: externalIP label: External IP schema: type: string - variable: ipFamilyPolicy label: IP Family Policy description: (Advanced) Specify the IP Policy schema: show_if: [["type", "!=", "Simple"]] type: string default: SingleStack enum: - value: SingleStack description: SingleStack - value: PreferDualStack description: PreferDualStack - value: RequireDualStack description: RequireDualStack - variable: ipFamilies label: (Advanced) IP Families description: (Advanced) The IP Families that should be used schema: show_if: [["type", "!=", "Simple"]] type: list default: [] items: - variable: ipFamily label: IP Family schema: type: string - variable: ports label: "Service's Port(s) Configuration" schema: additional_attrs: true type: dict attrs: - variable: main label: "Main Service Port Configuration" schema: additional_attrs: true type: dict attrs: - variable: port label: "Port" description: "This port exposes the container port on the service" schema: type: int default: 10228 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: 10228 - variable: serviceexpert group: Networking and Services label: Show Expert Config schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: hostNetwork group: Networking and Services label: Host-Networking (Complicated) schema: type: boolean default: false - variable: externalInterfaces description: Add External Interfaces label: Add external Interfaces group: Networking schema: type: list items: - variable: interfaceConfiguration description: Interface Configuration label: Interface Configuration schema: type: dict $ref: - "normalize/interfaceConfiguration" attrs: - variable: hostInterface description: Please Specify Host Interface label: Host Interface schema: type: string required: true $ref: - "definitions/interface" - variable: ipam description: Define how IP Address will be managed label: IP Address Management schema: type: dict required: true attrs: - variable: type description: Specify type for IPAM label: IPAM Type schema: type: string required: true enum: - value: dhcp description: Use DHCP - value: static description: Use Static IP show_subquestions_if: static subquestions: - variable: staticIPConfigurations label: Static IP Addresses schema: type: list items: - variable: staticIP label: Static IP schema: type: ipaddr cidr: true - variable: staticRoutes label: Static Routes schema: type: list items: - variable: staticRouteConfiguration label: Static Route Configuration schema: additional_attrs: true type: dict attrs: - variable: destination label: Destination schema: type: ipaddr cidr: true required: true - variable: gateway label: Gateway schema: type: ipaddr cidr: false required: true - variable: dnsPolicy group: Networking and Services label: dnsPolicy schema: type: string default: "" enum: - value: "" description: Default - value: ClusterFirst description: ClusterFirst - value: ClusterFirstWithHostNet description: ClusterFirstWithHostNet - value: None description: None - variable: dnsConfig label: DNS Configuration group: Networking and Services description: Specify custom DNS configuration which will be applied to the pod schema: additional_attrs: true type: dict attrs: - variable: nameservers label: Name Servers schema: default: [] type: list items: - variable: nameserver label: Name Server schema: type: string - variable: options label: Options schema: default: [] type: list items: - variable: option label: Option Entry schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string - variable: value label: Value schema: type: string - variable: searches label: Searches schema: default: [] type: list items: - variable: search label: Search Entry schema: type: string - variable: serviceList label: Add Manual Custom Services group: Networking and Services schema: type: list default: [] items: - variable: serviceListEntry label: Custom Service schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enable the service schema: type: boolean default: true hidden: true - variable: name label: Name schema: type: string default: "" - variable: type label: Service Type description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" schema: type: string default: Simple enum: - value: Simple description: Simple - value: NodePort description: NodePort - value: ClusterIP description: ClusterIP - value: LoadBalancer description: LoadBalancer - variable: loadBalancerIP label: LoadBalancer IP description: LoadBalancerIP schema: show_if: [["type", "=", "LoadBalancer"]] type: string default: "" - variable: externalIPs label: "External IP's" description: "External IP's" schema: show_if: [["type", "=", "LoadBalancer"]] type: list default: [] items: - variable: externalIP label: External IP schema: type: string - variable: portsList label: Additional Service Ports schema: type: list default: [] items: - variable: portsListEntry label: Custom ports schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enable the Port schema: type: boolean default: true hidden: true - variable: name label: Port Name schema: type: string default: "" - variable: protocol label: Port Type schema: type: string default: TCP enum: - value: HTTP description: HTTP - value: HTTPS description: HTTPS - value: TCP description: TCP - value: UDP description: UDP - variable: targetPort label: Target Port description: This port exposes the container port on the service schema: type: int required: true - variable: port label: Container Port schema: type: int required: true - variable: nodePort label: Node Port (Optional) description: This port gets exposed to the node. Only considered when service type is NodePort schema: type: int min: 9000 max: 65535 - variable: persistence label: Integrated Persistent Storage description: Integrated Persistent Storage group: Storage and Persistence schema: additional_attrs: true type: dict attrs: - variable: data label: "App Data Storage" description: "Stores the Application Data." schema: additional_attrs: true type: dict attrs: - variable: type label: Type of Storage description: Sets the persistence type, Anything other than PVC could break rollback! schema: type: string default: simplePVC enum: - value: simplePVC description: PVC (simple) - value: simpleHP description: Host Path (simple) - value: emptyDir description: emptyDir - value: pvc description: PVC - value: hostPath description: Host Path - value: nfs description: NFS Share - variable: server label: NFS Server schema: show_if: [["type", "=", "nfs"]] type: string default: "" - variable: path label: Path on NFS Server schema: show_if: [["type", "=", "nfs"]] type: string default: "" - variable: setPermissionsSimple label: Automatic Permissions description: Automatically set permissions on install schema: show_if: [["type", "=", "simpleHP"]] type: boolean default: false - variable: setPermissions label: Automatic Permissions description: Automatically set permissions on install schema: show_if: [["type", "=", "hostPath"]] type: boolean default: false - variable: readOnly label: Read Only schema: type: boolean default: false - variable: hostPathSimple label: Host Path description: Path inside the container the storage is mounted schema: show_if: [["type", "=", "simpleHP"]] type: hostpath - variable: hostPath label: Host Path description: Path inside the container the storage is mounted schema: show_if: [["type", "=", "hostPath"]] type: hostpath - variable: medium label: EmptyDir Medium schema: show_if: [["type", "=", "emptyDir"]] type: string default: "" enum: - value: "" description: Default - value: Memory description: Memory - variable: size label: Size quotum of Storage schema: show_if: [["type", "=", "pvc"]] type: string default: 999Gi - variable: hostPathType label: (Advanced) hostPath Type schema: show_if: [["type", "=", "hostPath"]] type: string default: "" enum: - value: "" description: Default - value: DirectoryOrCreate description: DirectoryOrCreate - value: Directory description: Directory - value: FileOrCreate description: FileOrCreate - value: File description: File - value: Socket description: Socket - value: CharDevice description: CharDevice - value: BlockDevice description: BlockDevice - variable: storageClass label: (Advanced) storageClass description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" schema: show_if: [["type", "=", "pvc"]] type: string default: SCALE-ZFS - variable: accessMode label: (Advanced) Access Mode description: Allow or disallow multiple PVC's writhing to the same PV schema: show_if: [["type", "=", "pvc"]] type: string default: ReadWriteOnce enum: - value: ReadWriteOnce description: ReadWriteOnce - value: ReadOnlyMany description: ReadOnlyMany - value: ReadWriteMany description: ReadWriteMany - variable: advanced label: Show Advanced Options schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: labelsList label: Labels schema: type: list default: [] items: - variable: labelItem label: Label schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string - variable: value label: Value schema: type: string - variable: annotationsList label: Annotations schema: type: list default: [] items: - variable: annotationItem label: Label schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string - variable: value label: Value schema: type: string - variable: persistenceList label: Additional App Storage group: Storage and Persistence schema: type: list default: [] items: - variable: persistenceListEntry label: Custom Storage schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enable the storage schema: type: boolean default: true hidden: true - variable: name label: Name (Optional) description: "Not required, please set to config when mounting /config or temp when mounting /tmp" schema: type: string - variable: type label: Type of Storage description: Sets the persistence type, Anything other than PVC could break rollback! schema: type: string default: simpleHP enum: - value: simplePVC description: PVC (Simple) - value: simpleHP description: Host Path (Simple) - value: emptyDir description: emptyDir - value: pvc description: PVC - value: hostPath description: Host Path - value: nfs description: NFS Share - variable: server label: NFS Server schema: show_if: [["type", "=", "nfs"]] type: string default: "" - variable: path label: Path on NFS Server schema: show_if: [["type", "=", "nfs"]] type: string default: "" - variable: setPermissionsSimple label: Automatic Permissions description: Automatically set permissions on install schema: show_if: [["type", "=", "simpleHP"]] type: boolean default: true - variable: setPermissions label: Automatic Permissions description: Automatically set permissions on install schema: show_if: [["type", "=", "hostPath"]] type: boolean default: true - variable: readOnly label: Read Only schema: type: boolean default: false - variable: hostPathSimple label: Host Path description: Path inside the container the storage is mounted schema: show_if: [["type", "=", "simpleHP"]] type: hostpath - variable: hostPath label: Host Path description: Path inside the container the storage is mounted schema: show_if: [["type", "=", "hostPath"]] type: hostpath - variable: mountPath label: Mount Path description: Path inside the container the storage is mounted schema: type: string default: "" required: true valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' - variable: medium label: EmptyDir Medium schema: show_if: [["type", "=", "emptyDir"]] type: string default: "" enum: - value: "" description: Default - value: Memory description: Memory - variable: size label: Size Quotum of Storage schema: show_if: [["type", "=", "pvc"]] type: string default: 999Gi - variable: hostPathType label: (Advanced) Host Path Type schema: show_if: [["type", "=", "hostPath"]] type: string default: "" enum: - value: "" description: Default - value: DirectoryOrCreate description: DirectoryOrCreate - value: Directory description: Directory - value: FileOrCreate description: FileOrCreate - value: File description: File - value: Socket description: Socket - value: CharDevice description: CharDevice - value: BlockDevice description: BlockDevice - variable: storageClass label: (Advanced) StorageClass description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" schema: show_if: [["type", "=", "pvc"]] type: string default: SCALE-ZFS - variable: accessMode label: (Advanced) Access Mode description: Allow or disallow multiple PVC's writhing to the same PV schema: show_if: [["type", "=", "pvc"]] type: string default: ReadWriteOnce enum: - value: ReadWriteOnce description: ReadWriteOnce - value: ReadOnlyMany description: ReadOnlyMany - value: ReadWriteMany description: ReadWriteMany - variable: advanced label: Show Advanced Options schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: labelsList label: Labels schema: type: list default: [] items: - variable: labelItem label: Label schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string - variable: value label: Value schema: type: string - variable: annotationsList label: Annotations schema: type: list default: [] items: - variable: annotationItem label: Label schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string - variable: value label: Value schema: type: string - variable: ingress label: "" group: Ingress schema: additional_attrs: true type: dict attrs: - variable: main label: "Main Ingress" schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enable Ingress schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: hosts label: Hosts schema: type: list default: [] items: - variable: hostEntry label: Host schema: additional_attrs: true type: dict attrs: - variable: host label: HostName schema: type: string default: "" required: true - variable: paths label: Paths schema: type: list default: [] items: - variable: pathEntry label: Host schema: additional_attrs: true type: dict attrs: - variable: path label: Path schema: type: string required: true default: "/" - variable: pathType label: Path Type schema: type: string required: true default: Prefix - variable: tls label: TLS-Settings schema: type: list default: [] items: - variable: tlsEntry label: Host schema: additional_attrs: true type: dict attrs: - variable: hosts label: Certificate Hosts schema: type: list default: [] items: - variable: host label: Host schema: type: string default: "" required: true - variable: scaleCert label: Select TrueNAS SCALE Certificate schema: type: int $ref: - "definitions/certificate" - variable: entrypoint label: (Advanced) Traefik Entrypoint description: Entrypoint used by Traefik when using Traefik as Ingress Provider schema: type: string default: websecure required: true - variable: middlewares label: Traefik Middlewares description: Add previously created Traefik Middlewares to this Ingress schema: type: list default: [] items: - variable: name label: Name schema: type: string default: "" required: true - variable: expert label: Show Expert Configuration Options schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: enableFixedMiddlewares description: These middlewares enforce a number of best practices. label: Enable Default Middlewares schema: type: boolean default: true - variable: ingressClassName label: IngressClass Name schema: type: string default: "" - variable: labelsList label: Labels schema: type: list default: [] items: - variable: labelItem label: Label schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string - variable: value label: Value schema: type: string - variable: annotationsList label: Annotations schema: type: list default: [] items: - variable: annotationItem label: Label schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string - variable: value label: Value schema: type: string - variable: ingressList label: Add Manual Custom Ingresses group: Ingress schema: type: list default: [] items: - variable: ingressListEntry label: Custom Ingress schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enable Ingress schema: type: boolean default: true hidden: true - variable: name label: Name schema: type: string default: "" - variable: ingressClassName label: IngressClass Name schema: type: string default: "" - variable: labelsList label: Labels schema: type: list default: [] items: - variable: labelItem label: Label schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string - variable: value label: Value schema: type: string - variable: annotationsList label: Annotations schema: type: list default: [] items: - variable: annotationItem label: Label schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string - variable: value label: Value schema: type: string - variable: hosts label: Hosts schema: type: list default: [] items: - variable: hostEntry label: Host schema: additional_attrs: true type: dict attrs: - variable: host label: HostName schema: type: string default: "" required: true - variable: paths label: Paths schema: type: list default: [] items: - variable: pathEntry label: Host schema: additional_attrs: true type: dict attrs: - variable: path label: Path schema: type: string required: true default: "/" - variable: pathType label: Path Type schema: type: string required: true default: Prefix - variable: service label: Linked Service schema: additional_attrs: true type: dict attrs: - variable: name label: Service Name schema: type: string default: "" - variable: port label: Service Port schema: type: int - variable: tls label: TLS-Settings schema: type: list default: [] items: - variable: tlsEntry label: Host schema: additional_attrs: true type: dict attrs: - variable: hosts label: Certificate Hosts schema: type: list default: [] items: - variable: host label: Host schema: type: string default: "" required: true - variable: scaleCert label: Select TrueNAS SCALE Certificate schema: type: int $ref: - "definitions/certificate" - variable: entrypoint label: Traefik Entrypoint description: Entrypoint used by Traefik when using Traefik as Ingress Provider schema: type: string default: websecure required: true - variable: middlewares label: Traefik Middlewares description: Add previously created Traefik Middlewares to this Ingress schema: type: list default: [] items: - variable: name label: Name schema: type: string default: "" required: true - variable: security label: Container Security Settings group: Security and Permissions schema: type: dict additional_attrs: true attrs: - variable: editsecurity label: Change PUID / UMASK values description: By enabling this you override default set values. schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: PUID label: Process User ID - PUID description: When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps schema: type: int default: 568 - variable: UMASK label: UMASK description: When supported by the container, this sets the UMASK for the App. Not supported by all Apps schema: type: string default: "002" - variable: advancedSecurity label: Show Advanced Security Settings group: Security and Permissions schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: securityContext label: Security Context schema: additional_attrs: true type: dict attrs: - variable: privileged label: "Privileged mode" schema: type: boolean default: false - variable: readOnlyRootFilesystem label: "ReadOnly Root Filesystem" schema: type: boolean default: false - variable: allowPrivilegeEscalation label: "Allow Privilege Escalation" schema: type: boolean default: false - variable: runAsNonRoot label: "runAsNonRoot" schema: type: boolean default: false - 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: 0 - variable: runAsGroup label: "runAsGroup" description: "The groupID this App of the user running the application" schema: type: int default: 0 - variable: fsGroup label: "fsGroup" description: "The group that should own ALL storage." schema: type: int default: 568 - variable: fsGroupChangePolicy label: "When should we take ownership?" schema: type: string default: OnRootMismatch enum: - value: OnRootMismatch description: OnRootMismatch - value: Always description: Always - variable: supplementalGroups label: Supplemental Groups schema: type: list default: [] items: - variable: supplementalGroupsEntry label: Supplemental Group schema: type: int - variable: advancedresources label: Set Custom Resource Limits/Requests (Advanced) group: Resources and Devices schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: resources label: "" schema: additional_attrs: true type: dict attrs: - variable: limits label: Advanced Limit Resource Consumption schema: additional_attrs: true type: dict attrs: - variable: cpu label: CPU description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" schema: type: string default: 4000m valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' - variable: memory label: RAM description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" schema: type: string default: 8Gi valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' - variable: requests label: "Minimum Resources Required (request)" schema: additional_attrs: true type: dict attrs: - variable: cpu label: CPU description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" schema: type: string default: 10m valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' - variable: memory label: "RAM" description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" schema: type: string default: 50Mi valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' - variable: deviceList label: Mount USB Devices group: Resources and Devices schema: type: list default: [] items: - variable: deviceListEntry label: Device schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enable the Storage schema: type: boolean default: true - variable: type label: (Advanced) Type of Storage description: Sets the persistence type schema: type: string default: hostPath hidden: true - variable: readOnly label: readOnly schema: type: boolean default: false - variable: hostPath label: Host Device Path description: Path to the device on the host system schema: type: path - variable: mountPath label: Container Device Path description: Path inside the container the device is mounted schema: type: string default: "/dev/ttyACM0" # Specify GPU configuration - variable: scaleGPU label: GPU Configuration group: Resources and Devices schema: type: dict $ref: - "definitions/gpuConfiguration" attrs: [] # - variable: autoscaling # group: Advanced # label: (Advanced) Horizontal Pod Autoscaler # schema: # additional_attrs: true # type: dict # attrs: # - variable: enabled # label: Enabled # schema: # type: boolean # default: false # show_subquestions_if: true # subquestions: # - variable: target # label: Target # description: Deployment name, Defaults to Main Deployment # schema: # type: string # default: "" # - variable: minReplicas # label: Minimum Replicas # schema: # type: int # default: 1 # - variable: maxReplicas # label: Maximum Replicas # schema: # type: int # default: 5 # - variable: targetCPUUtilizationPercentage # label: Target CPU Utilization Percentage # schema: # type: int # default: 80 # - variable: targetMemoryUtilizationPercentage # label: Target Memory Utilization Percentage # schema: # type: int # default: 80 # - variable: networkPolicy # group: Advanced # label: (Advanced) Network Policy # schema: # additional_attrs: true # type: dict # attrs: # - variable: enabled # label: Enabled # schema: # type: boolean # default: false # show_subquestions_if: true # subquestions: # - variable: policyType # label: Policy Type # schema: # type: string # default: "" # enum: # - value: "" # description: Default # - value: ingress # description: Ingress # - value: egress # description: Egress # - value: ingress-egress # description: Ingress and Egress # - variable: egress # label: Egress # schema: # type: list # default: [] # items: # - variable: egressEntry # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: to # label: To # schema: # type: list # default: [] # items: # - variable: toEntry # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: ipBlock # label: IP Block # schema: # additional_attrs: true # type: dict # attrs: # - variable: cidr # label: CIDR # schema: # type: string # default: "" # - variable: except # label: Except # schema: # type: list # default: [] # items: # - variable: exceptint # label: "" # schema: # type: string # - variable: namespaceSelector # label: Namespace Selector # schema: # additional_attrs: true # type: dict # attrs: # - variable: matchExpressions # label: Match Expressions # schema: # type: list # default: [] # items: # - variable: expressionEntry # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: key # label: Key # schema: # type: string # - variable: operator # label: Operator # schema: # type: string # default: TCP # enum: # - value: In # description: In # - value: NotIn # description: NotIn # - value: Exists # description: Exists # - value: DoesNotExist # description: DoesNotExist # - variable: values # label: Values # schema # type: list # default: [] # items: # - variable: value # label: "" # schema: # type: string # - variable: podSelector # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: matchExpressions # label: Match Expressions # schema: # type: list # default: [] # items: # - variable: expressionEntry # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: key # label: Key # schema: # type: string # - variable: operator # label: Operator # schema: # type: string # default: TCP # enum: # - value: In # description: In # - value: NotIn # description: NotIn # - value: Exists # description: Exists # - value: DoesNotExist # description: DoesNotExist # - variable: values # label: Values # schema: # type: list # default: [] # items: # - variable: value # label: "" # schema: # type: string # - variable: ports # label: Ports # schema: # type: list # default: [] # items: # - variable: portsEntry # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: port # label: Port # schema: # type: int # - variable: endPort # label: End Port # schema: # type: int # - variable: protocol # label: Protocol # schema: # type: string # default: TCP # enum: # - value: TCP # description: TCP # - value: UDP # description: UDP # - value: SCTP # description: SCTP # - variable: ingress # label: Ingress # schema: # type: list # default: [] # items: # - variable: ingressEntry # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: from # label: From # schema: # type: list # default: [] # items: # - variable: fromEntry # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: ipBlock # label: IP Block # schema: # additional_attrs: true # type: dict # attrs: # - variable: cidr # label: CIDR # schema: # type: string # default: "" # - variable: except # label: Except # schema: # type: list # default: [] # items: # - variable: exceptint # label: "" # schema: # type: string # - variable: namespaceSelector # label: Namespace Selector # schema: # additional_attrs: true # type: dict # attrs: # - variable: matchExpressions # label: Match Expressions # schema: # type: list # default: [] # items: # - variable: expressionEntry # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: key # label: Key # schema: # type: string # - variable: operator # label: Operator # schema: # type: string # default: TCP # enum: # - value: In # description: In # - value: NotIn # description: NotIn # - value: Exists # description: Exists # - value: DoesNotExist # description: DoesNotExist # - variable: values # label: Values # schema: # type: list # default: [] # items: # - variable: value # label: "" # schema: # type: string # - variable: podSelector # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: matchExpressions # label: Match Expressions # schema: # type: list # default: [] # items: # - variable: expressionEntry # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: key # label: Key # schema: # type: string # - variable: operator # label: Operator # schema: # type: string # default: TCP # enum: # - value: In # description: In # - value: NotIn # description: NotIn # - value: Exists # description: Exists # - value: DoesNotExist # description: DoesNotExist # - variable: values # label: Values # schema: # type: list # default: [] # items: # - variable: value # label: "" # schema: # type: string # - variable: ports # label: Ports # schema: # type: list # default: [] # items: # - variable: portsEntry # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: port # label: Port # schema: # type: int # - variable: endPort # label: End Port # schema: # type: int # - variable: protocol # label: Protocol # schema: # type: string # default: TCP # enum: # - value: TCP # description: TCP # - value: UDP # description: UDP # - value: SCTP # description: SCTP - variable: addons group: Addons label: "" schema: additional_attrs: true type: dict attrs: - variable: vpn label: VPN schema: additional_attrs: true type: dict attrs: - variable: type label: Type schema: type: string default: disabled enum: - value: disabled description: disabled - value: openvpn description: OpenVPN - value: wireguard description: Wireguard - value: tailscale description: Tailscale - variable: openvpn label: OpenVPN Settings schema: type: dict show_if: [["type", "=", "openvpn"]] attrs: - variable: username label: Authentication Username (Optional) description: Authentication Username, Optional schema: type: string default: "" - variable: password label: Authentication Password description: Authentication Credentials schema: type: string default: "" required: true - variable: tailscale label: Tailscale Settings schema: type: dict show_if: [["type", "=", "tailscale"]] attrs: - variable: authkey label: Authentication Key description: Provide an auth key to automatically authenticate the node as your user account. schema: type: string private: true default: "" - variable: accept_dns label: Accept DNS description: Accept DNS configuration from the admin console. schema: type: boolean default: false - variable: userspace label: Userspace description: Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device. schema: type: boolean default: false - variable: routes label: Routes description: Expose physical subnet routes to your entire Tailscale network. schema: type: string default: "" - variable: dest_ip label: Destination IP description: Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched. schema: type: string default: "" - variable: sock5_server label: Sock5 Server description: Sock5 Server schema: type: string default: "" - variable: extra_args label: Extra Args description: Extra Args schema: type: string default: "" - variable: daemon_extra_args label: Tailscale Daemon Extra Args description: Tailscale Daemon Extra Args schema: type: string default: "" - variable: killSwitch label: Enable Killswitch schema: type: boolean show_if: [["type", "!=", "disabled"]] default: true - variable: excludedNetworks_IPv4 label: Killswitch Excluded IPv4 networks description: List of Killswitch Excluded IPv4 Addresses schema: type: list show_if: [["type", "!=", "disabled"]] default: [] items: - variable: networkv4 label: IPv4 Network schema: type: string required: true - variable: excludedNetworks_IPv6 label: Killswitch Excluded IPv6 networks description: "List of Killswitch Excluded IPv6 Addresses" schema: type: list show_if: [["type", "!=", "disabled"]] default: [] items: - variable: networkv6 label: IPv6 Network schema: type: string required: true - variable: configFile label: VPN Config File Location schema: type: dict show_if: [["type", "!=", "disabled"]] attrs: - variable: enabled label: Enabled schema: type: boolean default: true hidden: true - variable: type label: Type schema: type: string default: hostPath hidden: true - variable: hostPathType label: hostPathType schema: type: string default: File hidden: true - variable: noMount label: noMount schema: type: boolean default: true hidden: true - variable: hostPath label: Full Path to File description: "Path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" schema: type: string default: "" - variable: envList label: VPN Environment Variables schema: type: list show_if: [["type", "!=", "disabled"]] default: [] items: - variable: envItem label: Environment Variable schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string required: true - variable: value label: Value schema: type: string required: true - variable: codeserver label: Codeserver schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enabled schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: git label: Git Settings schema: additional_attrs: true type: dict attrs: - variable: deployKey description: Raw SSH Private Key label: Deploy Key schema: type: string - variable: deployKeyBase64 description: Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence label: Deploy Key Base64 schema: type: string - variable: service label: "" schema: additional_attrs: true type: dict attrs: - variable: type label: Service Type description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" schema: type: string default: NodePort enum: - value: NodePort description: NodePort - value: ClusterIP description: ClusterIP - value: LoadBalancer description: LoadBalancer - variable: loadBalancerIP label: LoadBalancer IP description: LoadBalancerIP schema: show_if: [["type", "=", "LoadBalancer"]] type: string default: "" - variable: externalIPs label: "External IP's" description: "External IP's" schema: show_if: [["type", "=", "LoadBalancer"]] type: list default: [] items: - variable: externalIP label: External IP schema: type: string - variable: ports label: "" schema: additional_attrs: true type: dict attrs: - variable: codeserver label: "" schema: additional_attrs: true type: dict attrs: - variable: nodePort description: Leave Empty to Disable label: "nodePort" schema: type: int default: 36107 - variable: envList label: Codeserver Environment Variables schema: type: list show_if: [["type", "!=", "disabled"]] default: [] items: - variable: envItem label: Environment Variable schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string required: true - variable: value label: Value schema: type: string required: true - variable: promtail label: Promtail schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enabled schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: loki label: Loki URL schema: type: string required: true - variable: logs label: Log Paths schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string required: true - variable: path label: Path schema: type: string required: true - variable: args label: Promtail Command Line Arguments schema: type: list show_if: [["type", "!=", "disabled"]] default: [] items: - variable: arg label: Arg schema: type: string required: true - variable: envList label: Promtail Environment Variables schema: type: list show_if: [["type", "!=", "disabled"]] default: [] items: - variable: envItem label: Environment Variable schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string required: true - variable: value label: Value schema: type: string required: true - variable: netshoot label: Netshoot schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enabled schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: envList label: Netshoot Environment Variables schema: type: list show_if: [["type", "!=", "disabled"]] default: [] items: - variable: envItem label: Environment Variable schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string required: true - variable: value label: Value schema: type: string required: true - variable: docs group: Documentation label: Please read the documentation at https://truecharts.org 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