From 2cefa8f2dc3ed993f4168c545524d757dc3d50ed Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Fri, 2 Feb 2024 16:30:34 +0000 Subject: [PATCH] Commit new Chart releases for TrueCharts Signed-off-by: TrueCharts-Bot --- enterprise/vaultwarden/25.1.14/CHANGELOG.md | 99 + enterprise/vaultwarden/25.1.14/Chart.yaml | 41 + enterprise/vaultwarden/25.1.14/LICENSE | 106 + enterprise/vaultwarden/25.1.14/README.md | 28 + .../vaultwarden/25.1.14/app-changelog.md | 9 + enterprise/vaultwarden/25.1.14/app-readme.md | 8 + .../25.1.14/charts/common-17.2.29.tgz | Bin 0 -> 98038 bytes enterprise/vaultwarden/25.1.14/ix_values.yaml | 152 + enterprise/vaultwarden/25.1.14/questions.yaml | 3621 +++++++++++++++++ .../vaultwarden/25.1.14/templates/NOTES.txt | 1 + .../25.1.14/templates/_configmap.tpl | 111 + .../25.1.14/templates/_secrets.tpl | 37 + .../25.1.14/templates/_validate.tpl | 17 + .../vaultwarden/25.1.14/templates/common.yaml | 17 + enterprise/vaultwarden/25.1.14/values.yaml | 0 stable/gitea/17.1.17/CHANGELOG.md | 99 + stable/gitea/17.1.17/Chart.yaml | 49 + stable/gitea/17.1.17/LICENSE | 106 + stable/gitea/17.1.17/README.md | 28 + stable/gitea/17.1.17/app-changelog.md | 9 + stable/gitea/17.1.17/app-readme.md | 8 + .../gitea/17.1.17/charts/common-17.2.29.tgz | Bin 0 -> 98038 bytes .../17.1.17/charts/memcached-11.1.13.tgz | Bin 0 -> 102908 bytes stable/gitea/17.1.17/ix_values.yaml | 132 + stable/gitea/17.1.17/questions.yaml | 3444 ++++++++++++++++ stable/gitea/17.1.17/templates/NOTES.txt | 1 + stable/gitea/17.1.17/templates/_configmap.tpl | 15 + stable/gitea/17.1.17/templates/_secrets.tpl | 233 ++ stable/gitea/17.1.17/templates/common.yaml | 52 + stable/gitea/17.1.17/values.yaml | 0 stable/home-assistant/23.0.13/CHANGELOG.md | 99 + stable/home-assistant/23.0.13/Chart.yaml | 39 + stable/home-assistant/23.0.13/README.md | 28 + .../home-assistant/23.0.13/app-changelog.md | 9 + stable/home-assistant/23.0.13/app-readme.md | 8 + .../23.0.13/charts/common-17.2.29.tgz | Bin 0 -> 98038 bytes stable/home-assistant/23.0.13/ix_values.yaml | 153 + stable/home-assistant/23.0.13/questions.yaml | 3288 +++++++++++++++ .../23.0.13/templates/NOTES.txt | 1 + .../23.0.13/templates/common.yaml | 5 + stable/home-assistant/23.0.13/values.yaml | 0 41 files changed, 12053 insertions(+) create mode 100644 enterprise/vaultwarden/25.1.14/CHANGELOG.md create mode 100644 enterprise/vaultwarden/25.1.14/Chart.yaml create mode 100644 enterprise/vaultwarden/25.1.14/LICENSE create mode 100644 enterprise/vaultwarden/25.1.14/README.md create mode 100644 enterprise/vaultwarden/25.1.14/app-changelog.md create mode 100644 enterprise/vaultwarden/25.1.14/app-readme.md create mode 100644 enterprise/vaultwarden/25.1.14/charts/common-17.2.29.tgz create mode 100644 enterprise/vaultwarden/25.1.14/ix_values.yaml create mode 100644 enterprise/vaultwarden/25.1.14/questions.yaml create mode 100644 enterprise/vaultwarden/25.1.14/templates/NOTES.txt create mode 100644 enterprise/vaultwarden/25.1.14/templates/_configmap.tpl create mode 100644 enterprise/vaultwarden/25.1.14/templates/_secrets.tpl create mode 100644 enterprise/vaultwarden/25.1.14/templates/_validate.tpl create mode 100644 enterprise/vaultwarden/25.1.14/templates/common.yaml create mode 100644 enterprise/vaultwarden/25.1.14/values.yaml create mode 100644 stable/gitea/17.1.17/CHANGELOG.md create mode 100644 stable/gitea/17.1.17/Chart.yaml create mode 100644 stable/gitea/17.1.17/LICENSE create mode 100644 stable/gitea/17.1.17/README.md create mode 100644 stable/gitea/17.1.17/app-changelog.md create mode 100644 stable/gitea/17.1.17/app-readme.md create mode 100644 stable/gitea/17.1.17/charts/common-17.2.29.tgz create mode 100644 stable/gitea/17.1.17/charts/memcached-11.1.13.tgz create mode 100644 stable/gitea/17.1.17/ix_values.yaml create mode 100644 stable/gitea/17.1.17/questions.yaml create mode 100644 stable/gitea/17.1.17/templates/NOTES.txt create mode 100644 stable/gitea/17.1.17/templates/_configmap.tpl create mode 100644 stable/gitea/17.1.17/templates/_secrets.tpl create mode 100644 stable/gitea/17.1.17/templates/common.yaml create mode 100644 stable/gitea/17.1.17/values.yaml create mode 100644 stable/home-assistant/23.0.13/CHANGELOG.md create mode 100644 stable/home-assistant/23.0.13/Chart.yaml create mode 100644 stable/home-assistant/23.0.13/README.md create mode 100644 stable/home-assistant/23.0.13/app-changelog.md create mode 100644 stable/home-assistant/23.0.13/app-readme.md create mode 100644 stable/home-assistant/23.0.13/charts/common-17.2.29.tgz create mode 100644 stable/home-assistant/23.0.13/ix_values.yaml create mode 100644 stable/home-assistant/23.0.13/questions.yaml create mode 100644 stable/home-assistant/23.0.13/templates/NOTES.txt create mode 100644 stable/home-assistant/23.0.13/templates/common.yaml create mode 100644 stable/home-assistant/23.0.13/values.yaml diff --git a/enterprise/vaultwarden/25.1.14/CHANGELOG.md b/enterprise/vaultwarden/25.1.14/CHANGELOG.md new file mode 100644 index 0000000000..609252719e --- /dev/null +++ b/enterprise/vaultwarden/25.1.14/CHANGELOG.md @@ -0,0 +1,99 @@ +--- +title: Changelog +--- + +**Important:** +*for the complete changelog, please refer to the website* + + + +## [vaultwarden-25.1.14](https://github.com/truecharts/charts/compare/vaultwarden-25.1.13...vaultwarden-25.1.14) (2024-02-02) + +### Chore + + + +- update container image docker.io/vaultwarden/server to v1.30.3[@153defd](https://github.com/153defd) by renovate ([#17786](https://github.com/truecharts/charts/issues/17786)) + + +## [vaultwarden-25.1.13](https://github.com/truecharts/charts/compare/vaultwarden-25.1.12...vaultwarden-25.1.13) (2024-01-31) + +### Chore + + + +- update container image docker.io/vaultwarden/server to v1.30.2[@ab34a7b](https://github.com/ab34a7b) by renovate ([#17766](https://github.com/truecharts/charts/issues/17766)) + + +## [vaultwarden-25.1.12](https://github.com/truecharts/charts/compare/vaultwarden-25.1.11...vaultwarden-25.1.12) (2024-01-26) + +### Chore + + + +- update container image common to v17.2.29[@d7c41a3](https://github.com/d7c41a3) by renovate ([#17545](https://github.com/truecharts/charts/issues/17545)) + + +## [vaultwarden-25.1.11](https://github.com/truecharts/charts/compare/vaultwarden-25.1.10...vaultwarden-25.1.11) (2024-01-21) + +### Chore + + + +- update container image common to v17.2.28[@918b4c5](https://github.com/918b4c5) by renovate ([#17478](https://github.com/truecharts/charts/issues/17478)) + + +## [vaultwarden-25.1.10](https://github.com/truecharts/charts/compare/vaultwarden-25.1.9...vaultwarden-25.1.10) (2024-01-21) + +### Fix + + + +- Replace old variable name "smtp.ssl" with "smtp.security" ([#17465](https://github.com/truecharts/charts/issues/17465)) + + +## [vaultwarden-25.1.9](https://github.com/truecharts/charts/compare/vaultwarden-25.1.8...vaultwarden-25.1.9) (2024-01-21) + +### Chore + + + +- update container image common to v17.2.26[@24c98f7](https://github.com/24c98f7) by renovate ([#17409](https://github.com/truecharts/charts/issues/17409)) + + +## [vaultwarden-25.1.8](https://github.com/truecharts/charts/compare/vaultwarden-25.1.7...vaultwarden-25.1.8) (2024-01-21) + +### Chore + + + +- update metadata in chart.yaml ([#17457](https://github.com/truecharts/charts/issues/17457)) + + + + +## [vaultwarden-25.1.7](https://github.com/truecharts/charts/compare/vaultwarden-25.1.6...vaultwarden-25.1.7) (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)) + + +## [vaultwarden-25.1.6](https://github.com/truecharts/charts/compare/vaultwarden-25.1.5...vaultwarden-25.1.6) (2024-01-02) + +### Chore + + + +- force bump to ensure up-to-date catalogs + + +## [vaultwarden-25.1.5](https://github.com/truecharts/charts/compare/vaultwarden-25.1.4...vaultwarden-25.1.5) (2024-01-02) + +### Chore + + + +- bump common ([#16751](https://github.com/truecharts/charts/issues/16751)) diff --git a/enterprise/vaultwarden/25.1.14/Chart.yaml b/enterprise/vaultwarden/25.1.14/Chart.yaml new file mode 100644 index 0000000000..d894609148 --- /dev/null +++ b/enterprise/vaultwarden/25.1.14/Chart.yaml @@ -0,0 +1,41 @@ +annotations: + max_scale_version: 23.10.2 + min_scale_version: 23.10.0 + truecharts.org/SCALE-support: "true" + truecharts.org/category: security + truecharts.org/max_helm_version: "3.14" + truecharts.org/min_helm_version: "3.12" + truecharts.org/train: enterprise +apiVersion: v2 +appVersion: 1.30.3 +dependencies: + - name: common + version: 17.2.29 + repository: oci://tccr.io/truecharts + condition: "" + alias: "" + tags: [] + import-values: [] +deprecated: false +description: Unofficial Bitwarden compatible server written in Rust +home: https://truecharts.org/charts/enterprise/vaultwarden +icon: https://truecharts.org/img/hotlink-ok/chart-icons/vaultwarden.png +keywords: + - bitwarden + - bitwardenrs + - bitwarden_rs + - vaultwarden + - password + - rust +kubeVersion: ">=1.24.0-0" +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +name: vaultwarden +sources: + - https://github.com/dani-garcia/vaultwarden + - https://github.com/truecharts/charts/tree/master/charts/enterprise/vaultwarden + - https://hub.docker.com/r/vaultwarden/server +type: application +version: 25.1.14 diff --git a/enterprise/vaultwarden/25.1.14/LICENSE b/enterprise/vaultwarden/25.1.14/LICENSE new file mode 100644 index 0000000000..80e4ab93f9 --- /dev/null +++ b/enterprise/vaultwarden/25.1.14/LICENSE @@ -0,0 +1,106 @@ +Business Source License 1.1 + +Parameters + +Licensor: The TrueCharts Project, it's owner and it's contributors +Licensed Work: The TrueCharts "Cert-Manager" Helm Chart +Additional Use Grant: You may use the licensed work in production, as long + as it is directly sourced from a TrueCharts provided + official repository, catalog or source. You may also make private + modification to the directly sourced licenced work, + when used in production. + + The following cases are, due to their nature, also + defined as 'production use' and explicitly prohibited: + - Bundling, including or displaying the licensed work + with(in) another work intended for production use, + with the apparent intend of facilitating and/or + promoting production use by third parties in + violation of this license. + +Change Date: 2050-01-01 + +Change License: 3-clause BSD license + +For information about alternative licensing arrangements for the Software, +please contact: legal@truecharts.org + +Notice + +The Business Source License (this document, or the “License”) is not an Open +Source license. However, the Licensed Work will eventually be made available +under an Open Source License, as stated in this License. + +License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved. +“Business Source License” is a trademark of MariaDB Corporation Ab. + +----------------------------------------------------------------------------- + +Business Source License 1.1 + +Terms + +The Licensor hereby grants you the right to copy, modify, create derivative +works, redistribute, and make non-production use of the Licensed Work. The +Licensor may make an Additional Use Grant, above, permitting limited +production use. + +Effective on the Change Date, or the fourth anniversary of the first publicly +available distribution of a specific version of the Licensed Work under this +License, whichever comes first, the Licensor hereby grants you rights under +the terms of the Change License, and the rights granted in the paragraph +above terminate. + +If your use of the Licensed Work does not comply with the requirements +currently in effect as described in this License, you must purchase a +commercial license from the Licensor, its affiliated entities, or authorized +resellers, or you must refrain from using the Licensed Work. + +All copies of the original and modified Licensed Work, and derivative works +of the Licensed Work, are subject to this License. This License applies +separately for each version of the Licensed Work and the Change Date may vary +for each version of the Licensed Work released by Licensor. + +You must conspicuously display this License on each original or modified copy +of the Licensed Work. If you receive the Licensed Work in original or +modified form from a third party, the terms and conditions set forth in this +License apply to your use of that work. + +Any use of the Licensed Work in violation of this License will automatically +terminate your rights under this License for the current and all other +versions of the Licensed Work. + +This License does not grant you any right in any trademark or logo of +Licensor or its affiliates (provided that you may use a trademark or logo of +Licensor as expressly required by this License). + +TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON +AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, +EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND +TITLE. + +MariaDB hereby grants you permission to use this License’s text to license +your works, and to refer to it using the trademark “Business Source License”, +as long as you comply with the Covenants of Licensor below. + +Covenants of Licensor + +In consideration of the right to use this License’s text and the “Business +Source License” name and trademark, Licensor covenants to MariaDB, and to all +other recipients of the licensed work to be provided by Licensor: + +1. To specify as the Change License the GPL Version 2.0 or any later version, + or a license that is compatible with GPL Version 2.0 or a later version, + where “compatible” means that software provided under the Change License can + be included in a program with software provided under GPL Version 2.0 or a + later version. Licensor may specify additional Change Licenses without + limitation. + +2. To either: (a) specify an additional grant of rights to use that does not + impose any additional restriction on the right granted in this License, as + the Additional Use Grant; or (b) insert the text “None”. + +3. To specify a Change Date. + +4. Not to modify this License in any other way. diff --git a/enterprise/vaultwarden/25.1.14/README.md b/enterprise/vaultwarden/25.1.14/README.md new file mode 100644 index 0000000000..95ae8ad979 --- /dev/null +++ b/enterprise/vaultwarden/25.1.14/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/enterprise/vaultwarden) + +**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/enterprise/vaultwarden/25.1.14/app-changelog.md b/enterprise/vaultwarden/25.1.14/app-changelog.md new file mode 100644 index 0000000000..114a2a49c5 --- /dev/null +++ b/enterprise/vaultwarden/25.1.14/app-changelog.md @@ -0,0 +1,9 @@ + + +## [vaultwarden-25.1.14](https://github.com/truecharts/charts/compare/vaultwarden-25.1.13...vaultwarden-25.1.14) (2024-02-02) + +### Chore + + + +- update container image docker.io/vaultwarden/server to v1.30.3[@153defd](https://github.com/153defd) by renovate ([#17786](https://github.com/truecharts/charts/issues/17786)) \ No newline at end of file diff --git a/enterprise/vaultwarden/25.1.14/app-readme.md b/enterprise/vaultwarden/25.1.14/app-readme.md new file mode 100644 index 0000000000..08d9cc8b1d --- /dev/null +++ b/enterprise/vaultwarden/25.1.14/app-readme.md @@ -0,0 +1,8 @@ +Unofficial Bitwarden compatible server written in Rust + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/enterprise/vaultwarden](https://truecharts.org/charts/enterprise/vaultwarden) + +--- + +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/enterprise/vaultwarden/25.1.14/charts/common-17.2.29.tgz b/enterprise/vaultwarden/25.1.14/charts/common-17.2.29.tgz new file mode 100644 index 0000000000000000000000000000000000000000..32aa9351f147fbd4659b7948d068b57287f74904 GIT binary patch literal 98038 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 literal 0 HcmV?d00001 diff --git a/enterprise/vaultwarden/25.1.14/ix_values.yaml b/enterprise/vaultwarden/25.1.14/ix_values.yaml new file mode 100644 index 0000000000..4bf2d49011 --- /dev/null +++ b/enterprise/vaultwarden/25.1.14/ix_values.yaml @@ -0,0 +1,152 @@ +image: + repository: docker.io/vaultwarden/server + pullPolicy: IfNotPresent + tag: 1.30.3@sha256:153defd78a3ede850445d64d6fca283701d0c25978e513c61688cf63bd47a14a +manifestManager: + enabled: true +service: + main: + ports: + main: + port: 10102 + targetPort: 8080 +workload: + main: + podSpec: + containers: + main: + env: + DOMAIN: "https://{{ if .Values.ingress }}{{ if .Values.ingress.main.enabled }}{{ ( index .Values.ingress.main.hosts 0 ).host }}{{ else }}placeholder.com{{ end }}{{ else }}placeholder.com{{ end }}" + DATABASE_URL: + secretKeyRef: + name: cnpg-main-urls + key: std + envFrom: + - configMapRef: + name: vaultwardenconfig + - secretRef: + name: vaultwardensecret +database: + # -- Database type, + # must be one of: 'sqlite', 'mysql' or 'postgresql'. + type: postgresql + # -- Enable DB Write-Ahead-Log for SQLite, + # disabled for other databases. https://github.com/dani-garcia/bitwarden_rs/wiki/Running-without-WAL-enabled + wal: true + ## URL for external databases (mysql://user:pass@host:port or postgresql://user:pass@host:port). + # url: "" + ## Set the size of the database connection pool. + # maxConnections: 10 + ## Connection retries during startup, 0 for infinite. 1 second between retries. + # retries: 15 +# Set Bitwarden_rs application variables +vaultwarden: + # -- Allow any user to sign-up + # see: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-registration-of-new-users + allowSignups: true + ## Whitelist domains allowed to sign-up. 'allowSignups' is ignored if set. + # signupDomains: + # - domain.tld + # -- Verify e-mail before login is enabled. + # SMTP must be enabled. + verifySignup: false + # When a user logs in an email is required to be sent. If sending the email fails the login attempt will fail. SMTP must be enabled. + requireEmail: false + ## Maximum attempts before an email token is reset and a new email will need to be sent. + # emailAttempts: 3 + ## Email token validity in seconds. + # emailTokenExpiration: 600 + # Allow invited users to sign-up even feature is disabled: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-invitations + allowInvitation: true + # Show password hints: https://github.com/dani-garcia/bitwarden_rs/wiki/Password-hint-display + ## Default organization name in invitation e-mails that are not coming from a specific organization. + # defaultInviteName: "" + showPasswordHint: true + # Enable Web Vault (static content). https://github.com/dani-garcia/bitwarden_rs/wiki/Disabling-or-overriding-the-Vault-interface-hosting + enableWebVault: true + # Restrict creation of orgs. Options are: 'all', 'none' or a comma-separated list of users. + orgCreationUsers: all + ## Limit attachment disk usage per organization. + # attachmentLimitOrg: + ## Limit attachment disk usage per user. + # attachmentLimitUser: + ## HaveIBeenPwned API Key. Can be purchased at https://haveibeenpwned.com/API/Key. + # hibpApiKey: + + admin: + # Enable admin portal. + enabled: false + # Disabling the admin token will make the admin portal accessible to anyone, use carefully: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-admin-token + disableAdminToken: false + ## Token for admin login, will be generated if not defined. https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-admin-page + # token: + # Enable SMTP. https://github.com/dani-garcia/bitwarden_rs/wiki/SMTP-configuration + smtp: + enabled: false + # SMTP hostname, required if SMTP is enabled. + host: "" + # SMTP sender e-mail address, required if SMTP is enabled. + from: "" + ## SMTP sender name, defaults to 'Bitwarden_RS'. + # fromName: "" + ## Enable SSL connection. + # security: starttls + ## SMTP port. Defaults to 587 with STARTTLS, 465 with FORCE_TLS, and 25 without SSL. + # port: 587 + ## SMTP Authentication Mechanisms. Comma-separated options: 'Plain', 'Login' and 'Xoauth2'. Defaults to 'Plain'. + # authMechanism: Plain + ## Hostname to be sent for SMTP HELO. Defaults to pod name. + # heloName: "" + ## SMTP timeout. + # timeout: 15 + ## Accept SSL session if certificate is valid but hostname doesn't match. DANGEROUS, vulnerable to men-in-the-middle attacks! + # invalidHostname: false + ## Accept invalid certificates. DANGEROUS, vulnerable to men-in-the-middle attacks! + # invalidCertificate: false + ## SMTP username. + # user: "" + ## SMTP password. Required is user is specified, ignored if no user provided. + # password: "" + ## Enable Yubico OTP authentication. https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-Yubikey-OTP-authentication + yubico: + enabled: false + ## Yubico server. Defaults to YubiCloud. + # server: + ## Yubico ID and Secret Key. + # clientId: + # secretKey: + ## Enable Mobile Push Notifications. You must obtain and ID and Key here: https://bitwarden.com/host + push: + enabled: false + # installationId: + # installationKey: + ## Logging options. https://github.com/dani-garcia/bitwarden_rs/wiki/Logging + log: + # Log to file. + file: "" + # Log level. Options are "trace", "debug", "info", "warn", "error" or "off". + level: "trace" + ## Log timestamp format. See https://docs.rs/chrono/0.4.15/chrono/format/strftime/index.html. Defaults to time in milliseconds. + # timeFormat: "" + icons: + # Disables download of external icons. Setting to true will still serve icons from cache (/data/icon_cache). TTL will default to zero. + disableDownload: false + ## Cache time-to-live for icons fetched. 0 means no purging. + # cache: 2592000 + ## Cache time-to-live for icons that were not available. 0 means no purging. + # cacheFailed: 259200 +persistence: + data: + enabled: true + mountPath: "/data" +cnpg: + main: + enabled: true + user: vaultwarden + database: vaultwarden +portal: + open: + enabled: true +ingress: + main: + required: true diff --git a/enterprise/vaultwarden/25.1.14/questions.yaml b/enterprise/vaultwarden/25.1.14/questions.yaml new file mode 100644 index 0000000000..7983fc3702 --- /dev/null +++ b/enterprise/vaultwarden/25.1.14/questions.yaml @@ -0,0 +1,3621 @@ +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" + admin: + protocols: + - "$kubernetes-resource_configmap_tcportal-open_protocol" + host: + - "$kubernetes-resource_configmap_tcportal-open_host" + ports: + - "$kubernetes-resource_configmap_tcportal-open_port" + path: "/admin/" +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: vaultwarden + label: "" + group: "App Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: yubico + label: "Yubico OTP authentication" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable Yubico OTP authentication" + description: "Please refer to the manual at: https://github.com/dani-garcia/vaultwarden/wiki/Enabling-Yubikey-OTP-authentication" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: server + label: "Yubico server" + description: "Defaults to YubiCloud" + schema: + type: string + default: "" + - variable: clientId + label: "Yubico ID" + schema: + type: string + default: "" + - variable: secretKey + label: "Yubico Secret Key" + schema: + type: string + default: "" + - variable: push + label: "Mobile Push Notifications" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable Mobile Push Notifications" + description: "You must obtain and ID and Key here: https://bitwarden.com/host" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: installationId + label: "Installation ID" + schema: + type: string + default: "" + required: true + - variable: installationKey + label: "Installation Key" + schema: + type: string + default: "" + required: true + - variable: admin + label: "Admin Portal" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable Admin Portal" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: disableAdminToken + label: "Make Accessible Without Password/Token" + schema: + type: boolean + default: false + - variable: token + label: "Admin Portal Password/Token" + description: "Will be automatically generated if not defined" + schema: + type: string + default: "" + - variable: icons + label: "Icon Download Settings" + schema: + additional_attrs: true + type: dict + attrs: + - variable: disableDownload + label: "Disable Icon Download" + description: "Disables download of external icons. Setting to true will still serve icons from cache (/data/icon_cache)" + schema: + type: boolean + default: false + - variable: cache + label: "Cache time-to-live" + description: "Cache time-to-live for icons fetched. 0 means no purging" + schema: + type: int + default: 2592000 + - variable: token + label: "Failed Downloads Cache time-to-live" + description: "Cache time-to-live for icons that were not available. 0 means no purging." + schema: + type: int + default: 2592000 + - variable: log + label: "Logging" + schema: + additional_attrs: true + type: dict + attrs: + - variable: level + label: "Log level" + schema: + type: string + default: "info" + required: true + enum: + - value: "trace" + description: "trace" + - value: "debug" + description: "debug" + - value: "info" + description: "info" + - value: "warn" + description: "warn" + - value: "error" + description: "error" + - value: "off" + description: "off" + - variable: file + label: "Log-File Location" + schema: + type: string + default: "" + - variable: smtp + label: "SMTP Settings (Email)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable SMTP Support" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: host + label: "SMTP hostname" + schema: + type: string + required: true + default: "" + - variable: from + label: "SMTP sender e-mail address" + schema: + type: string + required: true + default: "" + - variable: fromName + label: "SMTP sender name" + schema: + type: string + required: true + default: "" + - variable: user + label: "SMTP username" + schema: + type: string + required: true + default: "" + - variable: password + label: "SMTP password" + description: "Required is user is specified, ignored if no user provided" + schema: + type: string + default: "" + - variable: security + label: "Enable SSL connection" + schema: + type: string + default: "starttls" + enum: + - value: "starttls" + description: "STARTTLS (587)" + - value: "force_tls" + description: "FORCE_TLS (465)" + - value: "off" + description: "OFF (25)" + - variable: port + label: "SMTP port" + description: "Usually: 587 with STARTTLS, 465 with FORCE_TLS, and 25 without SSL" + schema: + type: int + default: 587 + - variable: authMechanism + label: "SMTP Authentication Mechanisms" + description: "Comma-separated options: Plain, Login and Xoauth2" + schema: + type: string + default: "Plain" + - variable: heloName + label: "SMTP HELO - Hostname" + description: "Hostname to be sent for SMTP HELO. Defaults to pod name" + schema: + type: string + default: "" + - variable: timeout + label: "SMTP timeout" + schema: + type: int + default: 15 + - variable: invalidHostname + label: "Accept Invalid Hostname" + description: "Accept SSL session if certificate is valid but hostname doesn't match. DANGEROUS, vulnerable to men-in-the-middle attacks!" + schema: + type: boolean + default: false + - variable: invalidCertificate + label: "Accept Invalid Certificate" + description: "Accept invalid certificates. DANGEROUS, vulnerable to men-in-the-middle attacks!" + schema: + type: boolean + default: false + - variable: allowSignups + label: "Allow Signup" + description: "Allow any user to sign-up: https://github.com/dani-garcia/vaultwarden/wiki/Disable-registration-of-new-users" + schema: + type: boolean + default: true + - variable: allowInvitation + label: "Always allow Invitation" + description: "Allow invited users to sign-up even feature is disabled: https://github.com/dani-garcia/vaultwarden/wiki/Disable-invitations" + schema: + type: boolean + default: true + - variable: defaultInviteName + label: "Default Invite Organisation Name" + description: "Default organization name in invitation e-mails that are not coming from a specific organization." + schema: + type: string + default: "" + - variable: showPasswordHint + label: "Show password hints" + description: "https://github.com/dani-garcia/vaultwarden/wiki/Password-hint-display" + schema: + type: boolean + default: true + - variable: signupwhitelistenable + label: "Enable Signup Whitelist" + description: "allowSignups is ignored if set" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: signupDomains + label: "Signup Whitelist Domains" + schema: + type: list + default: [] + items: + - variable: domain + label: "Domain" + schema: + type: string + default: "" + - variable: verifySignup + label: "Verifiy Signup" + description: "Verify e-mail before login is enabled. SMTP must be enabled" + schema: + type: boolean + default: false + - variable: requireEmail + label: "Block Login if email fails" + description: "When a user logs in an email is required to be sent. If sending the email fails the login attempt will fail. SMTP must be enabled" + schema: + type: boolean + default: false + - variable: emailAttempts + label: "Email token reset attempts" + description: "Maximum attempts before an email token is reset and a new email will need to be sent" + schema: + type: int + default: 3 + - variable: emailTokenExpiration + label: "Email token validity in seconds" + schema: + type: int + default: 600 + - variable: enableWebVault + label: "Enable Webvault" + description: "Enable Web Vault (static content). https://github.com/dani-garcia/vaultwarden/wiki/Disabling-or-overriding-the-Vault-interface-hosting" + schema: + type: boolean + default: true + - variable: orgCreationUsers + label: "Limit Organisation Creation to (users)" + description: "Restrict creation of orgs. Options are: 'all', 'none' or a comma-separated list of users." + schema: + type: string + default: "all" + - variable: attachmentLimitOrg + label: "Limit Attachment Disk Usage per Organisation" + schema: + type: string + default: "" + - variable: attachmentLimitUser + label: "Limit Attachment Disk Usage per User" + schema: + type: string + default: "" + - variable: hibpApiKey + label: "HaveIBeenPwned API Key" + description: "Can be purchased at https://haveibeenpwned.com/API/Key" + schema: + type: string + 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: 10102 + required: true + - variable: serviceexpert + group: Networking and Services + label: Show Expert Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: scaleExternalInterface + description: Add External Interfaces + label: Add external Interfaces + group: Networking + schema: + type: list + items: + - variable: interfaceConfiguration + description: Interface Configuration + label: Interface Configuration + schema: + additional_attrs: true + type: dict + $ref: + - "normalize/interfaceConfiguration" + attrs: + - variable: hostInterface + description: Please Specify Host Interface + label: Host Interface + schema: + type: string + required: true + $ref: + - "definitions/interface" + - variable: ipam + description: Define how IP Address will be managed + label: IP Address Management + schema: + additional_attrs: true + type: dict + required: true + attrs: + - variable: type + description: Specify type for IPAM + label: IPAM Type + schema: + type: string + required: true + enum: + - value: dhcp + description: Use DHCP + - value: static + description: Use Static IP + - variable: staticIPConfigurations + label: Static IP Addresses + schema: + type: list + show_if: [["type", "=", "static"]] + items: + - variable: staticIP + label: Static IP + schema: + type: ipaddr + cidr: true + - variable: staticRoutes + label: Static Routes + schema: + type: list + show_if: [["type", "=", "static"]] + items: + - variable: staticRouteConfiguration + label: Static Route Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: destination + label: Destination + schema: + type: ipaddr + cidr: true + required: true + - variable: gateway + label: Gateway + schema: + type: ipaddr + cidr: false + required: true + - variable: serviceList + label: Add Manual Custom Services + group: Networking and Services + schema: + type: list + default: [] + items: + - variable: serviceListEntry + label: Custom Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the service + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: LoadBalancer + description: LoadBalancer (Expose Ports) + - value: ClusterIP + description: ClusterIP (Do Not Expose Ports) + - value: Simple + description: Deprecated CHANGE THIS + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: advancedsvcset + label: Show Advanced Service Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ipFamilyPolicy + label: IP Family Policy + description: Specify the IP Policy + schema: + type: string + default: SingleStack + enum: + - value: SingleStack + description: SingleStack + - value: PreferDualStack + description: PreferDualStack + - value: RequireDualStack + description: RequireDualStack + - variable: ipFamilies + label: IP Families + description: (Advanced) The IP Families that should be used + schema: + type: list + default: [] + items: + - variable: ipFamily + label: IP Family + schema: + type: string + - variable: portsList + label: Additional Service Ports + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: Custom ports + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Port + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Port Name + schema: + type: string + default: "" + - variable: protocol + label: Port Type + schema: + type: string + default: tcp + enum: + - value: http + description: HTTP + - value: https + description: HTTPS + - value: tcp + description: TCP + - value: udp + description: UDP + - variable: targetPort + label: Target Port + description: This port exposes the container port on the service + schema: + type: int + required: true + - variable: port + label: Container Port + schema: + type: int + required: true + - variable: persistence + label: Integrated Persistent Storage + description: Integrated Persistent Storage + group: Storage and Persistence + schema: + additional_attrs: true + type: dict + attrs: + - variable: data + label: "App 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: 568 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID of the user running the application" + schema: + type: int + default: 568 + # Settings from questions.yaml get appended here on a per-app basis + - variable: PUID + label: Process User ID - PUID + description: When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps + schema: + type: int + show_if: [["runAsUser", "=", 0]] + default: 568 + - variable: UMASK + label: UMASK + description: When supported by the container, this sets the UMASK for the App. Not supported by all Apps + schema: + type: string + default: "0022" + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: true + - variable: pod + label: Pod + schema: + additional_attrs: true + type: dict + attrs: + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: OnRootMismatch + enum: + - value: OnRootMismatch + description: OnRootMismatch + - value: Always + description: Always + - variable: supplementalGroups + label: Supplemental Groups + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: Supplemental Group + schema: + type: int + # Settings from questions.yaml get appended here on a per-app basis + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: resources + group: Resources and Devices + label: "Resource Limits" + schema: + additional_attrs: true + type: dict + attrs: + - variable: limits + label: Advanced Limit Resource Consumption + schema: + additional_attrs: true + type: dict + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 4000m + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: RAM + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 8Gi + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Minimum Resources Required (request)" + schema: + additional_attrs: true + type: dict + hidden: true + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 10m + hidden: true + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "RAM" + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 50Mi + hidden: true + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: deviceList + label: Mount USB Devices + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: Device + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Storage + schema: + type: boolean + default: true + - variable: type + label: (Advanced) Type of Storage + description: Sets the persistence type + schema: + type: string + default: device + hidden: true + - variable: readOnly + label: readOnly + schema: + type: boolean + default: false + - variable: hostPath + label: Host Device Path + description: Path to the device on the host system + schema: + type: path + - variable: mountPath + label: Container Device Path + description: Path inside the container the device is mounted + schema: + type: string + default: "/dev/ttyACM0" + - variable: scaleGPU + label: GPU Configuration + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: scaleGPUEntry + label: GPU + schema: + additional_attrs: true + type: dict + attrs: + # Specify GPU configuration + - variable: gpu + label: Select GPU + schema: + additional_attrs: true + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + - variable: workaround + label: "Workaround" + schema: + type: string + default: workaround + hidden: true + - variable: 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: 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: netshoot + label: Netshoot + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: envList + label: Netshoot Environment Variables + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: value + label: Value + schema: + type: string + required: true + - variable: docs + group: Documentation + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org + schema: + additional_attrs: true + type: dict + attrs: + - variable: confirmDocs + label: I have checked the documentation + schema: + type: boolean + default: true + - variable: donateNag + group: Documentation + label: Please consider supporting TrueCharts, see https://truecharts.org/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/enterprise/vaultwarden/25.1.14/templates/NOTES.txt b/enterprise/vaultwarden/25.1.14/templates/NOTES.txt new file mode 100644 index 0000000000..efcb74cb77 --- /dev/null +++ b/enterprise/vaultwarden/25.1.14/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/enterprise/vaultwarden/25.1.14/templates/_configmap.tpl b/enterprise/vaultwarden/25.1.14/templates/_configmap.tpl new file mode 100644 index 0000000000..2749819b03 --- /dev/null +++ b/enterprise/vaultwarden/25.1.14/templates/_configmap.tpl @@ -0,0 +1,111 @@ +{{/* Define the configmap */}} +{{- define "vaultwarden.configmap" -}} +enabled: true +data: + ROCKET_PORT: "8080" + SIGNUPS_ALLOWED: {{ .Values.vaultwarden.allowSignups | quote }} + {{- if .Values.vaultwarden.signupDomains }} + SIGNUPS_DOMAINS_WHITELIST: {{ join "," .Values.vaultwarden.signupDomains | quote }} + {{- end }} + {{- if and (eq .Values.vaultwarden.verifySignup true) (eq .Values.vaultwarden.smtp.enabled false) }}{{ required "Signup verification requires SMTP to be enabled" nil}}{{end}} + SIGNUPS_VERIFY: {{ .Values.vaultwarden.verifySignup | quote }} + {{- if and (eq .Values.vaultwarden.requireEmail true) (eq .Values.vaultwarden.smtp.enabled false) }}{{ required "Requiring emails for login depends on SMTP" nil}}{{end}} + REQUIRE_DEVICE_EMAIL: {{ .Values.vaultwarden.requireEmail | quote }} + {{- if .Values.vaultwarden.emailAttempts }} + EMAIL_ATTEMPTS_LIMIT: {{ .Values.vaultwarden.emailAttempts | quote }} + {{- end }} + {{- if .Values.vaultwarden.emailTokenExpiration }} + EMAIL_EXPIRATION_TIME: {{ .Values.vaultwarden.emailTokenExpiration | quote }} + {{- end }} + INVITATIONS_ALLOWED: {{ .Values.vaultwarden.allowInvitation | quote }} + {{- if .Values.vaultwarden.defaultInviteName }} + INVITATION_ORG_NAME: {{ .Values.vaultwarden.defaultInviteName | quote }} + {{- end }} + SHOW_PASSWORD_HINT: {{ .Values.vaultwarden.showPasswordHint | quote }} + WEB_VAULT_ENABLED: {{ .Values.vaultwarden.enableWebVault | quote }} + ORG_CREATION_USERS: {{ .Values.vaultwarden.orgCreationUsers | quote }} + {{- if .Values.vaultwarden.attachmentLimitOrg }} + ORG_ATTACHMENT_LIMIT: {{ .Values.vaultwarden.attachmentLimitOrg | quote }} + {{- end }} + {{- if .Values.vaultwarden.attachmentLimitUser }} + USER_ATTACHMENT_LIMIT: {{ .Values.vaultwarden.attachmentLimitUser | quote }} + {{- end }} + {{- if .Values.vaultwarden.hibpApiKey }} + HIBP_API_KEY: {{ .Values.vaultwarden.hibpApiKey | quote }} + {{- end }} + {{- include "vaultwarden.dbTypeValid" . }} + {{- if .Values.database.retries }} + DB_CONNECTION_RETRIES: {{ .Values.database.retries | quote }} + {{- end }} + {{- if .Values.database.maxConnections }} + DATABASE_MAX_CONNS: {{ .Values.database.maxConnections | quote }} + {{- end }} + {{- if eq .Values.vaultwarden.smtp.enabled true }} + SMTP_HOST: {{ required "SMTP host is required to enable SMTP" .Values.vaultwarden.smtp.host | quote }} + SMTP_FROM: {{ required "SMTP sender address ('from') is required to enable SMTP" .Values.vaultwarden.smtp.from | quote }} + {{- if .Values.vaultwarden.smtp.fromName }} + SMTP_FROM_NAME: {{ .Values.vaultwarden.smtp.fromName | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.security }} + SMTP_SECURITY: {{ .Values.vaultwarden.smtp.security | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.port }} + SMTP_PORT: {{ .Values.vaultwarden.smtp.port | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.authMechanism }} + SMTP_AUTH_MECHANISM: {{ .Values.vaultwarden.smtp.authMechanism | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.heloName }} + HELO_NAME: {{ .Values.vaultwarden.smtp.heloName | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.timeout }} + SMTP_TIMEOUT: {{ .Values.vaultwarden.smtp.timeout | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.invalidHostname }} + SMTP_ACCEPT_INVALID_HOSTNAMES: {{ .Values.vaultwarden.smtp.invalidHostname | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.invalidCertificate }} + SMTP_ACCEPT_INVALID_CERTS: {{ .Values.vaultwarden.smtp.invalidCertificate | quote }} + {{- end }} + {{- end }} + {{- if .Values.vaultwarden.log.file }} + LOG_FILE: {{ .Values.vaultwarden.log.file | quote }} + {{- end }} + {{- if or .Values.vaultwarden.log.level .Values.vaultwarden.log.timeFormat }} + EXTENDED_LOGGING: "true" + {{- end }} + {{- if .Values.vaultwarden.log.level }} + {{- include "vaultwarden.logLevelValid" . }} + LOG_LEVEL: {{ .Values.vaultwarden.log.level | quote }} + {{- end }} + {{- if .Values.vaultwarden.log.timeFormat }} + LOG_TIMESTAMP_FORMAT: {{ .Values.vaultwarden.log.timeFormat | quote }} + {{- end }} + {{- if .Values.vaultwarden.icons.disableDownload }} + DISABLE_ICON_DOWNLOAD: {{ .Values.vaultwarden.icons.disableDownload | quote }} + {{- if and (not .Values.vaultwarden.icons.cache) (eq .Values.vaultwarden.icons.disableDownload "true") }} + ICON_CACHE_TTL: "0" + {{- end }} + {{- end }} + {{- if .Values.vaultwarden.icons.cache }} + ICON_CACHE_TTL: {{ .Values.vaultwarden.icons.cache | quote }} + {{- end }} + {{- if .Values.vaultwarden.icons.cacheFailed }} + ICON_CACHE_NEGTTL: {{ .Values.vaultwarden.icons.cacheFailed | quote }} + {{- end }} + {{- if eq .Values.vaultwarden.admin.enabled true }} + {{- if eq .Values.vaultwarden.admin.disableAdminToken true }} + DISABLE_ADMIN_TOKEN: "true" + {{- end }} + {{- end }} + {{- if eq .Values.vaultwarden.yubico.enabled true }} + {{- if .Values.vaultwarden.yubico.server }} + YUBICO_SERVER: {{ .Values.vaultwarden.yubico.server | quote }} + {{- end }} + {{- end }} + {{- if eq .Values.database.type "sqlite" }} + ENABLE_DB_WAL: {{ .Values.database.wal | quote }} + {{- else }} + ENABLE_DB_WAL: "false" + {{- end }} +{{- end -}} diff --git a/enterprise/vaultwarden/25.1.14/templates/_secrets.tpl b/enterprise/vaultwarden/25.1.14/templates/_secrets.tpl new file mode 100644 index 0000000000..262fcffa1b --- /dev/null +++ b/enterprise/vaultwarden/25.1.14/templates/_secrets.tpl @@ -0,0 +1,37 @@ +{{/* Define the secrets */}} +{{- define "vaultwarden.secrets" -}} + +{{- $adminToken := "" }} +{{- if eq .Values.vaultwarden.admin.enabled true }} +{{- $adminToken = .Values.vaultwarden.admin.token | default (randAlphaNum 48) | quote }} +{{- end -}} + +{{- $smtpUser := "" }} +{{- if and (eq .Values.vaultwarden.smtp.enabled true ) (.Values.vaultwarden.smtp.user) }} +{{- $smtpUser = .Values.vaultwarden.smtp.user | quote }} +{{- end -}} + +{{- $yubicoClientId := "" }} +{{- if eq .Values.vaultwarden.yubico.enabled true }} +{{- $yubicoClientId = required "Yubico Client ID required" .Values.vaultwarden.yubico.clientId | toString | quote }} +{{- end -}} +enabled: true +data: + placeholder: placeholdervalue + {{- if ne $adminToken "" }} + ADMIN_TOKEN: {{ $adminToken }} + {{- end }} + {{- if ne $smtpUser "" }} + SMTP_USERNAME: {{ $smtpUser }} + SMTP_PASSWORD: {{ required "Must specify SMTP password" .Values.vaultwarden.smtp.password | quote }} + {{- end }} + {{- if ne $yubicoClientId "" }} + YUBICO_CLIENT_ID: {{ $yubicoClientId }} + YUBICO_SECRET_KEY: {{ required "Yubico Secret Key required" .Values.vaultwarden.yubico.secretKey | quote }} + {{- end }} + {{- if .Values.vaultwarden.push.enabled }} + PUSH_ENABLED: {{ .Values.vaultwarden.push.enabled | quote }} + PUSH_INSTALLATION_ID: {{ required "Installation ID required" .Values.vaultwarden.push.installationId | quote }} + PUSH_INSTALLATION_KEY: {{ required "Installation Key required" .Values.vaultwarden.push.installationKey | quote }} + {{- end }} +{{- end -}} diff --git a/enterprise/vaultwarden/25.1.14/templates/_validate.tpl b/enterprise/vaultwarden/25.1.14/templates/_validate.tpl new file mode 100644 index 0000000000..e4832c2f6e --- /dev/null +++ b/enterprise/vaultwarden/25.1.14/templates/_validate.tpl @@ -0,0 +1,17 @@ +{{/* +Ensure valid DB type is select, defaults to SQLite +*/}} +{{- define "vaultwarden.dbTypeValid" -}} +{{- if not (or (eq .Values.database.type "postgresql") (eq .Values.database.type "mysql") (eq .Values.database.type "sqlite")) }} +{{- required "Invalid database type" nil }} +{{- end -}} +{{- end -}} + +{{/* +Ensure log type is valid +*/}} +{{- define "vaultwarden.logLevelValid" -}} +{{- if not (or (eq .Values.vaultwarden.log.level "trace") (eq .Values.vaultwarden.log.level "debug") (eq .Values.vaultwarden.log.level "info") (eq .Values.vaultwarden.log.level "warn") (eq .Values.vaultwarden.log.level "error") (eq .Values.vaultwarden.log.level "off")) }} +{{- required "Invalid log level" nil }} +{{- end }} +{{- end }} diff --git a/enterprise/vaultwarden/25.1.14/templates/common.yaml b/enterprise/vaultwarden/25.1.14/templates/common.yaml new file mode 100644 index 0000000000..66c6adab5d --- /dev/null +++ b/enterprise/vaultwarden/25.1.14/templates/common.yaml @@ -0,0 +1,17 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.v1.common.loader.init" . }} + +{{/* Render configmap for vaultwarden */}} +{{- $configmapFile := include "vaultwarden.configmap" . | fromYaml -}} +{{- if $configmapFile -}} + {{- $_ := set .Values.configmap "vaultwardenconfig" $configmapFile -}} +{{- end -}} + +{{/* Render secrets for vaultwarden */}} +{{- $secret := include "vaultwarden.secrets" . | fromYaml -}} +{{- if $secret -}} + {{- $_ := set .Values.secret "vaultwardensecret" $secret -}} +{{- end -}} + +{{/* Render the templates */}} +{{ include "tc.v1.common.loader.apply" . }} diff --git a/enterprise/vaultwarden/25.1.14/values.yaml b/enterprise/vaultwarden/25.1.14/values.yaml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/stable/gitea/17.1.17/CHANGELOG.md b/stable/gitea/17.1.17/CHANGELOG.md new file mode 100644 index 0000000000..ff5056c307 --- /dev/null +++ b/stable/gitea/17.1.17/CHANGELOG.md @@ -0,0 +1,99 @@ +--- +title: Changelog +--- + +**Important:** +*for the complete changelog, please refer to the website* + + + +## [gitea-17.1.17](https://github.com/truecharts/charts/compare/gitea-17.1.16...gitea-17.1.17) (2024-02-02) + +### Chore + + + +- update container image gitea/gitea to v1.21.5[@874a8d8](https://github.com/874a8d8) by renovate ([#17787](https://github.com/truecharts/charts/issues/17787)) + + +## [gitea-17.1.16](https://github.com/truecharts/charts/compare/gitea-17.1.15...gitea-17.1.16) (2024-01-27) + +### Chore + + + +- update helm general non-major by renovate ([#17525](https://github.com/truecharts/charts/issues/17525)) + + +## [gitea-17.1.15](https://github.com/truecharts/charts/compare/gitea-17.1.14...gitea-17.1.15) (2024-01-26) + +### Chore + + + +- update container image common to v17.2.29[@d7c41a3](https://github.com/d7c41a3) by renovate ([#17545](https://github.com/truecharts/charts/issues/17545)) + + +## [gitea-17.1.14](https://github.com/truecharts/charts/compare/gitea-17.1.13...gitea-17.1.14) (2024-01-21) + +### Chore + + + +- update container image common to v17.2.28[@918b4c5](https://github.com/918b4c5) by renovate ([#17478](https://github.com/truecharts/charts/issues/17478)) + + +## [gitea-17.1.13](https://github.com/truecharts/charts/compare/gitea-17.1.12...gitea-17.1.13) (2024-01-21) + +### Chore + + + +- update container image common to v17.2.26[@24c98f7](https://github.com/24c98f7) by renovate ([#17409](https://github.com/truecharts/charts/issues/17409)) + + +## [gitea-17.1.12](https://github.com/truecharts/charts/compare/gitea-17.1.11...gitea-17.1.12) (2024-01-21) + +### Chore + + + +- update metadata in chart.yaml ([#17457](https://github.com/truecharts/charts/issues/17457)) + + +## [gitea-17.1.11](https://github.com/truecharts/charts/compare/gitea-17.1.10...gitea-17.1.11) (2024-01-21) + +### Chore + + + +- update container image gitea/gitea to v1.21.4[@600f1f1](https://github.com/600f1f1) by renovate ([#17304](https://github.com/truecharts/charts/issues/17304)) + + + + +## [gitea-17.1.10](https://github.com/truecharts/charts/compare/gitea-17.1.9...gitea-17.1.10) (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)) + + +## [gitea-17.1.9](https://github.com/truecharts/charts/compare/gitea-17.1.8...gitea-17.1.9) (2024-01-02) + +### Chore + + + +- update helm general non-major by renovate ([#16820](https://github.com/truecharts/charts/issues/16820)) + + +## [gitea-17.1.8](https://github.com/truecharts/charts/compare/gitea-17.1.7...gitea-17.1.8) (2024-01-02) + +### Chore + + + +- force bump to ensure up-to-date catalogs diff --git a/stable/gitea/17.1.17/Chart.yaml b/stable/gitea/17.1.17/Chart.yaml new file mode 100644 index 0000000000..b2c917d946 --- /dev/null +++ b/stable/gitea/17.1.17/Chart.yaml @@ -0,0 +1,49 @@ +annotations: + max_scale_version: 23.10.2 + min_scale_version: 23.10.0 + truecharts.org/SCALE-support: "true" + truecharts.org/category: GIT + truecharts.org/max_helm_version: "3.14" + truecharts.org/min_helm_version: "3.12" + truecharts.org/train: stable +apiVersion: v2 +appVersion: 1.21.5 +dependencies: + - name: common + version: 17.2.29 + repository: oci://tccr.io/truecharts + condition: "" + alias: "" + tags: [] + import-values: [] + - name: memcached + version: 11.1.13 + repository: https://deps.truecharts.org/ + condition: memcached.enabled + alias: "" + tags: [] + import-values: [] +deprecated: false +description: Self hosted GIT repositories +home: https://truecharts.org/charts/stable/gitea +icon: https://truecharts.org/img/hotlink-ok/chart-icons/gitea.png +keywords: + - git + - issue tracker + - code review + - wiki + - gitea + - gogs +kubeVersion: ">=1.24.0-0" +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +name: gitea +sources: + - https://gitea.com/gitea/helm-chart + - https://github.com/go-gitea/gitea + - https://github.com/truecharts/charts/tree/master/charts/stable/gitea + - https://hub.docker.com/r/gitea/gitea +type: application +version: 17.1.17 diff --git a/stable/gitea/17.1.17/LICENSE b/stable/gitea/17.1.17/LICENSE new file mode 100644 index 0000000000..33a8cbb23f --- /dev/null +++ b/stable/gitea/17.1.17/LICENSE @@ -0,0 +1,106 @@ +Business Source License 1.1 + +Parameters + +Licensor: The TrueCharts Project, it's owner and it's contributors +Licensed Work: The TrueCharts "Blocky" Helm Chart +Additional Use Grant: You may use the licensed work in production, as long + as it is directly sourced from a TrueCharts provided + official repository, catalog or source. You may also make private + modification to the directly sourced licenced work, + when used in production. + + The following cases are, due to their nature, also + defined as 'production use' and explicitly prohibited: + - Bundling, including or displaying the licensed work + with(in) another work intended for production use, + with the apparent intend of facilitating and/or + promoting production use by third parties in + violation of this license. + +Change Date: 2050-01-01 + +Change License: 3-clause BSD license + +For information about alternative licensing arrangements for the Software, +please contact: legal@truecharts.org + +Notice + +The Business Source License (this document, or the “License”) is not an Open +Source license. However, the Licensed Work will eventually be made available +under an Open Source License, as stated in this License. + +License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved. +“Business Source License” is a trademark of MariaDB Corporation Ab. + +----------------------------------------------------------------------------- + +Business Source License 1.1 + +Terms + +The Licensor hereby grants you the right to copy, modify, create derivative +works, redistribute, and make non-production use of the Licensed Work. The +Licensor may make an Additional Use Grant, above, permitting limited +production use. + +Effective on the Change Date, or the fourth anniversary of the first publicly +available distribution of a specific version of the Licensed Work under this +License, whichever comes first, the Licensor hereby grants you rights under +the terms of the Change License, and the rights granted in the paragraph +above terminate. + +If your use of the Licensed Work does not comply with the requirements +currently in effect as described in this License, you must purchase a +commercial license from the Licensor, its affiliated entities, or authorized +resellers, or you must refrain from using the Licensed Work. + +All copies of the original and modified Licensed Work, and derivative works +of the Licensed Work, are subject to this License. This License applies +separately for each version of the Licensed Work and the Change Date may vary +for each version of the Licensed Work released by Licensor. + +You must conspicuously display this License on each original or modified copy +of the Licensed Work. If you receive the Licensed Work in original or +modified form from a third party, the terms and conditions set forth in this +License apply to your use of that work. + +Any use of the Licensed Work in violation of this License will automatically +terminate your rights under this License for the current and all other +versions of the Licensed Work. + +This License does not grant you any right in any trademark or logo of +Licensor or its affiliates (provided that you may use a trademark or logo of +Licensor as expressly required by this License). + +TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON +AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, +EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND +TITLE. + +MariaDB hereby grants you permission to use this License’s text to license +your works, and to refer to it using the trademark “Business Source License”, +as long as you comply with the Covenants of Licensor below. + +Covenants of Licensor + +In consideration of the right to use this License’s text and the “Business +Source License” name and trademark, Licensor covenants to MariaDB, and to all +other recipients of the licensed work to be provided by Licensor: + +1. To specify as the Change License the GPL Version 2.0 or any later version, + or a license that is compatible with GPL Version 2.0 or a later version, + where “compatible” means that software provided under the Change License can + be included in a program with software provided under GPL Version 2.0 or a + later version. Licensor may specify additional Change Licenses without + limitation. + +2. To either: (a) specify an additional grant of rights to use that does not + impose any additional restriction on the right granted in this License, as + the Additional Use Grant; or (b) insert the text “None”. + +3. To specify a Change Date. + +4. Not to modify this License in any other way. diff --git a/stable/gitea/17.1.17/README.md b/stable/gitea/17.1.17/README.md new file mode 100644 index 0000000000..1d7e1d43f1 --- /dev/null +++ b/stable/gitea/17.1.17/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/gitea) + +**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/gitea/17.1.17/app-changelog.md b/stable/gitea/17.1.17/app-changelog.md new file mode 100644 index 0000000000..76b2975b20 --- /dev/null +++ b/stable/gitea/17.1.17/app-changelog.md @@ -0,0 +1,9 @@ + + +## [gitea-17.1.17](https://github.com/truecharts/charts/compare/gitea-17.1.16...gitea-17.1.17) (2024-02-02) + +### Chore + + + +- update container image gitea/gitea to v1.21.5[@874a8d8](https://github.com/874a8d8) by renovate ([#17787](https://github.com/truecharts/charts/issues/17787)) \ No newline at end of file diff --git a/stable/gitea/17.1.17/app-readme.md b/stable/gitea/17.1.17/app-readme.md new file mode 100644 index 0000000000..e8603ada35 --- /dev/null +++ b/stable/gitea/17.1.17/app-readme.md @@ -0,0 +1,8 @@ +Self hosted GIT repositories + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/gitea](https://truecharts.org/charts/stable/gitea) + +--- + +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/gitea/17.1.17/charts/common-17.2.29.tgz b/stable/gitea/17.1.17/charts/common-17.2.29.tgz new file mode 100644 index 0000000000000000000000000000000000000000..32aa9351f147fbd4659b7948d068b57287f74904 GIT binary patch literal 98038 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 literal 0 HcmV?d00001 diff --git a/stable/gitea/17.1.17/charts/memcached-11.1.13.tgz b/stable/gitea/17.1.17/charts/memcached-11.1.13.tgz new file mode 100644 index 0000000000000000000000000000000000000000..29c4ad25e56b7d4270419826a33b72da6b853d83 GIT binary patch literal 102908 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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: 1000 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID of the user running the application" + schema: + type: int + default: 1000 + # 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: 1000 + - 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/gitea/17.1.17/templates/NOTES.txt b/stable/gitea/17.1.17/templates/NOTES.txt new file mode 100644 index 0000000000..efcb74cb77 --- /dev/null +++ b/stable/gitea/17.1.17/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/stable/gitea/17.1.17/templates/_configmap.tpl b/stable/gitea/17.1.17/templates/_configmap.tpl new file mode 100644 index 0000000000..7605060d62 --- /dev/null +++ b/stable/gitea/17.1.17/templates/_configmap.tpl @@ -0,0 +1,15 @@ +{{/* Define the configmap */}} +{{- define "gitea.configmap" -}} +enabled: true +data: + GITEA_APP_INI: "/data/gitea/conf/app.ini" + GITEA_CUSTOM: "/data/gitea" + GITEA_WORK_DIR: "/data" + GITEA_TEMP: "/tmp/gitea" + GITEA_ADMIN_USERNAME: {{ .Values.admin.username | quote }} + GITEA_ADMIN_PASSWORD: {{ .Values.admin.password | quote }} + SSH_PORT: {{ .Values.service.ssh.ports.ssh.port | quote }} + SSH_LISTEN_PORT: {{ .Values.service.ssh.ports.ssh.targetPort | quote }} + TMPDIR: "/tmp/gitea" + GNUPGHOME: "/data/git/.gnupg" +{{- end -}} diff --git a/stable/gitea/17.1.17/templates/_secrets.tpl b/stable/gitea/17.1.17/templates/_secrets.tpl new file mode 100644 index 0000000000..215287c072 --- /dev/null +++ b/stable/gitea/17.1.17/templates/_secrets.tpl @@ -0,0 +1,233 @@ +{{/* Define the secrets */}} +{{- define "gitea.secrets" -}} + +{{ $DOMAIN := .Values.config.nodeIP | quote -}} +{{ $URL := (printf "http://%s:%v/" .Values.config.nodeIP .Values.service.main.ports.main.port) }} +{{- $pgHost := printf "%v-cnpg-main-rw" (include "tc.v1.common.lib.chart.names.fullname" $) -}} + +{{- if and (.Values.ingress.main.enabled) (gt (len .Values.ingress.main.hosts) 0) -}} + {{- $DOMAIN = (index .Values.ingress.main.hosts 0).host -}} + {{- $URL = (printf "https://%s/" (index .Values.ingress.main.hosts 0).host) -}} +{{- end -}} + +secret: + enabled: true + data: + app.ini: |- + APP_NAME = {{ .Values.config.APP_NAME }} + RUN_MODE = {{ .Values.config.RUN_MODE }} + + [cache] + ADAPTER = memcache + ENABLED = true + HOST = {{ printf "%v-%v:%v" .Release.Name "memcached" "11211" }} + {{- range $catindex, $catvalue := .Values.customConfig }} + {{- if eq $catvalue.name "cache" }} + {{- range $index, $value := $catvalue.keys }} + {{ $value.name }} = {{ $value.value }} + {{- end }} + {{- end }} + {{- end }} + + [database] + DB_TYPE = postgres + HOST = {{ printf "%v:5432" $pgHost }} + NAME = {{ .Values.cnpg.main.database }} + PASSWD = {{ .Values.cnpg.main.creds.password }} + USER = {{ .Values.cnpg.main.user }} + {{- range $catindex, $catvalue := .Values.customConfig }} + {{- if eq $catvalue.name "database" }} + {{- range $index, $value := $catvalue.keys }} + {{ $value.name }} = {{ $value.value }} + {{- end }} + {{- end }} + {{- end }} + + [metrics] + ENABLED = {{ .Values.metrics.main.enabled }} + {{- range $catindex, $catvalue := .Values.customConfig }} + {{- if eq $catvalue.name "metrics" }} + {{- range $index, $value := $catvalue.keys }} + {{ $value.name }} = {{ $value.value }} + {{- end }} + {{- end }} + {{- end }} + + [repository] + ROOT = /data/git/gitea-repositories + {{- range $catindex, $catvalue := .Values.customConfig }} + {{- if eq $catvalue.name "repository" }} + {{- range $index, $value := $catvalue.keys }} + {{ $value.name }} = {{ $value.value }} + {{- end }} + {{- end }} + {{- end }} + + + [security] + INSTALL_LOCK = true + {{- range $catindex, $catvalue := .Values.customConfig }} + {{- if eq $catvalue.name "security" }} + {{- range $index, $value := $catvalue.keys }} + {{ $value.name }} = {{ $value.value }} + {{- end }} + {{- end }} + {{- end }} + + [webhook] + ALLOWED_HOST_LIST = {{ .Values.config.ALLOWED_HOST_LIST }} + + [server] + APP_DATA_PATH = /data + DOMAIN = {{ $DOMAIN }} + ENABLE_PPROF = false + HTTP_PORT = {{ .Values.service.main.ports.main.targetPort }} + PROTOCOL = http + ROOT_URL = {{ $URL }} + SSH_DOMAIN = {{ $DOMAIN }} + SSH_LISTEN_PORT = {{ .Values.service.ssh.ports.ssh.targetPort }} + SSH_PORT = {{ .Values.service.ssh.ports.ssh.port }} + START_SSH_SERVER = true + {{- range $catindex, $catvalue := .Values.customConfig }} + {{- if eq $catvalue.name "server" }} + {{- range $index, $value := $catvalue.keys }} + {{ $value.name }} = {{ $value.value }} + {{- end }} + {{- end }} + {{- end }} + + {{- range $catindex, $catvalue := .Values.customConfig }} + {{- if not ( or ( eq $catvalue.name "server" ) ( eq $catvalue.name "server" ) ( eq $catvalue.name "security" ) ( eq $catvalue.name "repository" ) ( eq $catvalue.name "metrics" ) ( eq $catvalue.name "database" ) ( eq $catvalue.name "cache" ) ) }} + [{{ $catvalue.name }}] + {{- range $index, $value := $catvalue.keys }} + {{ $value.name }} = {{ $value.value }} + {{- end }} + {{- end }} + {{- end }} + +init: + enabled: true + data: + init_directory_structure.sh: |- + #!/usr/bin/env bash + + set -euo pipefail + + {{- if .Values.initPreScript }} + # BEGIN: initPreScript + {{- with .Values.initPreScript -}} + {{ . | nindent 4}} + {{- end -}} + # END: initPreScript + {{- end }} + + set -x + + mkdir -p /data/git/.ssh + chmod -R 700 /data/git/.ssh + [ ! -d /data/gitea ] && mkdir -p /data/gitea/conf + + # prepare temp directory structure + mkdir -p "${GITEA_TEMP}" + chown -Rf {{ .Values.securityContext.container.runAsUser }}:{{ .Values.securityContext.pod.fsGroup }} "${GITEA_TEMP}" + chmod ug+rwx "${GITEA_TEMP}" + + # Copy config file to writable volume + cp /etc/gitea/conf/app.ini /data/gitea/conf/app.ini + chown -Rf {{ .Values.securityContext.container.runAsUser }}:{{ .Values.securityContext.pod.fsGroup }} "/data" + chmod a+rwx /data/gitea/conf/app.ini + + # Patch dockercontainer for dynamic users + chown -Rf {{ .Values.securityContext.container.runAsUser }}:{{ .Values.securityContext.pod.fsGroup }} "/var/lib/gitea" + + configure_gitea.sh: |- + #!/usr/bin/env bash + + set -euo pipefail + + + # Connection retry inspired by https://gist.github.com/dublx/e99ea94858c07d2ca6de + function test_db_connection() { + local RETRY=0 + local MAX=30 + + echo 'Wait for database to become avialable...' + until [ "${RETRY}" -ge "${MAX}" ]; do + nc -vz -w2 {{ $pgHost }} 5432 && break + RETRY=$[${RETRY}+1] + echo "...not ready yet (${RETRY}/${MAX})" + done + + if [ "${RETRY}" -ge "${MAX}" ]; then + echo "Database not reachable after '${MAX}' attempts!" + exit 1 + fi + } + + test_db_connection + + + echo '==== BEGIN GITEA MIGRATION ====' + + gitea migrate + + echo '==== BEGIN GITEA CONFIGURATION ====' + + {{- if or .Values.admin.existingSecret (and .Values.admin.username .Values.admin.password) }} + function configure_admin_user() { + local ACCOUNT_ID=$(gitea admin user list --admin | grep -e "\s\+${GITEA_ADMIN_USERNAME}\|{{ .Values.admin.email }}\s\+" | awk -F " " "{printf \$1}") + if [[ -z "${ACCOUNT_ID}" ]]; then + echo "No admin user '${GITEA_ADMIN_USERNAME}' found, neither email '{{ .Values.admin.email }}' is assigned to an admin. Creating now..." + gitea admin user create --admin --username "${GITEA_ADMIN_USERNAME}" --password "${GITEA_ADMIN_PASSWORD}" --email {{ .Values.admin.email | quote }} --must-change-password=false + echo '...created.' + else + echo "Admin account '${GITEA_ADMIN_USERNAME}' or email {{ .Values.admin.email }} already exist. Running update to sync password..." + gitea admin user change-password --username "${GITEA_ADMIN_USERNAME}" --password "${GITEA_ADMIN_PASSWORD}" + echo '...password sync done.' + fi + } + + configure_admin_user + {{- end }} + + {{- if .Values.ldap.enabled }} + function configure_ldap() { + local LDAP_NAME={{ (printf "%s" .Values.ldap.name) | squote }} + local GITEA_AUTH_ID=$(gitea admin auth list --vertical-bars | grep -E "\|${LDAP_NAME}\s+\|" | grep -iE '\|LDAP \(via BindDN\)\s+\|' | awk -F " " "{print \$1}") + + if [[ -z "${GITEA_AUTH_ID}" ]]; then + echo "No ldap configuration found with name '${LDAP_NAME}'. Installing it now..." + gitea admin auth add-ldap {{- include "gitea.ldap_settings" . | indent 1 }} + echo '...installed.' + else + echo "Existing ldap configuration with name '${LDAP_NAME}': '${GITEA_AUTH_ID}'. Running update to sync settings..." + gitea admin auth update-ldap --id "${GITEA_AUTH_ID}" {{- include "gitea.ldap_settings" . | indent 1 }} + echo '...sync settings done.' + fi + } + + configure_ldap + {{- end }} + + {{- if .Values.oauth.enabled }} + function configure_oauth() { + local OAUTH_NAME={{ (printf "%s" .Values.oauth.name) | squote }} + local AUTH_ID=$(gitea admin auth list --vertical-bars | grep -E "\|${OAUTH_NAME}\s+\|" | grep -iE '\|OAuth2\s+\|' | awk -F " " "{print \$1}") + + if [[ -z "${AUTH_ID}" ]]; then + echo "No oauth configuration found with name '${OAUTH_NAME}'. Installing it now..." + gitea admin auth add-oauth {{- include "gitea.oauth_settings" . | indent 1 }} + echo '...installed.' + else + echo "Existing oauth configuration with name '${OAUTH_NAME}': '${AUTH_ID}'. Running update to sync settings..." + gitea admin auth update-oauth --id "${AUTH_ID}" {{- include "gitea.oauth_settings" . | indent 1 }} + echo '...sync settings done.' + fi + } + + configure_oauth + {{- end }} + + echo '==== END GITEA CONFIGURATION ====' + +{{- end -}} diff --git a/stable/gitea/17.1.17/templates/common.yaml b/stable/gitea/17.1.17/templates/common.yaml new file mode 100644 index 0000000000..ebc9e9874f --- /dev/null +++ b/stable/gitea/17.1.17/templates/common.yaml @@ -0,0 +1,52 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.v1.common.loader.init" . }} + +{{/* Render secrets for gitea */}} +{{- $secrets := include "gitea.secrets" . | fromYaml -}} +{{- if $secrets -}} + {{- $_ := mustMergeOverwrite .Values.secret $secrets -}} +{{- end -}} + +{{/* Render configmap for gitea */}} +{{- $configmap := include "gitea.configmap" . | fromYaml -}} +{{- if $configmap -}} + {{- $_ := set .Values.configmap "gitea-env" $configmap -}} +{{- end -}} + +{{/* Append the general secret volumes to the volumes */}} +{{- define "gitea.initvolume" -}} +enabled: true +readOnly: true +type: secret +objectName: init +defaultMode: "0777" +targetSelector: + main: + main: + mountPath: /secrets/ini + 1-init-directories: + mountPath: "/usr/sbin" + 2-configure-gitea: + mountPath: "/usr/sbin" +{{- end -}} + +{{/* Append the general secret volumes to the volumes */}} +{{- define "gitea.configvolume" -}} +enabled: true +readOnly: true +type: secret +objectName: secret +targetSelector: + main: + main: + mountPath: /secrets/config + 1-init-directories: + mountPath: /etc/gitea/conf +{{- end -}} + +{{- $_ := set .Values.persistence "init" (include "gitea.initvolume" . | fromYaml) -}} +{{- $_ := set .Values.persistence "config" (include "gitea.configvolume" . | fromYaml) -}} + + +{{/* Render the templates */}} +{{ include "tc.v1.common.loader.apply" . }} diff --git a/stable/gitea/17.1.17/values.yaml b/stable/gitea/17.1.17/values.yaml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/stable/home-assistant/23.0.13/CHANGELOG.md b/stable/home-assistant/23.0.13/CHANGELOG.md new file mode 100644 index 0000000000..609b78919f --- /dev/null +++ b/stable/home-assistant/23.0.13/CHANGELOG.md @@ -0,0 +1,99 @@ +--- +title: Changelog +--- + +**Important:** +*for the complete changelog, please refer to the website* + + + +## [home-assistant-23.0.13](https://github.com/truecharts/charts/compare/home-assistant-23.0.12...home-assistant-23.0.13) (2024-02-02) + +### Chore + + + +- update container image homeassistant/home-assistant to v2024.1.6[@3c571dc](https://github.com/3c571dc) by renovate ([#17788](https://github.com/truecharts/charts/issues/17788)) + + +## [home-assistant-23.0.12](https://github.com/truecharts/charts/compare/home-assistant-23.0.11...home-assistant-23.0.12) (2024-01-26) + +### Chore + + + +- update container image common to v17.2.29[@d7c41a3](https://github.com/d7c41a3) by renovate ([#17545](https://github.com/truecharts/charts/issues/17545)) + + +## [home-assistant-23.0.11](https://github.com/truecharts/charts/compare/home-assistant-23.0.10...home-assistant-23.0.11) (2024-01-21) + +### Chore + + + +- update container image common to v17.2.28[@918b4c5](https://github.com/918b4c5) by renovate ([#17478](https://github.com/truecharts/charts/issues/17478)) + + +## [home-assistant-23.0.10](https://github.com/truecharts/charts/compare/home-assistant-23.0.9...home-assistant-23.0.10) (2024-01-21) + +### Fix + + + +- correct default file copy ([#17473](https://github.com/truecharts/charts/issues/17473)) + + +## [home-assistant-23.0.9](https://github.com/truecharts/charts/compare/home-assistant-23.0.8...home-assistant-23.0.9) (2024-01-21) + +### Fix + + + +- fix script ([#17463](https://github.com/truecharts/charts/issues/17463)) + + +## [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 + diff --git a/stable/home-assistant/23.0.13/Chart.yaml b/stable/home-assistant/23.0.13/Chart.yaml new file mode 100644 index 0000000000..3a8645ea6c --- /dev/null +++ b/stable/home-assistant/23.0.13/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.6 +dependencies: + - name: common + version: 17.2.29 + 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.13 diff --git a/stable/home-assistant/23.0.13/README.md b/stable/home-assistant/23.0.13/README.md new file mode 100644 index 0000000000..e8b587422d --- /dev/null +++ b/stable/home-assistant/23.0.13/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.13/app-changelog.md b/stable/home-assistant/23.0.13/app-changelog.md new file mode 100644 index 0000000000..0b2545cd37 --- /dev/null +++ b/stable/home-assistant/23.0.13/app-changelog.md @@ -0,0 +1,9 @@ + + +## [home-assistant-23.0.13](https://github.com/truecharts/charts/compare/home-assistant-23.0.12...home-assistant-23.0.13) (2024-02-02) + +### Chore + + + +- update container image homeassistant/home-assistant to v2024.1.6[@3c571dc](https://github.com/3c571dc) by renovate ([#17788](https://github.com/truecharts/charts/issues/17788)) \ No newline at end of file diff --git a/stable/home-assistant/23.0.13/app-readme.md b/stable/home-assistant/23.0.13/app-readme.md new file mode 100644 index 0000000000..9a840a5743 --- /dev/null +++ b/stable/home-assistant/23.0.13/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.13/charts/common-17.2.29.tgz b/stable/home-assistant/23.0.13/charts/common-17.2.29.tgz new file mode 100644 index 0000000000000000000000000000000000000000..32aa9351f147fbd4659b7948d068b57287f74904 GIT binary patch literal 98038 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 literal 0 HcmV?d00001 diff --git a/stable/home-assistant/23.0.13/ix_values.yaml b/stable/home-assistant/23.0.13/ix_values.yaml new file mode 100644 index 0000000000..ba02783c90 --- /dev/null +++ b/stable/home-assistant/23.0.13/ix_values.yaml @@ -0,0 +1,153 @@ +image: + repository: homeassistant/home-assistant + pullPolicy: IfNotPresent + tag: 2024.1.6@sha256:3c571dc0e5a8280bff12f917d3845adc93606bdad45707bf9e0b6a15acd3075f +service: + main: + ports: + main: + port: 8123 + targetPort: 8123 +workload: + main: + podSpec: + initContainers: + init: + type: init + enabled: true + imageSelector: yqImage + 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 "\"")) }} + config="/config/configuration.yaml" + default="/config/init" + if [ ! -f "$config" ]; then + echo "File [$config] does NOT exist. Creating..." + cp "$default/configuration.yaml.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 -p "/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 -p "/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.13/questions.yaml b/stable/home-assistant/23.0.13/questions.yaml new file mode 100644 index 0000000000..87252118a1 --- /dev/null +++ b/stable/home-assistant/23.0.13/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.13/templates/NOTES.txt b/stable/home-assistant/23.0.13/templates/NOTES.txt new file mode 100644 index 0000000000..efcb74cb77 --- /dev/null +++ b/stable/home-assistant/23.0.13/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/stable/home-assistant/23.0.13/templates/common.yaml b/stable/home-assistant/23.0.13/templates/common.yaml new file mode 100644 index 0000000000..995efb03eb --- /dev/null +++ b/stable/home-assistant/23.0.13/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.13/values.yaml b/stable/home-assistant/23.0.13/values.yaml new file mode 100644 index 0000000000..e69de29bb2