From a0e479a39740fc387fd8bb564a99d385c2b70507 Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Thu, 16 Nov 2023 22:08:57 +0000 Subject: [PATCH] Commit new Chart releases for TrueCharts Signed-off-by: TrueCharts-Bot --- incubator/wallos/0.0.1/CHANGELOG.md | 8 + incubator/wallos/0.0.1/Chart.yaml | 24 + incubator/wallos/0.0.1/README.md | 27 + incubator/wallos/0.0.1/app-changelog.md | 4 + incubator/wallos/0.0.1/app-readme.md | 8 + .../wallos/0.0.1/charts/common-15.0.1.tgz | Bin 0 -> 76917 bytes incubator/wallos/0.0.1/ix_values.yaml | 31 + incubator/wallos/0.0.1/questions.yaml | 2410 +++++++++++++++++ incubator/wallos/0.0.1/templates/NOTES.txt | 1 + incubator/wallos/0.0.1/templates/common.yaml | 1 + incubator/wallos/0.0.1/values.yaml | 0 incubator/wallos/item.yaml | 4 + 12 files changed, 2518 insertions(+) create mode 100644 incubator/wallos/0.0.1/CHANGELOG.md create mode 100644 incubator/wallos/0.0.1/Chart.yaml create mode 100644 incubator/wallos/0.0.1/README.md create mode 100644 incubator/wallos/0.0.1/app-changelog.md create mode 100644 incubator/wallos/0.0.1/app-readme.md create mode 100644 incubator/wallos/0.0.1/charts/common-15.0.1.tgz create mode 100644 incubator/wallos/0.0.1/ix_values.yaml create mode 100644 incubator/wallos/0.0.1/questions.yaml create mode 100644 incubator/wallos/0.0.1/templates/NOTES.txt create mode 100644 incubator/wallos/0.0.1/templates/common.yaml create mode 100644 incubator/wallos/0.0.1/values.yaml create mode 100644 incubator/wallos/item.yaml diff --git a/incubator/wallos/0.0.1/CHANGELOG.md b/incubator/wallos/0.0.1/CHANGELOG.md new file mode 100644 index 00000000000..bea01661288 --- /dev/null +++ b/incubator/wallos/0.0.1/CHANGELOG.md @@ -0,0 +1,8 @@ +**Important:** +*for the complete changelog, please refer to the website* + + + + +## [wallos-0.0.1]wallos-0.0.1 (2023-11-16) + diff --git a/incubator/wallos/0.0.1/Chart.yaml b/incubator/wallos/0.0.1/Chart.yaml new file mode 100644 index 00000000000..3fed8eac851 --- /dev/null +++ b/incubator/wallos/0.0.1/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: "latest" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 15.0.1 +description: Wallos - Self Hosted Subscription tracker +home: https://truecharts.org/charts/incubator/wallos +icon: https://truecharts.org/img/hotlink-ok/chart-icons/wallos.png +keywords: + - dashboard +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: wallos +sources: + - https://github.com/truecharts/charts/tree/master/charts/incubator/wallos + - https://github.com/ellite/Wallos +version: 0.0.1 +annotations: + truecharts.org/category: media + truecharts.org/SCALE-support: "true" diff --git a/incubator/wallos/0.0.1/README.md b/incubator/wallos/0.0.1/README.md new file mode 100644 index 00000000000..e0a9b8fa8d7 --- /dev/null +++ b/incubator/wallos/0.0.1/README.md @@ -0,0 +1,27 @@ +# README + +## General Info + +TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. +However only installations using the TrueNAS SCALE Apps system are supported. + +For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/stable/) + +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)** + + +## Support + +- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE/guides/scale-intro). +- See the [Website](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/charts/issues/new/choose) + +--- + +## Sponsor TrueCharts + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! + +*All Rights Reserved - The TrueCharts Project* diff --git a/incubator/wallos/0.0.1/app-changelog.md b/incubator/wallos/0.0.1/app-changelog.md new file mode 100644 index 00000000000..2bb4eb6b8a3 --- /dev/null +++ b/incubator/wallos/0.0.1/app-changelog.md @@ -0,0 +1,4 @@ + + +## [wallos-0.0.1]wallos-0.0.1 (2023-11-16) + diff --git a/incubator/wallos/0.0.1/app-readme.md b/incubator/wallos/0.0.1/app-readme.md new file mode 100644 index 00000000000..b6cbbf7ebd1 --- /dev/null +++ b/incubator/wallos/0.0.1/app-readme.md @@ -0,0 +1,8 @@ +Wallos - Self Hosted Subscription tracker + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/wallos](https://truecharts.org/charts/incubator/wallos) + +--- + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! diff --git a/incubator/wallos/0.0.1/charts/common-15.0.1.tgz b/incubator/wallos/0.0.1/charts/common-15.0.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..c346e0678c1cf40223fdfb2c7291c60fd6db5d77 GIT binary patch literal 76917 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�LJAoA2@w<|&=4rr1Qf+c(6Wjf&TN>20;Wt@qD|0J^WUpAr`D06OiVH*ewg&u zjfs#FnokEd?PVScca=ac=TNRq?sUMmTCN9f+xb`+#!LI4?;B3;-r_L^ki zsWJBzsqU>k2W$ZbnXqUnVuGKvj7hW&S0KGD2JsfW`}!q#`S*7(uik;{mp5-N-@SYJ z0(|*BIKRGreR*;IT@ygt8ta|_O2zXso(-`t#Ey}NvQ3(l`z zfQz?RFD~C*zP-BL8NB@a_07xMTk!ST?b%d4-z)9)_def{>E zci{Eqo6C3SqRqAq?d_|$NFHOrXZ zAE{koN$7w5_y5b3O~pxJy-MEHwt*BeL`YS^qC{PCGeWhT=|+ocXQ20)V)6w}zN)z( z3zSKW$+%RSBb1UmVVQ@%4hEN*6izrn)LMU*^;17qBR4Iq2UR;z9)!rMW|%uAa&dta zC&oT3s0Gt>ptejD#W=@EBVXN*b0V*9n$=_p;j_WuUUUjRL$;p5m3$sX0NC;X0)}3HALBX=UAleMUj49Ym zZ(+*e89`SWMGWPZZG?)OnNl)|mJYx57@>rLlOvfg2*zCQQ{|3;Pbs-8Zsvbx cLUL0!Wm7ig4_N-c00030|Aw?tYXF=H0Hpo`P5=M^ literal 0 HcmV?d00001 diff --git a/incubator/wallos/0.0.1/ix_values.yaml b/incubator/wallos/0.0.1/ix_values.yaml new file mode 100644 index 00000000000..cf01cccc450 --- /dev/null +++ b/incubator/wallos/0.0.1/ix_values.yaml @@ -0,0 +1,31 @@ +image: + repository: docker.io/bellamy/wallos + tag: latest@sha256:8ca006779f1f25197221c0250c5b1ad607bfb233cf10e03ef9f274f66028d29f + pullPolicy: IfNotPresent + +securityContext: + container: + readOnlyRootFilesystem: false + runAsNonRoot: false + runAsUser: 0 + runAsGroup: 0 + +service: + main: + ports: + main: + port: 8282 + protocol: tcp + targetPort: 80 + +persistence: + database: + enabled: true + mountPath: "/var/www/html/db" + logos: + enabled: true + mountPath: "/var/www/html/images/uploads/logos" + +portal: + open: + enabled: true diff --git a/incubator/wallos/0.0.1/questions.yaml b/incubator/wallos/0.0.1/questions.yaml new file mode 100644 index 00000000000..0c68f425240 --- /dev/null +++ b/incubator/wallos/0.0.1/questions.yaml @@ -0,0 +1,2410 @@ +groups: + - name: Container Image + description: Image to be used for container + - name: General Settings + description: General Deployment Settings + - name: Workload Settings + description: Workload Settings + - name: App Configuration + description: App Specific Config Options + - name: Networking and Services + description: Configure Network and Services for Container + - name: Storage and Persistence + description: Persist and Share Data that is Separate from the Container + - name: Ingress + description: Ingress Configuration + - name: Security and Permissions + description: Configure Security Context and Permissions + - name: Resources and Devices + description: "Specify Resources/Devices to be Allocated to Workload" + - name: Middlewares + description: Traefik Middlewares + - name: Metrics + description: Metrics + - name: Addons + description: Addon Configuration + - name: Advanced + description: Advanced Configuration + - name: Postgresql + description: Postgresql + - name: Documentation + description: Documentation +portals: + open: + protocols: + - "$kubernetes-resource_configmap_tcportal-open_protocol" + host: + - "$kubernetes-resource_configmap_tcportal-open_host" + ports: + - "$kubernetes-resource_configmap_tcportal-open_port" +questions: + - variable: global + group: General Settings + label: "Global Settings" + schema: + additional_attrs: true + type: dict + attrs: + - variable: stopAll + label: Stop All + description: "Stops All Running pods and hibernates cnpg" + schema: + type: boolean + default: false + - variable: workload + group: "Workload Settings" + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type (Advanced) + schema: + type: string + default: Deployment + enum: + - value: Deployment + description: Deployment + - value: DaemonSet + description: DaemonSet + + - variable: replicas + label: Replicas (Advanced) + description: Set the number of Replicas + schema: + type: int + show_if: [["type", "!=", "DaemonSet"]] + default: 1 + - variable: podSpec + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: containers + label: Containers + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: Main Container + schema: + additional_attrs: true + type: dict + attrs: + + + - 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..." + 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: extraArgs + label: Extra Args + schema: + type: list + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: command + label: Command + schema: + type: list + default: [] + items: + - variable: param + label: Param + schema: + type: string + + - variable: TZ + label: Timezone + group: "General Settings" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: podOptions + group: "General Settings" + label: "Global Pod Options (Advanced)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: expertPodOpts + label: "Expert - Pod Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + label: "Host Networking" + schema: + type: boolean + default: false + - variable: dnsConfig + label: "DNS Configuration" + schema: + type: dict + additional_attrs: true + attrs: + - variable: options + label: "Options" + schema: + type: list + default: [{"name": "ndots", "value": "1"}] + items: + - variable: optionsEntry + label: "Option Entry" + schema: + type: dict + additional_attrs: true + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + - variable: nameservers + label: "Nameservers" + schema: + type: list + default: [] + items: + - variable: nsEntry + label: "Nameserver Entry" + schema: + type: string + required: true + - variable: searches + label: "Searches" + schema: + type: list + default: [] + items: + - variable: searchEntry + label: "Search Entry" + schema: + type: string + required: true + - 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) + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: ports + label: "Service's Port(s) Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8282 + required: true + - variable: serviceexpert + group: Networking and Services + label: Show Expert Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: scaleExternalInterface + description: Add External Interfaces + label: Add external Interfaces + group: Networking + schema: + type: list + items: + - variable: interfaceConfiguration + description: Interface Configuration + label: Interface Configuration + schema: + additional_attrs: true + 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: + additional_attrs: true + 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 + - variable: staticIPConfigurations + label: Static IP Addresses + schema: + type: list + show_if: [["type", "=", "static"]] + items: + - variable: staticIP + label: Static IP + schema: + type: ipaddr + cidr: true + - variable: staticRoutes + label: Static Routes + schema: + type: list + show_if: [["type", "=", "static"]] + items: + - variable: staticRouteConfiguration + label: Static Route Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: destination + label: Destination + schema: + type: ipaddr + cidr: true + required: true + - variable: gateway + label: Gateway + schema: + type: ipaddr + cidr: false + required: true + - variable: serviceList + label: Add Manual Custom Services + group: Networking and Services + schema: + type: list + default: [] + items: + - variable: serviceListEntry + label: Custom Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the service + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: LoadBalancer + description: LoadBalancer (Expose Ports) + - value: ClusterIP + description: ClusterIP (Do Not Expose Ports) + - value: Simple + description: Deprecated CHANGE THIS + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: advancedsvcset + label: Show Advanced Service Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ipFamilyPolicy + label: IP Family Policy + description: Specify the IP Policy + schema: + type: string + default: SingleStack + enum: + - value: SingleStack + description: SingleStack + - value: PreferDualStack + description: PreferDualStack + - value: RequireDualStack + description: RequireDualStack + - variable: ipFamilies + label: IP Families + description: (Advanced) The IP Families that should be used + schema: + type: list + default: [] + items: + - variable: ipFamily + label: IP Family + schema: + type: string + - variable: portsList + label: Additional Service Ports + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: Custom ports + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Port + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Port Name + schema: + type: string + default: "" + - variable: protocol + label: Port Type + schema: + type: string + default: tcp + enum: + - value: http + description: HTTP + - value: https + description: HTTPS + - value: tcp + description: TCP + - value: udp + description: UDP + - variable: targetPort + label: Target Port + description: This port exposes the container port on the service + schema: + type: int + required: true + - variable: port + label: Container Port + schema: + type: int + required: true + - variable: persistence + label: Integrated Persistent Storage + description: Integrated Persistent Storage + group: Storage and Persistence + schema: + additional_attrs: true + type: dict + attrs: + - variable: database + label: "App Database Storage" + description: "Stores the Application Database." + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: pvc + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: autoPermissions + label: Automatic Permissions Configuration + description: Automatically set permissions + schema: + show_if: [["type", "!=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: chown + label: Run CHOWN + description: | + It will run CHOWN on the path with the given fsGroup + schema: + type: boolean + default: false + - variable: chmod + label: Run CHMOD + description: | + It will run CHMOD on the path with the given value
+ Format should be 3 digits, e.g. 770 + schema: + type: string + valid_chars: '[0-9]{3}' + default: "" + - variable: recursive + label: Recursive + description: | + It will run CHOWN and CHMOD recursively + schema: + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size quotum of Storage (Do NOT REDUCE after installation) + description: This value can ONLY be INCREASED after the installation + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: storageClass + label: 'storageClass (Advanced)' + description: 'sets the storageClass to something other than iX default. Only for advanced usecases!' + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "" + - variable: static + label: 'Static Fixed PVC Bindings (Experimental)' + description: Link a PVC to a specific storage location + schema: + show_if: [["type", "=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: mode + label: mode + description: | + disabled: use normal dynamic PVCs + smb: connect to an SMB share + nfs: connect to an NFS share + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: disabled + - value: smb + description: smb + - value: nfs + description: nfs + - variable: server + label: Server + description: server to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "myserver" + - variable: share + label: Share + description: share to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "/myshare" + - variable: user + label: User + description: connecting user + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "myuser" + - variable: domain + label: Domain + description: user domain + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: password + label: Password + description: connecting password + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: volumeSnapshots + label: 'Volume Snapshots (Experimental)' + description: Add an entry to the list to force creation of a volumeSnapshot of this PVC + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: volumeSnapshotEntry + label: Custom volumeSnapshot + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: 'WARNING: renaming this, means deletion of the snapshot with the old name!' + schema: + type: string + default: "mysnapshot" + required: true + - variable: volumeSnapshotClassName + label: 'volumeSnapshot Class Name (Advanced)' + description: For use with PVCs using a non-default storageClass + schema: + type: string + default: "" + - variable: logos + label: "App Logos Storage" + description: "Stores the Application Logos." + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: pvc + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: autoPermissions + label: Automatic Permissions Configuration + description: Automatically set permissions + schema: + show_if: [["type", "!=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: chown + label: Run CHOWN + description: | + It will run CHOWN on the path with the given fsGroup + schema: + type: boolean + default: false + - variable: chmod + label: Run CHMOD + description: | + It will run CHMOD on the path with the given value
+ Format should be 3 digits, e.g. 770 + schema: + type: string + valid_chars: '[0-9]{3}' + default: "" + - variable: recursive + label: Recursive + description: | + It will run CHOWN and CHMOD recursively + schema: + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size quotum of Storage (Do NOT REDUCE after installation) + description: This value can ONLY be INCREASED after the installation + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: storageClass + label: 'storageClass (Advanced)' + description: 'sets the storageClass to something other than iX default. Only for advanced usecases!' + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "" + - variable: static + label: 'Static Fixed PVC Bindings (Experimental)' + description: Link a PVC to a specific storage location + schema: + show_if: [["type", "=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: mode + label: mode + description: | + disabled: use normal dynamic PVCs + smb: connect to an SMB share + nfs: connect to an NFS share + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: disabled + - value: smb + description: smb + - value: nfs + description: nfs + - variable: server + label: Server + description: server to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "myserver" + - variable: share + label: Share + description: share to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "/myshare" + - variable: user + label: User + description: connecting user + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "myuser" + - variable: domain + label: Domain + description: user domain + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: password + label: Password + description: connecting password + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: volumeSnapshots + label: 'Volume Snapshots (Experimental)' + description: Add an entry to the list to force creation of a volumeSnapshot of this PVC + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: volumeSnapshotEntry + label: Custom volumeSnapshot + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: 'WARNING: renaming this, means deletion of the snapshot with the old name!' + schema: + type: string + default: "mysnapshot" + required: true + - variable: volumeSnapshotClassName + label: 'volumeSnapshot Class Name (Advanced)' + description: For use with PVCs using a non-default storageClass + schema: + type: string + default: "" + - variable: persistenceList + label: Additional App Storage + group: Storage and Persistence + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: Custom Storage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the storage + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: hostPath + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: autoPermissions + label: Automatic Permissions Configuration + description: Automatically set permissions + schema: + show_if: [["type", "!=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: chown + label: Run CHOWN + description: | + It will run CHOWN on the path with the given fsGroup + schema: + type: boolean + default: false + - variable: chmod + label: Run CHMOD + description: | + It will run CHMOD on the path with the given value
+ Format should be 3 digits, e.g. 770 + schema: + type: string + valid_chars: '[0-9]{3}' + default: "" + - variable: recursive + label: Recursive + description: | + It will run CHOWN and CHMOD recursively + schema: + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: Mount Path + description: Path inside the container the storage is mounted + schema: + type: string + default: "" + required: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size Quotum of Storage + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: storageClass + label: 'storageClass (Advanced)' + description: 'sets the storageClass to something other than iX default. Only for advanced usecases!' + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "" + - variable: static + label: 'Static Fixed PVC Bindings (Experimental)' + description: Link a PVC to a specific storage location + schema: + show_if: [["type", "=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: mode + label: mode + description: | + disabled: use normal dynamic PVCs + smb: connect to an SMB share + nfs: connect to an NFS share + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: disabled + - value: smb + description: smb + - value: nfs + description: nfs + - variable: server + label: Server + description: server to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "myserver" + - variable: share + label: Share + description: share to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "/myshare" + - variable: user + label: User + description: connecting user + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "myuser" + - variable: domain + label: Domain + description: user domain + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: password + label: Password + description: connecting password + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: volumeSnapshots + label: 'Volume Snapshots (Experimental)' + description: Add an entry to the list to force creation of a volumeSnapshot of this PVC + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: volumeSnapshotEntry + label: Custom volumeSnapshot + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: 'WARNING: renaming this, means deletion of the snapshot with the old name!' + schema: + type: string + default: "mysnapshot" + required: true + - variable: volumeSnapshotClassName + label: 'volumeSnapshot Class Name (Advanced)' + description: For use with PVCs using a non-default storageClass + schema: + type: string + default: "" + - 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: [{path: "/", pathType: "Prefix"}] + 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: certificateIssuer + label: Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below' + schema: + type: string + default: "" + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + - variable: entrypoint + label: (Advanced) Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + show_if: [["advanced", "=", true]] + required: true + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + show_if: [["advanced", "=", true]] + default: false + - variable: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + 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: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - variable: scaleCert + label: 'Use TrueNAS SCALE Certificate (Deprecated)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - 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: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + show_if: [["advanced", "=", true]] + default: false + - 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: certificateIssuer + label: certificateIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below' + schema: + type: string + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + show_if: [["certificateIssuer", "=", ""]] + 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: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: scaleCert + label: Use TrueNAS SCALE Certificate (Deprecated) + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: Use Custom Secret (Advanced) + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - 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: securityContext + group: Security and Permissions + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: container + label: Container + schema: + additional_attrs: true + type: dict + attrs: + # Settings from questions.yaml get appended here on a per-app basis + - 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 + # Settings from questions.yaml get appended here on a per-app basis + - 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 + show_if: [["runAsUser", "=", 0]] + 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: "0022" + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: true + - variable: pod + label: Pod + schema: + additional_attrs: true + type: dict + attrs: + - 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 + # Settings from questions.yaml get appended here on a per-app basis + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + + - variable: resources + group: Resources and Devices + label: "Resource Limits" + schema: + additional_attrs: true + type: dict + attrs: + - variable: limits + label: Advanced Limit Resource Consumption + schema: + additional_attrs: true + type: dict + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/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/manual/SCALE/validation" + schema: + type: string + default: 8Gi + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Minimum Resources Required (request)" + schema: + additional_attrs: true + type: dict + hidden: true + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 10m + hidden: true + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "RAM" + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 50Mi + hidden: true + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: deviceList + label: Mount USB Devices + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: Device + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Storage + schema: + type: boolean + default: true + - variable: type + label: (Advanced) Type of Storage + description: Sets the persistence type + schema: + type: string + default: device + 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" + - variable: scaleGPU + label: GPU Configuration + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: scaleGPUEntry + label: GPU + schema: + additional_attrs: true + type: dict + attrs: + # Specify GPU configuration + - variable: gpu + label: Select GPU + schema: + additional_attrs: true + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + - variable: workaround + label: "Workaround" + schema: + type: string + default: workaround + hidden: true +# - variable: horizontalPodAutoscaler +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# type: list +# default: [] +# items: +# - variable: hpaEntry +# label: HPA Entry +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: name +# label: Name +# schema: +# type: string +# required: true +# default: "" +# - variable: enabled +# label: Enabled +# schema: +# type: boolean +# default: false +# show_subquestions_if: true +# subquestions: +# - variable: target +# label: Target +# description: Deployment name, Defaults to Main Deployment +# schema: +# type: string +# default: "" +# - variable: minReplicas +# label: Minimum Replicas +# schema: +# type: int +# default: 1 +# - variable: maxReplicas +# label: Maximum Replicas +# schema: +# type: int +# default: 5 +# - variable: targetCPUUtilizationPercentage +# label: Target CPU Utilization Percentage +# schema: +# type: int +# default: 80 +# - variable: targetMemoryUtilizationPercentage +# label: Target Memory Utilization Percentage +# schema: +# type: int +# default: 80 + - variable: networkPolicy + group: Advanced + label: (Advanced) Network Policy + schema: + type: list + default: [] + items: + - variable: netPolicyEntry + label: Network Policy Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + default: "" + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: policyType + label: Policy Type + schema: + type: string + default: "" + enum: + - value: "" + description: Default + - value: ingress + description: Ingress + - value: egress + description: Egress + - value: ingress-egress + description: Ingress and Egress + - variable: egress + label: Egress + schema: + type: list + default: [] + items: + - variable: egressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: to + label: To + schema: + type: list + default: [] + items: + - variable: toEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP + - variable: ingress + label: Ingress + schema: + type: list + default: [] + items: + - variable: ingressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: from + label: From + schema: + type: list + default: [] + items: + - variable: fromEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP + - variable: addons + group: Addons + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: Codeserver + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: 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: 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: 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: 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: 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: gluetun + description: Gluetun + - value: tailscale + description: Tailscale + - value: openvpn + description: OpenVPN (Deprecated) + - value: wireguard + description: Wireguard (Deprecated) + - variable: openvpn + label: OpenVPN Settings + schema: + additional_attrs: true + 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 + show_if: [["username", "!=", ""]] + default: "" + required: true + - variable: tailscale + label: Tailscale Settings + schema: + additional_attrs: true + type: dict + show_if: [["type", "=", "tailscale"]] + attrs: + - variable: authkey + label: Authentication Key + description: Provide an auth key to automatically authenticate the node as your user account. + schema: + type: string + private: true + default: "" + - variable: auth_once + label: Auth Once + description: Only attempt to log in if not already logged in. + schema: + type: boolean + default: true + - variable: accept_dns + label: Accept DNS + description: Accept DNS configuration from the admin console. + schema: + type: boolean + default: false + - variable: userspace + label: Userspace + description: Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device. + schema: + type: boolean + default: false + - variable: routes + label: Routes + description: Expose physical subnet routes to your entire Tailscale network. + schema: + type: string + default: "" + - variable: dest_ip + label: Destination IP + description: Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched. + schema: + type: string + default: "" + - variable: sock5_server + label: Sock5 Server + description: The address on which to listen for SOCKS5 proxying into the tailscale net. + schema: + type: string + default: "" + - variable: outbound_http_proxy_listen + label: Outbound HTTP Proxy Listen + description: The address on which to listen for HTTP proxying into the tailscale net. + schema: + type: string + default: "" + - variable: extra_args + label: Extra Args + description: Extra Args + schema: + type: string + default: "" + - variable: daemon_extra_args + label: Tailscale Daemon Extra Args + description: Tailscale Daemon Extra Args + schema: + type: string + default: "" + - variable: killSwitch + label: Enable Killswitch + schema: + type: boolean + show_if: [["type", "!=", "disabled"]] + default: true + - variable: excludedNetworks_IPv4 + label: Killswitch Excluded IPv4 networks + description: List of Killswitch Excluded IPv4 Addresses + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv4 + label: IPv4 Network + schema: + type: string + required: true + - variable: excludedNetworks_IPv6 + label: Killswitch Excluded IPv6 networks + description: "List of Killswitch Excluded IPv6 Addresses" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv6 + label: IPv6 Network + schema: + type: string + required: true + - variable: configFile + label: VPN Config File Location + schema: + type: string + show_if: [["type", "!=", "disabled"]] + 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 + max_length: 10240 + - variable: docs + group: Documentation + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org + schema: + additional_attrs: true + type: dict + attrs: + - variable: confirmDocs + label: I have checked the documentation + schema: + type: boolean + default: true + - variable: donateNag + group: Documentation + label: Please consider supporting TrueCharts, see https://truecharts.org/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/sponsor + schema: + additional_attrs: true + type: dict + attrs: + - variable: confirmDonate + label: I have considered donating + schema: + type: boolean + default: true + hidden: true diff --git a/incubator/wallos/0.0.1/templates/NOTES.txt b/incubator/wallos/0.0.1/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/incubator/wallos/0.0.1/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/incubator/wallos/0.0.1/templates/common.yaml b/incubator/wallos/0.0.1/templates/common.yaml new file mode 100644 index 00000000000..b51394e00a4 --- /dev/null +++ b/incubator/wallos/0.0.1/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.v1.common.loader.all" . }} diff --git a/incubator/wallos/0.0.1/values.yaml b/incubator/wallos/0.0.1/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/wallos/item.yaml b/incubator/wallos/item.yaml new file mode 100644 index 00000000000..f8a82b014d8 --- /dev/null +++ b/incubator/wallos/item.yaml @@ -0,0 +1,4 @@ +icon_url: https://truecharts.org/img/hotlink-ok/chart-icons/wallos.png +categories: +- media +screenshots: []