From c670da04cac5f88cc023e89bac4747d7c043b2cb Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Sun, 21 Jan 2024 16:27:56 +0000 Subject: [PATCH] Commit new Chart releases for TrueCharts Signed-off-by: TrueCharts-Bot --- stable/dashdot/7.2.4/app-changelog.md | 9 - stable/dashdot/{7.2.4 => 7.3.0}/CHANGELOG.md | 18 +- stable/dashdot/{7.2.4 => 7.3.0}/Chart.yaml | 4 +- stable/dashdot/{7.2.4 => 7.3.0}/README.md | 0 stable/dashdot/7.3.0/app-changelog.md | 9 + stable/dashdot/{7.2.4 => 7.3.0}/app-readme.md | 0 .../charts/common-17.2.22.tgz | Bin .../dashdot/{7.2.4 => 7.3.0}/ix_values.yaml | 2 +- .../dashdot/{7.2.4 => 7.3.0}/questions.yaml | 0 .../{7.2.4 => 7.3.0}/templates/NOTES.txt | 0 .../{7.2.4 => 7.3.0}/templates/common.yaml | 0 stable/dashdot/{7.2.4 => 7.3.0}/values.yaml | 0 stable/freshrss/17.1.11/CHANGELOG.md | 99 + stable/freshrss/17.1.11/Chart.yaml | 37 + stable/freshrss/17.1.11/README.md | 28 + stable/freshrss/17.1.11/app-changelog.md | 9 + stable/freshrss/17.1.11/app-readme.md | 8 + .../17.1.11/charts/common-17.2.22.tgz | Bin 0 -> 97585 bytes stable/freshrss/17.1.11/ix_values.yaml | 23 + stable/freshrss/17.1.11/questions.yaml | 2828 ++++++++++++++ stable/freshrss/17.1.11/templates/NOTES.txt | 1 + stable/freshrss/17.1.11/templates/common.yaml | 1 + stable/freshrss/17.1.11/values.yaml | 0 stable/home-assistant/23.0.8/CHANGELOG.md | 99 + stable/home-assistant/23.0.8/Chart.yaml | 39 + stable/home-assistant/23.0.8/README.md | 28 + stable/home-assistant/23.0.8/app-changelog.md | 9 + stable/home-assistant/23.0.8/app-readme.md | 8 + .../23.0.8/charts/common-17.2.27.tgz | Bin 0 -> 98047 bytes stable/home-assistant/23.0.8/ix_values.yaml | 153 + stable/home-assistant/23.0.8/questions.yaml | 3288 +++++++++++++++++ .../home-assistant/23.0.8/templates/NOTES.txt | 1 + .../23.0.8/templates/common.yaml | 5 + stable/home-assistant/23.0.8/values.yaml | 0 34 files changed, 6685 insertions(+), 21 deletions(-) delete mode 100644 stable/dashdot/7.2.4/app-changelog.md rename stable/dashdot/{7.2.4 => 7.3.0}/CHANGELOG.md (82%) rename stable/dashdot/{7.2.4 => 7.3.0}/Chart.yaml (96%) rename stable/dashdot/{7.2.4 => 7.3.0}/README.md (100%) create mode 100644 stable/dashdot/7.3.0/app-changelog.md rename stable/dashdot/{7.2.4 => 7.3.0}/app-readme.md (100%) rename stable/dashdot/{7.2.4 => 7.3.0}/charts/common-17.2.22.tgz (100%) rename stable/dashdot/{7.2.4 => 7.3.0}/ix_values.yaml (97%) rename stable/dashdot/{7.2.4 => 7.3.0}/questions.yaml (100%) rename stable/dashdot/{7.2.4 => 7.3.0}/templates/NOTES.txt (100%) rename stable/dashdot/{7.2.4 => 7.3.0}/templates/common.yaml (100%) rename stable/dashdot/{7.2.4 => 7.3.0}/values.yaml (100%) create mode 100644 stable/freshrss/17.1.11/CHANGELOG.md create mode 100644 stable/freshrss/17.1.11/Chart.yaml create mode 100644 stable/freshrss/17.1.11/README.md create mode 100644 stable/freshrss/17.1.11/app-changelog.md create mode 100644 stable/freshrss/17.1.11/app-readme.md create mode 100644 stable/freshrss/17.1.11/charts/common-17.2.22.tgz create mode 100644 stable/freshrss/17.1.11/ix_values.yaml create mode 100644 stable/freshrss/17.1.11/questions.yaml create mode 100644 stable/freshrss/17.1.11/templates/NOTES.txt create mode 100644 stable/freshrss/17.1.11/templates/common.yaml create mode 100644 stable/freshrss/17.1.11/values.yaml create mode 100644 stable/home-assistant/23.0.8/CHANGELOG.md create mode 100644 stable/home-assistant/23.0.8/Chart.yaml create mode 100644 stable/home-assistant/23.0.8/README.md create mode 100644 stable/home-assistant/23.0.8/app-changelog.md create mode 100644 stable/home-assistant/23.0.8/app-readme.md create mode 100644 stable/home-assistant/23.0.8/charts/common-17.2.27.tgz create mode 100644 stable/home-assistant/23.0.8/ix_values.yaml create mode 100644 stable/home-assistant/23.0.8/questions.yaml create mode 100644 stable/home-assistant/23.0.8/templates/NOTES.txt create mode 100644 stable/home-assistant/23.0.8/templates/common.yaml create mode 100644 stable/home-assistant/23.0.8/values.yaml diff --git a/stable/dashdot/7.2.4/app-changelog.md b/stable/dashdot/7.2.4/app-changelog.md deleted file mode 100644 index c997e8f325..0000000000 --- a/stable/dashdot/7.2.4/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [dashdot-7.2.4](https://github.com/truecharts/charts/compare/dashdot-7.2.3...dashdot-7.2.4) (2024-01-21) - -### Chore - - - -- update metadata in chart.yaml ([#17457](https://github.com/truecharts/charts/issues/17457)) \ No newline at end of file diff --git a/stable/dashdot/7.2.4/CHANGELOG.md b/stable/dashdot/7.3.0/CHANGELOG.md similarity index 82% rename from stable/dashdot/7.2.4/CHANGELOG.md rename to stable/dashdot/7.3.0/CHANGELOG.md index 01d42dad7c..ca7539ff26 100644 --- a/stable/dashdot/7.2.4/CHANGELOG.md +++ b/stable/dashdot/7.3.0/CHANGELOG.md @@ -7,6 +7,15 @@ title: Changelog +## [dashdot-7.3.0](https://github.com/truecharts/charts/compare/dashdot-7.2.4...dashdot-7.3.0) (2024-01-21) + +### Chore + + + +- update container image mauricenino/dashdot to v5.8.2[@1ff18b1](https://github.com/1ff18b1) by renovate ([#17450](https://github.com/truecharts/charts/issues/17450)) + + ## [dashdot-7.2.4](https://github.com/truecharts/charts/compare/dashdot-7.2.3...dashdot-7.2.4) (2024-01-21) ### Chore @@ -88,12 +97,3 @@ title: Changelog - bump all charts for OCI test push - -- move everything to consume OCI-hosted common-chart dependency - -- update container image common to v17.2.19[@4ebb688](https://github.com/4ebb688) by renovate ([#16733](https://github.com/truecharts/charts/issues/16733)) - -- update container image common to v17.2.18[@085ba3c](https://github.com/085ba3c) by renovate ([#16732](https://github.com/truecharts/charts/issues/16732)) - -- standardize ./img references ([#16704](https://github.com/truecharts/charts/issues/16704)) - diff --git a/stable/dashdot/7.2.4/Chart.yaml b/stable/dashdot/7.3.0/Chart.yaml similarity index 96% rename from stable/dashdot/7.2.4/Chart.yaml rename to stable/dashdot/7.3.0/Chart.yaml index 5a94e2eb08..1f1fa95a17 100644 --- a/stable/dashdot/7.2.4/Chart.yaml +++ b/stable/dashdot/7.3.0/Chart.yaml @@ -7,7 +7,7 @@ annotations: truecharts.org/min_helm_version: "3.12" truecharts.org/train: stable apiVersion: v2 -appVersion: 5.5.2 +appVersion: 5.8.2 dependencies: - name: common version: 17.2.22 @@ -34,4 +34,4 @@ sources: - https://github.com/truecharts/charts/tree/master/charts/stable/dashdot - https://hub.docker.com/r/mauricenino/dashdot type: application -version: 7.2.4 +version: 7.3.0 diff --git a/stable/dashdot/7.2.4/README.md b/stable/dashdot/7.3.0/README.md similarity index 100% rename from stable/dashdot/7.2.4/README.md rename to stable/dashdot/7.3.0/README.md diff --git a/stable/dashdot/7.3.0/app-changelog.md b/stable/dashdot/7.3.0/app-changelog.md new file mode 100644 index 0000000000..faedae1b8e --- /dev/null +++ b/stable/dashdot/7.3.0/app-changelog.md @@ -0,0 +1,9 @@ + + +## [dashdot-7.3.0](https://github.com/truecharts/charts/compare/dashdot-7.2.4...dashdot-7.3.0) (2024-01-21) + +### Chore + + + +- update container image mauricenino/dashdot to v5.8.2[@1ff18b1](https://github.com/1ff18b1) by renovate ([#17450](https://github.com/truecharts/charts/issues/17450)) \ No newline at end of file diff --git a/stable/dashdot/7.2.4/app-readme.md b/stable/dashdot/7.3.0/app-readme.md similarity index 100% rename from stable/dashdot/7.2.4/app-readme.md rename to stable/dashdot/7.3.0/app-readme.md diff --git a/stable/dashdot/7.2.4/charts/common-17.2.22.tgz b/stable/dashdot/7.3.0/charts/common-17.2.22.tgz similarity index 100% rename from stable/dashdot/7.2.4/charts/common-17.2.22.tgz rename to stable/dashdot/7.3.0/charts/common-17.2.22.tgz diff --git a/stable/dashdot/7.2.4/ix_values.yaml b/stable/dashdot/7.3.0/ix_values.yaml similarity index 97% rename from stable/dashdot/7.2.4/ix_values.yaml rename to stable/dashdot/7.3.0/ix_values.yaml index 8062eceb01..24cb763cd8 100644 --- a/stable/dashdot/7.2.4/ix_values.yaml +++ b/stable/dashdot/7.3.0/ix_values.yaml @@ -1,6 +1,6 @@ image: repository: mauricenino/dashdot - tag: 5.5.2@sha256:e61f4c77cd801e2690f0c9cdfcdd70de13bd94fef69f343860b3977831525ddc + tag: 5.8.2@sha256:1ff18b1cdbad26791482ddd80be12bc905e4548b7d68b88386b44488bfc51706 pullPolicy: IfNotPresent securityContext: container: diff --git a/stable/dashdot/7.2.4/questions.yaml b/stable/dashdot/7.3.0/questions.yaml similarity index 100% rename from stable/dashdot/7.2.4/questions.yaml rename to stable/dashdot/7.3.0/questions.yaml diff --git a/stable/dashdot/7.2.4/templates/NOTES.txt b/stable/dashdot/7.3.0/templates/NOTES.txt similarity index 100% rename from stable/dashdot/7.2.4/templates/NOTES.txt rename to stable/dashdot/7.3.0/templates/NOTES.txt diff --git a/stable/dashdot/7.2.4/templates/common.yaml b/stable/dashdot/7.3.0/templates/common.yaml similarity index 100% rename from stable/dashdot/7.2.4/templates/common.yaml rename to stable/dashdot/7.3.0/templates/common.yaml diff --git a/stable/dashdot/7.2.4/values.yaml b/stable/dashdot/7.3.0/values.yaml similarity index 100% rename from stable/dashdot/7.2.4/values.yaml rename to stable/dashdot/7.3.0/values.yaml diff --git a/stable/freshrss/17.1.11/CHANGELOG.md b/stable/freshrss/17.1.11/CHANGELOG.md new file mode 100644 index 0000000000..4a85bc6069 --- /dev/null +++ b/stable/freshrss/17.1.11/CHANGELOG.md @@ -0,0 +1,99 @@ +--- +title: Changelog +--- + +**Important:** +*for the complete changelog, please refer to the website* + + + +## [freshrss-17.1.11](https://github.com/truecharts/charts/compare/freshrss-17.1.10...freshrss-17.1.11) (2024-01-21) + +### Chore + + + +- update container image ghcr.io/linuxserver/freshrss to 1.23.1[@fc790bd](https://github.com/fc790bd) by renovate ([#17461](https://github.com/truecharts/charts/issues/17461)) + + +## [freshrss-17.1.10](https://github.com/truecharts/charts/compare/freshrss-17.1.9...freshrss-17.1.10) (2024-01-21) + +### Chore + + + +- update metadata in chart.yaml ([#17457](https://github.com/truecharts/charts/issues/17457)) + + +## [freshrss-17.1.9](https://github.com/truecharts/charts/compare/freshrss-17.1.8...freshrss-17.1.9) (2024-01-15) + +### Chore + + + +- update container image ghcr.io/linuxserver/freshrss to 1.23.1[@49be60c](https://github.com/49be60c) by renovate ([#17233](https://github.com/truecharts/charts/issues/17233)) + + + + +## [freshrss-17.1.8](https://github.com/truecharts/charts/compare/freshrss-17.1.7...freshrss-17.1.8) (2024-01-09) + +### Chore + + + +- update container image common to v17.2.22[@e7c9056](https://github.com/e7c9056) by renovate ([#16986](https://github.com/truecharts/charts/issues/16986)) + + +## [freshrss-17.1.7](https://github.com/truecharts/charts/compare/freshrss-17.1.6...freshrss-17.1.7) (2024-01-08) + +### Chore + + + +- update container image ghcr.io/linuxserver/freshrss to 1.23.1[@e1a2a9e](https://github.com/e1a2a9e) by renovate ([#16942](https://github.com/truecharts/charts/issues/16942)) + + +## [freshrss-17.1.6](https://github.com/truecharts/charts/compare/freshrss-17.1.5...freshrss-17.1.6) (2024-01-02) + +### Chore + + + +- force bump to ensure up-to-date catalogs + + +## [freshrss-17.1.5](https://github.com/truecharts/charts/compare/freshrss-17.1.4...freshrss-17.1.5) (2024-01-01) + +### Chore + + + +- increase common version for oci fixes + +- remove non-existent template refs ([#16738](https://github.com/truecharts/charts/issues/16738)) + + +## [freshrss-17.1.4](https://github.com/truecharts/charts/compare/freshrss-17.1.1...freshrss-17.1.4) (2024-01-01) + +### Chore + + + +- bump all charts for OCI test push + +- move everything to consume OCI-hosted common-chart dependency + +- update container image common to v17.2.19[@4ebb688](https://github.com/4ebb688) by renovate ([#16733](https://github.com/truecharts/charts/issues/16733)) + +- update container image common to v17.2.18[@085ba3c](https://github.com/085ba3c) by renovate ([#16732](https://github.com/truecharts/charts/issues/16732)) + +- standardize ./img references ([#16704](https://github.com/truecharts/charts/issues/16704)) + + +## [freshrss-17.1.3](https://github.com/truecharts/charts/compare/freshrss-17.1.1...freshrss-17.1.3) (2024-01-01) + +### Chore + + + diff --git a/stable/freshrss/17.1.11/Chart.yaml b/stable/freshrss/17.1.11/Chart.yaml new file mode 100644 index 0000000000..b1e4fd9a8b --- /dev/null +++ b/stable/freshrss/17.1.11/Chart.yaml @@ -0,0 +1,37 @@ +annotations: + max_scale_version: 23.10.2 + min_scale_version: 23.10.0 + truecharts.org/SCALE-support: "true" + truecharts.org/category: media + truecharts.org/max_helm_version: "3.14" + truecharts.org/min_helm_version: "3.12" + truecharts.org/train: stable +apiVersion: v2 +appVersion: 1.23.1 +dependencies: + - name: common + version: 17.2.22 + repository: oci://tccr.io/truecharts + condition: "" + alias: "" + tags: [] + import-values: [] +deprecated: false +description: FreshRSS is a self-hosted RSS feed aggregator +home: https://truecharts.org/charts/stable/freshrss +icon: https://truecharts.org/img/hotlink-ok/chart-icons/freshrss.png +keywords: + - freshrss + - rss +kubeVersion: ">=1.24.0-0" +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +name: freshrss +sources: + - https://github.com/FreshRSS/FreshRSS + - https://github.com/truecharts/charts/tree/master/charts/stable/freshrss + - https://ghcr.io/linuxserver/freshrss +type: application +version: 17.1.11 diff --git a/stable/freshrss/17.1.11/README.md b/stable/freshrss/17.1.11/README.md new file mode 100644 index 0000000000..b335979d7a --- /dev/null +++ b/stable/freshrss/17.1.11/README.md @@ -0,0 +1,28 @@ +--- +title: 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/freshrss) + +**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/freshrss/17.1.11/app-changelog.md b/stable/freshrss/17.1.11/app-changelog.md new file mode 100644 index 0000000000..61142b8033 --- /dev/null +++ b/stable/freshrss/17.1.11/app-changelog.md @@ -0,0 +1,9 @@ + + +## [freshrss-17.1.11](https://github.com/truecharts/charts/compare/freshrss-17.1.10...freshrss-17.1.11) (2024-01-21) + +### Chore + + + +- update container image ghcr.io/linuxserver/freshrss to 1.23.1[@fc790bd](https://github.com/fc790bd) by renovate ([#17461](https://github.com/truecharts/charts/issues/17461)) \ No newline at end of file diff --git a/stable/freshrss/17.1.11/app-readme.md b/stable/freshrss/17.1.11/app-readme.md new file mode 100644 index 0000000000..54945d89ba --- /dev/null +++ b/stable/freshrss/17.1.11/app-readme.md @@ -0,0 +1,8 @@ +FreshRSS is a self-hosted RSS feed aggregator + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/freshrss](https://truecharts.org/charts/stable/freshrss) + +--- + +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/freshrss/17.1.11/charts/common-17.2.22.tgz b/stable/freshrss/17.1.11/charts/common-17.2.22.tgz new file mode 100644 index 0000000000000000000000000000000000000000..87196d1ed477db12aec7b38a3c01b58fb7f28e2b GIT binary patch literal 97585 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

uX8Z!9(G&fM%U{dG+K>O$A?Y7(dxEF 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 + 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: iscsi + label: iSCSI Options + schema: + show_if: [["type", "=", "iscsi"]] + type: dict + additional_attrs: true + attrs: + - variable: targetPortal + label: targetPortal + schema: + type: string + required: true + default: "" + - variable: iqn + label: iqn + schema: + type: string + required: true + default: "" + - variable: lun + label: lun + schema: + type: int + default: 0 + - variable: authSession + label: authSession + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: authDiscovery + label: authDiscovery + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + 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: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: 'Allow Cross Origin Requests (advanced)' + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: 'namespace (optional)' + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name (Optional) + description: Defaults to chart name + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description (Optional) + description: Defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: icon + label: Icon (Optional) + description: Defaults to chart icon + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: widget + label: Widget Settings + schema: + type: dict + additional_attrs: true + show_if: [["enabled", "=", true]] + attrs: + - variable: enabled + label: Enable Widget + description: When disabled all widget annotations are skipped. + schema: + type: boolean + default: true + - variable: custom + label: Options + schema: + type: dict + additional_attrs: true + attrs: + - variable: key + label: API-key (key) + schema: + type: string + default: "" + - variable: customkv + label: Custom Options + schema: + type: list + default: [] + items: + - variable: option + label: Option + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + default: "" + required: true + - variable: value + label: Value + 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: 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: 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: overrideService + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + 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: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: namespace + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description + description: defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: securityContext + group: Security and Permissions + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: container + label: Container + schema: + additional_attrs: true + type: dict + attrs: + # Settings from questions.yaml get appended here on a per-app basis + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID of the user running the application" + schema: + type: int + default: 0 + # Settings from questions.yaml get appended here on a per-app basis + - variable: PUID + label: Process User ID - PUID + description: When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps + schema: + type: int + show_if: [["runAsUser", "=", 0]] + default: 568 + - variable: UMASK + label: UMASK + description: When supported by the container, this sets the UMASK for the App. Not supported by all Apps + schema: + type: string + default: "0022" + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: true + - variable: pod + label: Pod + schema: + additional_attrs: true + type: dict + attrs: + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: OnRootMismatch + enum: + - value: OnRootMismatch + description: OnRootMismatch + - value: Always + description: Always + - variable: supplementalGroups + label: Supplemental Groups + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: Supplemental Group + schema: + type: int + # Settings from questions.yaml get appended here on a per-app basis + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: resources + group: Resources and Devices + label: "Resource Limits" + schema: + additional_attrs: true + type: dict + attrs: + - variable: limits + label: Advanced Limit Resource Consumption + schema: + additional_attrs: true + type: dict + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 4000m + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: RAM + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 8Gi + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Minimum Resources Required (request)" + schema: + additional_attrs: true + type: dict + hidden: true + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 10m + hidden: true + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "RAM" + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 50Mi + hidden: true + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: deviceList + label: Mount USB Devices + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: Device + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Storage + schema: + type: boolean + default: true + - variable: type + label: (Advanced) Type of Storage + description: Sets the persistence type + schema: + type: string + default: device + hidden: true + - variable: readOnly + label: readOnly + schema: + type: boolean + default: false + - variable: hostPath + label: Host Device Path + description: Path to the device on the host system + schema: + type: path + - variable: mountPath + label: Container Device Path + description: Path inside the container the device is mounted + schema: + type: string + default: "/dev/ttyACM0" + - variable: scaleGPU + label: GPU Configuration + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: scaleGPUEntry + label: GPU + schema: + additional_attrs: true + type: dict + attrs: + # Specify GPU configuration + - variable: gpu + label: Select GPU + schema: + additional_attrs: true + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + - variable: workaround + label: "Workaround" + schema: + type: string + default: workaround + hidden: true +# - variable: horizontalPodAutoscaler +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# type: list +# default: [] +# items: +# - variable: hpaEntry +# label: HPA Entry +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: name +# label: Name +# schema: +# type: string +# required: true +# default: "" +# - variable: enabled +# label: Enabled +# schema: +# type: boolean +# default: false +# show_subquestions_if: true +# subquestions: +# - variable: target +# label: Target +# description: Deployment name, Defaults to Main Deployment +# schema: +# type: string +# default: "" +# - variable: minReplicas +# label: Minimum Replicas +# schema: +# type: int +# default: 1 +# - variable: maxReplicas +# label: Maximum Replicas +# schema: +# type: int +# default: 5 +# - variable: targetCPUUtilizationPercentage +# label: Target CPU Utilization Percentage +# schema: +# type: int +# default: 80 +# - variable: targetMemoryUtilizationPercentage +# label: Target Memory Utilization Percentage +# schema: +# type: int +# default: 80 + - variable: networkPolicy + group: Advanced + label: (Advanced) Network Policy + schema: + type: list + default: [] + items: + - variable: netPolicyEntry + label: Network Policy Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + default: "" + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: policyType + label: Policy Type + schema: + type: string + default: "" + enum: + - value: "" + description: Default + - value: ingress + description: Ingress + - value: egress + description: Egress + - value: ingress-egress + description: Ingress and Egress + - variable: egress + label: Egress + schema: + type: list + default: [] + items: + - variable: egressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: to + label: To + schema: + type: list + default: [] + items: + - variable: toEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP + - variable: ingress + label: Ingress + schema: + type: list + default: [] + items: + - variable: ingressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: from + label: From + schema: + type: list + default: [] + items: + - variable: fromEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP + - variable: addons + group: Addons + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: Codeserver + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: service + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: NodePort + description: Deprecated CHANGE THIS + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: ports + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + default: 36107 + - variable: 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: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: 'Allow Cross Origin Requests (advanced)' + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: 'namespace (optional)' + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + 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/freshrss/17.1.11/templates/NOTES.txt b/stable/freshrss/17.1.11/templates/NOTES.txt new file mode 100644 index 0000000000..efcb74cb77 --- /dev/null +++ b/stable/freshrss/17.1.11/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/stable/freshrss/17.1.11/templates/common.yaml b/stable/freshrss/17.1.11/templates/common.yaml new file mode 100644 index 0000000000..b51394e00a --- /dev/null +++ b/stable/freshrss/17.1.11/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.v1.common.loader.all" . }} diff --git a/stable/freshrss/17.1.11/values.yaml b/stable/freshrss/17.1.11/values.yaml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/stable/home-assistant/23.0.8/CHANGELOG.md b/stable/home-assistant/23.0.8/CHANGELOG.md new file mode 100644 index 0000000000..eef05115a0 --- /dev/null +++ b/stable/home-assistant/23.0.8/CHANGELOG.md @@ -0,0 +1,99 @@ +--- +title: Changelog +--- + +**Important:** +*for the complete changelog, please refer to the website* + + + +## [home-assistant-23.0.8](https://github.com/truecharts/charts/compare/home-assistant-23.0.7...home-assistant-23.0.8) (2024-01-21) + +### Chore + + + +- update db url always ([#17460](https://github.com/truecharts/charts/issues/17460)) + + +## [home-assistant-23.0.7](https://github.com/truecharts/charts/compare/home-assistant-23.0.6...home-assistant-23.0.7) (2024-01-21) + +### Chore + + + +- update metadata in chart.yaml ([#17457](https://github.com/truecharts/charts/issues/17457)) + + +## [home-assistant-23.0.6](https://github.com/truecharts/charts/compare/home-assistant-23.0.5...home-assistant-23.0.6) (2024-01-21) + +### Chore + + + +- update container image homeassistant/home-assistant to v2024.1.5[@e0cd4f4](https://github.com/e0cd4f4) by renovate ([#17426](https://github.com/truecharts/charts/issues/17426)) + + +## [home-assistant-23.0.5](https://github.com/truecharts/charts/compare/home-assistant-23.0.4...home-assistant-23.0.5) (2024-01-14) + + +## [home-assistant-23.0.4](https://github.com/truecharts/charts/compare/home-assistant-23.0.3...home-assistant-23.0.4) (2024-01-14) + +### Chore + + + +- update container image homeassistant/home-assistant to v2024.1.3[@96b802e](https://github.com/96b802e) by renovate ([#17193](https://github.com/truecharts/charts/issues/17193)) + + + + +## [home-assistant-23.0.3](https://github.com/truecharts/charts/compare/home-assistant-23.0.2...home-assistant-23.0.3) (2024-01-09) + +### Chore + + + +- update container image common to v17.2.22[@e7c9056](https://github.com/e7c9056) by renovate ([#16986](https://github.com/truecharts/charts/issues/16986)) + + +## [home-assistant-23.0.2](https://github.com/truecharts/charts/compare/home-assistant-23.0.1...home-assistant-23.0.2) (2024-01-08) + +### Chore + + + +- update container image homeassistant/home-assistant to v2024.1.2[@5ace958](https://github.com/5ace958) by renovate ([#17003](https://github.com/truecharts/charts/issues/17003)) + + +## [home-assistant-23.0.1](https://github.com/truecharts/charts/compare/home-assistant-23.0.0...home-assistant-23.0.1) (2024-01-05) + +### Chore + + + +- update container image homeassistant/home-assistant to v2024.1.1[@c0752d4](https://github.com/c0752d4) by renovate ([#16891](https://github.com/truecharts/charts/issues/16891)) + + +## [home-assistant-23.0.0](https://github.com/truecharts/charts/compare/home-assistant-22.1.6...home-assistant-23.0.0) (2024-01-03) + +### Chore + + + +- update container image homeassistant/home-assistant to v2024.1.0[@2ecae9e](https://github.com/2ecae9e) by renovate ([#16861](https://github.com/truecharts/charts/issues/16861)) + + +## [home-assistant-22.1.6](https://github.com/truecharts/charts/compare/home-assistant-22.1.5...home-assistant-22.1.6) (2024-01-02) + +### Chore + + + +- force bump to ensure up-to-date catalogs + + +## [home-assistant-22.1.5](https://github.com/truecharts/charts/compare/home-assistant-22.1.4...home-assistant-22.1.5) (2024-01-01) + +### Chore + diff --git a/stable/home-assistant/23.0.8/Chart.yaml b/stable/home-assistant/23.0.8/Chart.yaml new file mode 100644 index 0000000000..540519f46e --- /dev/null +++ b/stable/home-assistant/23.0.8/Chart.yaml @@ -0,0 +1,39 @@ +annotations: + max_scale_version: 23.10.2 + min_scale_version: 23.10.0 + truecharts.org/SCALE-support: "true" + truecharts.org/category: home-automation + truecharts.org/max_helm_version: "3.14" + truecharts.org/min_helm_version: "3.12" + truecharts.org/train: stable +apiVersion: v2 +appVersion: 2024.1.5 +dependencies: + - name: common + version: 17.2.27 + repository: oci://tccr.io/truecharts + condition: "" + alias: "" + tags: [] + import-values: [] +deprecated: false +description: home-assistant App for TrueNAS SCALE +home: https://truecharts.org/charts/stable/home-assistant +icon: https://truecharts.org/img/hotlink-ok/chart-icons/home-assistant.png +keywords: + - home-assistant + - home-automation + - hass +kubeVersion: ">=1.24.0-0" +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +name: home-assistant +sources: + - https://github.com/cdr/code-server + - https://github.com/home-assistant/home-assistant + - https://github.com/truecharts/charts/tree/master/charts/stable/home-assistant + - https://hub.docker.com/r/homeassistant/home-assistant +type: application +version: 23.0.8 diff --git a/stable/home-assistant/23.0.8/README.md b/stable/home-assistant/23.0.8/README.md new file mode 100644 index 0000000000..e8b587422d --- /dev/null +++ b/stable/home-assistant/23.0.8/README.md @@ -0,0 +1,28 @@ +--- +title: 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/home-assistant) + +**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/home-assistant/23.0.8/app-changelog.md b/stable/home-assistant/23.0.8/app-changelog.md new file mode 100644 index 0000000000..8d928a0f75 --- /dev/null +++ b/stable/home-assistant/23.0.8/app-changelog.md @@ -0,0 +1,9 @@ + + +## [home-assistant-23.0.8](https://github.com/truecharts/charts/compare/home-assistant-23.0.7...home-assistant-23.0.8) (2024-01-21) + +### Chore + + + +- update db url always ([#17460](https://github.com/truecharts/charts/issues/17460)) \ No newline at end of file diff --git a/stable/home-assistant/23.0.8/app-readme.md b/stable/home-assistant/23.0.8/app-readme.md new file mode 100644 index 0000000000..9a840a5743 --- /dev/null +++ b/stable/home-assistant/23.0.8/app-readme.md @@ -0,0 +1,8 @@ +home-assistant App for TrueNAS SCALE + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/home-assistant](https://truecharts.org/charts/stable/home-assistant) + +--- + +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/home-assistant/23.0.8/charts/common-17.2.27.tgz b/stable/home-assistant/23.0.8/charts/common-17.2.27.tgz new file mode 100644 index 0000000000000000000000000000000000000000..db3ce20ffbb3bf5541cbf8f02e5ba9e9b55792ee GIT binary patch literal 98047 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 z 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 H089)3y&4v4 literal 0 HcmV?d00001 diff --git a/stable/home-assistant/23.0.8/ix_values.yaml b/stable/home-assistant/23.0.8/ix_values.yaml new file mode 100644 index 0000000000..74fd98afaa --- /dev/null +++ b/stable/home-assistant/23.0.8/ix_values.yaml @@ -0,0 +1,153 @@ +image: + repository: homeassistant/home-assistant + pullPolicy: IfNotPresent + tag: 2024.1.5@sha256:e0cd4f4043f2bdae80224b230cb9ca11e8d15f55f5754148412e32d5af8f98b6 +service: + main: + ports: + main: + port: 8123 + targetPort: 8123 +workload: + main: + podSpec: + initContainers: + init: + type: init + enabled: true + imageSelector: image + command: /config/init/init.sh +# # Enable devices to be discoverable +# hostNetwork: true + +# # When hostNetwork is true set dnsPolicy to ClusterFirstWithHostNet +# dnsPolicy: ClusterFirstWithHostNet +homeassistant: + trusted_proxies: [] +# Enable a prometheus-operator servicemonitor +prometheus: + serviceMonitor: + enabled: false + # interval: 1m + # additionalLabels: {} +persistence: + config: + enabled: true + mountPath: /config + targetSelectAll: true + init: + enabled: true + type: configmap + objectName: init + mountPath: "/config/init" + defaultMode: "0777" + readOnly: true + targetSelector: + main: + init: {} +configmap: + init: + enabled: true + data: + init.sh: |- + #!/bin/sh + {{ $haDBURL := (printf "%s?client_encoding=utf8" (.Values.cnpg.main.creds.std | trimAll "\"")) | quote }} + config_file="/config/configuration.yaml" + default="/config/init" + if [ ! -f "$config" ]; then + echo "File [$config] does NOT exist. Creating..." + cp "$default/configuration.default" "$config" + fi + if ! grep -q "recorder:" "$config"; then + echo "Section [recorder] does NOT exist in [$config]. Appending..." + echo "" >> "$config" + cat "$default/recorder.default" >> "$config" + fi + if ! grep -q "http:" "$config"; then + echo "Section [http] does NOT exist in [$config]. Appending..." + echo "" >> "$config" + cat "$default/http.default" >> "$config" + fi + + echo "Updating database URL" + yq -i '.recorder.db_url = "{{ $haDBURL }}"' "$config" + echo "Done" + + echo "Creating include files..." + for include_file in groups.yaml automations.yaml scripts.yaml scenes.yaml; do + if ! -f "/config/$include_file"; then + echo "File [$include_file] missing. Creating" + touch "/config/$include_file" + fi + done + + cd "/config" || echo "Could not change path to /config" + echo "Creating custom_components directory..." + mkdir "/config/custom_components" || echo "custom_components directory already exists" + + echo "Changing to the custom_components directory..." + cd "/config/custom_components" || echo "Could not change path to /config/custom_components" + + echo "Downloading HACS" + wget "https://github.com/hacs/integration/releases/latest/download/hacs.zip" || exit 0 + + if [ -d "/config/custom_components/hacs" ]; then + echo "HACS directory already exist, cleaning up..." + rm -R "/config/custom_components/hacs" + fi + + echo "Creating HACS directory..." + mkdir "/config/custom_components/hacs" + + echo "Unpacking HACS..." + unzip "/config/custom_components/hacs.zip" -d "/config/custom_components/hacs" >/dev/null 2>&1 + + echo "Removing HACS zip file..." + rm "/config/custom_components/hacs.zip" + echo "Installation complete." + configuration.yaml.default: |- + # Configure a default setup of Home Assistant (frontend, api, etc) + default_config: + + # Text to speech + tts: + - platform: google_translate + + group: !include groups.yaml + automation: !include automations.yaml + script: !include scripts.yaml + scene: !include scenes.yaml + recorder.default: |- + recorder: + purge_keep_days: 30 + commit_interval: 3 + db_url: {{ (printf "%s?client_encoding=utf8" (.Values.cnpg.main.creds.std | trimAll "\"")) | quote }} + http.default: |- + http: + use_x_forwarded_for: true + trusted_proxies: + {{- if hasKey .Values "ixChartContext" }} + - {{ .Values.ixChartContext.kubernetes_config.cluster_cidr }} + {{- else }} + {{- range .Values.homeassistant.trusted_proxies }} + - {{ . }} + {{- end }} + {{- end }} +cnpg: + main: + enabled: true + user: home-assistant + database: home-assistant +portal: + open: + enabled: true +securityContext: + container: + readOnlyRootFilesystem: false + runAsNonRoot: false + runAsUser: 0 + runAsGroup: 0 + capabilities: + add: + - CAP_NET_RAW + - CAP_NET_BIND_SERVICE diff --git a/stable/home-assistant/23.0.8/questions.yaml b/stable/home-assistant/23.0.8/questions.yaml new file mode 100644 index 0000000000..87252118a1 --- /dev/null +++ b/stable/home-assistant/23.0.8/questions.yaml @@ -0,0 +1,3288 @@ +groups: + - name: Container Image + description: Image to be used for container + - name: General Settings + description: General Deployment Settings + - name: Workload Settings + description: Workload Settings + - name: App Configuration + description: App Specific Config Options + - name: Networking and Services + description: Configure Network and Services for Container + - name: Storage and Persistence + description: Persist and Share Data that is Separate from the Container + - name: Ingress + description: Ingress Configuration + - name: Security and Permissions + description: Configure Security Context and Permissions + - name: Resources and Devices + description: "Specify Resources/Devices to be Allocated to Workload" + - name: Middlewares + description: Traefik Middlewares + - name: Metrics + description: Metrics + - name: Addons + description: Addon Configuration + - name: Advanced + description: Advanced Configuration + - name: Postgresql + description: Postgresql + - name: Documentation + description: Documentation +portals: + open: + protocols: + - "$kubernetes-resource_configmap_tcportal-open_protocol" + host: + - "$kubernetes-resource_configmap_tcportal-open_host" + ports: + - "$kubernetes-resource_configmap_tcportal-open_port" +questions: + - variable: global + group: General Settings + label: "Global Settings" + schema: + additional_attrs: true + type: dict + attrs: + - variable: stopAll + label: Stop All + description: "Stops All Running pods and hibernates cnpg" + schema: + type: boolean + default: false + - variable: workload + group: "Workload Settings" + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type (Advanced) + schema: + type: string + default: Deployment + enum: + - value: Deployment + description: Deployment + - value: DaemonSet + description: DaemonSet + - variable: replicas + label: Replicas (Advanced) + description: Set the number of Replicas + schema: + type: int + show_if: [["type", "!=", "DaemonSet"]] + default: 1 + - variable: podSpec + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: containers + label: Containers + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: Main Container + schema: + additional_attrs: true + type: dict + attrs: + - variable: envList + label: Extra Environment Variables + description: "Please be aware that some variables are set in the background, adding duplicates here might cause issues or prevent the app from starting..." + schema: + type: list + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: extraArgs + label: Extra Args + schema: + type: list + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: command + label: Command + schema: + type: list + default: [] + items: + - variable: param + label: Param + schema: + type: string + - variable: TZ + label: Timezone + group: "General Settings" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: podOptions + group: "General Settings" + label: "Global Pod Options (Advanced)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: expertPodOpts + label: "Expert - Pod Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + label: "Host Networking" + schema: + type: boolean + default: false + - variable: dnsConfig + label: "DNS Configuration" + schema: + type: dict + additional_attrs: true + attrs: + - variable: options + label: "Options" + schema: + type: list + default: [{"name": "ndots", "value": "1"}] + items: + - variable: optionsEntry + label: "Option Entry" + schema: + type: dict + additional_attrs: true + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + - variable: nameservers + label: "Nameservers" + schema: + type: list + default: [] + items: + - variable: nsEntry + label: "Nameserver Entry" + schema: + type: string + required: true + - variable: searches + label: "Searches" + schema: + type: list + default: [] + items: + - variable: searchEntry + label: "Search Entry" + schema: + type: string + required: true + + - variable: imagePullSecretList + group: "General Settings" + label: "Image Pull Secrets" + schema: + type: list + default: [] + items: + - variable: pullsecretentry + label: "Pull Secret" + schema: + type: dict + additional_attrs: true + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: true + - variable: data + label: Data + schema: + type: dict + additional_attrs: true + attrs: + - variable: registry + label: "Registry" + schema: + type: string + required: true + default: "https://index.docker.io/v1/" + - variable: username + label: "Username" + schema: + type: string + required: true + default: "" + - variable: password + label: "Password" + schema: + type: string + required: true + private: true + default: "" + - variable: email + label: "Email" + schema: + type: string + required: true + default: "" + - 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: 8123 + 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: config + label: "App Config 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 + - value: iscsi + description: iSCSI 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: iscsi + label: iSCSI Options + schema: + show_if: [["type", "=", "iscsi"]] + type: dict + additional_attrs: true + attrs: + - variable: targetPortal + label: targetPortal + schema: + type: string + required: true + default: "" + - variable: iqn + label: iqn + schema: + type: string + required: true + default: "" + - variable: lun + label: lun + schema: + type: int + default: 0 + - variable: authSession + label: authSession + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: authDiscovery + label: authDiscovery + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + 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: iscsi + label: iSCSI Options + schema: + show_if: [["type", "=", "iscsi"]] + type: dict + additional_attrs: true + attrs: + - variable: targetPortal + label: targetPortal + schema: + type: string + required: true + default: "" + - variable: iqn + label: iqn + schema: + type: string + required: true + default: "" + - variable: lun + label: lun + schema: + type: int + default: 0 + - variable: authSession + label: authSession + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: authDiscovery + label: authDiscovery + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + 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: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: 'Allow Cross Origin Requests (advanced)' + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: 'namespace (optional)' + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name (Optional) + description: Defaults to chart name + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description (Optional) + description: Defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: icon + label: Icon (Optional) + description: Defaults to chart icon + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: widget + label: Widget Settings + schema: + type: dict + additional_attrs: true + show_if: [["enabled", "=", true]] + attrs: + - variable: enabled + label: Enable Widget + description: When disabled all widget annotations are skipped. + schema: + type: boolean + default: true + - variable: custom + label: Options + schema: + type: dict + additional_attrs: true + attrs: + - variable: key + label: API-key (key) + schema: + type: string + default: "" + - variable: customkv + label: Custom Options + schema: + type: list + default: [] + items: + - variable: option + label: Option + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + default: "" + required: true + - variable: value + label: Value + 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: 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: 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: overrideService + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + 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: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: namespace + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description + description: defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: securityContext + group: Security and Permissions + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: container + label: Container + schema: + additional_attrs: true + type: dict + attrs: + # Settings from questions.yaml get appended here on a per-app basis + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID this App of the user running the application" + schema: + type: int + default: 0 + # Settings from questions.yaml get appended here on a per-app basis + - variable: PUID + label: Process User ID - PUID + description: When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps + schema: + type: int + show_if: [["runAsUser", "=", 0]] + default: 568 + - variable: UMASK + label: UMASK + description: When supported by the container, this sets the UMASK for the App. Not supported by all Apps + schema: + type: string + default: "0022" + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: true + - variable: pod + label: Pod + schema: + additional_attrs: true + type: dict + attrs: + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: OnRootMismatch + enum: + - value: OnRootMismatch + description: OnRootMismatch + - value: Always + description: Always + - variable: supplementalGroups + label: Supplemental Groups + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: Supplemental Group + schema: + type: int + # Settings from questions.yaml get appended here on a per-app basis + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: resources + group: Resources and Devices + label: "Resource Limits" + schema: + additional_attrs: true + type: dict + attrs: + - variable: limits + label: Advanced Limit Resource Consumption + schema: + additional_attrs: true + type: dict + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 4000m + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: RAM + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 8Gi + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Minimum Resources Required (request)" + schema: + additional_attrs: true + type: dict + hidden: true + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 10m + hidden: true + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "RAM" + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 50Mi + hidden: true + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: deviceList + label: Mount USB Devices + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: Device + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Storage + schema: + type: boolean + default: true + - variable: type + label: (Advanced) Type of Storage + description: Sets the persistence type + schema: + type: string + default: device + hidden: true + - variable: readOnly + label: readOnly + schema: + type: boolean + default: false + - variable: hostPath + label: Host Device Path + description: Path to the device on the host system + schema: + type: path + - variable: mountPath + label: Container Device Path + description: Path inside the container the device is mounted + schema: + type: string + default: "/dev/ttyACM0" + - variable: scaleGPU + label: GPU Configuration + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: scaleGPUEntry + label: GPU + schema: + additional_attrs: true + type: dict + attrs: + # Specify GPU configuration + - variable: gpu + label: Select GPU + schema: + additional_attrs: true + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + - variable: workaround + label: "Workaround" + schema: + type: string + default: workaround + hidden: true + - variable: cnpg + group: Postgresql + label: "CloudNative-PG (CNPG)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Postgresql Database" + schema: + additional_attrs: true + type: dict + attrs: + - variable: hibernate + label: Hibernate + description: "enable to safely hibernate and shutdown the postgresql cluster" + schema: + type: boolean + default: false + - variable: mode + label: Mode + description: 'Cluster mode of operation. Available modes: standalone - default mode. Creates new or updates an existing CNPG cluster. recovery - Same as standalone but creates a cluster from a backup, object store or via pg_basebackup replica - Creates a replica cluster from an existing CNPG cluster. # TODO.' + schema: + type: string + default: "standalone" + enum: + - value: standalone + description: standalone + - value: replica + description: replica + - value: recovery + description: recovery + - variable: cluster + label: "Cluster Settings" + schema: + additional_attrs: true + type: dict + attrs: + - variable: instances + label: Instances + schema: + type: int + default: 1 + - variable: singleNode + label: singleNode + schema: + type: boolean + default: true + hidden: true + - variable: storage + label: "Storage" + schema: + additional_attrs: true + type: dict + attrs: + - variable: size + label: Size + schema: + type: string + default: "256Gi" + - variable: walStorage + label: "WAL Storage" + schema: + additional_attrs: true + type: dict + attrs: + - variable: size + label: Size + schema: + type: string + default: "256Gi" + - variable: monitoring + label: "Monitoring Settings" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enablePodMonitor + label: "enablePodMonitor" + schema: + type: boolean + default: true + - variable: disableDefaultQueries + label: "disableDefaultQueries" + schema: + type: boolean + default: false + - variable: pooler + label: "Pooler Settings" + schema: + additional_attrs: true + type: dict + attrs: + - variable: instances + label: Instances + schema: + type: int + default: 1 + - variable: createRO + label: "Create ReadOnly Instance" + schema: + type: boolean + default: false + - variable: recovery + label: "Recovery Settings (Experimental)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + - variable: endpointURL + label: "endpointURL" + schema: + type: string + show_if: [["enabled", "=", true]] + default: "" + - variable: method + label: "method" + schema: + type: string + show_if: [["enabled", "=", true]] + default: "object_store" + - variable: backupName + label: "backupName" + schema: + type: string + show_if: [["enabled", "=", true]] + default: "" + - variable: provider + label: "provider" + schema: + type: string + show_if: [["enabled", "=", true]] + default: "s3" + enum: + - value: s3 + description: S3 + - value: azure + description: Azure + - value: google + description: Google + - variable: s3 + label: "s3" + schema: + additional_attrs: true + type: dict + show_if: [["provider", "=", "s3"]] + attrs: + - variable: region + label: "region" + schema: + type: string + default: "" + - variable: bucket + label: "bucket" + schema: + type: string + default: "" + - variable: path + label: "path" + schema: + type: string + default: "/" + - variable: accessKey + label: "accessKey" + schema: + type: string + default: "" + - variable: secretKey + label: "secretKey" + schema: + type: string + default: "" + - variable: azure + label: "azure (EXTREMELY EXPERIMENTAL)" + schema: + additional_attrs: true + type: dict + show_if: [["provider", "=", "azure"]] + attrs: + - variable: path + label: "path" + schema: + type: string + default: "/" + - variable: connectionString + label: "connectionString" + schema: + type: string + default: "" + - variable: storageAccount + label: "storageAccount" + schema: + type: string + default: "" + - variable: storageKey + label: "storageKey" + schema: + type: string + default: "" + - variable: storageSasToken + label: "storageSasToken" + schema: + type: string + default: "" + - variable: containerName + label: "containerName" + schema: + type: string + default: "" + - variable: serviceName + label: "serviceName" + schema: + type: string + default: "blob" + - variable: inheritFromAzureAD + label: "inheritFromAzureAD" + schema: + type: boolean + default: false + - variable: google + label: "google (EXTREMELY EXPERIMENTAL)" + schema: + additional_attrs: true + type: dict + show_if: [["provider", "=", "google"]] + attrs: + - variable: path + label: "path" + schema: + type: string + default: "/" + - variable: bucket + label: "bucket" + schema: + type: string + default: "" + - variable: gkeEnvironment + label: "gkeEnvironment" + schema: + type: string + default: "" + - variable: applicationCredentials + label: "applicationCredentials" + schema: + type: string + default: "" + - variable: backups + label: "Backup Settings (Experimental)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + - variable: endpointURL + label: "endpointURL" + schema: + type: string + show_if: [["enabled", "=", true]] + default: "" + - variable: destinationPath + label: "destinationPath" + schema: + type: string + show_if: [["enabled", "=", true]] + default: "" + - variable: retentionPolicy + label: "retentionPolicy" + schema: + type: string + show_if: [["enabled", "=", true]] + default: "30d" + - variable: provider + label: "provider" + schema: + type: string + show_if: [["enabled", "=", true]] + default: "s3" + enum: + - value: s3 + description: S3 + - value: azure + description: Azure + - value: google + description: Google + - variable: s3 + label: "s3" + schema: + additional_attrs: true + type: dict + show_if: [["provider", "=", "s3"]] + attrs: + - variable: region + label: "region" + schema: + type: string + default: "" + - variable: bucket + label: "bucket" + schema: + type: string + default: "" + - variable: path + label: "path" + schema: + type: string + default: "/" + - variable: accessKey + label: "accessKey" + schema: + type: string + default: "" + - variable: secretKey + label: "secretKey" + schema: + type: string + default: "" + - variable: azure + label: "azure (EXTREMELY EXPERIMENTAL)" + schema: + additional_attrs: true + type: dict + show_if: [["provider", "=", "azure"]] + attrs: + - variable: path + label: "path" + schema: + type: string + default: "/" + - variable: connectionString + label: "connectionString" + schema: + type: string + default: "" + - variable: storageAccount + label: "storageAccount" + schema: + type: string + default: "" + - variable: storageKey + label: "storageKey" + schema: + type: string + show_if: [["enabled", "=", true]] + default: "" + - variable: storageSasToken + label: "storageSasToken" + schema: + type: string + default: "" + - variable: containerName + label: "containerName" + schema: + type: string + default: "" + - variable: serviceName + label: "serviceName" + schema: + type: string + default: "blob" + - variable: inheritFromAzureAD + label: "inheritFromAzureAD" + schema: + type: boolean + default: false + - variable: google + label: "google (EXTREMELY EXPERIMENTAL)" + schema: + additional_attrs: true + type: dict + show_if: [["provider", "=", "google"]] + attrs: + - variable: path + label: "path" + schema: + type: string + default: "/" + - variable: bucket + label: "bucket" + schema: + type: string + default: "" + - variable: gkeEnvironment + label: "gkeEnvironment" + schema: + type: string + default: "" + - variable: applicationCredentials + label: "applicationCredentials" + schema: + type: string + default: "" + - variable: scheduledBackups + label: ScheduledBackups + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: backupschedule + label: BackupSchedule + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "daily-backup" + required: true + - variable: schedule + label: schedule + schema: + type: string + required: true + default: "0 0 0 * * *" + - variable: backupOwnerReference + label: backupOwnerReference + schema: + type: string + required: true + default: "self" + - variable: immediate + label: immediate + schema: + type: boolean + default: false + - variable: suspend + label: suspend + schema: + type: boolean + default: false + - variable: manualBackups + label: manualBackups + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: backup + label: Backup + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: 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: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: 'Allow Cross Origin Requests (advanced)' + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: 'namespace (optional)' + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + 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/home-assistant/23.0.8/templates/NOTES.txt b/stable/home-assistant/23.0.8/templates/NOTES.txt new file mode 100644 index 0000000000..efcb74cb77 --- /dev/null +++ b/stable/home-assistant/23.0.8/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/stable/home-assistant/23.0.8/templates/common.yaml b/stable/home-assistant/23.0.8/templates/common.yaml new file mode 100644 index 0000000000..995efb03eb --- /dev/null +++ b/stable/home-assistant/23.0.8/templates/common.yaml @@ -0,0 +1,5 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.v1.common.loader.init" . }} + +{{/* Render the templates */}} +{{ include "tc.v1.common.loader.apply" . }} diff --git a/stable/home-assistant/23.0.8/values.yaml b/stable/home-assistant/23.0.8/values.yaml new file mode 100644 index 0000000000..e69de29bb2