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: blocky group: Container Configuration label: Blocky Configuration schema: additional_attrs: true type: dict attrs: - variable: enableWebUI label: Enable Web UI description: Enables Web UI schema: type: boolean default: true - variable: enablePrometheus label: Enable Prometheus Endpoint description: Enables Prometheus Endpoint schema: type: boolean default: true - variable: overrideDefaults group: Container Configuration label: Override Default Upstreams description: Overrides the predefined DNS server upstream list schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: defaultUpstreams label: Default Upstreams schema: type: list default: [] items: - variable: upstreamEntry label: Upstream Entry schema: type: string required: true default: "" - variable: upstreams group: Container Configuration label: Upstreams Groups description: schema: type: list default: [] items: - variable: upstreamsGroupEntry label: Upstreams Group Entry schema: additional_attrs: true type: dict attrs: - variable: name label: Group Name schema: type: string required: true default: "" - variable: upstreams label: Upstreams schema: type: list required: true default: [] items: - variable: upstreamEntry label: upstream Entry schema: type: string required: true default: "" - variable: bootstrapDns group: Container Configuration label: Bootstrap DNS schema: additional_attrs: true type: dict attrs: - variable: upstream label: Upstream schema: type: string default: "" - variable: ips label: IPs schema: type: list default: [] items: - variable: ipEntry label: IP Entry schema: type: string required: true default: "" - variable: filtering group: Container Configuration label: Filtering schema: additional_attrs: true type: dict attrs: - variable: queryTypes label: Query Types schema: type: list default: [] items: - variable: queryTypeEntry label: Query Type Entry schema: type: string required: true default: "" - variable: customDNS group: Container Configuration label: Custom DNS schema: additional_attrs: true type: dict attrs: - variable: customTTL label: Custom TTL schema: type: string default: 1h - variable: filterUnmappedTypes label: Filter Unmapped Types schema: type: boolean default: true - variable: rewrite label: Rewrite schema: type: list default: [] items: - variable: rewriteEntry label: Rewrite Entry schema: type: dict additional_attrs: true attrs: - variable: in label: In schema: type: string required: true default: "" - variable: out label: Out schema: type: string required: true default: "" - variable: mapping label: Mapping schema: type: list default: [] items: - variable: mappingEntry label: Mapping Entry schema: type: dict additional_attrs: true attrs: - variable: in label: In schema: type: string required: true default: "" - variable: out label: Out schema: type: string required: true default: "" - variable: clientLookup group: Container Configuration label: Client Lookup schema: additional_attrs: true type: dict attrs: - variable: upstream label: Upstream schema: type: string default: "" - variable: singleNameOrder label: Single Name Order schema: type: list default: [] items: - variable: singleNameEntry label: Single Name Entry schema: type: string required: true default: "" - variable: clients label: Clients schema: type: list default: [] items: - variable: clientEntry label: Client Entry schema: type: dict additional_attrs: true attrs: - variable: domain label: Domain schema: type: string required: true default: "" - variable: ips label: IPs schema: type: list default: [] items: - variable: ipEntry label: IP Entry schema: type: string required: true default: "" - variable: caching group: Container Configuration label: Caching schema: additional_attrs: true type: dict attrs: - variable: minTime label: Min Time schema: type: string default: "" - variable: maxTime label: Max Time schema: type: string default: "" - variable: maxItemsCount label: Max Items Count schema: type: int default: 0 - variable: prefetching label: Prefetching schema: type: boolean default: false - variable: prefetchExpires label: Prefetch Expires schema: type: string default: 2h - variable: prefetchThreshold label: Prefetch Threshold schema: type: int default: 5 - variable: prefetchMaxItemsCount label: Prefetch Max Items Count schema: type: int default: 0 - variable: cacheTimeNegative label: Cache Time Negative schema: type: string default: 30m - variable: conditional group: Container Configuration label: Conditional schema: additional_attrs: true type: dict attrs: - variable: rewrite label: Rewrite schema: type: list default: [] items: - variable: rewriteEntry label: Rewrite Entry schema: type: dict additional_attrs: true attrs: - variable: in label: In schema: type: string required: true default: "" - variable: out label: Out schema: type: string required: true default: "" - variable: mapping label: Mapping schema: type: list default: [] items: - variable: mappingEntry label: Mapping Entry schema: type: dict additional_attrs: true attrs: - variable: domain label: Domain schema: type: string required: true default: "" - variable: dnsserver label: DNS Server schema: type: string required: true default: "" - variable: blocking group: Container Configuration label: Blocking schema: additional_attrs: true type: dict attrs: - variable: blockType label: Block Type description: Set the response should be sent to the client, if a requested query is blocked schema: type: string default: nxDomain - variable: blockTTL label: Block TTL description: Set the TTL for answers to blocked domains schema: type: string default: 6h - variable: refreshPeriod label: Refresh Period description: Set how often blocky should refresh list cache schema: type: string default: 4h - variable: downloadTimeout label: Download Timeout description: Download attempt timeout schema: type: string default: 60s - variable: downloadAttempts label: Download Attempts description: How many download attempts should be performed schema: type: int default: 3 - variable: downloadCooldown label: Download Cooldown description: Time between the download attempts schema: type: string default: 2s - variable: failStartOnListError label: Fail Start on List Error description: Fail to start if at least one list can't be downloaded or opened schema: type: boolean default: false - variable: processingConcurrency label: Processing Concurrency description: Sets how many list-groups can be processed at the same time schema: type: int default: 4 - variable: whitelist label: Whitelist description: Define whitelists, either URL or file schema: type: list default: [] items: - variable: whitelistEntry label: Whitelist Group Entry schema: additional_attrs: true type: dict attrs: - variable: name label: Group Name schema: type: string required: true default: "" - variable: lists label: Lists schema: type: list required: true default: [] items: - variable: listEntry label: List Entry schema: type: string required: true default: "" - variable: blacklist label: Blacklist description: Define blacklists, either URL or file schema: type: list default: [] items: - variable: blacklistEntry label: Blacklist Group Entry schema: additional_attrs: true type: dict attrs: - variable: name label: Group Name schema: type: string required: true default: "" - variable: lists label: Lists schema: type: list required: true default: [] items: - variable: listEntry label: List Entry schema: type: string required: true default: "" - variable: clientGroupsBlock label: Client Groups Block description: Define, which blocking group(s) should be used for which client in your network. schema: type: list default: [] items: - variable: clientGroupBlockEntry label: Client Group Block Entry schema: additional_attrs: true type: dict attrs: - variable: name label: Client Group Name schema: type: string required: true default: "" - variable: groups label: Groups schema: type: list required: true default: [] items: - variable: groupEntry label: Group Entry schema: type: string required: true default: "" - variable: hostsFile group: Container Configuration label: Hosts File schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enabled schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: filePath label: File Path schema: type: string default: /etc/hosts - variable: hostsTTL label: Hosts TTL schema: type: string default: 60m - variable: refreshPeriod label: Refresh Period schema: type: string default: 30m - variable: k8sgateway group: Container Configuration label: k8s-Gateway Configuration schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enable k8s-Gateway description: Enables k8s-Gateway schema: type: boolean default: true show_subquestions_if: true subquestions: - variable: domains label: Domains description: Please refer to CoreDNS docs for options schema: type: list default: [] items: - variable: domainEntry label: "" schema: additional_attrs: true type: dict attrs: - variable: domain label: Domain name schema: type: string required: true default: example.com - variable: dnsChallenge label: Forward dnsChallenge description: Optional configuration option for DNS01 challenge that will redirect all acme schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enable schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: domain label: Forward to Domain schema: type: string required: true default: dns01.clouddns.com - variable: advancedOptions label: Advanced Options schema: type: boolean default: false show_if: [["enabled", "=", "true"]] show_subquestions_if: true subquestions: - variable: ttl label: ttl description: TTL for non-apex responses (in seconds) schema: type: int default: 300 - variable: watchedResources label: Watched Resources description: imit what kind of resources to watch, e.g. Ingress schema: type: list default: [] items: - variable: watchedResource label: Watched Resource schema: type: string default: "" - variable: secondary label: Secondary DNS Server Service description: Service name of a secondary DNS server (should be serviceName.namespace) schema: type: string default: "" - variable: apex label: Apex description: Override the default `serviceName.namespace` domain apex schema: type: string 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 and Loadbalancer exposes the service using the system loadbalancer" schema: type: string default: LoadBalancer enum: - value: LoadBalancer description: LoadBalancer (Expose Ports) - value: ClusterIP description: ClusterIP (Do Not Expose Ports) - value: Simple description: Deprecated CHANGE THIS - variable: loadBalancerIP label: LoadBalancer IP description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" schema: show_if: [["type", "=", "LoadBalancer"]] type: string default: "" - variable: advancedsvcset label: Show Advanced Service Settings schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: externalIPs label: "External IP's" description: "External IP's" schema: type: list default: [] items: - variable: externalIP label: External IP schema: type: string - variable: ipFamilyPolicy label: IP Family Policy description: Specify the IP Policy schema: type: string default: SingleStack enum: - value: SingleStack description: SingleStack - value: PreferDualStack description: PreferDualStack - value: RequireDualStack description: RequireDualStack - variable: ipFamilies label: IP Families description: The IP Families that should be used schema: type: list default: [] items: - variable: ipFamily label: IP Family schema: type: string - variable: ports label: "Service's Port(s) Configuration" schema: additional_attrs: true type: dict attrs: - variable: main label: Main Service Port Configuration schema: additional_attrs: true type: dict attrs: - variable: port label: Port description: This port exposes the container port on the service schema: type: int default: 10315 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: 80 - variable: dns-tcp label: DNS TCP Service description: The DNS TCP service schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enable the Service schema: type: boolean default: true hidden: true - variable: type label: Service Type description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" schema: type: string default: LoadBalancer enum: - value: LoadBalancer description: LoadBalancer (Expose Ports) - value: ClusterIP description: ClusterIP (Do Not Expose Ports) - value: Simple description: Deprecated CHANGE THIS - variable: loadBalancerIP label: LoadBalancer IP description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" schema: show_if: [["type", "=", "LoadBalancer"]] type: string default: "" - variable: advancedsvcset label: Show Advanced Service Settings schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: externalIPs label: "External IP's" description: "External IP's" schema: type: list default: [] items: - variable: externalIP label: External IP schema: type: string - variable: ipFamilyPolicy label: IP Family Policy description: Specify the IP Policy schema: type: string default: SingleStack enum: - value: SingleStack description: SingleStack - value: PreferDualStack description: PreferDualStack - value: RequireDualStack description: RequireDualStack - variable: ipFamilies label: IP Families description: The IP Families that should be used schema: type: list default: [] items: - variable: ipFamily label: IP Family schema: type: string - variable: ports label: "Service's Port(s) Configuration" schema: additional_attrs: true type: dict attrs: - variable: dns-tcp label: DNS TCP 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: 53 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: TCP 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: 53 - variable: dns-udp label: DNS UDP Service description: The DNS UDP service schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enable the Service schema: type: boolean default: true hidden: true - variable: type label: Service Type description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" schema: type: string default: LoadBalancer enum: - value: LoadBalancer description: LoadBalancer (Expose Ports) - value: ClusterIP description: ClusterIP (Do Not Expose Ports) - value: Simple description: Deprecated CHANGE THIS - variable: loadBalancerIP label: LoadBalancer IP description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" schema: show_if: [["type", "=", "LoadBalancer"]] type: string default: "" - variable: advancedsvcset label: Show Advanced Service Settings schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: externalIPs label: "External IP's" description: "External IP's" schema: type: list default: [] items: - variable: externalIP label: External IP schema: type: string - variable: ipFamilyPolicy label: IP Family Policy description: Specify the IP Policy schema: type: string default: SingleStack enum: - value: SingleStack description: SingleStack - value: PreferDualStack description: PreferDualStack - value: RequireDualStack description: RequireDualStack - variable: ipFamilies label: IP Families description: The IP Families that should be used schema: type: list default: [] items: - variable: ipFamily label: IP Family schema: type: string - variable: ports label: "Service's Port(s) Configuration" schema: additional_attrs: true type: dict attrs: - variable: dns-udp label: DNS UDP 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: 53 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: UDP 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: 53 - variable: dot label: DoT Service description: "DNS-over-TLS service" 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: ClusterIP enum: - value: LoadBalancer description: LoadBalancer (Expose Ports) - value: ClusterIP description: ClusterIP (Do Not Expose Ports) - value: Simple description: Deprecated CHANGE THIS - variable: loadBalancerIP label: LoadBalancer IP description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" schema: show_if: [["type", "=", "LoadBalancer"]] type: string default: "" - variable: advancedsvcset label: Show Advanced Service Settings schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: externalIPs label: "External IP's" description: "External IP's" schema: type: list default: [] items: - variable: externalIP label: External IP schema: type: string - variable: ipFamilyPolicy label: IP Family Policy description: Specify the IP Policy schema: type: string default: SingleStack enum: - value: SingleStack description: SingleStack - value: PreferDualStack description: PreferDualStack - value: RequireDualStack description: RequireDualStack - variable: ipFamilies label: IP Families description: The IP Families that should be used schema: type: list default: [] items: - variable: ipFamily label: IP Family schema: type: string - variable: ports label: "Service's Port(s) Configuration" schema: additional_attrs: true type: dict attrs: - variable: dot label: DoT 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: 853 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: UDP 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: 853 - variable: http label: HTTP and Metrics Service description: "service for things like metrics, pprof, API, DoH etc" 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: ClusterIP enum: - value: LoadBalancer description: LoadBalancer (Expose Ports) - value: ClusterIP description: ClusterIP (Do Not Expose Ports) - value: Simple description: Deprecated CHANGE THIS - variable: loadBalancerIP label: LoadBalancer IP description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" schema: show_if: [["type", "=", "LoadBalancer"]] type: string default: "" - variable: advancedsvcset label: Show Advanced Service Settings schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: externalIPs label: "External IP's" description: "External IP's" schema: type: list default: [] items: - variable: externalIP label: External IP schema: type: string - variable: ipFamilyPolicy label: IP Family Policy description: Specify the IP Policy schema: type: string default: SingleStack enum: - value: SingleStack description: SingleStack - value: PreferDualStack description: PreferDualStack - value: RequireDualStack description: RequireDualStack - variable: ipFamilies label: IP Families description: The IP Families that should be used schema: type: list default: [] items: - variable: ipFamily label: IP Family schema: type: string - variable: ports label: "Service's Port(s) Configuration" schema: additional_attrs: true type: dict attrs: - variable: http label: HTTP and Metrics 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: 4000 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: UDP 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: 4000 - variable: serviceexpert group: Networking and Services label: Show Expert Config schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: hostNetwork group: Networking and Services label: Host-Networking (Complicated) schema: type: boolean default: false - variable: externalInterfaces description: Add External Interfaces label: Add external Interfaces group: Networking schema: type: list items: - variable: interfaceConfiguration description: Interface Configuration label: Interface Configuration schema: type: dict $ref: - "normalize/interfaceConfiguration" attrs: - variable: hostInterface description: Please Specify Host Interface label: Host Interface schema: type: string required: true $ref: - "definitions/interface" - variable: ipam description: Define how IP Address will be managed label: IP Address Management schema: type: dict required: true attrs: - variable: type description: Specify type for IPAM label: IPAM Type schema: type: string required: true enum: - value: dhcp description: Use DHCP - value: static description: Use Static IP show_subquestions_if: static subquestions: - variable: staticIPConfigurations label: Static IP Addresses schema: type: list items: - variable: staticIP label: Static IP schema: type: ipaddr cidr: true - variable: staticRoutes label: Static Routes schema: type: list items: - variable: staticRouteConfiguration label: Static Route Configuration schema: additional_attrs: true type: dict attrs: - variable: destination label: Destination schema: type: ipaddr cidr: true required: true - variable: gateway label: Gateway schema: type: ipaddr cidr: false required: true - variable: dnsPolicy group: Networking and Services label: dnsPolicy schema: type: string default: "" enum: - value: "" description: Default - value: ClusterFirst description: ClusterFirst - value: ClusterFirstWithHostNet description: ClusterFirstWithHostNet - value: None description: None - variable: dnsConfig label: DNS Configuration group: Networking and Services description: Specify custom DNS configuration which will be applied to the pod schema: additional_attrs: true type: dict attrs: - variable: nameservers label: Name Servers schema: default: [] type: list items: - variable: nameserver label: Name Server schema: type: string - variable: options label: Options schema: default: [] type: list items: - variable: option label: Option Entry schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string - variable: value label: Value schema: type: string - variable: searches label: Searches schema: default: [] type: list items: - variable: search label: Search Entry schema: type: string - variable: serviceList label: Add Manual Custom Services group: Networking and Services schema: type: list default: [] items: - variable: serviceListEntry label: Custom Service schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enable the service schema: type: boolean default: true hidden: true - variable: name label: Name schema: type: string default: "" - variable: type label: Service Type description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" schema: type: string default: LoadBalancer enum: - value: LoadBalancer description: LoadBalancer (Expose Ports) - value: ClusterIP description: ClusterIP (Do Not Expose Ports) - value: Simple description: Deprecated CHANGE THIS - variable: loadBalancerIP label: LoadBalancer IP description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" schema: show_if: [["type", "=", "LoadBalancer"]] type: string default: "" - variable: advancedsvcset label: Show Advanced Service Settings schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: externalIPs label: "External IP's" description: "External IP's" schema: type: list default: [] items: - variable: externalIP label: External IP schema: type: string - variable: ipFamilyPolicy label: IP Family Policy description: Specify the IP Policy schema: type: string default: SingleStack enum: - value: SingleStack description: SingleStack - value: PreferDualStack description: PreferDualStack - value: RequireDualStack description: RequireDualStack - variable: ipFamilies label: IP Families description: (Advanced) The IP Families that should be used schema: type: list default: [] items: - variable: ipFamily label: IP Family schema: type: string - variable: portsList label: Additional Service Ports schema: type: list default: [] items: - variable: portsListEntry label: Custom ports schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enable the Port schema: type: boolean default: true hidden: true - variable: name label: Port Name schema: type: string default: "" - variable: protocol label: Port Type schema: type: string default: TCP enum: - value: HTTP description: HTTP - value: HTTPS description: HTTPS - value: TCP description: TCP - value: UDP description: UDP - variable: targetPort label: Target Port description: This port exposes the container port on the service schema: type: int required: true - variable: port label: Container Port schema: type: int required: true - variable: persistenceList label: Additional App Storage group: Storage and Persistence schema: type: list default: [] items: - variable: persistenceListEntry label: Custom Storage schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enable the storage schema: type: boolean default: true hidden: true - variable: name label: Name (Optional) description: "Not required, please set to config when mounting /config or temp when mounting /tmp" schema: type: string - variable: type label: Type of Storage description: Sets the persistence type, Anything other than PVC could break rollback! schema: type: string default: simpleHP enum: - value: simplePVC description: PVC (Simple) - value: simpleHP description: Host Path (Simple) - value: emptyDir description: emptyDir - value: pvc description: PVC - value: hostPath description: Host Path - value: nfs description: NFS Share - variable: server label: NFS Server schema: show_if: [["type", "=", "nfs"]] type: string default: "" - variable: path label: Path on NFS Server schema: show_if: [["type", "=", "nfs"]] type: string default: "" - variable: setPermissionsSimple label: Automatic Permissions description: Automatically set permissions on install schema: show_if: [["type", "=", "simpleHP"]] type: boolean default: false - variable: setPermissions label: Automatic Permissions description: Automatically set permissions on install schema: show_if: [["type", "=", "hostPath"]] type: boolean default: false - variable: readOnly label: Read Only schema: type: boolean default: false - variable: hostPathSimple label: Host Path description: Path inside the container the storage is mounted schema: show_if: [["type", "=", "simpleHP"]] type: hostpath - variable: hostPath label: Host Path description: Path inside the container the storage is mounted schema: show_if: [["type", "=", "hostPath"]] type: hostpath - variable: mountPath label: Mount Path description: Path inside the container the storage is mounted schema: type: string default: "" required: true valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' - variable: medium label: EmptyDir Medium schema: show_if: [["type", "=", "emptyDir"]] type: string default: "" enum: - value: "" description: Default - value: Memory description: Memory - variable: size label: Size Quotum of Storage schema: show_if: [["type", "=", "pvc"]] type: string default: 999Gi - variable: hostPathType label: (Advanced) Host Path Type schema: show_if: [["type", "=", "hostPath"]] type: string default: "" enum: - value: "" description: Default - value: DirectoryOrCreate description: DirectoryOrCreate - value: Directory description: Directory - value: FileOrCreate description: FileOrCreate - value: File description: File - value: Socket description: Socket - value: CharDevice description: CharDevice - value: BlockDevice description: BlockDevice - variable: storageClass label: (Advanced) StorageClass description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" schema: show_if: [["type", "=", "pvc"]] type: string default: SCALE-ZFS - variable: accessMode label: (Advanced) Access Mode description: Allow or disallow multiple PVC's writhing to the same PV schema: show_if: [["type", "=", "pvc"]] type: string default: ReadWriteOnce enum: - value: ReadWriteOnce description: ReadWriteOnce - value: ReadOnlyMany description: ReadOnlyMany - value: ReadWriteMany description: ReadWriteMany - variable: advanced label: Show Advanced Options schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: labelsList label: Labels schema: type: list default: [] items: - variable: labelItem label: Label schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string - variable: value label: Value schema: type: string - variable: annotationsList label: Annotations schema: type: list default: [] items: - variable: annotationItem label: Label schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string - variable: value label: Value schema: type: string - variable: ingress label: "" group: Ingress schema: additional_attrs: true type: dict attrs: - variable: main label: Main Ingress schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enable Ingress schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: hosts label: Hosts schema: type: list default: [] items: - variable: hostEntry label: Host schema: additional_attrs: true type: dict attrs: - variable: host label: HostName schema: type: string default: "" required: true - variable: paths label: Paths schema: type: list default: [] items: - variable: pathEntry label: Host schema: additional_attrs: true type: dict attrs: - variable: path label: Path schema: type: string required: true default: "/" - variable: pathType label: Path Type schema: type: string required: true default: Prefix - variable: tls label: TLS-Settings schema: type: list default: [] items: - variable: tlsEntry label: Host schema: additional_attrs: true type: dict attrs: - variable: hosts label: Certificate Hosts schema: type: list default: [] items: - variable: host label: Host schema: type: string default: "" required: true - variable: scaleCert label: Select TrueNAS SCALE Certificate schema: type: int $ref: - "definitions/certificate" - variable: entrypoint label: (Advanced) Traefik Entrypoint description: Entrypoint used by Traefik when using Traefik as Ingress Provider schema: type: string default: websecure required: true - variable: middlewares label: Traefik Middlewares description: Add previously created Traefik Middlewares to this Ingress schema: type: list default: [] items: - variable: name label: Name schema: type: string default: "" required: true - variable: expert label: Show Expert Configuration Options schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: enableFixedMiddlewares description: These middlewares enforce a number of best practices. label: Enable Default Middlewares schema: type: boolean default: true - variable: ingressClassName label: IngressClass Name schema: type: string default: "" - variable: labelsList label: Labels schema: type: list default: [] items: - variable: labelItem label: Label schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string - variable: value label: Value schema: type: string - variable: annotationsList label: Annotations schema: type: list default: [] items: - variable: annotationItem label: Label schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string - variable: value label: Value schema: type: string - variable: ingressList label: Add Manual Custom Ingresses group: Ingress schema: type: list default: [] items: - variable: ingressListEntry label: Custom Ingress schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enable Ingress schema: type: boolean default: true hidden: true - variable: name label: Name schema: type: string default: "" - variable: ingressClassName label: IngressClass Name schema: type: string default: "" - variable: labelsList label: Labels schema: type: list default: [] items: - variable: labelItem label: Label schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string - variable: value label: Value schema: type: string - variable: annotationsList label: Annotations schema: type: list default: [] items: - variable: annotationItem label: Label schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string - variable: value label: Value schema: type: string - variable: hosts label: Hosts schema: type: list default: [] items: - variable: hostEntry label: Host schema: additional_attrs: true type: dict attrs: - variable: host label: HostName schema: type: string default: "" required: true - variable: paths label: Paths schema: type: list default: [] items: - variable: pathEntry label: Host schema: additional_attrs: true type: dict attrs: - variable: path label: Path schema: type: string required: true default: "/" - variable: pathType label: Path Type schema: type: string required: true default: Prefix - variable: service label: Linked Service schema: additional_attrs: true type: dict attrs: - variable: name label: Service Name schema: type: string default: "" - variable: port label: Service Port schema: type: int - variable: tls label: TLS-Settings schema: type: list default: [] items: - variable: tlsEntry label: Host schema: additional_attrs: true type: dict attrs: - variable: hosts label: Certificate Hosts schema: type: list default: [] items: - variable: host label: Host schema: type: string default: "" required: true - variable: scaleCert label: Select TrueNAS SCALE Certificate schema: type: int $ref: - "definitions/certificate" - variable: entrypoint label: Traefik Entrypoint description: Entrypoint used by Traefik when using Traefik as Ingress Provider schema: type: string default: websecure required: true - variable: middlewares label: Traefik Middlewares description: Add previously created Traefik Middlewares to this Ingress schema: type: list default: [] items: - variable: name label: Name schema: type: string default: "" required: true - variable: security label: Container Security Settings group: Security and Permissions schema: type: dict additional_attrs: true attrs: - variable: editsecurity label: Change PUID / UMASK values description: By enabling this you override default set values. schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: PUID label: Process User ID - PUID description: When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps schema: type: int default: 568 - variable: UMASK label: UMASK description: When supported by the container, this sets the UMASK for the App. Not supported by all Apps schema: type: string default: "002" - variable: advancedSecurity label: Show Advanced Security Settings group: Security and Permissions schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: securityContext label: Security Context schema: additional_attrs: true type: dict attrs: - variable: privileged label: Privileged mode schema: type: boolean default: false - variable: readOnlyRootFilesystem label: ReadOnly Root Filesystem schema: type: boolean default: true - variable: allowPrivilegeEscalation label: Allow Privilege Escalation schema: type: boolean default: false - variable: runAsNonRoot label: runAsNonRoot schema: type: boolean default: true - variable: capabilities label: Capabilities schema: additional_attrs: true type: dict attrs: - variable: drop label: Drop Capability schema: type: list default: [] items: - variable: dropEntry label: "" schema: type: string - variable: add label: Add Capability schema: type: list default: [] items: - variable: addEntry label: "" schema: type: string - variable: podSecurityContext group: Security and Permissions label: Pod Security Context schema: additional_attrs: true type: dict attrs: - variable: runAsUser label: runAsUser description: The UserID of the user running the application schema: type: int default: 568 - variable: runAsGroup label: runAsGroup description: The groupID this App of the user running the application schema: type: int default: 568 - variable: fsGroup label: fsGroup description: The group that should own ALL storage. schema: type: int default: 568 - variable: fsGroupChangePolicy label: "When should we take ownership?" schema: type: string default: OnRootMismatch enum: - value: OnRootMismatch description: OnRootMismatch - value: Always description: Always - variable: supplementalGroups label: Supplemental Groups schema: type: list default: [] items: - variable: supplementalGroupsEntry label: Supplemental Group schema: type: int - variable: advancedresources label: Set Custom Resource Limits/Requests (Advanced) group: Resources and Devices schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: resources label: "" schema: additional_attrs: true type: dict attrs: - variable: limits label: Advanced Limit Resource Consumption schema: additional_attrs: true type: dict attrs: - variable: cpu label: CPU description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" schema: type: string default: 4000m valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' - variable: memory label: RAM description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" schema: type: string default: 8Gi valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' - variable: requests label: "Minimum Resources Required (request)" schema: additional_attrs: true type: dict attrs: - variable: cpu label: CPU description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" schema: type: string default: 10m valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' - variable: memory label: "RAM" description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" schema: type: string default: 50Mi valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' - variable: deviceList label: Mount USB Devices group: Resources and Devices schema: type: list default: [] items: - variable: deviceListEntry label: Device schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enable the Storage schema: type: boolean default: true - variable: type label: (Advanced) Type of Storage description: Sets the persistence type schema: type: string default: hostPath hidden: true - variable: readOnly label: readOnly schema: type: boolean default: false - variable: hostPath label: Host Device Path description: Path to the device on the host system schema: type: path - variable: mountPath label: Container Device Path description: Path inside the container the device is mounted schema: type: string default: "/dev/ttyACM0" # Specify GPU configuration - variable: scaleGPU label: GPU Configuration group: Resources and Devices schema: type: dict $ref: - "definitions/gpuConfiguration" attrs: [] # - variable: autoscaling # group: Advanced # label: (Advanced) Horizontal Pod Autoscaler # schema: # additional_attrs: true # type: dict # attrs: # - variable: enabled # label: Enabled # schema: # type: boolean # default: false # show_subquestions_if: true # subquestions: # - variable: target # label: Target # description: Deployment name, Defaults to Main Deployment # schema: # type: string # default: "" # - variable: minReplicas # label: Minimum Replicas # schema: # type: int # default: 1 # - variable: maxReplicas # label: Maximum Replicas # schema: # type: int # default: 5 # - variable: targetCPUUtilizationPercentage # label: Target CPU Utilization Percentage # schema: # type: int # default: 80 # - variable: targetMemoryUtilizationPercentage # label: Target Memory Utilization Percentage # schema: # type: int # default: 80 # - variable: networkPolicy # group: Advanced # label: (Advanced) Network Policy # schema: # additional_attrs: true # type: dict # attrs: # - variable: enabled # label: Enabled # schema: # type: boolean # default: false # show_subquestions_if: true # subquestions: # - variable: policyType # label: Policy Type # schema: # type: string # default: "" # enum: # - value: "" # description: Default # - value: ingress # description: Ingress # - value: egress # description: Egress # - value: ingress-egress # description: Ingress and Egress # - variable: egress # label: Egress # schema: # type: list # default: [] # items: # - variable: egressEntry # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: to # label: To # schema: # type: list # default: [] # items: # - variable: toEntry # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: ipBlock # label: IP Block # schema: # additional_attrs: true # type: dict # attrs: # - variable: cidr # label: CIDR # schema: # type: string # default: "" # - variable: except # label: Except # schema: # type: list # default: [] # items: # - variable: exceptint # label: "" # schema: # type: string # - variable: namespaceSelector # label: Namespace Selector # schema: # additional_attrs: true # type: dict # attrs: # - variable: matchExpressions # label: Match Expressions # schema: # type: list # default: [] # items: # - variable: expressionEntry # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: key # label: Key # schema: # type: string # - variable: operator # label: Operator # schema: # type: string # default: TCP # enum: # - value: In # description: In # - value: NotIn # description: NotIn # - value: Exists # description: Exists # - value: DoesNotExist # description: DoesNotExist # - variable: values # label: Values # schema # type: list # default: [] # items: # - variable: value # label: "" # schema: # type: string # - variable: podSelector # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: matchExpressions # label: Match Expressions # schema: # type: list # default: [] # items: # - variable: expressionEntry # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: key # label: Key # schema: # type: string # - variable: operator # label: Operator # schema: # type: string # default: TCP # enum: # - value: In # description: In # - value: NotIn # description: NotIn # - value: Exists # description: Exists # - value: DoesNotExist # description: DoesNotExist # - variable: values # label: Values # schema: # type: list # default: [] # items: # - variable: value # label: "" # schema: # type: string # - variable: ports # label: Ports # schema: # type: list # default: [] # items: # - variable: portsEntry # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: port # label: Port # schema: # type: int # - variable: endPort # label: End Port # schema: # type: int # - variable: protocol # label: Protocol # schema: # type: string # default: TCP # enum: # - value: TCP # description: TCP # - value: UDP # description: UDP # - value: SCTP # description: SCTP # - variable: ingress # label: Ingress # schema: # type: list # default: [] # items: # - variable: ingressEntry # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: from # label: From # schema: # type: list # default: [] # items: # - variable: fromEntry # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: ipBlock # label: IP Block # schema: # additional_attrs: true # type: dict # attrs: # - variable: cidr # label: CIDR # schema: # type: string # default: "" # - variable: except # label: Except # schema: # type: list # default: [] # items: # - variable: exceptint # label: "" # schema: # type: string # - variable: namespaceSelector # label: Namespace Selector # schema: # additional_attrs: true # type: dict # attrs: # - variable: matchExpressions # label: Match Expressions # schema: # type: list # default: [] # items: # - variable: expressionEntry # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: key # label: Key # schema: # type: string # - variable: operator # label: Operator # schema: # type: string # default: TCP # enum: # - value: In # description: In # - value: NotIn # description: NotIn # - value: Exists # description: Exists # - value: DoesNotExist # description: DoesNotExist # - variable: values # label: Values # schema: # type: list # default: [] # items: # - variable: value # label: "" # schema: # type: string # - variable: podSelector # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: matchExpressions # label: Match Expressions # schema: # type: list # default: [] # items: # - variable: expressionEntry # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: key # label: Key # schema: # type: string # - variable: operator # label: Operator # schema: # type: string # default: TCP # enum: # - value: In # description: In # - value: NotIn # description: NotIn # - value: Exists # description: Exists # - value: DoesNotExist # description: DoesNotExist # - variable: values # label: Values # schema: # type: list # default: [] # items: # - variable: value # label: "" # schema: # type: string # - variable: ports # label: Ports # schema: # type: list # default: [] # items: # - variable: portsEntry # label: "" # schema: # additional_attrs: true # type: dict # attrs: # - variable: port # label: Port # schema: # type: int # - variable: endPort # label: End Port # schema: # type: int # - variable: protocol # label: Protocol # schema: # type: string # default: TCP # enum: # - value: TCP # description: TCP # - value: UDP # description: UDP # - value: SCTP # description: SCTP - variable: addons group: Addons label: "" schema: additional_attrs: true type: dict attrs: - variable: vpn label: VPN schema: additional_attrs: true type: dict attrs: - variable: type label: Type schema: type: string default: disabled enum: - value: disabled description: disabled - value: openvpn description: OpenVPN - value: wireguard description: Wireguard - value: tailscale description: Tailscale - variable: openvpn label: OpenVPN Settings schema: type: dict show_if: [["type", "=", "openvpn"]] attrs: - variable: username label: Authentication Username (Optional) description: Authentication Username, Optional schema: type: string default: "" - variable: password label: Authentication Password description: Authentication Credentials schema: type: string default: "" required: true - variable: tailscale label: Tailscale Settings schema: type: dict show_if: [["type", "=", "tailscale"]] attrs: - variable: authkey label: Authentication Key description: Provide an auth key to automatically authenticate the node as your user account. schema: type: string private: true default: "" - variable: accept_dns label: Accept DNS description: Accept DNS configuration from the admin console. schema: type: boolean default: false - variable: userspace label: Userspace description: Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device. schema: type: boolean default: false - variable: routes label: Routes description: Expose physical subnet routes to your entire Tailscale network. schema: type: string default: "" - variable: dest_ip label: Destination IP description: Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched. schema: type: string default: "" - variable: sock5_server label: Sock5 Server description: Sock5 Server schema: type: string default: "" - variable: extra_args label: Extra Args description: Extra Args schema: type: string default: "" - variable: daemon_extra_args label: Tailscale Daemon Extra Args description: Tailscale Daemon Extra Args schema: type: string default: "" - variable: killSwitch label: Enable Killswitch schema: type: boolean show_if: [["type", "!=", "disabled"]] default: true - variable: excludedNetworks_IPv4 label: Killswitch Excluded IPv4 networks description: List of Killswitch Excluded IPv4 Addresses schema: type: list show_if: [["type", "!=", "disabled"]] default: [] items: - variable: networkv4 label: IPv4 Network schema: type: string required: true - variable: excludedNetworks_IPv6 label: Killswitch Excluded IPv6 networks description: "List of Killswitch Excluded IPv6 Addresses" schema: type: list show_if: [["type", "!=", "disabled"]] default: [] items: - variable: networkv6 label: IPv6 Network schema: type: string required: true - variable: configFile label: VPN Config File Location schema: type: dict show_if: [["type", "!=", "disabled"]] attrs: - variable: enabled label: Enabled schema: type: boolean default: true hidden: true - variable: type label: Type schema: type: string default: hostPath hidden: true - variable: hostPathType label: hostPathType schema: type: string default: File hidden: true - variable: noMount label: noMount schema: type: boolean default: true hidden: true - variable: hostPath label: Full Path to File description: "Path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" schema: type: string default: "" - variable: envList label: VPN Environment Variables schema: type: list show_if: [["type", "!=", "disabled"]] default: [] items: - variable: envItem label: Environment Variable schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string required: true - variable: value label: Value schema: type: string required: true - variable: codeserver label: Codeserver schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enabled schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: git label: Git Settings schema: additional_attrs: true type: dict attrs: - variable: deployKey description: Raw SSH Private Key label: Deploy Key schema: type: string - variable: deployKeyBase64 description: Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence label: Deploy Key Base64 schema: type: string - variable: service label: "" schema: additional_attrs: true type: dict attrs: - variable: type label: Service Type description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" schema: type: string default: LoadBalancer enum: - value: NodePort description: Deprecated CHANGE THIS - value: ClusterIP description: ClusterIP - value: LoadBalancer description: LoadBalancer - variable: loadBalancerIP label: LoadBalancer IP description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" schema: show_if: [["type", "=", "LoadBalancer"]] type: string default: "" - variable: advancedsvcset label: Show Advanced Service Settings schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: externalIPs label: "External IP's" description: "External IP's" schema: type: list default: [] items: - variable: externalIP label: External IP schema: type: string - variable: ipFamilyPolicy label: IP Family Policy description: Specify the IP Policy schema: type: string default: SingleStack enum: - value: SingleStack description: SingleStack - value: PreferDualStack description: PreferDualStack - value: RequireDualStack description: RequireDualStack - variable: ipFamilies label: IP Families description: (Advanced) The IP Families that should be used schema: type: list default: [] items: - variable: ipFamily label: IP Family schema: type: string - variable: ports label: "" schema: additional_attrs: true type: dict attrs: - variable: codeserver label: "" schema: additional_attrs: true type: dict attrs: - variable: port label: Port schema: type: int default: 36107 - variable: nodePort description: Leave Empty to Disable label: nodePort DEPRECATED schema: type: int default: 36107 - variable: envList label: Codeserver Environment Variables schema: type: list show_if: [["type", "!=", "disabled"]] default: [] items: - variable: envItem label: Environment Variable schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string required: true - variable: value label: Value schema: type: string required: true - variable: promtail label: Promtail schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enabled schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: loki label: Loki URL schema: type: string required: true - variable: logs label: Log Paths schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string required: true - variable: path label: Path schema: type: string required: true - variable: args label: Promtail Command Line Arguments schema: type: list show_if: [["type", "!=", "disabled"]] default: [] items: - variable: arg label: Arg schema: type: string required: true - variable: envList label: Promtail Environment Variables schema: type: list show_if: [["type", "!=", "disabled"]] default: [] items: - variable: envItem label: Environment Variable schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string required: true - variable: value label: Value schema: type: string required: true - variable: netshoot label: Netshoot schema: additional_attrs: true type: dict attrs: - variable: enabled label: Enabled schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: envList label: Netshoot Environment Variables schema: type: list show_if: [["type", "!=", "disabled"]] default: [] items: - variable: envItem label: Environment Variable schema: additional_attrs: true type: dict attrs: - variable: name label: Name schema: type: string required: true - variable: value label: Value schema: type: string required: true - variable: docs group: Documentation label: Please read the documentation at https://truecharts.org description: Please read the documentation at
https://truecharts.org schema: additional_attrs: true type: dict attrs: - variable: confirmDocs label: I have checked the documentation schema: type: boolean default: true - variable: donateNag group: Documentation label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor description: Please consider supporting TrueCharts, see
https://truecharts.org/sponsor schema: additional_attrs: true type: dict attrs: - variable: confirmDonate label: I have considered donating schema: type: boolean default: true hidden: true