diff --git a/stable/photoprism/16.1.0/CHANGELOG.md b/stable/photoprism/16.1.0/CHANGELOG.md new file mode 100644 index 00000000000..1eb014b0dc4 --- /dev/null +++ b/stable/photoprism/16.1.0/CHANGELOG.md @@ -0,0 +1,99 @@ +**Important:** +*for the complete changelog, please refer to the website* + + + + +## [photoprism-16.1.0](https://github.com/truecharts/charts/compare/photoprism-16.0.10...photoprism-16.1.0) (2023-12-02) + +### Chore + +- fix annotations again + - update annotations + - cleanup chart.yaml and add min-max scale version + - update container image photoprism/photoprism to v231128[@cbaf35b](https://github.com/cbaf35b) ([#15487](https://github.com/truecharts/charts/issues/15487)) + + + + + + + + + + + + +## [photoprism-16.0.10](https://github.com/truecharts/charts/compare/photoprism-16.0.9...photoprism-16.0.10) (2023-11-17) + + + + +## [photoprism-16.0.9](https://github.com/truecharts/charts/compare/photoprism-16.0.8...photoprism-16.0.9) (2023-11-08) + +### Chore + +- update helm general non-major ([#14465](https://github.com/truecharts/charts/issues/14465)) + + + + +## [photoprism-16.0.8](https://github.com/truecharts/charts/compare/photoprism-16.0.7...photoprism-16.0.8) (2023-11-08) + +### Chore + +- update helm general non-major ([#14454](https://github.com/truecharts/charts/issues/14454)) + + + + +## [photoprism-16.0.7](https://github.com/truecharts/charts/compare/photoprism-16.0.6...photoprism-16.0.7) (2023-11-05) + +### Chore + +- update helm general non-major ([#14365](https://github.com/truecharts/charts/issues/14365)) + + + + +## [photoprism-16.0.6](https://github.com/truecharts/charts/compare/photoprism-16.0.5...photoprism-16.0.6) (2023-11-03) + +### Chore + +- update helm general non-major ([#14287](https://github.com/truecharts/charts/issues/14287)) + + + + +## [photoprism-16.0.5](https://github.com/truecharts/charts/compare/photoprism-16.0.4...photoprism-16.0.5) (2023-10-29) + +### Chore + +- Fix typo in categories and make them singular ([#13693](https://github.com/truecharts/charts/issues/13693)) + - update helm general non-major ([#14094](https://github.com/truecharts/charts/issues/14094)) + + + + +## [photoprism-16.0.4](https://github.com/truecharts/charts/compare/photoprism-16.0.3...photoprism-16.0.4) (2023-10-21) + +### Chore + +- update container image tccr.io/truecharts/photoprism to v231021 ([#13867](https://github.com/truecharts/charts/issues/13867)) + + + + +## [photoprism-16.0.3](https://github.com/truecharts/charts/compare/photoprism-16.0.2...photoprism-16.0.3) (2023-10-12) + +### Chore + +- update container image tccr.io/truecharts/photoprism to v231011 ([#13564](https://github.com/truecharts/charts/issues/13564)) + + + + +## [photoprism-16.0.2](https://github.com/truecharts/charts/compare/photoprism-16.0.1...photoprism-16.0.2) (2023-10-07) + +### Chore + diff --git a/stable/photoprism/16.1.0/Chart.yaml b/stable/photoprism/16.1.0/Chart.yaml new file mode 100644 index 00000000000..fdd37186c47 --- /dev/null +++ b/stable/photoprism/16.1.0/Chart.yaml @@ -0,0 +1,47 @@ +kubeVersion: ">=1.24.0" +apiVersion: v2 +name: photoprism +version: 16.1.0 +appVersion: "231128" +description: + PhotoPrism® is a server-based application for browsing, organizing and + sharing your personal photo collection +home: https://truecharts.org/charts/stable/photoprism +icon: https://truecharts.org/img/hotlink-ok/chart-icons/photoprism.png +deprecated: false +sources: + - https://github.com/photoprism/photoprism + - https://github.com/truecharts/charts/tree/master/charts/stable/photoprism + - https://hub.docker.com/r/photoprism/photoprism +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +keywords: + - photos + - photoprism + - pictures + - sharing +dependencies: + - name: common + version: 14.3.5 + repository: https://library-charts.truecharts.org + condition: "" + alias: "" + tags: [] + import-values: [] + - name: mariadb + version: 7.0.70 + repository: https://deps.truecharts.org/ + condition: mariadb.enabled + alias: "" + tags: [] + import-values: [] +annotations: + max_scale_version: 23.10.1 + min_scale_version: 22.12.4 + truecharts.org/SCALE-support: "true" + truecharts.org/category: media + truecharts.org/max_helm_version: "3.13" + truecharts.org/min_helm_version: "3.12" + truecharts.org/train: stable diff --git a/stable/photoprism/16.1.0/README.md b/stable/photoprism/16.1.0/README.md new file mode 100644 index 00000000000..e0a9b8fa8d7 --- /dev/null +++ b/stable/photoprism/16.1.0/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/stable/photoprism/16.1.0/app-changelog.md b/stable/photoprism/16.1.0/app-changelog.md new file mode 100644 index 00000000000..e1e3dcd2c14 --- /dev/null +++ b/stable/photoprism/16.1.0/app-changelog.md @@ -0,0 +1,12 @@ + + +## [photoprism-16.1.0](https://github.com/truecharts/charts/compare/photoprism-16.0.10...photoprism-16.1.0) (2023-12-02) + +### Chore + +- fix annotations again + - update annotations + - cleanup chart.yaml and add min-max scale version + - update container image photoprism/photoprism to v231128[@cbaf35b](https://github.com/cbaf35b) ([#15487](https://github.com/truecharts/charts/issues/15487)) + + \ No newline at end of file diff --git a/stable/photoprism/16.1.0/app-readme.md b/stable/photoprism/16.1.0/app-readme.md new file mode 100644 index 00000000000..234e1825de0 --- /dev/null +++ b/stable/photoprism/16.1.0/app-readme.md @@ -0,0 +1,8 @@ +PhotoPrism® is a server-based application for browsing, organizing and sharing your personal photo collection + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/photoprism](https://truecharts.org/charts/stable/photoprism) + +--- + +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/stable/photoprism/16.1.0/charts/common-14.3.5.tgz b/stable/photoprism/16.1.0/charts/common-14.3.5.tgz new file mode 100644 index 00000000000..58fbc6f4962 Binary files /dev/null and b/stable/photoprism/16.1.0/charts/common-14.3.5.tgz differ diff --git a/stable/photoprism/16.1.0/charts/mariadb-7.0.70.tgz b/stable/photoprism/16.1.0/charts/mariadb-7.0.70.tgz new file mode 100644 index 00000000000..1ad1f659636 Binary files /dev/null and b/stable/photoprism/16.1.0/charts/mariadb-7.0.70.tgz differ diff --git a/stable/photoprism/16.1.0/ix_values.yaml b/stable/photoprism/16.1.0/ix_values.yaml new file mode 100644 index 00000000000..a8e9835b89e --- /dev/null +++ b/stable/photoprism/16.1.0/ix_values.yaml @@ -0,0 +1,67 @@ +image: + repository: photoprism/photoprism + tag: 231128@sha256:cbaf35b067efc179dee68ab703db8911c2ad306830831458abb369542ee4cf12 + pullPolicy: IfNotPresent +service: + main: + ports: + main: + port: 2342 + targetPort: 2342 +persistence: + storage: + enabled: true + mountPath: "/assets" + photoprismtemp: + enabled: true + mountPath: "/photoprism_temp" + type: emptyDir + originals: + enabled: true + mountPath: "/photoprism/originals" + import: + enabled: true + mountPath: "/photoprism/import" +mariadb: + enabled: true + mariadbUsername: photoprism + mariadbDatabase: photoprism +portal: + open: + enabled: true +securityContext: + container: + readOnlyRootFilesystem: false +workload: + main: + podSpec: + containers: + main: + env: + HOME: "/photoprism" + PHOTOPRISM_ORIGINALS_PATH: "/photoprism/originals" + PHOTOPRISM_IMPORT_PATH: "/photoprism/import" + PHOTOPRISM_TEMP_PATH: "/photoprism_temp" + PHOTOPRISM_STORAGE_PATH: "/assets/storage" + PHOTOPRISM_SIDECAR_PATH: "/assets/sidecar" + PHOTOPRISM_CACHE_PATH: "/assets/cache" + PHOTOPRISM_CONFIG_PATH: "/assets/config" + PROTOPRISM_BACKUP_PATH: "/assets/backup" + PHOTOPRISM_PUBLIC: false + PHOTOPRISM_UID: "{{ .Values.securityContext.container.runAsUser }}" + PHOTOPRISM_GID: "{{ .Values.securityContext.container.runAsGroup }}" + PHOTOPRISM_UMASK: "{{ .Values.securityContext.container.UMASK }}" + PHOTOPRISM_DATABASE_DRIVER: "mysql" + PHOTOPRISM_DATABASE_NAME: "photoprism" + PHOTOPRISM_DATABASE_USER: "photoprism" + PHOTOPRISM_DATABASE_SERVER: + secretKeyRef: + expandObjectName: false + name: '{{ printf "%s-%s" .Release.Name "mariadbcreds" }}' + key: plainporthost + PHOTOPRISM_DATABASE_PASSWORD: + secretKeyRef: + expandObjectName: false + name: '{{ printf "%s-%s" .Release.Name "mariadbcreds" }}' + key: mariadb-password + PHOTOPRISM_ADMIN_PASSWORD: "please-change" diff --git a/stable/photoprism/16.1.0/questions.yaml b/stable/photoprism/16.1.0/questions.yaml new file mode 100644 index 00000000000..4ad8cf55c67 --- /dev/null +++ b/stable/photoprism/16.1.0/questions.yaml @@ -0,0 +1,2970 @@ +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: env + group: "App Configuration" + label: "Image Environment" + schema: + additional_attrs: true + type: dict + attrs: + - variable: PHOTOPRISM_ADMIN_PASSWORD + label: "PHOTOPRISM_ADMIN_PASSWORD (First Install Only)" + description: "Initial admin password. **BE SURE TO CHANGE THIS!**" + schema: + type: string + required: true + private: true + default: "" + - variable: PHOTOPRISM_PUBLIC + label: "PHOTOPRISM_PUBLIC" + description: "Disable authentication / password protection" + schema: + type: boolean + default: false + - 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: 2342 + 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: storage + label: "App Storage" + description: "Stores the Application Configuration." + 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: photoprismtemp + label: "App Temp Files" + description: "Stores the Application Temp Files." + 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: originals + label: "Photoprism Originals" + description: "Stores the Photoprism Originals." + 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: import + label: "Photoprism Import" + description: "Location of the Photoprism Imports." + 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: 568 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID this App of the user running the application" + schema: + type: int + default: 568 + # 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: ingress + label: "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: 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/stable/photoprism/16.1.0/templates/NOTES.txt b/stable/photoprism/16.1.0/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/stable/photoprism/16.1.0/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/stable/photoprism/16.1.0/templates/common.yaml b/stable/photoprism/16.1.0/templates/common.yaml new file mode 100644 index 00000000000..b51394e00a4 --- /dev/null +++ b/stable/photoprism/16.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.v1.common.loader.all" . }} diff --git a/stable/photoprism/16.1.0/values.yaml b/stable/photoprism/16.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/wekan/10.4.0/CHANGELOG.md b/stable/wekan/10.4.0/CHANGELOG.md new file mode 100644 index 00000000000..60e5e494f10 --- /dev/null +++ b/stable/wekan/10.4.0/CHANGELOG.md @@ -0,0 +1,99 @@ +**Important:** +*for the complete changelog, please refer to the website* + + + + +## [wekan-10.4.0](https://github.com/truecharts/charts/compare/wekan-10.3.0...wekan-10.4.0) (2023-12-02) + +### Chore + +- fix annotations again + - update annotations + - cleanup chart.yaml and add min-max scale version + - update container image wekanteam/wekan to v7.22[@2331615](https://github.com/2331615) ([#15569](https://github.com/truecharts/charts/issues/15569)) + + + + + + + + + + + + +## [wekan-10.3.0](https://github.com/truecharts/charts/compare/wekan-10.2.0...wekan-10.3.0) (2023-11-27) + +### Chore + +- update container image wekanteam/wekan to v7.21[@d8c16e3](https://github.com/d8c16e3) ([#15419](https://github.com/truecharts/charts/issues/15419)) + + + + +## [wekan-10.2.0](https://github.com/truecharts/charts/compare/wekan-10.1.0...wekan-10.2.0) (2023-11-26) + +### Chore + +- update container image wekanteam/wekan to v7.20[@59089fe](https://github.com/59089fe) ([#15394](https://github.com/truecharts/charts/issues/15394)) + + + + +## [wekan-10.1.0](https://github.com/truecharts/charts/compare/wekan-10.0.9...wekan-10.1.0) (2023-11-25) + +### Chore + +- update container image wekanteam/wekan to v7.19[@1f26bf9](https://github.com/1f26bf9) ([#15186](https://github.com/truecharts/charts/issues/15186)) + + + + +## [wekan-10.0.9](https://github.com/truecharts/charts/compare/wekan-10.0.8...wekan-10.0.9) (2023-11-17) + + + + +## [wekan-10.0.8](https://github.com/truecharts/charts/compare/wekan-10.0.7...wekan-10.0.8) (2023-11-08) + +### Chore + +- update helm general non-major ([#14465](https://github.com/truecharts/charts/issues/14465)) + + + + +## [wekan-10.0.7](https://github.com/truecharts/charts/compare/wekan-10.0.6...wekan-10.0.7) (2023-11-08) + +### Chore + +- update helm general non-major ([#14454](https://github.com/truecharts/charts/issues/14454)) + + + + +## [wekan-10.0.6](https://github.com/truecharts/charts/compare/wekan-10.0.5...wekan-10.0.6) (2023-11-05) + +### Chore + +- update helm general non-major ([#14365](https://github.com/truecharts/charts/issues/14365)) + + + + +## [wekan-10.0.5](https://github.com/truecharts/charts/compare/wekan-10.0.4...wekan-10.0.5) (2023-11-03) + +### Chore + +- update helm general non-major ([#14287](https://github.com/truecharts/charts/issues/14287)) + + + + +## [wekan-10.0.4](https://github.com/truecharts/charts/compare/wekan-10.0.3...wekan-10.0.4) (2023-10-29) + +### Chore + +- update helm general non-major ([#14094](https://github.com/truecharts/charts/issues/14094)) diff --git a/stable/wekan/10.4.0/Chart.yaml b/stable/wekan/10.4.0/Chart.yaml new file mode 100644 index 00000000000..f03d2410dcf --- /dev/null +++ b/stable/wekan/10.4.0/Chart.yaml @@ -0,0 +1,44 @@ +kubeVersion: ">=1.24.0" +apiVersion: v2 +name: wekan +version: 10.4.0 +appVersion: "7.22" +description: WeKan - Open Source kanban +home: https://truecharts.org/charts/stable/wekan +icon: https://truecharts.org/img/hotlink-ok/chart-icons/wekan.png +deprecated: false +sources: + - https://wekan.github.io/ + - https://github.com/truecharts/charts/tree/master/charts/stable/wekan + - https://hub.docker.com/r/wekanteam/wekan + - https://github.com/wekan/wekan +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +keywords: + - wekan + - kanban +dependencies: + - name: common + version: 14.3.5 + repository: https://library-charts.truecharts.org + condition: "" + alias: "" + tags: [] + import-values: [] + - name: mongodb + version: 6.0.67 + repository: https://deps.truecharts.org + condition: mongodb.enabled + alias: "" + tags: [] + import-values: [] +annotations: + max_scale_version: 23.10.1 + min_scale_version: 22.12.4 + truecharts.org/SCALE-support: "true" + truecharts.org/category: productivity + truecharts.org/max_helm_version: "3.13" + truecharts.org/min_helm_version: "3.12" + truecharts.org/train: stable diff --git a/stable/wekan/10.4.0/README.md b/stable/wekan/10.4.0/README.md new file mode 100644 index 00000000000..e0a9b8fa8d7 --- /dev/null +++ b/stable/wekan/10.4.0/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/stable/wekan/10.4.0/app-changelog.md b/stable/wekan/10.4.0/app-changelog.md new file mode 100644 index 00000000000..804831681ca --- /dev/null +++ b/stable/wekan/10.4.0/app-changelog.md @@ -0,0 +1,12 @@ + + +## [wekan-10.4.0](https://github.com/truecharts/charts/compare/wekan-10.3.0...wekan-10.4.0) (2023-12-02) + +### Chore + +- fix annotations again + - update annotations + - cleanup chart.yaml and add min-max scale version + - update container image wekanteam/wekan to v7.22[@2331615](https://github.com/2331615) ([#15569](https://github.com/truecharts/charts/issues/15569)) + + \ No newline at end of file diff --git a/stable/wekan/10.4.0/app-readme.md b/stable/wekan/10.4.0/app-readme.md new file mode 100644 index 00000000000..e0a07691ef8 --- /dev/null +++ b/stable/wekan/10.4.0/app-readme.md @@ -0,0 +1,8 @@ +WeKan - Open Source kanban + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/wekan](https://truecharts.org/charts/stable/wekan) + +--- + +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/stable/wekan/10.4.0/charts/common-14.3.5.tgz b/stable/wekan/10.4.0/charts/common-14.3.5.tgz new file mode 100644 index 00000000000..58fbc6f4962 Binary files /dev/null and b/stable/wekan/10.4.0/charts/common-14.3.5.tgz differ diff --git a/stable/wekan/10.4.0/charts/mongodb-6.0.67.tgz b/stable/wekan/10.4.0/charts/mongodb-6.0.67.tgz new file mode 100644 index 00000000000..f2027521d87 Binary files /dev/null and b/stable/wekan/10.4.0/charts/mongodb-6.0.67.tgz differ diff --git a/stable/wekan/10.4.0/ix_values.yaml b/stable/wekan/10.4.0/ix_values.yaml new file mode 100644 index 00000000000..1ed0ecc1e2c --- /dev/null +++ b/stable/wekan/10.4.0/ix_values.yaml @@ -0,0 +1,159 @@ +image: + repository: wekanteam/wekan + tag: v7.22@sha256:233161582522e7e779e17f513c779b50fb289e3ca3ad332482b96e29d1abe321 + pullPolicy: IfNotPresent +service: + main: + ports: + main: + port: 10192 + targetPort: 8080 +mongodb: + enabled: true + mongodbUsername: wekan + mongodbDatabase: wekan +persistence: + data: + enabled: true + mountPath: "/data" +portal: + open: + enabled: true +workload: + main: + podSpec: + containers: + main: + env: + WRITABLE_PATH: "/data" + # User Defined + ROOT_URL: "http://localhost:8080" + # BROWSER_POLICY_ENABLED: false + # TRUSTED_URL: "" + # LOGOUT_WITH_TIMER: false + # LOGOUT_IN: 0 + # LOGOUT_ON_HOURS: 0 + # LOGOUT_ON_MINUTES: 0 + # ACCOUNTS_COMMON_LOGIN_EXPIRATION_IN_DAYS: 90 + # ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE: 3 + # ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD: 60 + # ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW: 15 + # ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE: 3 + # ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD: 60 + # ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW: 15 + # MAX_IMAGE_PIXEL: 1024 + # IMAGE_COMPRESS_RATIO: 80 + # MAIL_URL: "" + # MAIL_SERVICE_USER: "" + # MAIL_SERVICE_PASSWORD: "" + # MAIL_SERVICE: "" + # BIGEVENTS_PATTERN: "NONE" + # NOTIFICATION_TRAY_AFTER_READ_DAYS_BEFORE_REMOVE: 90 + # EMAIL_NOTIFICATION_TIMEOUT: 30000 + # NOTIFY_DUE_DAYS_BEFORE_AND_AFTER: "2,0" + # NOTIFY_DUE_AT_HOUR_OF_DAY: 8 + # RESULTS_PER_PAGE: 20 + # RICHER_CARD_COMMENT_EDITOR: false + # CARD_OPENED_WEBHOOK_ENABLED: false + # PASSWORD_LOGIN_ENABLED: false + # WAIT_SPINNER: "Bounce" + # WITH_API: true + # WEBHOOKS_ATTRIBUTES: "cardId,listId,oldListId,boardId,comment,user,card,commentId,swimlaneId,customerField,customFieldValue" + # CORS: "*" + # CORS_ALLOW_HEADERS: "Authorization,Content-Type" + # CORS_EXPOSE_HEADERS: "*" + # MATOMO_ADDRESS: "" + # MATOMO_SITE_ID: 1 + # MATOMO_DO_NOT_TRACK: true + # MATOMO_WITH_USERNAME: true + # ORACLE_OIM_ENABLED: false + # OAUTH2_ENABLED: false + # OAUTH2_LOGIN_STYLE: "redirect" + # OAUTH2_CLIENT_ID: "" + # OAUTH2_SECRET: "" + # OAUTH2_SERVER_URL: "" + # OAUTH2_AUTH_ENDPOINT: "" + # OAUTH2_USERINFO_ENDPOINT: "" + # OAUTH2_TOKEN_ENDPOINT: "" + # OAUTH2_ID_MAP: "" + # OAUTH2_USERNAME_MAP: "" + # OAUTH2_FULLNAME_MAP: "" + # OAUTH2_EMAIL_MAP: "" + # OAUTH2_ID_TOKEN_WHITELIST_FIELDS: "" + # OAUTH2_REQUEST_PERMISSIONS: "" + # OAUTH2_CA_CERT: "" + # OAUTH2_ADFS_ENABLED: false + # LDAP_ENABLE: false + # DEFAULT_AUTHENTICATION_METHOD: "ldap" + # LDAP_PORT: 389 + # LDAP_HOST: "" + # LDAP_AD_SIMPLE_AUTH: false + # LDAP_USER_AUTHENTICATION: false + # LDAP_USER_AUTHENTICATION_FIELD: "uid" + # LDAP_DEFAULT_DOMAIN: "" + # LDAP_BASEDN: "" + # LDAP_LOGIN_FALLBACK: false + # LDAP_RECONNECT: true + # LDAP_TIMEOUT: 10000 + # LDAP_IDLE_TIMEOUT: 10000 + # LDAP_CONNECT_TIMEOUT: 10000 + # LDAP_AUTHENTIFICATION: true + # LDAP_AUTHENTIFICATION_USERDN: "" + # LDAP_AUTHENTIFICATION_PASSWORD: "" + # LDAP_LOG_ENABLED: true + # LDAP_BACKGROUND_SYNC: true + # LDAP_BACKGROUND_SYNC_INTERVAL: "every 1 hour" + # LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED: false + # LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS: false + # LDAP_ENCRYPTION: "false" + # LDAP_CA_CERT: "" + # LDAP_REJECT_UNAUTHORIZED: false + # LDAP_USER_SEARCH_FILTER: "" + # LDAP_USER_SEARCH_SCOPE: "one" + # LDAP_USER_SEARCH_FIELD: "" + # LDAP_SEARCH_PAGE_SIZE: 0 + # LDAP_SEARCH_SIZE_LIMIT: 0 + # LDAP_GROUP_FILTER_ENABLE: false + # LDAP_GROUP_FILTER_OBJECTCLASS: "" + # LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE: "" + # LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE: "" + # LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT: "" + # LDAP_GROUP_FILTER_GROUP_NAME: "" + # LDAP_UNIQUE_IDENTIFIER_FIELD: "" + # LDAP_UTF8_NAMES_SLUGIFY: true + # LDAP_USERNAME_FIELD: "" + # LDAP_FULLNAME_FIELD: "fullname" + # LDAP_MERGE_EXISTING_USERS: false + # LDAP_EMAIL_MATCH_ENABLE: true + # LDAP_EMAIL_MATCH_REQUIRE: true + # LDAP_EMAIL_MATCH_VERIFIED: true + # LDAP_EMAIL_FIELD: "mail" + # LDAP_SYNC_USER_DATA: false + # LDAP_SYNC_USER_DATA_FIELDMAP: "" + # LDAP_SYNC_GROUP_ROLES: "" + # LDAP_SYNC_ADMIN_STATUS: true + # LDAP_SYNC_ADMIN_GROUPS: "" + # HEADER_LOGIN_ID: "" + # HEADER_LOGIN_FIRSTNAME: "" + # HEADER_LOGIN_LASTNAME: "" + # HEADER_LOGIN_EMAIL: "" + # CAS_ENABLED: false + # CAS_BASE_URL: "" + # CAS_LOGIN_URL: "" + # CAS_VALIDATE_URL: "" + # SAML_ENABLED: false + # SAML_PROVIDER: "" + # SAML_ENTRYPOINT: "" + # SAML_ISSUER: "" + # SAML_CERT: "" + # SAML_IDPSLO_REDIRECTURL: "" + # SAML_PRIVATE_KEYFILE: "" + # SAML_PUBLIC_CERTFILE: "" + # SAML_IDENTIFIER_FORMAT: "" + # SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE: "" + # SAML_ATTRIBUTES: "" + MONGO_URL: + secretKeyRef: + expandObjectName: false + name: '{{ printf "%s-%s" .Release.Name "mongodbcreds" }}' + key: url diff --git a/stable/wekan/10.4.0/questions.yaml b/stable/wekan/10.4.0/questions.yaml new file mode 100644 index 00000000000..52706f62503 --- /dev/null +++ b/stable/wekan/10.4.0/questions.yaml @@ -0,0 +1,3366 @@ +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: env + group: "App Configuration" + label: "Image Environment" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ROOT_URL + label: "ROOT_URL" + schema: + type: string + default: "" + required: true + - variable: BROWSER_POLICY_ENABLED + label: "BROWSER_POLICY_ENABLED" + description: "Enable browser policy and allow one trusted URL that can have iframe that has Wekan embedded inside." + schema: + type: boolean + default: false + - variable: TRUSTED_URL + label: "TRUSTED_URL" + description: "When browser policy is enabled, HTML code at this Trusted URL can have iframe that embeds Wekan inside." + schema: + type: string + default: "" + - variable: logoutenabled + label: "Logout/Login Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: LOGOUT_WITH_TIMER + label: "LOGOUT_WITH_TIMER" + schema: + type: boolean + default: false + - variable: LOGOUT_IN + label: "LOGOUT_IN (Days)" + schema: + type: int + default: 0 + - variable: LOGOUT_ON_HOURS + label: "LOGOUT_ON_HOURS" + schema: + type: int + default: 0 + - variable: LOGOUT_ON_MINUTES + label: "LOGOUT_ON_MINUTES" + schema: + type: int + default: 0 + - variable: ACCOUNTS_COMMON_LOGIN_EXPIRATION_IN_DAYS + label: "ACCOUNTS_COMMON_LOGIN_EXPIRATION_IN_DAYS" + schema: + type: int + default: 90 + - variable: passwordnabled + label: "Password Brute Force Protection Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE + label: "ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE" + schema: + type: int + default: 3 + - variable: ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD + label: "ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD" + schema: + type: int + default: 60 + - variable: ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW + label: "ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW" + schema: + type: int + default: 15 + - variable: ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE + label: "ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE" + schema: + type: int + default: 3 + - variable: ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD + label: "ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD" + schema: + type: int + default: 60 + - variable: ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW + label: "ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW" + schema: + type: int + default: 15 + - variable: imagenabled + label: "Image Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: MAX_IMAGE_PIXEL + label: "MAX_IMAGE_PIXEL" + schema: + type: int + default: 1024 + - variable: IMAGE_COMPRESS_RATIO + label: "IMAGE_COMPRESS_RATIO" + schema: + type: int + default: 80 + - variable: mailenabled + label: "Mail Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: MAIL_URL + label: "MAIL_URL" + schema: + type: string + default: "" + - variable: MAIL_SERVICE_USER + label: "MAIL_SERVICE_USER" + schema: + type: string + default: "" + - variable: MAIL_SERVICE_PASSWORD + label: "MAIL_SERVICE_PASSWORD" + schema: + type: string + private: true + default: "" + - variable: MAIL_SERVICE + label: "MAIL_SERVICE" + schema: + type: string + default: "" + - variable: notificationsenabled + label: "Notifications Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: BIGEVENTS_PATTERN + label: "BIGEVENTS_PATTERN" + schema: + type: string + default: "NONE" + - variable: NOTIFICATION_TRAY_AFTER_READ_DAYS_BEFORE_REMOVE + label: "NOTIFICATION_TRAY_AFTER_READ_DAYS_BEFORE_REMOVE" + description: "Number of days after a notification is read before we remove it." + schema: + type: int + default: 90 + - variable: EMAIL_NOTIFICATION_TIMEOUT + label: "EMAIL_NOTIFICATION_TIMEOUT" + schema: + type: int + default: 30000 + - variable: NOTIFY_DUE_DAYS_BEFORE_AND_AFTER + label: "NOTIFY_DUE_DAYS_BEFORE_AND_AFTER" + description: "Notify due days, default is None, 2 days before and on the event day" + schema: + type: string + default: "2,0" + - variable: NOTIFY_DUE_AT_HOUR_OF_DAY + label: "NOTIFY_DUE_AT_HOUR_OF_DAY" + description: "Notify due at hour of day." + schema: + type: int + default: 8 + - variable: personalizationenabled + label: "UX Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: RESULTS_PER_PAGE + label: "RESULTS_PER_PAGE" + schema: + type: int + default: 20 + required: true + - variable: RICHER_CARD_COMMENT_EDITOR + label: "RICHER_CARD_COMMENT_EDITOR" + schema: + type: boolean + default: false + - variable: CARD_OPENED_WEBHOOK_ENABLED + label: "CARD_OPENED_WEBHOOK_ENABLED" + schema: + type: boolean + default: false + - variable: PASSWORD_LOGIN_ENABLED + label: "PASSWORD_LOGIN_ENABLED" + schema: + type: boolean + default: false + - variable: WAIT_SPINNER + label: "WAIT_SPINNER" + description: "Sets the Wait Spinner animation" + schema: + type: string + default: "Bounce" + enum: + - value: "Bounce" + description: "Bounce" + - value: "Cube" + description: "Cube" + - value: "Cube-Grid" + description: "Cube-Grid" + - value: "Dot" + description: "Dot" + - value: "Double-Bounce" + description: "Double-Bounce" + - value: "Rotateplane" + description: "Rotateplane" + - value: "Scaleout" + description: "Scaleout" + - value: "Wave" + description: "Wave" + - variable: backendenabled + label: "Backend Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: WITH_API + label: "WITH_API" + schema: + type: boolean + default: true + - variable: WEBHOOKS_ATTRIBUTES + label: "WEBHOOKS_ATTRIBUTES" + description: "What to send to Outgoing Webhook." + schema: + type: string + default: "cardId,listId,oldListId,boardId,comment,user,card,commentId,swimlaneId,customerField,customFieldValue" + - variable: corsenabled + label: "CORS Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: CORS + label: "CORS" + schema: + type: string + default: "*" + - variable: CORS_ALLOW_HEADERS + label: "CORS_ALLOW_HEADERS" + schema: + type: string + default: "Authorization,Content-Type" + - variable: CORS_EXPOSE_HEADERS + label: "CORS_EXPOSE_HEADERS" + schema: + type: string + default: "*" + - variable: matomoenabled + label: "Matomo Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: MATOMO_ADDRESS + label: "MATOMO_ADDRESS" + description: "The address of the server where Matomo is hosted." + schema: + type: string + default: "" + - variable: MATOMO_SITE_ID + label: "MATOMO_SITE_ID" + description: "The value of the site ID given in Matomo server for Wekan." + schema: + type: int + default: 1 + - variable: MATOMO_DO_NOT_TRACK + label: "MATOMO_DO_NOT_TRACK" + description: "The option do not track which enables users to not be tracked by matomo." + schema: + type: boolean + default: true + - variable: MATOMO_WITH_USERNAME + label: "MATOMO_WITH_USERNAME" + description: "The option that allows matomo to retrieve the username." + schema: + type: boolean + default: true + - variable: ORACLE_OIM_ENABLED + label: "ORACLE_OIM_ENABLED" + description: "OAUTH2 ORACLE on premise identity manager OIM" + schema: + type: boolean + default: false + - variable: oatuhncenabled + label: "OAUTH2 Nextcloud Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: OAUTH2_ENABLED + label: "OAUTH2_ENABLED" + schema: + type: boolean + default: false + - variable: OAUTH2_LOGIN_STYLE + label: "OAUTH2_LOGIN_STYLE" + description: "OAuth2 login style: popup or redirect." + schema: + type: string + default: "redirect" + enum: + - value: "redirect" + description: "redirect" + - value: "popup" + description: "popup" + - variable: OAUTH2_CLIENT_ID + label: "OAUTH2_CLIENT_ID" + description: "Application GUID captured during app registration" + schema: + type: string + default: "" + - variable: OAUTH2_SECRET + label: "OAUTH2_SECRET" + description: "Secret key generated during app registration" + schema: + type: string + default: "" + - variable: OAUTH2_SERVER_URL + label: "OAUTH2_SERVER_URL" + schema: + type: string + default: "" + - variable: OAUTH2_AUTH_ENDPOINT + label: "OAUTH2_AUTH_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_USERINFO_ENDPOINT + label: "OAUTH2_USERINFO_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_TOKEN_ENDPOINT + label: "OAUTH2_TOKEN_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_ID_MAP + label: "OAUTH2_ID_MAP" + description: "The claim name you want to map to the unique ID field." + schema: + type: string + default: "" + - variable: OAUTH2_USERNAME_MAP + label: "OAUTH2_USERNAME_MAP" + description: "The claim name you want to map to the username field." + schema: + type: string + default: "" + - variable: OAUTH2_FULLNAME_MAP + label: "OAUTH2_FULLNAME_MAP" + description: "The claim name you want to map to the full name field." + schema: + type: string + default: "" + - variable: OAUTH2_EMAIL_MAP + label: "OAUTH2_EMAIL_MAP" + description: "The claim name you want to map to the email field." + schema: + type: string + default: "" + - variable: oatuhkeycloackenabled + label: "OAUTH2 Keycloack Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: OAUTH2_ENABLED + label: "OAUTH2_ENABLED" + schema: + type: boolean + default: false + - variable: OAUTH2_LOGIN_STYLE + label: "OAUTH2_LOGIN_STYLE" + description: "OAuth2 login style: popup or redirect." + schema: + type: string + default: "redirect" + enum: + - value: "redirect" + description: "redirect" + - value: "popup" + description: "popup" + - variable: OAUTH2_CLIENT_ID + label: "OAUTH2_CLIENT_ID" + description: "Application GUID captured during app registration" + schema: + type: string + default: "" + - variable: OAUTH2_SECRET + label: "OAUTH2_SECRET" + description: "Secret key generated during app registration" + schema: + type: string + default: "" + - variable: OAUTH2_SERVER_URL + label: "OAUTH2_SERVER_URL" + schema: + type: string + default: "" + - variable: OAUTH2_AUTH_ENDPOINT + label: "OAUTH2_AUTH_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_USERINFO_ENDPOINT + label: "OAUTH2_USERINFO_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_TOKEN_ENDPOINT + label: "OAUTH2_TOKEN_ENDPOINT" + schema: + type: string + default: "" + - variable: oatuhdoorkeeperenabled + label: "OAUTH2 Doorkeeper Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: OAUTH2_ENABLED + label: "OAUTH2_ENABLED" + schema: + type: boolean + default: false + - variable: OAUTH2_LOGIN_STYLE + label: "OAUTH2_LOGIN_STYLE" + description: "OAuth2 login style: popup or redirect." + schema: + type: string + default: "redirect" + enum: + - value: "redirect" + description: "redirect" + - value: "popup" + description: "popup" + - variable: OAUTH2_CLIENT_ID + label: "OAUTH2_CLIENT_ID" + description: "Application GUID captured during app registration" + schema: + type: string + default: "" + - variable: OAUTH2_SECRET + label: "OAUTH2_SECRET" + description: "Secret key generated during app registration" + schema: + type: string + default: "" + - variable: OAUTH2_SERVER_URL + label: "OAUTH2_SERVER_URL" + schema: + type: string + default: "" + - variable: OAUTH2_AUTH_ENDPOINT + label: "OAUTH2_AUTH_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_USERINFO_ENDPOINT + label: "OAUTH2_USERINFO_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_TOKEN_ENDPOINT + label: "OAUTH2_TOKEN_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_ID_TOKEN_WHITELIST_FIELDS + label: "OAUTH2_ID_TOKEN_WHITELIST_FIELDS" + schema: + type: string + default: "" + - variable: OAUTH2_REQUEST_PERMISSIONS + label: "OAUTH2_REQUEST_PERMISSIONS" + description: "The claim name you want to map to the unique ID field." + schema: + type: string + default: "" + - variable: OAUTH2_ID_MAP + label: "OAUTH2_ID_MAP" + description: "The claim name you want to map to the unique ID field." + schema: + type: string + default: "" + - variable: OAUTH2_USERNAME_MAP + label: "OAUTH2_USERNAME_MAP" + description: "The claim name you want to map to the username field." + schema: + type: string + default: "" + - variable: OAUTH2_FULLNAME_MAP + label: "OAUTH2_FULLNAME_MAP" + description: "The claim name you want to map to the full name field." + schema: + type: string + default: "" + - variable: OAUTH2_EMAIL_MAP + label: "OAUTH2_EMAIL_MAP" + description: "The claim name you want to map to the email field." + schema: + type: string + default: "" + - variable: oatuhazureenabled + label: "OAUTH2 Azure Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: OAUTH2_ENABLED + label: "OAUTH2_ENABLED" + schema: + type: boolean + default: false + - variable: OAUTH2_CA_CERT + label: "OAUTH2_CA_CERT" + schema: + type: string + private: true + default: "" + - variable: OAUTH2_ADFS_ENABLED + label: "OAUTH2_ADFS_ENABLED" + schema: + type: boolean + default: false + - variable: OAUTH2_LOGIN_STYLE + label: "OAUTH2_LOGIN_STYLE" + description: "OAuth2 login style: popup or redirect." + schema: + type: string + default: "redirect" + enum: + - value: "redirect" + description: "redirect" + - value: "popup" + description: "popup" + - variable: OAUTH2_CLIENT_ID + label: "OAUTH2_CLIENT_ID" + description: "Application GUID captured during app registration" + schema: + type: string + default: "" + - variable: OAUTH2_SECRET + label: "OAUTH2_SECRET" + description: "Secret key generated during app registration" + schema: + type: string + default: "" + - variable: OAUTH2_SERVER_URL + label: "OAUTH2_SERVER_URL" + schema: + type: string + default: "" + - variable: OAUTH2_AUTH_ENDPOINT + label: "OAUTH2_AUTH_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_USERINFO_ENDPOINT + label: "OAUTH2_USERINFO_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_TOKEN_ENDPOINT + label: "OAUTH2_TOKEN_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_ID_MAP + label: "OAUTH2_ID_MAP" + description: "The claim name you want to map to the unique ID field." + schema: + type: string + default: "" + - variable: OAUTH2_USERNAME_MAP + label: "OAUTH2_USERNAME_MAP" + description: "The claim name you want to map to the username field." + schema: + type: string + default: "" + - variable: OAUTH2_FULLNAME_MAP + label: "OAUTH2_FULLNAME_MAP" + description: "The claim name you want to map to the full name field." + schema: + type: string + default: "" + - variable: OAUTH2_EMAIL_MAP + label: "OAUTH2_EMAIL_MAP" + description: "The claim name you want to map to the email field." + schema: + type: string + default: "" + - variable: ldapenabled + label: "LDAP Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: LDAP_ENABLE + label: "LDAP_ENABLE" + schema: + type: boolean + default: false + - variable: DEFAULT_AUTHENTICATION_METHOD + label: "DEFAULT_AUTHENTICATION_METHOD" + schema: + type: string + default: "ldap" + - variable: LDAP_PORT + label: "LDAP_PORT" + schema: + type: int + default: 389 + - variable: LDAP_HOST + label: "LDAP_HOST" + schema: + type: string + default: "" + - variable: LDAP_AD_SIMPLE_AUTH + label: "LDAP_AD_SIMPLE_AUTH" + schema: + type: boolean + default: false + - variable: LDAP_USER_AUTHENTICATION + label: "LDAP_USER_AUTHENTICATION" + schema: + type: boolean + default: false + - variable: LDAP_USER_AUTHENTICATION_FIELD + label: "LDAP_USER_AUTHENTICATION_FIELD" + schema: + type: string + default: "uid" + - variable: LDAP_DEFAULT_DOMAIN + label: "LDAP_DEFAULT_DOMAIN" + schema: + type: string + default: "" + - variable: LDAP_BASEDN + label: "LDAP_BASEDN" + schema: + type: string + default: "" + - variable: LDAP_LOGIN_FALLBACK + label: "LDAP_LOGIN_FALLBACK" + schema: + type: boolean + default: false + - variable: LDAP_RECONNECT + label: "LDAP_RECONNECT" + schema: + type: boolean + default: true + - variable: LDAP_TIMEOUT + label: "LDAP_TIMEOUT" + schema: + type: int + default: 10000 + - variable: LDAP_IDLE_TIMEOUT + label: "LDAP_IDLE_TIMEOUT" + schema: + type: int + default: 10000 + - variable: LDAP_CONNECT_TIMEOUT + label: "LDAP_CONNECT_TIMEOUT" + schema: + type: int + default: 10000 + - variable: LDAP_AUTHENTIFICATION + label: "LDAP_AUTHENTIFICATION" + schema: + type: boolean + default: true + - variable: LDAP_AUTHENTIFICATION_USERDN + label: "LDAP_AUTHENTIFICATION_USERDN" + schema: + type: string + default: "" + - variable: LDAP_AUTHENTIFICATION_PASSWORD + label: "LDAP_AUTHENTIFICATION_PASSWORD" + schema: + type: string + private: true + default: "" + - variable: LDAP_LOG_ENABLED + label: "LDAP_LOG_ENABLED" + schema: + type: boolean + default: true + - variable: LDAP_BACKGROUND_SYNC + label: "LDAP_BACKGROUND_SYNC" + schema: + type: boolean + default: true + - variable: LDAP_BACKGROUND_SYNC_INTERVAL + label: "LDAP_BACKGROUND_SYNC_INTERVAL" + schema: + type: string + default: "every 1 hour" + - variable: LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED + label: "LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED" + schema: + type: boolean + default: false + - variable: LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS + label: "LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS" + schema: + type: boolean + default: false + - variable: LDAP_ENCRYPTION + label: "LDAP_ENCRYPTION" + schema: + type: string + default: "false" + - variable: LDAP_CA_CERT + label: "LDAP_CA_CERT" + schema: + type: string + private: true + default: "" + - variable: LDAP_REJECT_UNAUTHORIZED + label: "LDAP_REJECT_UNAUTHORIZED" + schema: + type: boolean + default: false + - variable: LDAP_USER_SEARCH_FILTER + label: "LDAP_USER_SEARCH_FILTER" + schema: + type: string + default: "" + - variable: LDAP_USER_SEARCH_SCOPE + label: "LDAP_USER_SEARCH_SCOPE" + schema: + type: string + default: "one" + enum: + - value: "one" + description: "one" + - value: "base" + description: "base" + - value: "sub" + description: "sub" + - variable: LDAP_USER_SEARCH_FIELD + label: "LDAP_USER_SEARCH_FIELD" + schema: + type: string + default: "" + - variable: LDAP_SEARCH_PAGE_SIZE + label: "LDAP_SEARCH_PAGE_SIZE" + schema: + type: int + default: 0 + - variable: LDAP_SEARCH_SIZE_LIMIT + label: "LDAP_SEARCH_SIZE_LIMIT" + schema: + type: int + default: 0 + - variable: LDAP_GROUP_FILTER_ENABLE + label: "LDAP_GROUP_FILTER_ENABLE" + schema: + type: boolean + default: false + - variable: LDAP_GROUP_FILTER_OBJECTCLASS + label: "LDAP_GROUP_FILTER_OBJECTCLASS" + schema: + type: string + default: "" + - variable: LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE + label: "LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE" + schema: + type: string + default: "" + - variable: LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE + label: "LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE" + schema: + type: string + default: "" + - variable: LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT + label: "LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT" + schema: + type: string + default: "" + - variable: LDAP_GROUP_FILTER_GROUP_NAME + label: "LDAP_GROUP_FILTER_GROUP_NAME" + schema: + type: string + default: "" + - variable: LDAP_UNIQUE_IDENTIFIER_FIELD + label: "LDAP_UNIQUE_IDENTIFIER_FIELD" + schema: + type: string + default: "" + - variable: LDAP_UTF8_NAMES_SLUGIFY + label: "LDAP_UTF8_NAMES_SLUGIFY" + schema: + type: boolean + default: true + - variable: LDAP_USERNAME_FIELD + label: "LDAP_USERNAME_FIELD" + schema: + type: string + default: "" + - variable: LDAP_FULLNAME_FIELD + label: "LDAP_FULLNAME_FIELD" + schema: + type: string + default: "fullname" + - variable: LDAP_MERGE_EXISTING_USERS + label: "LDAP_MERGE_EXISTING_USERS" + schema: + type: boolean + default: false + - variable: LDAP_EMAIL_MATCH_ENABLE + label: "LDAP_EMAIL_MATCH_ENABLE" + schema: + type: boolean + default: true + - variable: LDAP_EMAIL_MATCH_REQUIRE + label: "LDAP_EMAIL_MATCH_REQUIRE" + schema: + type: boolean + default: true + - variable: LDAP_EMAIL_MATCH_VERIFIED + label: "LDAP_EMAIL_MATCH_VERIFIED" + schema: + type: boolean + default: true + - variable: LDAP_EMAIL_FIELD + label: "LDAP_EMAIL_FIELD" + schema: + type: string + default: "mail" + - variable: LDAP_SYNC_USER_DATA + label: "LDAP_SYNC_USER_DATA" + schema: + type: boolean + default: false + - variable: LDAP_SYNC_USER_DATA_FIELDMAP + label: "LDAP_SYNC_USER_DATA_FIELDMAP" + schema: + type: string + default: "" + - variable: LDAP_SYNC_GROUP_ROLES + label: "LDAP_SYNC_GROUP_ROLES" + schema: + type: string + default: "" + - variable: LDAP_SYNC_ADMIN_STATUS + label: "LDAP_SYNC_ADMIN_STATUS" + schema: + type: boolean + default: true + - variable: LDAP_SYNC_ADMIN_GROUPS + label: "LDAP_SYNC_ADMIN_GROUPS" + schema: + type: string + default: "" + - variable: headerenabled + label: "LDAP Header Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: HEADER_LOGIN_ID + label: "HEADER_LOGIN_ID" + schema: + type: string + default: "" + - variable: HEADER_LOGIN_FIRSTNAME + label: "HEADER_LOGIN_FIRSTNAME" + schema: + type: string + default: "" + - variable: HEADER_LOGIN_LASTNAME + label: "HEADER_LOGIN_LASTNAME" + schema: + type: string + default: "" + - variable: HEADER_LOGIN_EMAIL + label: "HEADER_LOGIN_EMAIL" + schema: + type: string + default: "" + - variable: casenabled + label: "CAS Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: CAS_ENABLED + label: "CAS_ENABLED" + schema: + type: boolean + default: false + - variable: CAS_BASE_URL + label: "CAS_BASE_URL" + schema: + type: string + default: "" + - variable: CAS_LOGIN_URL + label: "CAS_LOGIN_URL" + schema: + type: string + default: "" + - variable: CAS_VALIDATE_URL + label: "CAS_VALIDATE_URL" + schema: + type: string + default: "" + - variable: samlenabled + label: "SAML Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: SAML_ENABLED + label: "SAML_ENABLED" + schema: + type: boolean + default: false + - variable: SAML_PROVIDER + label: "SAML_PROVIDER" + schema: + type: string + default: "" + - variable: SAML_ENTRYPOINT + label: "SAML_ENTRYPOINT" + schema: + type: string + default: "" + - variable: SAML_ISSUER + label: "SAML_ISSUER" + schema: + type: string + default: "" + - variable: SAML_CERT + label: "SAML_CERT" + schema: + type: string + private: true + default: "" + - variable: SAML_IDPSLO_REDIRECTURL + label: "SAML_IDPSLO_REDIRECTURL" + schema: + type: string + default: "" + - variable: SAML_PRIVATE_KEYFILE + label: "SAML_PRIVATE_KEYFILE" + schema: + type: string + default: "" + - variable: SAML_PUBLIC_CERTFILE + label: "SAML_PUBLIC_CERTFILE" + schema: + type: string + default: "" + - variable: SAML_IDENTIFIER_FORMAT + label: "SAML_IDENTIFIER_FORMAT" + schema: + type: string + default: "" + - variable: SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE + label: "SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE" + schema: + type: string + default: "" + - variable: SAML_ATTRIBUTES + label: "SAML_ATTRIBUTES" + schema: + type: string + default: "" + - 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: 10192 + 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: data + label: "App Data Storage" + description: "Stores the Application Data." + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: 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: 568 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID of the user running the application" + schema: + type: int + default: 568 + # 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: ingress + label: "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: 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/stable/wekan/10.4.0/templates/NOTES.txt b/stable/wekan/10.4.0/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/stable/wekan/10.4.0/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/stable/wekan/10.4.0/templates/common.yaml b/stable/wekan/10.4.0/templates/common.yaml new file mode 100644 index 00000000000..b51394e00a4 --- /dev/null +++ b/stable/wekan/10.4.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.v1.common.loader.all" . }} diff --git a/stable/wekan/10.4.0/values.yaml b/stable/wekan/10.4.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d