From f98bf1dbb688f9f86f8eb85a894b655d73bcee0a Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Tue, 30 Nov 2021 13:43:54 +0000 Subject: [PATCH] Commit new App releases for TrueCharts Signed-off-by: TrueCharts-Bot --- incubator/anonaddy/6.0.0/CHANGELOG.md | 10 + incubator/anonaddy/6.0.0/CONFIG.md | 8 + incubator/anonaddy/6.0.0/Chart.lock | 9 + incubator/anonaddy/6.0.0/Chart.yaml | 29 + incubator/anonaddy/6.0.0/README.md | 38 + incubator/anonaddy/6.0.0/app-readme.md | 3 + .../anonaddy/6.0.0/charts/common-8.9.4.tgz | Bin 0 -> 37232 bytes .../anonaddy/6.0.0/charts/mariadb-1.0.14.tgz | Bin 0 -> 42679 bytes incubator/anonaddy/6.0.0/helm-values.md | 45 + incubator/anonaddy/6.0.0/ix_values.yaml | 86 + incubator/anonaddy/6.0.0/questions.yaml | 1960 +++++++++++++ .../anonaddy/6.0.0/templates/_appkey.tpl | 28 + .../anonaddy/6.0.0/templates/common.yaml | 9 + incubator/anonaddy/6.0.0/values.yaml | 0 incubator/anonaddy/item.yaml | 4 + incubator/blog/0.0.1/CHANGELOG.md | 10 + incubator/blog/0.0.1/CONFIG.md | 8 + incubator/blog/0.0.1/Chart.lock | 9 + incubator/blog/0.0.1/Chart.yaml | 34 + incubator/blog/0.0.1/README.md | 39 + incubator/blog/0.0.1/app-readme.md | 3 + incubator/blog/0.0.1/charts/common-8.9.4.tgz | Bin 0 -> 37232 bytes .../blog/0.0.1/charts/postgresql-6.0.10.tgz | Bin 0 -> 45519 bytes incubator/blog/0.0.1/helm-values.md | 43 + incubator/blog/0.0.1/ix_values.yaml | 56 + incubator/blog/0.0.1/questions.yaml | 1864 ++++++++++++ incubator/blog/0.0.1/templates/common.yaml | 2 + incubator/blog/0.0.1/values.yaml | 0 incubator/blog/item.yaml | 4 + incubator/bookstack/0.0.1/CHANGELOG.md | 10 + incubator/bookstack/0.0.1/CONFIG.md | 8 + incubator/bookstack/0.0.1/Chart.lock | 9 + incubator/bookstack/0.0.1/Chart.yaml | 35 + incubator/bookstack/0.0.1/README.md | 39 + incubator/bookstack/0.0.1/app-readme.md | 3 + .../bookstack/0.0.1/charts/common-8.9.4.tgz | Bin 0 -> 37232 bytes .../bookstack/0.0.1/charts/mariadb-1.0.14.tgz | Bin 0 -> 42679 bytes incubator/bookstack/0.0.1/helm-values.md | 33 + incubator/bookstack/0.0.1/ix_values.yaml | 53 + incubator/bookstack/0.0.1/questions.yaml | 1852 ++++++++++++ .../bookstack/0.0.1/templates/common.yaml | 1 + incubator/bookstack/0.0.1/values.yaml | 0 incubator/bookstack/item.yaml | 4 + incubator/clarkson/0.0.1/CHANGELOG.md | 10 + incubator/clarkson/0.0.1/CONFIG.md | 8 + incubator/clarkson/0.0.1/Chart.lock | 9 + incubator/clarkson/0.0.1/Chart.yaml | 34 + incubator/clarkson/0.0.1/README.md | 39 + incubator/clarkson/0.0.1/app-readme.md | 3 + .../clarkson/0.0.1/charts/common-8.9.4.tgz | Bin 0 -> 37232 bytes .../clarkson/0.0.1/charts/mariadb-1.0.14.tgz | Bin 0 -> 42679 bytes incubator/clarkson/0.0.1/helm-values.md | 36 + incubator/clarkson/0.0.1/ix_values.yaml | 50 + incubator/clarkson/0.0.1/questions.yaml | 1672 +++++++++++ .../clarkson/0.0.1/templates/common.yaml | 1 + incubator/clarkson/0.0.1/values.yaml | 0 incubator/clarkson/item.yaml | 4 + incubator/friendica/0.0.1/CHANGELOG.md | 10 + incubator/friendica/0.0.1/CONFIG.md | 8 + incubator/friendica/0.0.1/Chart.lock | 9 + incubator/friendica/0.0.1/Chart.yaml | 31 + incubator/friendica/0.0.1/README.md | 39 + incubator/friendica/0.0.1/app-readme.md | 3 + .../friendica/0.0.1/charts/common-8.9.4.tgz | Bin 0 -> 37232 bytes .../friendica/0.0.1/charts/mariadb-1.0.14.tgz | Bin 0 -> 42679 bytes incubator/friendica/0.0.1/helm-values.md | 42 + incubator/friendica/0.0.1/ix_values.yaml | 59 + incubator/friendica/0.0.1/questions.yaml | 1846 ++++++++++++ .../friendica/0.0.1/templates/common.yaml | 2 + incubator/friendica/0.0.1/values.yaml | 0 incubator/friendica/item.yaml | 4 + incubator/icinga2/0.0.1/CHANGELOG.md | 10 + incubator/icinga2/0.0.1/CONFIG.md | 8 + incubator/icinga2/0.0.1/Chart.lock | 9 + incubator/icinga2/0.0.1/Chart.yaml | 31 + incubator/icinga2/0.0.1/README.md | 39 + incubator/icinga2/0.0.1/app-readme.md | 3 + .../icinga2/0.0.1/charts/common-8.9.4.tgz | Bin 0 -> 37232 bytes .../icinga2/0.0.1/charts/mariadb-1.0.14.tgz | Bin 0 -> 42679 bytes incubator/icinga2/0.0.1/helm-values.md | 39 + incubator/icinga2/0.0.1/ix_values.yaml | 84 + incubator/icinga2/0.0.1/questions.yaml | 2572 +++++++++++++++++ incubator/icinga2/0.0.1/templates/common.yaml | 1 + incubator/icinga2/0.0.1/values.yaml | 0 incubator/icinga2/item.yaml | 4 + incubator/leantime/0.0.1/CHANGELOG.md | 10 + incubator/leantime/0.0.1/CONFIG.md | 8 + incubator/leantime/0.0.1/Chart.lock | 9 + incubator/leantime/0.0.1/Chart.yaml | 32 + incubator/leantime/0.0.1/README.md | 39 + incubator/leantime/0.0.1/app-readme.md | 3 + .../leantime/0.0.1/charts/common-8.9.4.tgz | Bin 0 -> 37232 bytes .../leantime/0.0.1/charts/mariadb-1.0.14.tgz | Bin 0 -> 42679 bytes incubator/leantime/0.0.1/helm-values.md | 41 + incubator/leantime/0.0.1/ix_values.yaml | 53 + incubator/leantime/0.0.1/questions.yaml | 1948 +++++++++++++ .../leantime/0.0.1/templates/common.yaml | 2 + incubator/leantime/0.0.1/values.yaml | 0 incubator/leantime/item.yaml | 4 + incubator/monica/0.0.1/CHANGELOG.md | 10 + incubator/monica/0.0.1/CONFIG.md | 8 + incubator/monica/0.0.1/Chart.lock | 9 + incubator/monica/0.0.1/Chart.yaml | 30 + incubator/monica/0.0.1/README.md | 39 + incubator/monica/0.0.1/app-readme.md | 3 + .../monica/0.0.1/charts/common-8.9.4.tgz | Bin 0 -> 37232 bytes .../monica/0.0.1/charts/mariadb-1.0.14.tgz | Bin 0 -> 42679 bytes incubator/monica/0.0.1/helm-values.md | 37 + incubator/monica/0.0.1/ix_values.yaml | 58 + incubator/monica/0.0.1/questions.yaml | 1860 ++++++++++++ incubator/monica/0.0.1/templates/_appkey.tpl | 23 + incubator/monica/0.0.1/templates/common.yaml | 9 + incubator/monica/0.0.1/values.yaml | 0 incubator/monica/item.yaml | 4 + incubator/snipe-it/0.0.1/CHANGELOG.md | 10 + incubator/snipe-it/0.0.1/CONFIG.md | 8 + incubator/snipe-it/0.0.1/Chart.lock | 9 + incubator/snipe-it/0.0.1/Chart.yaml | 33 + incubator/snipe-it/0.0.1/README.md | 39 + incubator/snipe-it/0.0.1/app-readme.md | 3 + .../snipe-it/0.0.1/charts/common-8.9.4.tgz | Bin 0 -> 37232 bytes .../snipe-it/0.0.1/charts/mariadb-1.0.14.tgz | Bin 0 -> 42679 bytes incubator/snipe-it/0.0.1/helm-values.md | 41 + incubator/snipe-it/0.0.1/ix_values.yaml | 53 + incubator/snipe-it/0.0.1/questions.yaml | 1852 ++++++++++++ .../snipe-it/0.0.1/templates/common.yaml | 2 + incubator/snipe-it/0.0.1/values.yaml | 0 incubator/snipe-it/item.yaml | 4 + incubator/xbackbone/0.0.1/CHANGELOG.md | 10 + incubator/xbackbone/0.0.1/CONFIG.md | 8 + incubator/xbackbone/0.0.1/Chart.lock | 9 + incubator/xbackbone/0.0.1/Chart.yaml | 31 + incubator/xbackbone/0.0.1/README.md | 39 + incubator/xbackbone/0.0.1/app-readme.md | 3 + .../xbackbone/0.0.1/charts/common-8.9.4.tgz | Bin 0 -> 37232 bytes .../xbackbone/0.0.1/charts/mariadb-1.0.14.tgz | Bin 0 -> 42679 bytes incubator/xbackbone/0.0.1/helm-values.md | 33 + incubator/xbackbone/0.0.1/ix_values.yaml | 52 + incubator/xbackbone/0.0.1/questions.yaml | 1846 ++++++++++++ .../xbackbone/0.0.1/templates/common.yaml | 1 + incubator/xbackbone/0.0.1/values.yaml | 0 incubator/xbackbone/item.yaml | 4 + 142 files changed, 21396 insertions(+) create mode 100644 incubator/anonaddy/6.0.0/CHANGELOG.md create mode 100644 incubator/anonaddy/6.0.0/CONFIG.md create mode 100644 incubator/anonaddy/6.0.0/Chart.lock create mode 100644 incubator/anonaddy/6.0.0/Chart.yaml create mode 100644 incubator/anonaddy/6.0.0/README.md create mode 100644 incubator/anonaddy/6.0.0/app-readme.md create mode 100644 incubator/anonaddy/6.0.0/charts/common-8.9.4.tgz create mode 100644 incubator/anonaddy/6.0.0/charts/mariadb-1.0.14.tgz create mode 100644 incubator/anonaddy/6.0.0/helm-values.md create mode 100644 incubator/anonaddy/6.0.0/ix_values.yaml create mode 100644 incubator/anonaddy/6.0.0/questions.yaml create mode 100644 incubator/anonaddy/6.0.0/templates/_appkey.tpl create mode 100644 incubator/anonaddy/6.0.0/templates/common.yaml create mode 100644 incubator/anonaddy/6.0.0/values.yaml create mode 100644 incubator/anonaddy/item.yaml create mode 100644 incubator/blog/0.0.1/CHANGELOG.md create mode 100644 incubator/blog/0.0.1/CONFIG.md create mode 100644 incubator/blog/0.0.1/Chart.lock create mode 100644 incubator/blog/0.0.1/Chart.yaml create mode 100644 incubator/blog/0.0.1/README.md create mode 100644 incubator/blog/0.0.1/app-readme.md create mode 100644 incubator/blog/0.0.1/charts/common-8.9.4.tgz create mode 100644 incubator/blog/0.0.1/charts/postgresql-6.0.10.tgz create mode 100644 incubator/blog/0.0.1/helm-values.md create mode 100644 incubator/blog/0.0.1/ix_values.yaml create mode 100644 incubator/blog/0.0.1/questions.yaml create mode 100644 incubator/blog/0.0.1/templates/common.yaml create mode 100644 incubator/blog/0.0.1/values.yaml create mode 100644 incubator/blog/item.yaml create mode 100644 incubator/bookstack/0.0.1/CHANGELOG.md create mode 100644 incubator/bookstack/0.0.1/CONFIG.md create mode 100644 incubator/bookstack/0.0.1/Chart.lock create mode 100644 incubator/bookstack/0.0.1/Chart.yaml create mode 100644 incubator/bookstack/0.0.1/README.md create mode 100644 incubator/bookstack/0.0.1/app-readme.md create mode 100644 incubator/bookstack/0.0.1/charts/common-8.9.4.tgz create mode 100644 incubator/bookstack/0.0.1/charts/mariadb-1.0.14.tgz create mode 100644 incubator/bookstack/0.0.1/helm-values.md create mode 100644 incubator/bookstack/0.0.1/ix_values.yaml create mode 100644 incubator/bookstack/0.0.1/questions.yaml create mode 100644 incubator/bookstack/0.0.1/templates/common.yaml create mode 100644 incubator/bookstack/0.0.1/values.yaml create mode 100644 incubator/bookstack/item.yaml create mode 100644 incubator/clarkson/0.0.1/CHANGELOG.md create mode 100644 incubator/clarkson/0.0.1/CONFIG.md create mode 100644 incubator/clarkson/0.0.1/Chart.lock create mode 100644 incubator/clarkson/0.0.1/Chart.yaml create mode 100644 incubator/clarkson/0.0.1/README.md create mode 100644 incubator/clarkson/0.0.1/app-readme.md create mode 100644 incubator/clarkson/0.0.1/charts/common-8.9.4.tgz create mode 100644 incubator/clarkson/0.0.1/charts/mariadb-1.0.14.tgz create mode 100644 incubator/clarkson/0.0.1/helm-values.md create mode 100644 incubator/clarkson/0.0.1/ix_values.yaml create mode 100644 incubator/clarkson/0.0.1/questions.yaml create mode 100644 incubator/clarkson/0.0.1/templates/common.yaml create mode 100644 incubator/clarkson/0.0.1/values.yaml create mode 100644 incubator/clarkson/item.yaml create mode 100644 incubator/friendica/0.0.1/CHANGELOG.md create mode 100644 incubator/friendica/0.0.1/CONFIG.md create mode 100644 incubator/friendica/0.0.1/Chart.lock create mode 100644 incubator/friendica/0.0.1/Chart.yaml create mode 100644 incubator/friendica/0.0.1/README.md create mode 100644 incubator/friendica/0.0.1/app-readme.md create mode 100644 incubator/friendica/0.0.1/charts/common-8.9.4.tgz create mode 100644 incubator/friendica/0.0.1/charts/mariadb-1.0.14.tgz create mode 100644 incubator/friendica/0.0.1/helm-values.md create mode 100644 incubator/friendica/0.0.1/ix_values.yaml create mode 100644 incubator/friendica/0.0.1/questions.yaml create mode 100644 incubator/friendica/0.0.1/templates/common.yaml create mode 100644 incubator/friendica/0.0.1/values.yaml create mode 100644 incubator/friendica/item.yaml create mode 100644 incubator/icinga2/0.0.1/CHANGELOG.md create mode 100644 incubator/icinga2/0.0.1/CONFIG.md create mode 100644 incubator/icinga2/0.0.1/Chart.lock create mode 100644 incubator/icinga2/0.0.1/Chart.yaml create mode 100644 incubator/icinga2/0.0.1/README.md create mode 100644 incubator/icinga2/0.0.1/app-readme.md create mode 100644 incubator/icinga2/0.0.1/charts/common-8.9.4.tgz create mode 100644 incubator/icinga2/0.0.1/charts/mariadb-1.0.14.tgz create mode 100644 incubator/icinga2/0.0.1/helm-values.md create mode 100644 incubator/icinga2/0.0.1/ix_values.yaml create mode 100644 incubator/icinga2/0.0.1/questions.yaml create mode 100644 incubator/icinga2/0.0.1/templates/common.yaml create mode 100644 incubator/icinga2/0.0.1/values.yaml create mode 100644 incubator/icinga2/item.yaml create mode 100644 incubator/leantime/0.0.1/CHANGELOG.md create mode 100644 incubator/leantime/0.0.1/CONFIG.md create mode 100644 incubator/leantime/0.0.1/Chart.lock create mode 100644 incubator/leantime/0.0.1/Chart.yaml create mode 100644 incubator/leantime/0.0.1/README.md create mode 100644 incubator/leantime/0.0.1/app-readme.md create mode 100644 incubator/leantime/0.0.1/charts/common-8.9.4.tgz create mode 100644 incubator/leantime/0.0.1/charts/mariadb-1.0.14.tgz create mode 100644 incubator/leantime/0.0.1/helm-values.md create mode 100644 incubator/leantime/0.0.1/ix_values.yaml create mode 100644 incubator/leantime/0.0.1/questions.yaml create mode 100644 incubator/leantime/0.0.1/templates/common.yaml create mode 100644 incubator/leantime/0.0.1/values.yaml create mode 100644 incubator/leantime/item.yaml create mode 100644 incubator/monica/0.0.1/CHANGELOG.md create mode 100644 incubator/monica/0.0.1/CONFIG.md create mode 100644 incubator/monica/0.0.1/Chart.lock create mode 100644 incubator/monica/0.0.1/Chart.yaml create mode 100644 incubator/monica/0.0.1/README.md create mode 100644 incubator/monica/0.0.1/app-readme.md create mode 100644 incubator/monica/0.0.1/charts/common-8.9.4.tgz create mode 100644 incubator/monica/0.0.1/charts/mariadb-1.0.14.tgz create mode 100644 incubator/monica/0.0.1/helm-values.md create mode 100644 incubator/monica/0.0.1/ix_values.yaml create mode 100644 incubator/monica/0.0.1/questions.yaml create mode 100644 incubator/monica/0.0.1/templates/_appkey.tpl create mode 100644 incubator/monica/0.0.1/templates/common.yaml create mode 100644 incubator/monica/0.0.1/values.yaml create mode 100644 incubator/monica/item.yaml create mode 100644 incubator/snipe-it/0.0.1/CHANGELOG.md create mode 100644 incubator/snipe-it/0.0.1/CONFIG.md create mode 100644 incubator/snipe-it/0.0.1/Chart.lock create mode 100644 incubator/snipe-it/0.0.1/Chart.yaml create mode 100644 incubator/snipe-it/0.0.1/README.md create mode 100644 incubator/snipe-it/0.0.1/app-readme.md create mode 100644 incubator/snipe-it/0.0.1/charts/common-8.9.4.tgz create mode 100644 incubator/snipe-it/0.0.1/charts/mariadb-1.0.14.tgz create mode 100644 incubator/snipe-it/0.0.1/helm-values.md create mode 100644 incubator/snipe-it/0.0.1/ix_values.yaml create mode 100644 incubator/snipe-it/0.0.1/questions.yaml create mode 100644 incubator/snipe-it/0.0.1/templates/common.yaml create mode 100644 incubator/snipe-it/0.0.1/values.yaml create mode 100644 incubator/snipe-it/item.yaml create mode 100644 incubator/xbackbone/0.0.1/CHANGELOG.md create mode 100644 incubator/xbackbone/0.0.1/CONFIG.md create mode 100644 incubator/xbackbone/0.0.1/Chart.lock create mode 100644 incubator/xbackbone/0.0.1/Chart.yaml create mode 100644 incubator/xbackbone/0.0.1/README.md create mode 100644 incubator/xbackbone/0.0.1/app-readme.md create mode 100644 incubator/xbackbone/0.0.1/charts/common-8.9.4.tgz create mode 100644 incubator/xbackbone/0.0.1/charts/mariadb-1.0.14.tgz create mode 100644 incubator/xbackbone/0.0.1/helm-values.md create mode 100644 incubator/xbackbone/0.0.1/ix_values.yaml create mode 100644 incubator/xbackbone/0.0.1/questions.yaml create mode 100644 incubator/xbackbone/0.0.1/templates/common.yaml create mode 100644 incubator/xbackbone/0.0.1/values.yaml create mode 100644 incubator/xbackbone/item.yaml diff --git a/incubator/anonaddy/6.0.0/CHANGELOG.md b/incubator/anonaddy/6.0.0/CHANGELOG.md new file mode 100644 index 00000000000..f6125027275 --- /dev/null +++ b/incubator/anonaddy/6.0.0/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog
+ + + +### anonaddy-6.0.0 (2021-11-30) + +#### Feat + +* add a bunch of mariaDB backed Apps ([#1407](https://github.com/truecharts/apps/issues/1407)) + diff --git a/incubator/anonaddy/6.0.0/CONFIG.md b/incubator/anonaddy/6.0.0/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/incubator/anonaddy/6.0.0/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/anonaddy/6.0.0/Chart.lock b/incubator/anonaddy/6.0.0/Chart.lock new file mode 100644 index 00000000000..3a43826b66e --- /dev/null +++ b/incubator/anonaddy/6.0.0/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 8.9.4 +- name: mariadb + repository: https://truecharts.org/ + version: 1.0.14 +digest: sha256:5e9e690d8f7e690e1c778c5c0138361783600ee28999056697fd662961cee0a6 +generated: "2021-11-30T13:34:47.376813732Z" diff --git a/incubator/anonaddy/6.0.0/Chart.yaml b/incubator/anonaddy/6.0.0/Chart.yaml new file mode 100644 index 00000000000..1981ef2995b --- /dev/null +++ b/incubator/anonaddy/6.0.0/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: "0.8.7" +dependencies: +- name: common + repository: https://truecharts.org + version: 8.9.4 +- condition: mariadb.enabled + name: mariadb + repository: https://truecharts.org/ + version: 1.0.14 +description: "Protect your email from spam using disposable addresses." +home: https://github.com/truechartsapps/tree/master/charts/stable/anonaddy +icon: https://avatars.githubusercontent.com/u/51450862?s=200&v=4?sanitize=true +keywords: +- anonaddy +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: anonaddy +sources: +- https://github.com/anonaddy/docker +version: 6.0.0 +annotations: + truecharts.org/catagories: | + - email + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/incubator/anonaddy/6.0.0/README.md b/incubator/anonaddy/6.0.0/README.md new file mode 100644 index 00000000000..9a52fe7dc0f --- /dev/null +++ b/incubator/anonaddy/6.0.0/README.md @@ -0,0 +1,38 @@ +# Introduction + +Protect your email from spam using disposable addresses. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | mariadb | 1.0.14 | +| https://truecharts.org | common | 8.9.4 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +--- +All Rights Reserved - The TrueCharts Project diff --git a/incubator/anonaddy/6.0.0/app-readme.md b/incubator/anonaddy/6.0.0/app-readme.md new file mode 100644 index 00000000000..7c2053985c0 --- /dev/null +++ b/incubator/anonaddy/6.0.0/app-readme.md @@ -0,0 +1,3 @@ +Protect your email from spam using disposable addresses. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org diff --git a/incubator/anonaddy/6.0.0/charts/common-8.9.4.tgz b/incubator/anonaddy/6.0.0/charts/common-8.9.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..18b7c420165b33d9a284ea7a6b392a10a24e429f GIT binary patch literal 37232 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 U|K-pB4FCZD|EJqzApm#-0MP08Gynhq literal 0 HcmV?d00001 diff --git a/incubator/anonaddy/6.0.0/charts/mariadb-1.0.14.tgz b/incubator/anonaddy/6.0.0/charts/mariadb-1.0.14.tgz new file mode 100644 index 0000000000000000000000000000000000000000..72c7c04a1b46f4860c60a5c947d7d79a9fc260f5 GIT binary patch literal 42679 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

ynz&U0 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 H0Qv&}bh>mc literal 0 HcmV?d00001 diff --git a/incubator/bookstack/0.0.1/helm-values.md b/incubator/bookstack/0.0.1/helm-values.md new file mode 100644 index 00000000000..ccf273fbdd3 --- /dev/null +++ b/incubator/bookstack/0.0.1/helm-values.md @@ -0,0 +1,33 @@ +# Default Helm-Values + +TrueCharts is primarily build to supply TrueNAS SCALE Apps. +However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file. + +Most of our Apps also consume our "common" Helm Chart. +If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart. +You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document. + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| env | object | See below | environment variables. See more environment variables in the [bookstack documentation](https://hub.docker.com/r/linuxserver/bookstack) | +| envValueFrom.DB_HOST.secretKeyRef.key | string | `"plainhost"` | | +| envValueFrom.DB_HOST.secretKeyRef.name | string | `"mariadbcreds"` | | +| envValueFrom.DB_PASS.secretKeyRef.key | string | `"mariadb-password"` | | +| envValueFrom.DB_PASS.secretKeyRef.name | string | `"mariadbcreds"` | | +| image.pullPolicy | string | `"IfNotPresent"` | | +| image.repository | string | `"ghcr.io/linuxserver/bookstack"` | | +| image.tag | string | `"21.11.1@sha256:c7a571a05e2940846f112b115f967da931c32de9ca926fc10f07666a80ec30e7"` | | +| mariadb.enabled | bool | `true` | | +| mariadb.existingSecret | string | `"mariadbcreds"` | | +| mariadb.mariadbDatabase | string | `"bookstack"` | | +| mariadb.mariadbUsername | string | `"bookstack"` | | +| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. | +| podSecurityContext.runAsGroup | int | `0` | | +| podSecurityContext.runAsUser | int | `0` | | +| securityContext.readOnlyRootFilesystem | bool | `false` | | +| securityContext.runAsNonRoot | bool | `false` | | +| service | object | See values.yaml | Configures service settings for the chart. | + +All Rights Reserved - The TrueCharts Project diff --git a/incubator/bookstack/0.0.1/ix_values.yaml b/incubator/bookstack/0.0.1/ix_values.yaml new file mode 100644 index 00000000000..bbda2d5abb2 --- /dev/null +++ b/incubator/bookstack/0.0.1/ix_values.yaml @@ -0,0 +1,53 @@ +image: + repository: ghcr.io/linuxserver/bookstack + pullPolicy: IfNotPresent + tag: 21.11.1@sha256:c7a571a05e2940846f112b115f967da931c32de9ca926fc10f07666a80ec30e7 + +# -- environment variables. See more environment variables in the [bookstack documentation](https://hub.docker.com/r/linuxserver/bookstack) +# @default -- See below +env: + DB_USER: bookstack + DB_DATABASE: bookstack + PUID: 568 + +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 10112 + targetPort: 80 + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + varrun: + enabled: true + config: + enabled: true + mountPath: /config + +envValueFrom: + DB_HOST: + secretKeyRef: + name: mariadbcreds + key: plainhost + DB_PASS: + secretKeyRef: + name: mariadbcreds + key: mariadb-password + +mariadb: + enabled: true + mariadbUsername: bookstack + mariadbDatabase: bookstack + existingSecret: "mariadbcreds" diff --git a/incubator/bookstack/0.0.1/questions.yaml b/incubator/bookstack/0.0.1/questions.yaml new file mode 100644 index 00000000000..119e7e9c99d --- /dev/null +++ b/incubator/bookstack/0.0.1/questions.yaml @@ -0,0 +1,1852 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Middlewares" + description: "Traefik Middlewares" + - name: "Metrics" + description: "Metrics" + - name: "Addons" + description: "Addon Configuration" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: global + label: "global settings" + group: "Controller" + schema: + type: dict + hidden: true + attrs: + - variable: isSCALE + label: "flag this is SCALE" + schema: + type: boolean + default: true + hidden: true + + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: advanced + label: "Show Advanced Controller Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: expert + label: "Show Expert Configuration Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: extraArgs + label: "Extra Args" + schema: + type: list + default: [] + items: + - variable: argItem + label: "Arg" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: labelsList + label: "Controller Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: " Controller Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: PUID + label: "PUID" + schema: + type: int + default: 568 + required: true + + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: expertpodconf + group: "Container Configuration" + label: "Show Expert Config" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: termination + group: "Container Configuration" + label: "Termination settings" + schema: + type: dict + attrs: + - variable: gracePeriodSeconds + label: "Grace Period Seconds" + schema: + type: int + default: 10 + - variable: podLabelsList + group: "Container Configuration" + label: "Pod Labels" + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: podAnnotationsList + group: "Container Configuration" + label: "Pod Annotations" + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "ClusterIP" + description: "ClusterIP" + - value: "NodePort" + description: "NodePort (Advanced)" + - value: "LoadBalancer" + description: "LoadBalancer (Advanced)" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10112 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 80 + + - variable: serviceexpert + group: "Networking and Services" + label: "Show Expert Config" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + group: "Networking and Services" + label: "Host-Networking (Complicated)" + schema: + type: boolean + default: false + + - variable: dnsPolicy + group: "Networking and Services" + label: "dnsPolicy" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "ClusterFirst" + description: "ClusterFirst" + - value: "ClusterFirstWithHostNet" + description: "ClusterFirstWithHostNet" + - value: "None" + description: "None" + + - variable: dnsConfig + label: "DNS Configuration" + group: "Networking and Services" + description: "Specify custom DNS configuration which will be applied to the pod" + schema: + type: dict + attrs: + - variable: nameservers + label: "Nameservers" + schema: + default: [] + type: list + items: + - variable: nameserver + label: "Nameserver" + schema: + type: string + - variable: options + label: "options" + schema: + default: [] + type: list + items: + - variable: option + label: "Option Entry" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: searches + label: "Searches" + schema: + default: [] + type: list + items: + - variable: search + label: "Search Entry" + schema: + type: string + + - variable: serviceList + label: "Add Manual Custom Services" + group: "Networking and Services" + schema: + type: list + default: [] + items: + - variable: serviceListEntry + label: "Custom Service" + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: portsList + label: "Additional Service Ports" + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: "Custom ports" + schema: + 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: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" + - variable: setPermissionsSimple + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPathSimple + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "999Gi" + - variable: hostPathType + label: "(Advanced) hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: storageClass + label: "(Advanced) storageClass" + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: accessMode + label: "(Advanced) Access Mode" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: advanced + label: "Show Advanced Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name (optional)" + description: "Not required, please set to config when mounting /config or temp when mounting /tmp" + schema: + type: string + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simpleHP" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" + - variable: setPermissionsSimple + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPathSimple + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + required: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "999Gi" + - variable: hostPathType + label: "(Advanced) hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: storageClass + label: "(Advanced) storageClass" + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: accessMode + label: "(Advanced) Access Mode" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: advanced + label: "Show Advanced Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: entrypoint + label: "(Advanced) Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: expert + label: "Show Expert Configuration Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enableFixedMiddlewares + description: "These middlewares enforce a number of best practices." + label: "Enable Default Middlewares" + schema: + type: boolean + default: true + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingressList + label: "Add Manual Custom Ingresses" + group: "Ingress" + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: "Custom Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name" + schema: + type: string + default: "" + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: service + label: "Linked Service" + schema: + type: dict + attrs: + - variable: name + label: "Service Name" + schema: + type: string + default: "" + - variable: port + label: "Service Port" + schema: + type: int + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: advancedSecurity + label: "Show Advanced Security Settings" + group: "Security and Permissions" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - 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 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplemental Groups" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "supplemental Group" + schema: + type: int + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + + + - variable: advancedresources + label: "Set Custom Resource Limits/Requests (Advanced)" + group: "Resources and Devices" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: resources + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "4000m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "8Gi" + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + + - variable: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "Host Device Path" + description: "Path to the device on the host system" + schema: + type: path + - variable: mountPath + label: "Container Device Path" + description: "Path inside the container the device is mounted" + schema: + type: string + default: "/dev/ttyACM0" + + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: autoscaling + group: "Advanced" + label: "(Advanced) Horizontal Pod Autoscaler" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: target + label: "Target" + description: "deployment name, defaults to main deployment" + schema: + type: string + default: "" + - variable: minReplicas + label: "Minimum Replicas" + schema: + type: int + default: 1 + - variable: maxReplicas + label: "Maximum Replicas" + schema: + type: int + default: 5 + - variable: targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + schema: + type: int + default: 80 + - variable: targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + schema: + type: int + default: 80 + + + - variable: addons + group: "Addons" + label: "" + schema: + type: dict + attrs: + - variable: vpn + label: "VPN" + schema: + type: dict + attrs: + - variable: type + label: "Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "disabled" + - value: "openvpn" + description: "OpenVPN" + - value: "wireguard" + description: "Wireguard" + - variable: openvpn + label: "OpenVPN Settings" + schema: + type: dict + show_if: [["type", "=", "openvpn"]] + attrs: + - variable: username + label: "authentication username" + description: "authentication username, optional" + schema: + type: string + default: "" + - variable: password + label: "authentication password" + description: "authentication credentials" + schema: + type: string + default: "" + required: true + - 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 ipv4 addresses" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv6 + label: "IPv6 Network" + schema: + type: string + required: true + + - variable: configFile + label: "VPN Config File Location" + schema: + type: dict + show_if: [["type", "!=", "disabled"]] + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: hostPathType + label: "hostPathType" + schema: + type: string + default: "File" + hidden: true + - variable: noMount + label: "noMount" + schema: + type: boolean + default: true + hidden: true + - variable: hostPath + label: "Full path to file" + description: "path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" + schema: + type: string + default: "" + required: true + - variable: envList + label: "VPN environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true + + - variable: codeserver + label: "Codeserver" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: git + label: "Git Settings" + schema: + type: dict + attrs: + - variable: deployKey + description: "Raw SSH private key" + label: "deployKey" + schema: + type: string + - variable: deployKeyBase64 + description: "Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence" + label: "deployKeyBase64" + schema: + type: string + - variable: service + label: "" + schema: + type: dict + attrs: + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "" + schema: + type: dict + attrs: + - variable: codeserver + label: "" + schema: + type: dict + attrs: + - variable: nodePort + description: "leave empty to disable" + label: "nodePort" + schema: + type: int + default: 36107 + - variable: envList + label: "Codeserver environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true + + + - variable: promtail + label: "Promtail" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: loki + label: "Loki URL" + schema: + type: string + required: true + - variable: logs + label: "Log Paths" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: path + label: "Path" + schema: + type: string + required: true + - variable: args + label: "Promtail ecommand line arguments" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: arg + label: "Arg" + schema: + type: string + required: true + - variable: envList + label: "Promtail environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + 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: + 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: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true diff --git a/incubator/bookstack/0.0.1/templates/common.yaml b/incubator/bookstack/0.0.1/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/bookstack/0.0.1/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/bookstack/0.0.1/values.yaml b/incubator/bookstack/0.0.1/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/bookstack/item.yaml b/incubator/bookstack/item.yaml new file mode 100644 index 00000000000..24e2ba0b9c4 --- /dev/null +++ b/incubator/bookstack/item.yaml @@ -0,0 +1,4 @@ +icon_url: https://avatars3.githubusercontent.com/u/20912696?s=400&v=4?sanitize=true +categories: +- media + diff --git a/incubator/clarkson/0.0.1/CHANGELOG.md b/incubator/clarkson/0.0.1/CHANGELOG.md new file mode 100644 index 00000000000..8c3eb5dea27 --- /dev/null +++ b/incubator/clarkson/0.0.1/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog
+ + +
+### clarkson-0.0.1 (2021-11-30) + +#### Feat + +* add a bunch of mariaDB backed Apps ([#1407](https://github.com/truecharts/apps/issues/1407)) + diff --git a/incubator/clarkson/0.0.1/CONFIG.md b/incubator/clarkson/0.0.1/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/incubator/clarkson/0.0.1/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/clarkson/0.0.1/Chart.lock b/incubator/clarkson/0.0.1/Chart.lock new file mode 100644 index 00000000000..0ad7b4e87f1 --- /dev/null +++ b/incubator/clarkson/0.0.1/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 8.9.4 +- name: mariadb + repository: https://truecharts.org/ + version: 1.0.14 +digest: sha256:5e9e690d8f7e690e1c778c5c0138361783600ee28999056697fd662961cee0a6 +generated: "2021-11-30T13:36:46.462383281Z" diff --git a/incubator/clarkson/0.0.1/Chart.yaml b/incubator/clarkson/0.0.1/Chart.yaml new file mode 100644 index 00000000000..7aa2c053f15 --- /dev/null +++ b/incubator/clarkson/0.0.1/Chart.yaml @@ -0,0 +1,34 @@ +apiVersion: v2 +appVersion: "1.1.2" +dependencies: +- name: common + repository: https://truecharts.org + version: 8.9.4 +- condition: mariadb.enabled + name: mariadb + repository: https://truecharts.org/ + version: 1.0.14 +description: "A web-based dashboard application that gives you a neat and clean interface for logging your fuel fill-ups for all of your vehicles." +home: https://github.com/truechartsapps/tree/master/charts/stable/clarkson +icon: "https://github.com/linuxserver/Clarkson/raw/master/src/mstile-150x150.png" +keywords: + - fuel + - car + - log + - fill-up + - vehicle +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: clarkson +sources: + - https://github.com/linuxserver/Clarkson + - https://hub.docker.com/r/linuxserver/clarkson +version: 0.0.1 +annotations: + truecharts.org/catagories: | + - vehicle + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/incubator/clarkson/0.0.1/README.md b/incubator/clarkson/0.0.1/README.md new file mode 100644 index 00000000000..a53616f4e71 --- /dev/null +++ b/incubator/clarkson/0.0.1/README.md @@ -0,0 +1,39 @@ +# Introduction + +A web-based dashboard application that gives you a neat and clean interface for logging your fuel fill-ups for all of your vehicles. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | mariadb | 1.0.14 | +| https://truecharts.org | common | 8.9.4 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +--- +All Rights Reserved - The TrueCharts Project diff --git a/incubator/clarkson/0.0.1/app-readme.md b/incubator/clarkson/0.0.1/app-readme.md new file mode 100644 index 00000000000..d4f178cac86 --- /dev/null +++ b/incubator/clarkson/0.0.1/app-readme.md @@ -0,0 +1,3 @@ +A web-based dashboard application that gives you a neat and clean interface for logging your fuel fill-ups for all of your vehicles. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org diff --git a/incubator/clarkson/0.0.1/charts/common-8.9.4.tgz b/incubator/clarkson/0.0.1/charts/common-8.9.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..18b7c420165b33d9a284ea7a6b392a10a24e429f GIT binary patch literal 37232 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 U|K-pB4FCZD|EJqzApm#-0MP08Gynhq literal 0 HcmV?d00001 diff --git a/incubator/clarkson/0.0.1/charts/mariadb-1.0.14.tgz b/incubator/clarkson/0.0.1/charts/mariadb-1.0.14.tgz new file mode 100644 index 0000000000000000000000000000000000000000..72c7c04a1b46f4860c60a5c947d7d79a9fc260f5 GIT binary patch literal 42679 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

ynz&U0 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 H0Qv&}bh>mc literal 0 HcmV?d00001 diff --git a/incubator/clarkson/0.0.1/helm-values.md b/incubator/clarkson/0.0.1/helm-values.md new file mode 100644 index 00000000000..5045dcef6de --- /dev/null +++ b/incubator/clarkson/0.0.1/helm-values.md @@ -0,0 +1,36 @@ +# Default Helm-Values + +TrueCharts is primarily build to supply TrueNAS SCALE Apps. +However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file. + +Most of our Apps also consume our "common" Helm Chart. +If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart. +You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document. + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| env.MYSQL_USERNAME | string | `"clarkson"` | | +| env.PUID | int | `568` | | +| envValueFrom.MYSQL_HOST.secretKeyRef.key | string | `"plainhost"` | | +| envValueFrom.MYSQL_HOST.secretKeyRef.name | string | `"mariadbcreds"` | | +| envValueFrom.MYSQL_PASSWORD.secretKeyRef.key | string | `"mariadb-password"` | | +| envValueFrom.MYSQL_PASSWORD.secretKeyRef.name | string | `"mariadbcreds"` | | +| image.pullPolicy | string | `"IfNotPresent"` | | +| image.repository | string | `"ghcr.io/linuxserver/clarkson"` | | +| image.tag | string | `"1.1.2@sha256:c9c19c229d636d6819711542942d0a9831ba0a851827e6c0188eee5dab58c2b0"` | | +| mariadb.enabled | bool | `true` | | +| mariadb.existingSecret | string | `"mariadbcreds"` | | +| mariadb.mariadbDatabase | string | `"clarkson"` | | +| mariadb.mariadbUsername | string | `"clarkson"` | | +| persistence.varrun.enabled | bool | `true` | | +| podSecurityContext.runAsGroup | int | `0` | | +| podSecurityContext.runAsUser | int | `0` | | +| securityContext.readOnlyRootFilesystem | bool | `false` | | +| securityContext.runAsNonRoot | bool | `false` | | +| service.main.ports.main.port | int | `10113` | | +| service.main.ports.main.targetPort | int | `3000` | | +| strategy.type | string | `"Recreate"` | | + +All Rights Reserved - The TrueCharts Project diff --git a/incubator/clarkson/0.0.1/ix_values.yaml b/incubator/clarkson/0.0.1/ix_values.yaml new file mode 100644 index 00000000000..ca217eb1c04 --- /dev/null +++ b/incubator/clarkson/0.0.1/ix_values.yaml @@ -0,0 +1,50 @@ +image: + repository: ghcr.io/linuxserver/clarkson + pullPolicy: IfNotPresent + tag: 1.1.2@sha256:c9c19c229d636d6819711542942d0a9831ba0a851827e6c0188eee5dab58c2b0 + +strategy: + type: Recreate + +securityContext: + runAsNonRoot: false + readOnlyRootFilesystem: false + + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +service: + main: + ports: + main: + port: 10113 + targetPort: 3000 + +# See more environment variables in the clarkson documentation +# https://github.com/linuxserver/docker-clarkson#parameters +env: + PUID: 568 + MYSQL_USERNAME: clarkson + + +envValueFrom: + MYSQL_HOST: + secretKeyRef: + name: mariadbcreds + key: plainhost + MYSQL_PASSWORD: + secretKeyRef: + name: mariadbcreds + key: mariadb-password + +persistence: + varrun: + enabled: true + +mariadb: + enabled: true + mariadbUsername: clarkson + mariadbDatabase: clarkson + existingSecret: "mariadbcreds" diff --git a/incubator/clarkson/0.0.1/questions.yaml b/incubator/clarkson/0.0.1/questions.yaml new file mode 100644 index 00000000000..a661ace07c8 --- /dev/null +++ b/incubator/clarkson/0.0.1/questions.yaml @@ -0,0 +1,1672 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Middlewares" + description: "Traefik Middlewares" + - name: "Metrics" + description: "Metrics" + - name: "Addons" + description: "Addon Configuration" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: global + label: "global settings" + group: "Controller" + schema: + type: dict + hidden: true + attrs: + - variable: isSCALE + label: "flag this is SCALE" + schema: + type: boolean + default: true + hidden: true + + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: advanced + label: "Show Advanced Controller Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: expert + label: "Show Expert Configuration Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: extraArgs + label: "Extra Args" + schema: + type: list + default: [] + items: + - variable: argItem + label: "Arg" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: labelsList + label: "Controller Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: " Controller Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: PUID + label: "PUID" + schema: + type: int + default: 568 + required: true + + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: expertpodconf + group: "Container Configuration" + label: "Show Expert Config" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: termination + group: "Container Configuration" + label: "Termination settings" + schema: + type: dict + attrs: + - variable: gracePeriodSeconds + label: "Grace Period Seconds" + schema: + type: int + default: 10 + - variable: podLabelsList + group: "Container Configuration" + label: "Pod Labels" + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: podAnnotationsList + group: "Container Configuration" + label: "Pod Annotations" + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "ClusterIP" + description: "ClusterIP" + - value: "NodePort" + description: "NodePort (Advanced)" + - value: "LoadBalancer" + description: "LoadBalancer (Advanced)" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10113 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 3000 + + - variable: serviceexpert + group: "Networking and Services" + label: "Show Expert Config" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + group: "Networking and Services" + label: "Host-Networking (Complicated)" + schema: + type: boolean + default: false + + - variable: dnsPolicy + group: "Networking and Services" + label: "dnsPolicy" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "ClusterFirst" + description: "ClusterFirst" + - value: "ClusterFirstWithHostNet" + description: "ClusterFirstWithHostNet" + - value: "None" + description: "None" + + - variable: dnsConfig + label: "DNS Configuration" + group: "Networking and Services" + description: "Specify custom DNS configuration which will be applied to the pod" + schema: + type: dict + attrs: + - variable: nameservers + label: "Nameservers" + schema: + default: [] + type: list + items: + - variable: nameserver + label: "Nameserver" + schema: + type: string + - variable: options + label: "options" + schema: + default: [] + type: list + items: + - variable: option + label: "Option Entry" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: searches + label: "Searches" + schema: + default: [] + type: list + items: + - variable: search + label: "Search Entry" + schema: + type: string + + - variable: serviceList + label: "Add Manual Custom Services" + group: "Networking and Services" + schema: + type: list + default: [] + items: + - variable: serviceListEntry + label: "Custom Service" + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: portsList + label: "Additional Service Ports" + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: "Custom ports" + schema: + 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: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name (optional)" + description: "Not required, please set to config when mounting /config or temp when mounting /tmp" + schema: + type: string + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simpleHP" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" + - variable: setPermissionsSimple + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPathSimple + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + required: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "999Gi" + - variable: hostPathType + label: "(Advanced) hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: storageClass + label: "(Advanced) storageClass" + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: accessMode + label: "(Advanced) Access Mode" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: advanced + label: "Show Advanced Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: entrypoint + label: "(Advanced) Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: expert + label: "Show Expert Configuration Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enableFixedMiddlewares + description: "These middlewares enforce a number of best practices." + label: "Enable Default Middlewares" + schema: + type: boolean + default: true + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingressList + label: "Add Manual Custom Ingresses" + group: "Ingress" + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: "Custom Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name" + schema: + type: string + default: "" + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: service + label: "Linked Service" + schema: + type: dict + attrs: + - variable: name + label: "Service Name" + schema: + type: string + default: "" + - variable: port + label: "Service Port" + schema: + type: int + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: advancedSecurity + label: "Show Advanced Security Settings" + group: "Security and Permissions" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - 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 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplemental Groups" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "supplemental Group" + schema: + type: int + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + + + - variable: advancedresources + label: "Set Custom Resource Limits/Requests (Advanced)" + group: "Resources and Devices" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: resources + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "4000m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "8Gi" + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + + - variable: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "Host Device Path" + description: "Path to the device on the host system" + schema: + type: path + - variable: mountPath + label: "Container Device Path" + description: "Path inside the container the device is mounted" + schema: + type: string + default: "/dev/ttyACM0" + + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: autoscaling + group: "Advanced" + label: "(Advanced) Horizontal Pod Autoscaler" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: target + label: "Target" + description: "deployment name, defaults to main deployment" + schema: + type: string + default: "" + - variable: minReplicas + label: "Minimum Replicas" + schema: + type: int + default: 1 + - variable: maxReplicas + label: "Maximum Replicas" + schema: + type: int + default: 5 + - variable: targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + schema: + type: int + default: 80 + - variable: targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + schema: + type: int + default: 80 + + + - variable: addons + group: "Addons" + label: "" + schema: + type: dict + attrs: + - variable: vpn + label: "VPN" + schema: + type: dict + attrs: + - variable: type + label: "Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "disabled" + - value: "openvpn" + description: "OpenVPN" + - value: "wireguard" + description: "Wireguard" + - variable: openvpn + label: "OpenVPN Settings" + schema: + type: dict + show_if: [["type", "=", "openvpn"]] + attrs: + - variable: username + label: "authentication username" + description: "authentication username, optional" + schema: + type: string + default: "" + - variable: password + label: "authentication password" + description: "authentication credentials" + schema: + type: string + default: "" + required: true + - 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 ipv4 addresses" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv6 + label: "IPv6 Network" + schema: + type: string + required: true + + - variable: configFile + label: "VPN Config File Location" + schema: + type: dict + show_if: [["type", "!=", "disabled"]] + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: hostPathType + label: "hostPathType" + schema: + type: string + default: "File" + hidden: true + - variable: noMount + label: "noMount" + schema: + type: boolean + default: true + hidden: true + - variable: hostPath + label: "Full path to file" + description: "path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" + schema: + type: string + default: "" + required: true + - variable: envList + label: "VPN environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true + + - variable: codeserver + label: "Codeserver" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: git + label: "Git Settings" + schema: + type: dict + attrs: + - variable: deployKey + description: "Raw SSH private key" + label: "deployKey" + schema: + type: string + - variable: deployKeyBase64 + description: "Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence" + label: "deployKeyBase64" + schema: + type: string + - variable: service + label: "" + schema: + type: dict + attrs: + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "" + schema: + type: dict + attrs: + - variable: codeserver + label: "" + schema: + type: dict + attrs: + - variable: nodePort + description: "leave empty to disable" + label: "nodePort" + schema: + type: int + default: 36107 + - variable: envList + label: "Codeserver environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true + + + - variable: promtail + label: "Promtail" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: loki + label: "Loki URL" + schema: + type: string + required: true + - variable: logs + label: "Log Paths" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: path + label: "Path" + schema: + type: string + required: true + - variable: args + label: "Promtail ecommand line arguments" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: arg + label: "Arg" + schema: + type: string + required: true + - variable: envList + label: "Promtail environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + 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: + 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: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true diff --git a/incubator/clarkson/0.0.1/templates/common.yaml b/incubator/clarkson/0.0.1/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/clarkson/0.0.1/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/clarkson/0.0.1/values.yaml b/incubator/clarkson/0.0.1/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/clarkson/item.yaml b/incubator/clarkson/item.yaml new file mode 100644 index 00000000000..a440724bc02 --- /dev/null +++ b/incubator/clarkson/item.yaml @@ -0,0 +1,4 @@ +icon_url: "https://github.com/linuxserver/Clarkson/raw/master/src/mstile-150x150.png" +categories: +- vehicle + diff --git a/incubator/friendica/0.0.1/CHANGELOG.md b/incubator/friendica/0.0.1/CHANGELOG.md new file mode 100644 index 00000000000..aad887c2d46 --- /dev/null +++ b/incubator/friendica/0.0.1/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog
+ + +
+### friendica-0.0.1 (2021-11-30) + +#### Feat + +* add a bunch of mariaDB backed Apps ([#1407](https://github.com/truecharts/apps/issues/1407)) + diff --git a/incubator/friendica/0.0.1/CONFIG.md b/incubator/friendica/0.0.1/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/incubator/friendica/0.0.1/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/friendica/0.0.1/Chart.lock b/incubator/friendica/0.0.1/Chart.lock new file mode 100644 index 00000000000..c94bd16ab5c --- /dev/null +++ b/incubator/friendica/0.0.1/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 8.9.4 +- name: mariadb + repository: https://truecharts.org/ + version: 1.0.14 +digest: sha256:5e9e690d8f7e690e1c778c5c0138361783600ee28999056697fd662961cee0a6 +generated: "2021-11-30T13:37:26.425203959Z" diff --git a/incubator/friendica/0.0.1/Chart.yaml b/incubator/friendica/0.0.1/Chart.yaml new file mode 100644 index 00000000000..8cbd2e0f2bd --- /dev/null +++ b/incubator/friendica/0.0.1/Chart.yaml @@ -0,0 +1,31 @@ +apiVersion: v2 +appVersion: "2021.09" +dependencies: +- name: common + repository: https://truecharts.org + version: 8.9.4 +- condition: mariadb.enabled + name: mariadb + repository: https://truecharts.org/ + version: 1.0.14 +description: "Welcome to the free social web" +home: https://github.com/truechartsapps/tree/master/charts/stable/friendica +icon: "https://d1q6f0aelx0por.cloudfront.net/product-logos/library-friendica-logo.png" +keywords: + - friend + - social +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: friendica +sources: + - https://friendi.ca/ + - https://hub.docker.com/_/friendica +version: 0.0.1 +annotations: + truecharts.org/catagories: | + - social + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/incubator/friendica/0.0.1/README.md b/incubator/friendica/0.0.1/README.md new file mode 100644 index 00000000000..147247b6905 --- /dev/null +++ b/incubator/friendica/0.0.1/README.md @@ -0,0 +1,39 @@ +# Introduction + +Welcome to the free social web + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | mariadb | 1.0.14 | +| https://truecharts.org | common | 8.9.4 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +--- +All Rights Reserved - The TrueCharts Project diff --git a/incubator/friendica/0.0.1/app-readme.md b/incubator/friendica/0.0.1/app-readme.md new file mode 100644 index 00000000000..b6be41ac2e1 --- /dev/null +++ b/incubator/friendica/0.0.1/app-readme.md @@ -0,0 +1,3 @@ +Welcome to the free social web + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org diff --git a/incubator/friendica/0.0.1/charts/common-8.9.4.tgz b/incubator/friendica/0.0.1/charts/common-8.9.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..18b7c420165b33d9a284ea7a6b392a10a24e429f GIT binary patch literal 37232 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 U|K-pB4FCZD|EJqzApm#-0MP08Gynhq literal 0 HcmV?d00001 diff --git a/incubator/friendica/0.0.1/charts/mariadb-1.0.14.tgz b/incubator/friendica/0.0.1/charts/mariadb-1.0.14.tgz new file mode 100644 index 0000000000000000000000000000000000000000..72c7c04a1b46f4860c60a5c947d7d79a9fc260f5 GIT binary patch literal 42679 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

ynz&U0 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 H0Qv&}bh>mc literal 0 HcmV?d00001 diff --git a/incubator/friendica/0.0.1/helm-values.md b/incubator/friendica/0.0.1/helm-values.md new file mode 100644 index 00000000000..53360c15f05 --- /dev/null +++ b/incubator/friendica/0.0.1/helm-values.md @@ -0,0 +1,42 @@ +# Default Helm-Values + +TrueCharts is primarily build to supply TrueNAS SCALE Apps. +However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file. + +Most of our Apps also consume our "common" Helm Chart. +If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart. +You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document. + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| env.MYSQL_DATABASE | string | `"friendica"` | | +| env.MYSQL_USER | string | `"friendica"` | | +| envValueFrom.MYSQL_HOST.secretKeyRef.key | string | `"plainhost"` | | +| envValueFrom.MYSQL_HOST.secretKeyRef.name | string | `"mariadbcreds"` | | +| envValueFrom.MYSQL_PASSWORD.secretKeyRef.key | string | `"mariadb-password"` | | +| envValueFrom.MYSQL_PASSWORD.secretKeyRef.name | string | `"mariadbcreds"` | | +| envValueFrom.REDIS_HOST.secretKeyRef.key | string | `"plainhost"` | | +| envValueFrom.REDIS_HOST.secretKeyRef.name | string | `"rediscreds"` | | +| envValueFrom.REDIS_PW.secretKeyRef.key | string | `"redis-password"` | | +| envValueFrom.REDIS_PW.secretKeyRef.name | string | `"rediscreds"` | | +| image.pullPolicy | string | `"IfNotPresent"` | | +| image.repository | string | `"friendica"` | | +| image.tag | string | `"2021.09@sha256:e4f70bcc0d11715de7708cb5f798451c2149705ce79162428479422d6111efca"` | | +| mariadb.enabled | bool | `true` | | +| mariadb.existingSecret | string | `"mariadbcreds"` | | +| mariadb.mariadbDatabase | string | `"friendica"` | | +| mariadb.mariadbUsername | string | `"friendica"` | | +| persistence.config.enabled | bool | `true` | | +| persistence.config.mountPath | string | `"/var/www/html"` | | +| persistence.varrun.enabled | bool | `true` | | +| podSecurityContext.runAsGroup | int | `0` | | +| podSecurityContext.runAsUser | int | `0` | | +| redis.enabled | bool | `true` | | +| redis.existingSecret | string | `"rediscreds"` | | +| securityContext.runAsNonRoot | bool | `false` | | +| service.main.ports.main.port | int | `10058` | | +| service.main.ports.main.targetPort | int | `80` | | + +All Rights Reserved - The TrueCharts Project diff --git a/incubator/friendica/0.0.1/ix_values.yaml b/incubator/friendica/0.0.1/ix_values.yaml new file mode 100644 index 00000000000..c5323c77df1 --- /dev/null +++ b/incubator/friendica/0.0.1/ix_values.yaml @@ -0,0 +1,59 @@ +image: + repository: friendica + pullPolicy: IfNotPresent + tag: 2021.09@sha256:e4f70bcc0d11715de7708cb5f798451c2149705ce79162428479422d6111efca + +securityContext: + runAsNonRoot: false + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +# See more environment variables in the friendica documentation +# https://hub.docker.com/_/friendica +env: + MYSQL_USER: friendica + MYSQL_DATABASE: friendica + +service: + main: + ports: + main: + port: 10058 + targetPort: 80 + +persistence: + varrun: + enabled: true + config: + enabled: true + mountPath: /var/www/html + +envValueFrom: + MYSQL_HOST: + secretKeyRef: + name: mariadbcreds + key: plainhost + MYSQL_PASSWORD: + secretKeyRef: + name: mariadbcreds + key: mariadb-password + REDIS_HOST: + secretKeyRef: + name: rediscreds + key: plainhost + REDIS_PW: + secretKeyRef: + name: rediscreds + key: redis-password + +redis: + enabled: true + existingSecret: "rediscreds" + +mariadb: + enabled: true + mariadbUsername: friendica + mariadbDatabase: friendica + existingSecret: "mariadbcreds" diff --git a/incubator/friendica/0.0.1/questions.yaml b/incubator/friendica/0.0.1/questions.yaml new file mode 100644 index 00000000000..bec36685a11 --- /dev/null +++ b/incubator/friendica/0.0.1/questions.yaml @@ -0,0 +1,1846 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Middlewares" + description: "Traefik Middlewares" + - name: "Metrics" + description: "Metrics" + - name: "Addons" + description: "Addon Configuration" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: global + label: "global settings" + group: "Controller" + schema: + type: dict + hidden: true + attrs: + - variable: isSCALE + label: "flag this is SCALE" + schema: + type: boolean + default: true + hidden: true + + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: advanced + label: "Show Advanced Controller Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: expert + label: "Show Expert Configuration Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: extraArgs + label: "Extra Args" + schema: + type: list + default: [] + items: + - variable: argItem + label: "Arg" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: labelsList + label: "Controller Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: " Controller Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: expertpodconf + group: "Container Configuration" + label: "Show Expert Config" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: termination + group: "Container Configuration" + label: "Termination settings" + schema: + type: dict + attrs: + - variable: gracePeriodSeconds + label: "Grace Period Seconds" + schema: + type: int + default: 10 + - variable: podLabelsList + group: "Container Configuration" + label: "Pod Labels" + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: podAnnotationsList + group: "Container Configuration" + label: "Pod Annotations" + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "ClusterIP" + description: "ClusterIP" + - value: "NodePort" + description: "NodePort (Advanced)" + - value: "LoadBalancer" + description: "LoadBalancer (Advanced)" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10058 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 80 + + - variable: serviceexpert + group: "Networking and Services" + label: "Show Expert Config" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + group: "Networking and Services" + label: "Host-Networking (Complicated)" + schema: + type: boolean + default: false + + - variable: dnsPolicy + group: "Networking and Services" + label: "dnsPolicy" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "ClusterFirst" + description: "ClusterFirst" + - value: "ClusterFirstWithHostNet" + description: "ClusterFirstWithHostNet" + - value: "None" + description: "None" + + - variable: dnsConfig + label: "DNS Configuration" + group: "Networking and Services" + description: "Specify custom DNS configuration which will be applied to the pod" + schema: + type: dict + attrs: + - variable: nameservers + label: "Nameservers" + schema: + default: [] + type: list + items: + - variable: nameserver + label: "Nameserver" + schema: + type: string + - variable: options + label: "options" + schema: + default: [] + type: list + items: + - variable: option + label: "Option Entry" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: searches + label: "Searches" + schema: + default: [] + type: list + items: + - variable: search + label: "Search Entry" + schema: + type: string + + - variable: serviceList + label: "Add Manual Custom Services" + group: "Networking and Services" + schema: + type: list + default: [] + items: + - variable: serviceListEntry + label: "Custom Service" + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: portsList + label: "Additional Service Ports" + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: "Custom ports" + schema: + 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: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" + - variable: setPermissionsSimple + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPathSimple + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/var/www/html" + hidden: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "999Gi" + - variable: hostPathType + label: "(Advanced) hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: storageClass + label: "(Advanced) storageClass" + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: accessMode + label: "(Advanced) Access Mode" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: advanced + label: "Show Advanced Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name (optional)" + description: "Not required, please set to config when mounting /config or temp when mounting /tmp" + schema: + type: string + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simpleHP" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" + - variable: setPermissionsSimple + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPathSimple + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + required: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "999Gi" + - variable: hostPathType + label: "(Advanced) hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: storageClass + label: "(Advanced) storageClass" + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: accessMode + label: "(Advanced) Access Mode" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: advanced + label: "Show Advanced Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: entrypoint + label: "(Advanced) Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: expert + label: "Show Expert Configuration Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enableFixedMiddlewares + description: "These middlewares enforce a number of best practices." + label: "Enable Default Middlewares" + schema: + type: boolean + default: true + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingressList + label: "Add Manual Custom Ingresses" + group: "Ingress" + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: "Custom Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name" + schema: + type: string + default: "" + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: service + label: "Linked Service" + schema: + type: dict + attrs: + - variable: name + label: "Service Name" + schema: + type: string + default: "" + - variable: port + label: "Service Port" + schema: + type: int + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: advancedSecurity + label: "Show Advanced Security Settings" + group: "Security and Permissions" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - 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 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplemental Groups" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "supplemental Group" + schema: + type: int + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + + + - variable: advancedresources + label: "Set Custom Resource Limits/Requests (Advanced)" + group: "Resources and Devices" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: resources + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "4000m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "8Gi" + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + + - variable: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "Host Device Path" + description: "Path to the device on the host system" + schema: + type: path + - variable: mountPath + label: "Container Device Path" + description: "Path inside the container the device is mounted" + schema: + type: string + default: "/dev/ttyACM0" + + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: autoscaling + group: "Advanced" + label: "(Advanced) Horizontal Pod Autoscaler" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: target + label: "Target" + description: "deployment name, defaults to main deployment" + schema: + type: string + default: "" + - variable: minReplicas + label: "Minimum Replicas" + schema: + type: int + default: 1 + - variable: maxReplicas + label: "Maximum Replicas" + schema: + type: int + default: 5 + - variable: targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + schema: + type: int + default: 80 + - variable: targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + schema: + type: int + default: 80 + + + - variable: addons + group: "Addons" + label: "" + schema: + type: dict + attrs: + - variable: vpn + label: "VPN" + schema: + type: dict + attrs: + - variable: type + label: "Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "disabled" + - value: "openvpn" + description: "OpenVPN" + - value: "wireguard" + description: "Wireguard" + - variable: openvpn + label: "OpenVPN Settings" + schema: + type: dict + show_if: [["type", "=", "openvpn"]] + attrs: + - variable: username + label: "authentication username" + description: "authentication username, optional" + schema: + type: string + default: "" + - variable: password + label: "authentication password" + description: "authentication credentials" + schema: + type: string + default: "" + required: true + - 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 ipv4 addresses" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv6 + label: "IPv6 Network" + schema: + type: string + required: true + + - variable: configFile + label: "VPN Config File Location" + schema: + type: dict + show_if: [["type", "!=", "disabled"]] + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: hostPathType + label: "hostPathType" + schema: + type: string + default: "File" + hidden: true + - variable: noMount + label: "noMount" + schema: + type: boolean + default: true + hidden: true + - variable: hostPath + label: "Full path to file" + description: "path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" + schema: + type: string + default: "" + required: true + - variable: envList + label: "VPN environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true + + - variable: codeserver + label: "Codeserver" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: git + label: "Git Settings" + schema: + type: dict + attrs: + - variable: deployKey + description: "Raw SSH private key" + label: "deployKey" + schema: + type: string + - variable: deployKeyBase64 + description: "Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence" + label: "deployKeyBase64" + schema: + type: string + - variable: service + label: "" + schema: + type: dict + attrs: + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "" + schema: + type: dict + attrs: + - variable: codeserver + label: "" + schema: + type: dict + attrs: + - variable: nodePort + description: "leave empty to disable" + label: "nodePort" + schema: + type: int + default: 36107 + - variable: envList + label: "Codeserver environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true + + + - variable: promtail + label: "Promtail" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: loki + label: "Loki URL" + schema: + type: string + required: true + - variable: logs + label: "Log Paths" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: path + label: "Path" + schema: + type: string + required: true + - variable: args + label: "Promtail ecommand line arguments" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: arg + label: "Arg" + schema: + type: string + required: true + - variable: envList + label: "Promtail environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + 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: + 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: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true diff --git a/incubator/friendica/0.0.1/templates/common.yaml b/incubator/friendica/0.0.1/templates/common.yaml new file mode 100644 index 00000000000..9705d4f5fa6 --- /dev/null +++ b/incubator/friendica/0.0.1/templates/common.yaml @@ -0,0 +1,2 @@ + +{{ include "common.all" . }} diff --git a/incubator/friendica/0.0.1/values.yaml b/incubator/friendica/0.0.1/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/friendica/item.yaml b/incubator/friendica/item.yaml new file mode 100644 index 00000000000..7e946808daa --- /dev/null +++ b/incubator/friendica/item.yaml @@ -0,0 +1,4 @@ +icon_url: "https://d1q6f0aelx0por.cloudfront.net/product-logos/library-friendica-logo.png" +categories: +- social + diff --git a/incubator/icinga2/0.0.1/CHANGELOG.md b/incubator/icinga2/0.0.1/CHANGELOG.md new file mode 100644 index 00000000000..cede76486dd --- /dev/null +++ b/incubator/icinga2/0.0.1/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog
+ + +
+### icinga2-0.0.1 (2021-11-30) + +#### Feat + +* add a bunch of mariaDB backed Apps ([#1407](https://github.com/truecharts/apps/issues/1407)) + diff --git a/incubator/icinga2/0.0.1/CONFIG.md b/incubator/icinga2/0.0.1/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/incubator/icinga2/0.0.1/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/icinga2/0.0.1/Chart.lock b/incubator/icinga2/0.0.1/Chart.lock new file mode 100644 index 00000000000..fbc21d333ab --- /dev/null +++ b/incubator/icinga2/0.0.1/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 8.9.4 +- name: mariadb + repository: https://truecharts.org/ + version: 1.0.14 +digest: sha256:5e9e690d8f7e690e1c778c5c0138361783600ee28999056697fd662961cee0a6 +generated: "2021-11-30T13:38:06.780320714Z" diff --git a/incubator/icinga2/0.0.1/Chart.yaml b/incubator/icinga2/0.0.1/Chart.yaml new file mode 100644 index 00000000000..5619c3067ba --- /dev/null +++ b/incubator/icinga2/0.0.1/Chart.yaml @@ -0,0 +1,31 @@ +apiVersion: v2 +appVersion: "2.13.1" +dependencies: +- name: common + repository: https://truecharts.org + version: 8.9.4 +- condition: mariadb.enabled + name: mariadb + repository: https://truecharts.org/ + version: 1.0.14 +description: "A monitoring system which checks the availability of your network resources, notifies users of outages, and generates performance data for reporting." +home: https://github.com/truechartsapps/tree/master/charts/stable/icinga2 +icon: https://avatars.githubusercontent.com/u/835441?s=200&v=4 +keywords: +- icinga2 +- monitoring +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: icinga2 +sources: +- https://github.com/jjethwa/icinga2 +- https://icinga.com/ +version: 0.0.1 +annotations: + truecharts.org/catagories: | + - monitoring + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/incubator/icinga2/0.0.1/README.md b/incubator/icinga2/0.0.1/README.md new file mode 100644 index 00000000000..59f450952ac --- /dev/null +++ b/incubator/icinga2/0.0.1/README.md @@ -0,0 +1,39 @@ +# Introduction + +A monitoring system which checks the availability of your network resources, notifies users of outages, and generates performance data for reporting. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | mariadb | 1.0.14 | +| https://truecharts.org | common | 8.9.4 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +--- +All Rights Reserved - The TrueCharts Project diff --git a/incubator/icinga2/0.0.1/app-readme.md b/incubator/icinga2/0.0.1/app-readme.md new file mode 100644 index 00000000000..9fa9c45f148 --- /dev/null +++ b/incubator/icinga2/0.0.1/app-readme.md @@ -0,0 +1,3 @@ +A monitoring system which checks the availability of your network resources, notifies users of outages, and generates performance data for reporting. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org diff --git a/incubator/icinga2/0.0.1/charts/common-8.9.4.tgz b/incubator/icinga2/0.0.1/charts/common-8.9.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..18b7c420165b33d9a284ea7a6b392a10a24e429f GIT binary patch literal 37232 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 U|K-pB4FCZD|EJqzApm#-0MP08Gynhq literal 0 HcmV?d00001 diff --git a/incubator/icinga2/0.0.1/charts/mariadb-1.0.14.tgz b/incubator/icinga2/0.0.1/charts/mariadb-1.0.14.tgz new file mode 100644 index 0000000000000000000000000000000000000000..72c7c04a1b46f4860c60a5c947d7d79a9fc260f5 GIT binary patch literal 42679 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

ynz&U0 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 H0Qv&}bh>mc literal 0 HcmV?d00001 diff --git a/incubator/icinga2/0.0.1/helm-values.md b/incubator/icinga2/0.0.1/helm-values.md new file mode 100644 index 00000000000..934d4b8e246 --- /dev/null +++ b/incubator/icinga2/0.0.1/helm-values.md @@ -0,0 +1,39 @@ +# Default Helm-Values + +TrueCharts is primarily build to supply TrueNAS SCALE Apps. +However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file. + +Most of our Apps also consume our "common" Helm Chart. +If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart. +You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document. + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| env | object | See below | environment variables. See more environment variables in the [icinga2 documentation](https://github.com/jjethwa/icinga2#environment-variables-reference). | +| envValueFrom.DEFAULT_MYSQL_HOST.secretKeyRef.key | string | `"plainhost"` | | +| envValueFrom.DEFAULT_MYSQL_HOST.secretKeyRef.name | string | `"mariadbcreds"` | | +| envValueFrom.DEFAULT_MYSQL_PASS.secretKeyRef.key | string | `"mariadb-password"` | | +| envValueFrom.DEFAULT_MYSQL_PASS.secretKeyRef.name | string | `"mariadbcreds"` | | +| envValueFrom.MYSQL_ROOT_PASSWORD.secretKeyRef.key | string | `"mariadb-root-password"` | | +| envValueFrom.MYSQL_ROOT_PASSWORD.secretKeyRef.name | string | `"mariadbcreds"` | | +| image.pullPolicy | string | `"IfNotPresent"` | | +| image.repository | string | `"jordan/icinga2"` | | +| image.tag | string | `"2.13.1@sha256:00a826bee739d06be6999b493254d9e474875de8c842219a18cee99c01e84760"` | | +| mariadb.enabled | bool | `true` | | +| mariadb.existingSecret | string | `"mariadbcreds"` | | +| mariadb.mariadbDatabase | string | `"icinga2"` | | +| mariadb.mariadbUsername | string | `"icinga2"` | | +| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. | +| persistence.config | object | Disabled | Icinga2 configuration folder | +| persistence.data | object | Disabled | Icinga2 Data | +| persistence.ssmtp | object | Disabled | ssmtp folder | +| persistence.web | object | Disabled | Icingaweb2 configuration folder | +| podSecurityContext.runAsGroup | int | `0` | | +| podSecurityContext.runAsUser | int | `0` | | +| securityContext.readOnlyRootFilesystem | bool | `false` | | +| securityContext.runAsNonRoot | bool | `false` | | +| service | object | See values.yaml | Configures service settings for the chart. | + +All Rights Reserved - The TrueCharts Project diff --git a/incubator/icinga2/0.0.1/ix_values.yaml b/incubator/icinga2/0.0.1/ix_values.yaml new file mode 100644 index 00000000000..0547e5845eb --- /dev/null +++ b/incubator/icinga2/0.0.1/ix_values.yaml @@ -0,0 +1,84 @@ +image: + repository: jordan/icinga2 + tag: 2.13.1@sha256:00a826bee739d06be6999b493254d9e474875de8c842219a18cee99c01e84760 + pullPolicy: IfNotPresent + +# -- environment variables. See more environment variables in the [icinga2 documentation](https://github.com/jjethwa/icinga2#environment-variables-reference). +# @default -- See below +env: + DEFAULT_MYSQL_USER: icinga2 + +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 10114 + targetPort: 80 + https: + enabled: true + ports: + https: + enabled: true + port: 10115 + targetPort: 443 + api: + enabled: true + ports: + api: + enabled: true + port: 10116 + targetPort: 5665 + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + # -- Icinga2 configuration folder + # @default -- Disabled + config: + enabled: true + mountPath: /etc/icinga2 + # -- Icinga2 Data + # @default -- Disabled + data: + enabled: true + mountPath: /var/lib/icinga2 + # -- Icingaweb2 configuration folder + # @default -- Disabled + web: + enabled: true + mountPath: /etc/icingaweb2 + # -- ssmtp folder + # @default -- Disabled + ssmtp: + enabled: true + mountPath: /etc/ssmtp + +envValueFrom: + DEFAULT_MYSQL_HOST: + secretKeyRef: + name: mariadbcreds + key: plainhost + DEFAULT_MYSQL_PASS: + secretKeyRef: + name: mariadbcreds + key: mariadb-password + MYSQL_ROOT_PASSWORD: + secretKeyRef: + name: mariadbcreds + key: mariadb-root-password + +mariadb: + enabled: true + mariadbUsername: icinga2 + mariadbDatabase: icinga2 + existingSecret: "mariadbcreds" diff --git a/incubator/icinga2/0.0.1/questions.yaml b/incubator/icinga2/0.0.1/questions.yaml new file mode 100644 index 00000000000..c54471f3445 --- /dev/null +++ b/incubator/icinga2/0.0.1/questions.yaml @@ -0,0 +1,2572 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Middlewares" + description: "Traefik Middlewares" + - name: "Metrics" + description: "Metrics" + - name: "Addons" + description: "Addon Configuration" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: global + label: "global settings" + group: "Controller" + schema: + type: dict + hidden: true + attrs: + - variable: isSCALE + label: "flag this is SCALE" + schema: + type: boolean + default: true + hidden: true + + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: advanced + label: "Show Advanced Controller Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: expert + label: "Show Expert Configuration Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: extraArgs + label: "Extra Args" + schema: + type: list + default: [] + items: + - variable: argItem + label: "Arg" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: labelsList + label: "Controller Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: " Controller Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: expertpodconf + group: "Container Configuration" + label: "Show Expert Config" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: termination + group: "Container Configuration" + label: "Termination settings" + schema: + type: dict + attrs: + - variable: gracePeriodSeconds + label: "Grace Period Seconds" + schema: + type: int + default: 10 + - variable: podLabelsList + group: "Container Configuration" + label: "Pod Labels" + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: podAnnotationsList + group: "Container Configuration" + label: "Pod Annotations" + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "ClusterIP" + description: "ClusterIP" + - value: "NodePort" + description: "NodePort (Advanced)" + - value: "LoadBalancer" + description: "LoadBalancer (Advanced)" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10114 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 80 + - variable: https + label: "https Service" + description: "The https service" + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "ClusterIP" + description: "ClusterIP" + - value: "NodePort" + description: "NodePort (Advanced)" + - value: "LoadBalancer" + description: "LoadBalancer (Advanced)" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: https + label: "https Service Port Configuration" + schema: + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10115 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 443 + - variable: api + label: "api Service" + description: "The api service" + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "ClusterIP" + description: "ClusterIP" + - value: "NodePort" + description: "NodePort (Advanced)" + - value: "LoadBalancer" + description: "LoadBalancer (Advanced)" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: api + label: "api Service Port Configuration" + schema: + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10116 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 5665 + + - variable: serviceexpert + group: "Networking and Services" + label: "Show Expert Config" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + group: "Networking and Services" + label: "Host-Networking (Complicated)" + schema: + type: boolean + default: false + + - variable: dnsPolicy + group: "Networking and Services" + label: "dnsPolicy" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "ClusterFirst" + description: "ClusterFirst" + - value: "ClusterFirstWithHostNet" + description: "ClusterFirstWithHostNet" + - value: "None" + description: "None" + + - variable: dnsConfig + label: "DNS Configuration" + group: "Networking and Services" + description: "Specify custom DNS configuration which will be applied to the pod" + schema: + type: dict + attrs: + - variable: nameservers + label: "Nameservers" + schema: + default: [] + type: list + items: + - variable: nameserver + label: "Nameserver" + schema: + type: string + - variable: options + label: "options" + schema: + default: [] + type: list + items: + - variable: option + label: "Option Entry" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: searches + label: "Searches" + schema: + default: [] + type: list + items: + - variable: search + label: "Search Entry" + schema: + type: string + + - variable: serviceList + label: "Add Manual Custom Services" + group: "Networking and Services" + schema: + type: list + default: [] + items: + - variable: serviceListEntry + label: "Custom Service" + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: portsList + label: "Additional Service Ports" + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: "Custom ports" + schema: + 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: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" + - variable: setPermissionsSimple + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPathSimple + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/etc/icinga2" + hidden: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "999Gi" + - variable: hostPathType + label: "(Advanced) hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: storageClass + label: "(Advanced) storageClass" + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: accessMode + label: "(Advanced) Access Mode" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: advanced + label: "Show Advanced Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: data + label: "App data Storage" + description: "Stores the Application data." + schema: + 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: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" + - variable: setPermissionsSimple + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPathSimple + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/var/lib/icinga2" + hidden: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "999Gi" + - variable: hostPathType + label: "(Advanced) hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: storageClass + label: "(Advanced) storageClass" + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: accessMode + label: "(Advanced) Access Mode" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: advanced + label: "Show Advanced Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: web + label: "App web Storage" + description: "Stores the Application web data." + schema: + 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: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" + - variable: setPermissionsSimple + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPathSimple + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/etc/icingaweb2" + hidden: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "999Gi" + - variable: hostPathType + label: "(Advanced) hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: storageClass + label: "(Advanced) storageClass" + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: accessMode + label: "(Advanced) Access Mode" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: advanced + label: "Show Advanced Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: ssmtp + label: "App ssmtp Storage" + description: "Stores the Application ssmtp Configuration." + schema: + 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: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" + - variable: setPermissionsSimple + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPathSimple + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/etc/ssmtp" + hidden: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "999Gi" + - variable: hostPathType + label: "(Advanced) hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: storageClass + label: "(Advanced) storageClass" + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: accessMode + label: "(Advanced) Access Mode" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: advanced + label: "Show Advanced Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name (optional)" + description: "Not required, please set to config when mounting /config or temp when mounting /tmp" + schema: + type: string + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simpleHP" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" + - variable: setPermissionsSimple + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPathSimple + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + required: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "999Gi" + - variable: hostPathType + label: "(Advanced) hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: storageClass + label: "(Advanced) storageClass" + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: accessMode + label: "(Advanced) Access Mode" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: advanced + label: "Show Advanced Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: entrypoint + label: "(Advanced) Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: expert + label: "Show Expert Configuration Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enableFixedMiddlewares + description: "These middlewares enforce a number of best practices." + label: "Enable Default Middlewares" + schema: + type: boolean + default: true + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingressList + label: "Add Manual Custom Ingresses" + group: "Ingress" + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: "Custom Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name" + schema: + type: string + default: "" + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: service + label: "Linked Service" + schema: + type: dict + attrs: + - variable: name + label: "Service Name" + schema: + type: string + default: "" + - variable: port + label: "Service Port" + schema: + type: int + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: advancedSecurity + label: "Show Advanced Security Settings" + group: "Security and Permissions" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - 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 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplemental Groups" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "supplemental Group" + schema: + type: int + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + + + - variable: advancedresources + label: "Set Custom Resource Limits/Requests (Advanced)" + group: "Resources and Devices" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: resources + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "4000m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "8Gi" + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + + - variable: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "Host Device Path" + description: "Path to the device on the host system" + schema: + type: path + - variable: mountPath + label: "Container Device Path" + description: "Path inside the container the device is mounted" + schema: + type: string + default: "/dev/ttyACM0" + + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: autoscaling + group: "Advanced" + label: "(Advanced) Horizontal Pod Autoscaler" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: target + label: "Target" + description: "deployment name, defaults to main deployment" + schema: + type: string + default: "" + - variable: minReplicas + label: "Minimum Replicas" + schema: + type: int + default: 1 + - variable: maxReplicas + label: "Maximum Replicas" + schema: + type: int + default: 5 + - variable: targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + schema: + type: int + default: 80 + - variable: targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + schema: + type: int + default: 80 + + + - variable: addons + group: "Addons" + label: "" + schema: + type: dict + attrs: + - variable: vpn + label: "VPN" + schema: + type: dict + attrs: + - variable: type + label: "Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "disabled" + - value: "openvpn" + description: "OpenVPN" + - value: "wireguard" + description: "Wireguard" + - variable: openvpn + label: "OpenVPN Settings" + schema: + type: dict + show_if: [["type", "=", "openvpn"]] + attrs: + - variable: username + label: "authentication username" + description: "authentication username, optional" + schema: + type: string + default: "" + - variable: password + label: "authentication password" + description: "authentication credentials" + schema: + type: string + default: "" + required: true + - 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 ipv4 addresses" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv6 + label: "IPv6 Network" + schema: + type: string + required: true + + - variable: configFile + label: "VPN Config File Location" + schema: + type: dict + show_if: [["type", "!=", "disabled"]] + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: hostPathType + label: "hostPathType" + schema: + type: string + default: "File" + hidden: true + - variable: noMount + label: "noMount" + schema: + type: boolean + default: true + hidden: true + - variable: hostPath + label: "Full path to file" + description: "path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" + schema: + type: string + default: "" + required: true + - variable: envList + label: "VPN environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true + + - variable: codeserver + label: "Codeserver" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: git + label: "Git Settings" + schema: + type: dict + attrs: + - variable: deployKey + description: "Raw SSH private key" + label: "deployKey" + schema: + type: string + - variable: deployKeyBase64 + description: "Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence" + label: "deployKeyBase64" + schema: + type: string + - variable: service + label: "" + schema: + type: dict + attrs: + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "" + schema: + type: dict + attrs: + - variable: codeserver + label: "" + schema: + type: dict + attrs: + - variable: nodePort + description: "leave empty to disable" + label: "nodePort" + schema: + type: int + default: 36107 + - variable: envList + label: "Codeserver environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true + + + - variable: promtail + label: "Promtail" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: loki + label: "Loki URL" + schema: + type: string + required: true + - variable: logs + label: "Log Paths" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: path + label: "Path" + schema: + type: string + required: true + - variable: args + label: "Promtail ecommand line arguments" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: arg + label: "Arg" + schema: + type: string + required: true + - variable: envList + label: "Promtail environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + 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: + 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: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true diff --git a/incubator/icinga2/0.0.1/templates/common.yaml b/incubator/icinga2/0.0.1/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/icinga2/0.0.1/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/icinga2/0.0.1/values.yaml b/incubator/icinga2/0.0.1/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/icinga2/item.yaml b/incubator/icinga2/item.yaml new file mode 100644 index 00000000000..056ed0271d5 --- /dev/null +++ b/incubator/icinga2/item.yaml @@ -0,0 +1,4 @@ +icon_url: https://avatars.githubusercontent.com/u/835441?s=200&v=4 +categories: +- monitoring + diff --git a/incubator/leantime/0.0.1/CHANGELOG.md b/incubator/leantime/0.0.1/CHANGELOG.md new file mode 100644 index 00000000000..29dfc65d109 --- /dev/null +++ b/incubator/leantime/0.0.1/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog
+ + +
+### leantime-0.0.1 (2021-11-30) + +#### Feat + +* add a bunch of mariaDB backed Apps ([#1407](https://github.com/truecharts/apps/issues/1407)) + diff --git a/incubator/leantime/0.0.1/CONFIG.md b/incubator/leantime/0.0.1/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/incubator/leantime/0.0.1/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/leantime/0.0.1/Chart.lock b/incubator/leantime/0.0.1/Chart.lock new file mode 100644 index 00000000000..bf318e69942 --- /dev/null +++ b/incubator/leantime/0.0.1/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 8.9.4 +- name: mariadb + repository: https://truecharts.org/ + version: 1.0.14 +digest: sha256:5e9e690d8f7e690e1c778c5c0138361783600ee28999056697fd662961cee0a6 +generated: "2021-11-30T13:38:47.264111159Z" diff --git a/incubator/leantime/0.0.1/Chart.yaml b/incubator/leantime/0.0.1/Chart.yaml new file mode 100644 index 00000000000..b2f6662f281 --- /dev/null +++ b/incubator/leantime/0.0.1/Chart.yaml @@ -0,0 +1,32 @@ +apiVersion: v2 +appVersion: "2.1.7" +dependencies: +- name: common + repository: https://truecharts.org + version: 8.9.4 +- condition: mariadb.enabled + name: mariadb + repository: https://truecharts.org/ + version: 1.0.14 +description: "Straightforward open source project management system to make your ideas reality." +home: https://github.com/truechartsapps/tree/master/charts/stable/leantime +icon: "https://github.com/nicholaswilde/helm-charts/raw/main/images/leantime.jpg" +keywords: + - leantime + - project + - management +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: leantime +sources: + - https://leantime.io/ + - https://hub.docker.com/r/nicholaswilde/leantime +version: 0.0.1 +annotations: + truecharts.org/catagories: | + - management + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/incubator/leantime/0.0.1/README.md b/incubator/leantime/0.0.1/README.md new file mode 100644 index 00000000000..c78b14f1619 --- /dev/null +++ b/incubator/leantime/0.0.1/README.md @@ -0,0 +1,39 @@ +# Introduction + +Straightforward open source project management system to make your ideas reality. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | mariadb | 1.0.14 | +| https://truecharts.org | common | 8.9.4 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +--- +All Rights Reserved - The TrueCharts Project diff --git a/incubator/leantime/0.0.1/app-readme.md b/incubator/leantime/0.0.1/app-readme.md new file mode 100644 index 00000000000..6794cac08da --- /dev/null +++ b/incubator/leantime/0.0.1/app-readme.md @@ -0,0 +1,3 @@ +Straightforward open source project management system to make your ideas reality. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org diff --git a/incubator/leantime/0.0.1/charts/common-8.9.4.tgz b/incubator/leantime/0.0.1/charts/common-8.9.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..18b7c420165b33d9a284ea7a6b392a10a24e429f GIT binary patch literal 37232 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 U|K-pB4FCZD|EJqzApm#-0MP08Gynhq literal 0 HcmV?d00001 diff --git a/incubator/leantime/0.0.1/charts/mariadb-1.0.14.tgz b/incubator/leantime/0.0.1/charts/mariadb-1.0.14.tgz new file mode 100644 index 0000000000000000000000000000000000000000..72c7c04a1b46f4860c60a5c947d7d79a9fc260f5 GIT binary patch literal 42679 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

ynz&U0 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 H0Qv&}bh>mc literal 0 HcmV?d00001 diff --git a/incubator/leantime/0.0.1/helm-values.md b/incubator/leantime/0.0.1/helm-values.md new file mode 100644 index 00000000000..d033ae04079 --- /dev/null +++ b/incubator/leantime/0.0.1/helm-values.md @@ -0,0 +1,41 @@ +# Default Helm-Values + +TrueCharts is primarily build to supply TrueNAS SCALE Apps. +However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file. + +Most of our Apps also consume our "common" Helm Chart. +If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart. +You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document. + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| env.LEAN_DB_DATABASE | string | `"leantime"` | | +| env.LEAN_DB_USER | string | `"leantime"` | | +| envValueFrom.LEAN_DB_HOST.secretKeyRef.key | string | `"plainhost"` | | +| envValueFrom.LEAN_DB_HOST.secretKeyRef.name | string | `"mariadbcreds"` | | +| envValueFrom.LEAN_DB_PASSWORD.secretKeyRef.key | string | `"mariadb-password"` | | +| envValueFrom.LEAN_DB_PASSWORD.secretKeyRef.name | string | `"mariadbcreds"` | | +| image.pullPolicy | string | `"IfNotPresent"` | | +| image.repository | string | `"ghcr.io/nicholaswilde/leantime"` | | +| image.tag | string | `"2.1.7-ls6@sha256:60e3485f98d71f814f593c1c4d39cac78fc2748f7a1a4baacbbfa439ae031237"` | | +| mariadb.enabled | bool | `true` | | +| mariadb.existingSecret | string | `"mariadbcreds"` | | +| mariadb.mariadbDatabase | string | `"leantime"` | | +| mariadb.mariadbUsername | string | `"leantime"` | | +| persistence.sessions.enabled | bool | `true` | | +| persistence.sessions.mountPath | string | `"/sessions"` | | +| podSecurityContext.runAsGroup | int | `0` | | +| podSecurityContext.runAsUser | int | `0` | | +| securityContext.readOnlyRootFilesystem | bool | `false` | | +| securityContext.runAsNonRoot | bool | `false` | | +| service.extra.enabled | bool | `true` | | +| service.extra.ports.extra.enabled | bool | `true` | | +| service.extra.ports.extra.port | int | `10118` | | +| service.extra.ports.extra.protocol | string | `"UDP"` | | +| service.extra.ports.extra.targetPort | int | `9000` | | +| service.main.ports.main.port | int | `10117` | | +| service.main.ports.main.targetPort | int | `80` | | + +All Rights Reserved - The TrueCharts Project diff --git a/incubator/leantime/0.0.1/ix_values.yaml b/incubator/leantime/0.0.1/ix_values.yaml new file mode 100644 index 00000000000..c0f2ac2f375 --- /dev/null +++ b/incubator/leantime/0.0.1/ix_values.yaml @@ -0,0 +1,53 @@ +image: + repository: ghcr.io/nicholaswilde/leantime + pullPolicy: IfNotPresent + tag: 2.1.7-ls6@sha256:60e3485f98d71f814f593c1c4d39cac78fc2748f7a1a4baacbbfa439ae031237 + +securityContext: + runAsNonRoot: false + readOnlyRootFilesystem: false + + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +env: + LEAN_DB_DATABASE: "leantime" + LEAN_DB_USER: leantime + +service: + main: + ports: + main: + port: 10117 + targetPort: 80 + extra: + enabled: true + ports: + extra: + enabled: true + port: 10118 + targetPort: 9000 + protocol: UDP + +persistence: + sessions: + enabled: true + mountPath: /sessions + +envValueFrom: + LEAN_DB_HOST: + secretKeyRef: + name: mariadbcreds + key: plainhost + LEAN_DB_PASSWORD: + secretKeyRef: + name: mariadbcreds + key: mariadb-password + +mariadb: + enabled: true + mariadbUsername: leantime + mariadbDatabase: leantime + existingSecret: "mariadbcreds" diff --git a/incubator/leantime/0.0.1/questions.yaml b/incubator/leantime/0.0.1/questions.yaml new file mode 100644 index 00000000000..95e5a5b543e --- /dev/null +++ b/incubator/leantime/0.0.1/questions.yaml @@ -0,0 +1,1948 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Middlewares" + description: "Traefik Middlewares" + - name: "Metrics" + description: "Metrics" + - name: "Addons" + description: "Addon Configuration" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: global + label: "global settings" + group: "Controller" + schema: + type: dict + hidden: true + attrs: + - variable: isSCALE + label: "flag this is SCALE" + schema: + type: boolean + default: true + hidden: true + + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: advanced + label: "Show Advanced Controller Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: expert + label: "Show Expert Configuration Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: extraArgs + label: "Extra Args" + schema: + type: list + default: [] + items: + - variable: argItem + label: "Arg" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: labelsList + label: "Controller Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: " Controller Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: expertpodconf + group: "Container Configuration" + label: "Show Expert Config" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: termination + group: "Container Configuration" + label: "Termination settings" + schema: + type: dict + attrs: + - variable: gracePeriodSeconds + label: "Grace Period Seconds" + schema: + type: int + default: 10 + - variable: podLabelsList + group: "Container Configuration" + label: "Pod Labels" + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: podAnnotationsList + group: "Container Configuration" + label: "Pod Annotations" + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "ClusterIP" + description: "ClusterIP" + - value: "NodePort" + description: "NodePort (Advanced)" + - value: "LoadBalancer" + description: "LoadBalancer (Advanced)" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10117 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 80 + - variable: extra + label: "extra Service" + description: "The extra service " + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "ClusterIP" + description: "ClusterIP" + - value: "NodePort" + description: "NodePort (Advanced)" + - value: "LoadBalancer" + description: "LoadBalancer (Advanced)" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: extra + label: "extra Service Port Configuration" + schema: + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10118 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 9000 + + - variable: serviceexpert + group: "Networking and Services" + label: "Show Expert Config" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + group: "Networking and Services" + label: "Host-Networking (Complicated)" + schema: + type: boolean + default: false + + - variable: dnsPolicy + group: "Networking and Services" + label: "dnsPolicy" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "ClusterFirst" + description: "ClusterFirst" + - value: "ClusterFirstWithHostNet" + description: "ClusterFirstWithHostNet" + - value: "None" + description: "None" + + - variable: dnsConfig + label: "DNS Configuration" + group: "Networking and Services" + description: "Specify custom DNS configuration which will be applied to the pod" + schema: + type: dict + attrs: + - variable: nameservers + label: "Nameservers" + schema: + default: [] + type: list + items: + - variable: nameserver + label: "Nameserver" + schema: + type: string + - variable: options + label: "options" + schema: + default: [] + type: list + items: + - variable: option + label: "Option Entry" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: searches + label: "Searches" + schema: + default: [] + type: list + items: + - variable: search + label: "Search Entry" + schema: + type: string + + - variable: serviceList + label: "Add Manual Custom Services" + group: "Networking and Services" + schema: + type: list + default: [] + items: + - variable: serviceListEntry + label: "Custom Service" + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: portsList + label: "Additional Service Ports" + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: "Custom ports" + schema: + 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: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: sessions + label: "App sessions Storage" + description: "Stores the Application sessions." + schema: + 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: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" + - variable: setPermissionsSimple + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPathSimple + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/sessions" + hidden: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "999Gi" + - variable: hostPathType + label: "(Advanced) hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: storageClass + label: "(Advanced) storageClass" + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: accessMode + label: "(Advanced) Access Mode" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: advanced + label: "Show Advanced Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name (optional)" + description: "Not required, please set to config when mounting /config or temp when mounting /tmp" + schema: + type: string + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simpleHP" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" + - variable: setPermissionsSimple + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPathSimple + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + required: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "999Gi" + - variable: hostPathType + label: "(Advanced) hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: storageClass + label: "(Advanced) storageClass" + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: accessMode + label: "(Advanced) Access Mode" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: advanced + label: "Show Advanced Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: entrypoint + label: "(Advanced) Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: expert + label: "Show Expert Configuration Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enableFixedMiddlewares + description: "These middlewares enforce a number of best practices." + label: "Enable Default Middlewares" + schema: + type: boolean + default: true + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingressList + label: "Add Manual Custom Ingresses" + group: "Ingress" + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: "Custom Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name" + schema: + type: string + default: "" + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: service + label: "Linked Service" + schema: + type: dict + attrs: + - variable: name + label: "Service Name" + schema: + type: string + default: "" + - variable: port + label: "Service Port" + schema: + type: int + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: advancedSecurity + label: "Show Advanced Security Settings" + group: "Security and Permissions" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - 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 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplemental Groups" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "supplemental Group" + schema: + type: int + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + + + - variable: advancedresources + label: "Set Custom Resource Limits/Requests (Advanced)" + group: "Resources and Devices" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: resources + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "4000m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "8Gi" + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + + - variable: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "Host Device Path" + description: "Path to the device on the host system" + schema: + type: path + - variable: mountPath + label: "Container Device Path" + description: "Path inside the container the device is mounted" + schema: + type: string + default: "/dev/ttyACM0" + + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: autoscaling + group: "Advanced" + label: "(Advanced) Horizontal Pod Autoscaler" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: target + label: "Target" + description: "deployment name, defaults to main deployment" + schema: + type: string + default: "" + - variable: minReplicas + label: "Minimum Replicas" + schema: + type: int + default: 1 + - variable: maxReplicas + label: "Maximum Replicas" + schema: + type: int + default: 5 + - variable: targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + schema: + type: int + default: 80 + - variable: targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + schema: + type: int + default: 80 + + + - variable: addons + group: "Addons" + label: "" + schema: + type: dict + attrs: + - variable: vpn + label: "VPN" + schema: + type: dict + attrs: + - variable: type + label: "Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "disabled" + - value: "openvpn" + description: "OpenVPN" + - value: "wireguard" + description: "Wireguard" + - variable: openvpn + label: "OpenVPN Settings" + schema: + type: dict + show_if: [["type", "=", "openvpn"]] + attrs: + - variable: username + label: "authentication username" + description: "authentication username, optional" + schema: + type: string + default: "" + - variable: password + label: "authentication password" + description: "authentication credentials" + schema: + type: string + default: "" + required: true + - 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 ipv4 addresses" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv6 + label: "IPv6 Network" + schema: + type: string + required: true + + - variable: configFile + label: "VPN Config File Location" + schema: + type: dict + show_if: [["type", "!=", "disabled"]] + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: hostPathType + label: "hostPathType" + schema: + type: string + default: "File" + hidden: true + - variable: noMount + label: "noMount" + schema: + type: boolean + default: true + hidden: true + - variable: hostPath + label: "Full path to file" + description: "path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" + schema: + type: string + default: "" + required: true + - variable: envList + label: "VPN environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true + + - variable: codeserver + label: "Codeserver" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: git + label: "Git Settings" + schema: + type: dict + attrs: + - variable: deployKey + description: "Raw SSH private key" + label: "deployKey" + schema: + type: string + - variable: deployKeyBase64 + description: "Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence" + label: "deployKeyBase64" + schema: + type: string + - variable: service + label: "" + schema: + type: dict + attrs: + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "" + schema: + type: dict + attrs: + - variable: codeserver + label: "" + schema: + type: dict + attrs: + - variable: nodePort + description: "leave empty to disable" + label: "nodePort" + schema: + type: int + default: 36107 + - variable: envList + label: "Codeserver environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true + + + - variable: promtail + label: "Promtail" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: loki + label: "Loki URL" + schema: + type: string + required: true + - variable: logs + label: "Log Paths" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: path + label: "Path" + schema: + type: string + required: true + - variable: args + label: "Promtail ecommand line arguments" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: arg + label: "Arg" + schema: + type: string + required: true + - variable: envList + label: "Promtail environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + 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: + 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: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true diff --git a/incubator/leantime/0.0.1/templates/common.yaml b/incubator/leantime/0.0.1/templates/common.yaml new file mode 100644 index 00000000000..9705d4f5fa6 --- /dev/null +++ b/incubator/leantime/0.0.1/templates/common.yaml @@ -0,0 +1,2 @@ + +{{ include "common.all" . }} diff --git a/incubator/leantime/0.0.1/values.yaml b/incubator/leantime/0.0.1/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/leantime/item.yaml b/incubator/leantime/item.yaml new file mode 100644 index 00000000000..9e7df9ec9b5 --- /dev/null +++ b/incubator/leantime/item.yaml @@ -0,0 +1,4 @@ +icon_url: "https://github.com/nicholaswilde/helm-charts/raw/main/images/leantime.jpg" +categories: +- management + diff --git a/incubator/monica/0.0.1/CHANGELOG.md b/incubator/monica/0.0.1/CHANGELOG.md new file mode 100644 index 00000000000..ed83bb0e827 --- /dev/null +++ b/incubator/monica/0.0.1/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog
+ + +
+### monica-0.0.1 (2021-11-30) + +#### Feat + +* add a bunch of mariaDB backed Apps ([#1407](https://github.com/truecharts/apps/issues/1407)) + diff --git a/incubator/monica/0.0.1/CONFIG.md b/incubator/monica/0.0.1/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/incubator/monica/0.0.1/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/monica/0.0.1/Chart.lock b/incubator/monica/0.0.1/Chart.lock new file mode 100644 index 00000000000..7014309c425 --- /dev/null +++ b/incubator/monica/0.0.1/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 8.9.4 +- name: mariadb + repository: https://truecharts.org/ + version: 1.0.14 +digest: sha256:5e9e690d8f7e690e1c778c5c0138361783600ee28999056697fd662961cee0a6 +generated: "2021-11-30T13:39:28.487271027Z" diff --git a/incubator/monica/0.0.1/Chart.yaml b/incubator/monica/0.0.1/Chart.yaml new file mode 100644 index 00000000000..0bad924f262 --- /dev/null +++ b/incubator/monica/0.0.1/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: "3.5.0" +dependencies: +- name: common + repository: https://truecharts.org + version: 8.9.4 +- condition: mariadb.enabled + name: mariadb + repository: https://truecharts.org/ + version: 1.0.14 +description: "Straightforward open source project management system to make your ideas reality." +home: https://github.com/truechartsapps/tree/master/charts/stable/monica +icon: https://pbs.twimg.com/profile_images/951820722191720450/mtCNuIXX.jpg +keywords: +- crm +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: monica +sources: +- https://github.com/monicahq/monica +- https://hub.docker.com/_/monica +version: 0.0.1 +annotations: + truecharts.org/catagories: | + - crm + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/incubator/monica/0.0.1/README.md b/incubator/monica/0.0.1/README.md new file mode 100644 index 00000000000..9139bfc12f2 --- /dev/null +++ b/incubator/monica/0.0.1/README.md @@ -0,0 +1,39 @@ +# Introduction + +Straightforward open source project management system to make your ideas reality. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | mariadb | 1.0.14 | +| https://truecharts.org | common | 8.9.4 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +--- +All Rights Reserved - The TrueCharts Project diff --git a/incubator/monica/0.0.1/app-readme.md b/incubator/monica/0.0.1/app-readme.md new file mode 100644 index 00000000000..6794cac08da --- /dev/null +++ b/incubator/monica/0.0.1/app-readme.md @@ -0,0 +1,3 @@ +Straightforward open source project management system to make your ideas reality. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org diff --git a/incubator/monica/0.0.1/charts/common-8.9.4.tgz b/incubator/monica/0.0.1/charts/common-8.9.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..18b7c420165b33d9a284ea7a6b392a10a24e429f GIT binary patch literal 37232 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 U|K-pB4FCZD|EJqzApm#-0MP08Gynhq literal 0 HcmV?d00001 diff --git a/incubator/monica/0.0.1/charts/mariadb-1.0.14.tgz b/incubator/monica/0.0.1/charts/mariadb-1.0.14.tgz new file mode 100644 index 0000000000000000000000000000000000000000..72c7c04a1b46f4860c60a5c947d7d79a9fc260f5 GIT binary patch literal 42679 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

ynz&U0 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 H0Qv&}bh>mc literal 0 HcmV?d00001 diff --git a/incubator/monica/0.0.1/helm-values.md b/incubator/monica/0.0.1/helm-values.md new file mode 100644 index 00000000000..1867d059296 --- /dev/null +++ b/incubator/monica/0.0.1/helm-values.md @@ -0,0 +1,37 @@ +# Default Helm-Values + +TrueCharts is primarily build to supply TrueNAS SCALE Apps. +However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file. + +Most of our Apps also consume our "common" Helm Chart. +If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart. +You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document. + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| env | object | See below | environment variables. See [monica documentation](https://raw.githubusercontent.com/monicahq/monica/master/.env.example) for more details. | +| env.APP_ENV | string | `"production"` | Use `local` if you want to install Monica as a development version. Use `production` otherwise. | +| env.APP_URL | string | `"https://crm.k8s-at-home.com"` | The URL of your application. | +| envValueFrom.APP_KEY.secretKeyRef.key | string | `"appkey"` | | +| envValueFrom.APP_KEY.secretKeyRef.name | string | `"appkey"` | | +| envValueFrom.DB_HOST.secretKeyRef.key | string | `"plainhost"` | | +| envValueFrom.DB_HOST.secretKeyRef.name | string | `"mariadbcreds"` | | +| envValueFrom.DB_PASSWORD.secretKeyRef.key | string | `"mariadb-password"` | | +| envValueFrom.DB_PASSWORD.secretKeyRef.name | string | `"mariadbcreds"` | | +| image.pullPolicy | string | `"IfNotPresent"` | | +| image.repository | string | `"monica"` | | +| image.tag | string | `"3.5.0@sha256:04ff6eccd653e7fc2c9875130e572662b4a78bbd3f80011aeb79f1f3d55f39eb"` | | +| mariadb.enabled | bool | `true` | | +| mariadb.existingSecret | string | `"mariadbcreds"` | | +| mariadb.mariadbDatabase | string | `"monica"` | | +| mariadb.mariadbUsername | string | `"monica"` | | +| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. | +| podSecurityContext.runAsGroup | int | `0` | | +| podSecurityContext.runAsUser | int | `0` | | +| securityContext.readOnlyRootFilesystem | bool | `false` | | +| securityContext.runAsNonRoot | bool | `false` | | +| service | object | See values.yaml | Configures service settings for the chart. | + +All Rights Reserved - The TrueCharts Project diff --git a/incubator/monica/0.0.1/ix_values.yaml b/incubator/monica/0.0.1/ix_values.yaml new file mode 100644 index 00000000000..a63ebac93e9 --- /dev/null +++ b/incubator/monica/0.0.1/ix_values.yaml @@ -0,0 +1,58 @@ +image: + repository: monica + tag: 3.5.0@sha256:04ff6eccd653e7fc2c9875130e572662b4a78bbd3f80011aeb79f1f3d55f39eb + pullPolicy: IfNotPresent + +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +# -- environment variables. See [monica documentation](https://raw.githubusercontent.com/monicahq/monica/master/.env.example) for more details. +# @default -- See below +env: + # -- Use `local` if you want to install Monica as a development version. Use `production` otherwise. + APP_ENV: production + # -- The URL of your application. + APP_URL: https://crm.k8s-at-home.com + DB_DATABASE: monica + DB_USERNAME: monica + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 10119 + targetPort: 80 + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: true + mountPath: /var/www/html/storage + +envValueFrom: + DB_HOST: + secretKeyRef: + name: mariadbcreds + key: plainhost + DB_PASSWORD: + secretKeyRef: + name: mariadbcreds + key: mariadb-password + APP_KEY: + secretKeyRef: + name: appkey + key: appkey + +mariadb: + enabled: true + mariadbUsername: monica + mariadbDatabase: monica + existingSecret: "mariadbcreds" diff --git a/incubator/monica/0.0.1/questions.yaml b/incubator/monica/0.0.1/questions.yaml new file mode 100644 index 00000000000..9fb92745ed7 --- /dev/null +++ b/incubator/monica/0.0.1/questions.yaml @@ -0,0 +1,1860 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Middlewares" + description: "Traefik Middlewares" + - name: "Metrics" + description: "Metrics" + - name: "Addons" + description: "Addon Configuration" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: global + label: "global settings" + group: "Controller" + schema: + type: dict + hidden: true + attrs: + - variable: isSCALE + label: "flag this is SCALE" + schema: + type: boolean + default: true + hidden: true + + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: advanced + label: "Show Advanced Controller Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: expert + label: "Show Expert Configuration Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: extraArgs + label: "Extra Args" + schema: + type: list + default: [] + items: + - variable: argItem + label: "Arg" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: labelsList + label: "Controller Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: " Controller Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: APP_ENV + label: "APP_ENV" + description: "Use `local` if you want to install Monica as a development version. Use `production` otherwise." + schema: + type: string + default: "production" + required: true + - variable: APP_URL + label: "APP_URL" + description: "The URL of your application." + schema: + type: string + default: "" + required: true + + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: expertpodconf + group: "Container Configuration" + label: "Show Expert Config" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: termination + group: "Container Configuration" + label: "Termination settings" + schema: + type: dict + attrs: + - variable: gracePeriodSeconds + label: "Grace Period Seconds" + schema: + type: int + default: 10 + - variable: podLabelsList + group: "Container Configuration" + label: "Pod Labels" + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: podAnnotationsList + group: "Container Configuration" + label: "Pod Annotations" + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "ClusterIP" + description: "ClusterIP" + - value: "NodePort" + description: "NodePort (Advanced)" + - value: "LoadBalancer" + description: "LoadBalancer (Advanced)" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10119 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 80 + + - variable: serviceexpert + group: "Networking and Services" + label: "Show Expert Config" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + group: "Networking and Services" + label: "Host-Networking (Complicated)" + schema: + type: boolean + default: false + + - variable: dnsPolicy + group: "Networking and Services" + label: "dnsPolicy" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "ClusterFirst" + description: "ClusterFirst" + - value: "ClusterFirstWithHostNet" + description: "ClusterFirstWithHostNet" + - value: "None" + description: "None" + + - variable: dnsConfig + label: "DNS Configuration" + group: "Networking and Services" + description: "Specify custom DNS configuration which will be applied to the pod" + schema: + type: dict + attrs: + - variable: nameservers + label: "Nameservers" + schema: + default: [] + type: list + items: + - variable: nameserver + label: "Nameserver" + schema: + type: string + - variable: options + label: "options" + schema: + default: [] + type: list + items: + - variable: option + label: "Option Entry" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: searches + label: "Searches" + schema: + default: [] + type: list + items: + - variable: search + label: "Search Entry" + schema: + type: string + + - variable: serviceList + label: "Add Manual Custom Services" + group: "Networking and Services" + schema: + type: list + default: [] + items: + - variable: serviceListEntry + label: "Custom Service" + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: portsList + label: "Additional Service Ports" + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: "Custom ports" + schema: + 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: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" + - variable: setPermissionsSimple + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPathSimple + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/var/www/html/storage" + hidden: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "999Gi" + - variable: hostPathType + label: "(Advanced) hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: storageClass + label: "(Advanced) storageClass" + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: accessMode + label: "(Advanced) Access Mode" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: advanced + label: "Show Advanced Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name (optional)" + description: "Not required, please set to config when mounting /config or temp when mounting /tmp" + schema: + type: string + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simpleHP" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" + - variable: setPermissionsSimple + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPathSimple + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + required: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "999Gi" + - variable: hostPathType + label: "(Advanced) hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: storageClass + label: "(Advanced) storageClass" + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: accessMode + label: "(Advanced) Access Mode" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: advanced + label: "Show Advanced Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: entrypoint + label: "(Advanced) Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: expert + label: "Show Expert Configuration Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enableFixedMiddlewares + description: "These middlewares enforce a number of best practices." + label: "Enable Default Middlewares" + schema: + type: boolean + default: true + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingressList + label: "Add Manual Custom Ingresses" + group: "Ingress" + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: "Custom Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name" + schema: + type: string + default: "" + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: service + label: "Linked Service" + schema: + type: dict + attrs: + - variable: name + label: "Service Name" + schema: + type: string + default: "" + - variable: port + label: "Service Port" + schema: + type: int + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: advancedSecurity + label: "Show Advanced Security Settings" + group: "Security and Permissions" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - 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 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplemental Groups" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "supplemental Group" + schema: + type: int + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + + + - variable: advancedresources + label: "Set Custom Resource Limits/Requests (Advanced)" + group: "Resources and Devices" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: resources + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "4000m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "8Gi" + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + + - variable: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "Host Device Path" + description: "Path to the device on the host system" + schema: + type: path + - variable: mountPath + label: "Container Device Path" + description: "Path inside the container the device is mounted" + schema: + type: string + default: "/dev/ttyACM0" + + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: autoscaling + group: "Advanced" + label: "(Advanced) Horizontal Pod Autoscaler" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: target + label: "Target" + description: "deployment name, defaults to main deployment" + schema: + type: string + default: "" + - variable: minReplicas + label: "Minimum Replicas" + schema: + type: int + default: 1 + - variable: maxReplicas + label: "Maximum Replicas" + schema: + type: int + default: 5 + - variable: targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + schema: + type: int + default: 80 + - variable: targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + schema: + type: int + default: 80 + + + - variable: addons + group: "Addons" + label: "" + schema: + type: dict + attrs: + - variable: vpn + label: "VPN" + schema: + type: dict + attrs: + - variable: type + label: "Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "disabled" + - value: "openvpn" + description: "OpenVPN" + - value: "wireguard" + description: "Wireguard" + - variable: openvpn + label: "OpenVPN Settings" + schema: + type: dict + show_if: [["type", "=", "openvpn"]] + attrs: + - variable: username + label: "authentication username" + description: "authentication username, optional" + schema: + type: string + default: "" + - variable: password + label: "authentication password" + description: "authentication credentials" + schema: + type: string + default: "" + required: true + - 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 ipv4 addresses" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv6 + label: "IPv6 Network" + schema: + type: string + required: true + + - variable: configFile + label: "VPN Config File Location" + schema: + type: dict + show_if: [["type", "!=", "disabled"]] + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: hostPathType + label: "hostPathType" + schema: + type: string + default: "File" + hidden: true + - variable: noMount + label: "noMount" + schema: + type: boolean + default: true + hidden: true + - variable: hostPath + label: "Full path to file" + description: "path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" + schema: + type: string + default: "" + required: true + - variable: envList + label: "VPN environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true + + - variable: codeserver + label: "Codeserver" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: git + label: "Git Settings" + schema: + type: dict + attrs: + - variable: deployKey + description: "Raw SSH private key" + label: "deployKey" + schema: + type: string + - variable: deployKeyBase64 + description: "Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence" + label: "deployKeyBase64" + schema: + type: string + - variable: service + label: "" + schema: + type: dict + attrs: + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "" + schema: + type: dict + attrs: + - variable: codeserver + label: "" + schema: + type: dict + attrs: + - variable: nodePort + description: "leave empty to disable" + label: "nodePort" + schema: + type: int + default: 36107 + - variable: envList + label: "Codeserver environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true + + + - variable: promtail + label: "Promtail" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: loki + label: "Loki URL" + schema: + type: string + required: true + - variable: logs + label: "Log Paths" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: path + label: "Path" + schema: + type: string + required: true + - variable: args + label: "Promtail ecommand line arguments" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: arg + label: "Arg" + schema: + type: string + required: true + - variable: envList + label: "Promtail environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + 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: + 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: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true diff --git a/incubator/monica/0.0.1/templates/_appkey.tpl b/incubator/monica/0.0.1/templates/_appkey.tpl new file mode 100644 index 00000000000..fc53fdeb80c --- /dev/null +++ b/incubator/monica/0.0.1/templates/_appkey.tpl @@ -0,0 +1,23 @@ +{{/* +This template generates a random password and ensures it persists across updates/edits to the chart +*/}} +{{- define "monica.appkey" -}} +--- +apiVersion: v1 +kind: Secret +metadata: + labels: + {{- include "common.labels" . | nindent 4 }} + name: appkey +{{- $keyprevious := lookup "v1" "Secret" .Release.Namespace "appkey" }} +{{- $appkey := "" }} +data: +{{- if $keyprevious }} + {{- $appkey = ( index $keyprevious.data "appkey" ) | b64dec }} + appkey: {{ ( index $keyprevious.data "appkey" ) }} +{{- else }} + {{- $appkey = randAlphaNum 32 | b64enc }} + appkey: {{ $appkey | b64enc | quote }} +{{- end }} +type: Opaque +{{- end -}} diff --git a/incubator/monica/0.0.1/templates/common.yaml b/incubator/monica/0.0.1/templates/common.yaml new file mode 100644 index 00000000000..c209b745621 --- /dev/null +++ b/incubator/monica/0.0.1/templates/common.yaml @@ -0,0 +1,9 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.setup" . }} + +{{/* Render appkey for monica */}} +{{- include "monica.appkey" . }} + + +{{/* Render the templates */}} +{{ include "common.postSetup" . }} diff --git a/incubator/monica/0.0.1/values.yaml b/incubator/monica/0.0.1/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/monica/item.yaml b/incubator/monica/item.yaml new file mode 100644 index 00000000000..ab30bcd2ed0 --- /dev/null +++ b/incubator/monica/item.yaml @@ -0,0 +1,4 @@ +icon_url: https://pbs.twimg.com/profile_images/951820722191720450/mtCNuIXX.jpg +categories: +- crm + diff --git a/incubator/snipe-it/0.0.1/CHANGELOG.md b/incubator/snipe-it/0.0.1/CHANGELOG.md new file mode 100644 index 00000000000..5d45428e6c8 --- /dev/null +++ b/incubator/snipe-it/0.0.1/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog
+ + +
+### snipe-it-0.0.1 (2021-11-30) + +#### Feat + +* add a bunch of mariaDB backed Apps ([#1407](https://github.com/truecharts/apps/issues/1407)) + diff --git a/incubator/snipe-it/0.0.1/CONFIG.md b/incubator/snipe-it/0.0.1/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/incubator/snipe-it/0.0.1/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/snipe-it/0.0.1/Chart.lock b/incubator/snipe-it/0.0.1/Chart.lock new file mode 100644 index 00000000000..fd8e75cdc98 --- /dev/null +++ b/incubator/snipe-it/0.0.1/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 8.9.4 +- name: mariadb + repository: https://truecharts.org/ + version: 1.0.14 +digest: sha256:5e9e690d8f7e690e1c778c5c0138361783600ee28999056697fd662961cee0a6 +generated: "2021-11-30T13:40:09.171592214Z" diff --git a/incubator/snipe-it/0.0.1/Chart.yaml b/incubator/snipe-it/0.0.1/Chart.yaml new file mode 100644 index 00000000000..fec81eb87f7 --- /dev/null +++ b/incubator/snipe-it/0.0.1/Chart.yaml @@ -0,0 +1,33 @@ +apiVersion: v2 +appVersion: "5.3.3" +dependencies: +- name: common + repository: https://truecharts.org + version: 8.9.4 +- condition: mariadb.enabled + name: mariadb + repository: https://truecharts.org/ + version: 1.0.14 +description: "Open source asset management" +home: https://github.com/truechartsapps/tree/master/charts/stable/snipe-it +icon: "https://github.com/nicholaswilde/helm-charts/raw/main/images/snipe-it.jpg" +keywords: + - snipeit + - snipe + - asset + - management +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: snipe-it +sources: + - https://snipeitapp.com/ + - https://hub.docker.com/r/linuxserver/ +version: 0.0.1 +annotations: + truecharts.org/catagories: | + - management + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/incubator/snipe-it/0.0.1/README.md b/incubator/snipe-it/0.0.1/README.md new file mode 100644 index 00000000000..2aa93d1d51c --- /dev/null +++ b/incubator/snipe-it/0.0.1/README.md @@ -0,0 +1,39 @@ +# Introduction + +Open source asset management + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | mariadb | 1.0.14 | +| https://truecharts.org | common | 8.9.4 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +--- +All Rights Reserved - The TrueCharts Project diff --git a/incubator/snipe-it/0.0.1/app-readme.md b/incubator/snipe-it/0.0.1/app-readme.md new file mode 100644 index 00000000000..59942f4c1ec --- /dev/null +++ b/incubator/snipe-it/0.0.1/app-readme.md @@ -0,0 +1,3 @@ +Open source asset management + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org diff --git a/incubator/snipe-it/0.0.1/charts/common-8.9.4.tgz b/incubator/snipe-it/0.0.1/charts/common-8.9.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..18b7c420165b33d9a284ea7a6b392a10a24e429f GIT binary patch literal 37232 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 U|K-pB4FCZD|EJqzApm#-0MP08Gynhq literal 0 HcmV?d00001 diff --git a/incubator/snipe-it/0.0.1/charts/mariadb-1.0.14.tgz b/incubator/snipe-it/0.0.1/charts/mariadb-1.0.14.tgz new file mode 100644 index 0000000000000000000000000000000000000000..72c7c04a1b46f4860c60a5c947d7d79a9fc260f5 GIT binary patch literal 42679 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

ynz&U0 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 H0Qv&}bh>mc literal 0 HcmV?d00001 diff --git a/incubator/snipe-it/0.0.1/helm-values.md b/incubator/snipe-it/0.0.1/helm-values.md new file mode 100644 index 00000000000..59b5ba6c4fe --- /dev/null +++ b/incubator/snipe-it/0.0.1/helm-values.md @@ -0,0 +1,41 @@ +# Default Helm-Values + +TrueCharts is primarily build to supply TrueNAS SCALE Apps. +However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file. + +Most of our Apps also consume our "common" Helm Chart. +If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart. +You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document. + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| env.MYSQL_DATABASE | string | `"snipe-it"` | | +| env.MYSQL_PORT_3306_TCP_PORT | string | `"3306"` | | +| env.MYSQL_USER | string | `"snipe-it"` | | +| env.NGINX_APP_URL | string | `"{{ include \"common.names.fullname\" . }}:8080"` | | +| env.PUID | int | `568` | | +| envValueFrom.MYSQL_PASSWORD.secretKeyRef.key | string | `"mariadb-password"` | | +| envValueFrom.MYSQL_PASSWORD.secretKeyRef.name | string | `"mariadbcreds"` | | +| envValueFrom.MYSQL_PORT_3306_TCP_ADDR.secretKeyRef.key | string | `"plainhost"` | | +| envValueFrom.MYSQL_PORT_3306_TCP_ADDR.secretKeyRef.name | string | `"mariadbcreds"` | | +| image.pullPolicy | string | `"IfNotPresent"` | | +| image.repository | string | `"ghcr.io/linuxserver/snipe-it"` | | +| image.tag | string | `"5.3.3@sha256:24610b729fe6595f1ead1e225f4e030fd3013c738987f2c095a2297746d0effb"` | | +| mariadb.enabled | bool | `true` | | +| mariadb.existingSecret | string | `"mariadbcreds"` | | +| mariadb.mariadbDatabase | string | `"snipe-it"` | | +| mariadb.mariadbUsername | string | `"snipe-it"` | | +| persistence.config.enabled | bool | `true` | | +| persistence.config.mountPath | string | `"/config"` | | +| persistence.varrun.enabled | bool | `true` | | +| podSecurityContext.runAsGroup | int | `0` | | +| podSecurityContext.runAsUser | int | `0` | | +| secret | object | `{}` | | +| securityContext.readOnlyRootFilesystem | bool | `false` | | +| securityContext.runAsNonRoot | bool | `false` | | +| service.main.ports.main.port | int | `10120` | | +| service.main.ports.main.targetPort | int | `80` | | + +All Rights Reserved - The TrueCharts Project diff --git a/incubator/snipe-it/0.0.1/ix_values.yaml b/incubator/snipe-it/0.0.1/ix_values.yaml new file mode 100644 index 00000000000..2c8a5eb64d9 --- /dev/null +++ b/incubator/snipe-it/0.0.1/ix_values.yaml @@ -0,0 +1,53 @@ +image: + repository: ghcr.io/linuxserver/snipe-it + pullPolicy: IfNotPresent + tag: 5.3.3@sha256:24610b729fe6595f1ead1e225f4e030fd3013c738987f2c095a2297746d0effb + +secret: {} + +# See more environment variables in the snipe documentation +# https://github.com/linuxserver/docker-snipe-it#parameters +env: + PUID: 568 + NGINX_APP_URL: '{{ include "common.names.fullname" . }}:8080' + MYSQL_USER: snipe-it + MYSQL_DATABASE: "snipe-it" + MYSQL_PORT_3306_TCP_PORT: "3306" + +securityContext: + runAsNonRoot: false + readOnlyRootFilesystem: false + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +service: + main: + ports: + main: + port: 10120 + targetPort: 80 + +persistence: + varrun: + enabled: true + config: + enabled: true + mountPath: /config + +envValueFrom: + MYSQL_PORT_3306_TCP_ADDR: + secretKeyRef: + name: mariadbcreds + key: plainhost + MYSQL_PASSWORD: + secretKeyRef: + name: mariadbcreds + key: mariadb-password + +mariadb: + enabled: true + mariadbUsername: snipe-it + mariadbDatabase: snipe-it + existingSecret: "mariadbcreds" diff --git a/incubator/snipe-it/0.0.1/questions.yaml b/incubator/snipe-it/0.0.1/questions.yaml new file mode 100644 index 00000000000..d162a93e0ed --- /dev/null +++ b/incubator/snipe-it/0.0.1/questions.yaml @@ -0,0 +1,1852 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Middlewares" + description: "Traefik Middlewares" + - name: "Metrics" + description: "Metrics" + - name: "Addons" + description: "Addon Configuration" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: global + label: "global settings" + group: "Controller" + schema: + type: dict + hidden: true + attrs: + - variable: isSCALE + label: "flag this is SCALE" + schema: + type: boolean + default: true + hidden: true + + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: advanced + label: "Show Advanced Controller Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: expert + label: "Show Expert Configuration Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: extraArgs + label: "Extra Args" + schema: + type: list + default: [] + items: + - variable: argItem + label: "Arg" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: labelsList + label: "Controller Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: " Controller Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: PUID + label: "PUID" + schema: + type: int + default: 568 + required: true + + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: expertpodconf + group: "Container Configuration" + label: "Show Expert Config" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: termination + group: "Container Configuration" + label: "Termination settings" + schema: + type: dict + attrs: + - variable: gracePeriodSeconds + label: "Grace Period Seconds" + schema: + type: int + default: 10 + - variable: podLabelsList + group: "Container Configuration" + label: "Pod Labels" + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: podAnnotationsList + group: "Container Configuration" + label: "Pod Annotations" + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "ClusterIP" + description: "ClusterIP" + - value: "NodePort" + description: "NodePort (Advanced)" + - value: "LoadBalancer" + description: "LoadBalancer (Advanced)" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10120 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 80 + + - variable: serviceexpert + group: "Networking and Services" + label: "Show Expert Config" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + group: "Networking and Services" + label: "Host-Networking (Complicated)" + schema: + type: boolean + default: false + + - variable: dnsPolicy + group: "Networking and Services" + label: "dnsPolicy" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "ClusterFirst" + description: "ClusterFirst" + - value: "ClusterFirstWithHostNet" + description: "ClusterFirstWithHostNet" + - value: "None" + description: "None" + + - variable: dnsConfig + label: "DNS Configuration" + group: "Networking and Services" + description: "Specify custom DNS configuration which will be applied to the pod" + schema: + type: dict + attrs: + - variable: nameservers + label: "Nameservers" + schema: + default: [] + type: list + items: + - variable: nameserver + label: "Nameserver" + schema: + type: string + - variable: options + label: "options" + schema: + default: [] + type: list + items: + - variable: option + label: "Option Entry" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: searches + label: "Searches" + schema: + default: [] + type: list + items: + - variable: search + label: "Search Entry" + schema: + type: string + + - variable: serviceList + label: "Add Manual Custom Services" + group: "Networking and Services" + schema: + type: list + default: [] + items: + - variable: serviceListEntry + label: "Custom Service" + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: portsList + label: "Additional Service Ports" + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: "Custom ports" + schema: + 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: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" + - variable: setPermissionsSimple + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPathSimple + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "999Gi" + - variable: hostPathType + label: "(Advanced) hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: storageClass + label: "(Advanced) storageClass" + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: accessMode + label: "(Advanced) Access Mode" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: advanced + label: "Show Advanced Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name (optional)" + description: "Not required, please set to config when mounting /config or temp when mounting /tmp" + schema: + type: string + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simpleHP" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" + - variable: setPermissionsSimple + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPathSimple + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + required: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "999Gi" + - variable: hostPathType + label: "(Advanced) hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: storageClass + label: "(Advanced) storageClass" + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: accessMode + label: "(Advanced) Access Mode" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: advanced + label: "Show Advanced Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: entrypoint + label: "(Advanced) Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: expert + label: "Show Expert Configuration Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enableFixedMiddlewares + description: "These middlewares enforce a number of best practices." + label: "Enable Default Middlewares" + schema: + type: boolean + default: true + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingressList + label: "Add Manual Custom Ingresses" + group: "Ingress" + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: "Custom Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name" + schema: + type: string + default: "" + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: service + label: "Linked Service" + schema: + type: dict + attrs: + - variable: name + label: "Service Name" + schema: + type: string + default: "" + - variable: port + label: "Service Port" + schema: + type: int + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: advancedSecurity + label: "Show Advanced Security Settings" + group: "Security and Permissions" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - 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 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplemental Groups" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "supplemental Group" + schema: + type: int + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + + + - variable: advancedresources + label: "Set Custom Resource Limits/Requests (Advanced)" + group: "Resources and Devices" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: resources + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "4000m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "8Gi" + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + + - variable: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "Host Device Path" + description: "Path to the device on the host system" + schema: + type: path + - variable: mountPath + label: "Container Device Path" + description: "Path inside the container the device is mounted" + schema: + type: string + default: "/dev/ttyACM0" + + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: autoscaling + group: "Advanced" + label: "(Advanced) Horizontal Pod Autoscaler" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: target + label: "Target" + description: "deployment name, defaults to main deployment" + schema: + type: string + default: "" + - variable: minReplicas + label: "Minimum Replicas" + schema: + type: int + default: 1 + - variable: maxReplicas + label: "Maximum Replicas" + schema: + type: int + default: 5 + - variable: targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + schema: + type: int + default: 80 + - variable: targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + schema: + type: int + default: 80 + + + - variable: addons + group: "Addons" + label: "" + schema: + type: dict + attrs: + - variable: vpn + label: "VPN" + schema: + type: dict + attrs: + - variable: type + label: "Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "disabled" + - value: "openvpn" + description: "OpenVPN" + - value: "wireguard" + description: "Wireguard" + - variable: openvpn + label: "OpenVPN Settings" + schema: + type: dict + show_if: [["type", "=", "openvpn"]] + attrs: + - variable: username + label: "authentication username" + description: "authentication username, optional" + schema: + type: string + default: "" + - variable: password + label: "authentication password" + description: "authentication credentials" + schema: + type: string + default: "" + required: true + - 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 ipv4 addresses" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv6 + label: "IPv6 Network" + schema: + type: string + required: true + + - variable: configFile + label: "VPN Config File Location" + schema: + type: dict + show_if: [["type", "!=", "disabled"]] + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: hostPathType + label: "hostPathType" + schema: + type: string + default: "File" + hidden: true + - variable: noMount + label: "noMount" + schema: + type: boolean + default: true + hidden: true + - variable: hostPath + label: "Full path to file" + description: "path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" + schema: + type: string + default: "" + required: true + - variable: envList + label: "VPN environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true + + - variable: codeserver + label: "Codeserver" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: git + label: "Git Settings" + schema: + type: dict + attrs: + - variable: deployKey + description: "Raw SSH private key" + label: "deployKey" + schema: + type: string + - variable: deployKeyBase64 + description: "Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence" + label: "deployKeyBase64" + schema: + type: string + - variable: service + label: "" + schema: + type: dict + attrs: + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "" + schema: + type: dict + attrs: + - variable: codeserver + label: "" + schema: + type: dict + attrs: + - variable: nodePort + description: "leave empty to disable" + label: "nodePort" + schema: + type: int + default: 36107 + - variable: envList + label: "Codeserver environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true + + + - variable: promtail + label: "Promtail" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: loki + label: "Loki URL" + schema: + type: string + required: true + - variable: logs + label: "Log Paths" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: path + label: "Path" + schema: + type: string + required: true + - variable: args + label: "Promtail ecommand line arguments" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: arg + label: "Arg" + schema: + type: string + required: true + - variable: envList + label: "Promtail environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + 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: + 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: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true diff --git a/incubator/snipe-it/0.0.1/templates/common.yaml b/incubator/snipe-it/0.0.1/templates/common.yaml new file mode 100644 index 00000000000..9705d4f5fa6 --- /dev/null +++ b/incubator/snipe-it/0.0.1/templates/common.yaml @@ -0,0 +1,2 @@ + +{{ include "common.all" . }} diff --git a/incubator/snipe-it/0.0.1/values.yaml b/incubator/snipe-it/0.0.1/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/snipe-it/item.yaml b/incubator/snipe-it/item.yaml new file mode 100644 index 00000000000..7020feda63a --- /dev/null +++ b/incubator/snipe-it/item.yaml @@ -0,0 +1,4 @@ +icon_url: "https://github.com/nicholaswilde/helm-charts/raw/main/images/snipe-it.jpg" +categories: +- management + diff --git a/incubator/xbackbone/0.0.1/CHANGELOG.md b/incubator/xbackbone/0.0.1/CHANGELOG.md new file mode 100644 index 00000000000..f63c3bdee8d --- /dev/null +++ b/incubator/xbackbone/0.0.1/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog
+ + +
+### xbackbone-0.0.1 (2021-11-30) + +#### Feat + +* add a bunch of mariaDB backed Apps ([#1407](https://github.com/truecharts/apps/issues/1407)) + diff --git a/incubator/xbackbone/0.0.1/CONFIG.md b/incubator/xbackbone/0.0.1/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/incubator/xbackbone/0.0.1/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/xbackbone/0.0.1/Chart.lock b/incubator/xbackbone/0.0.1/Chart.lock new file mode 100644 index 00000000000..e2ef864dd69 --- /dev/null +++ b/incubator/xbackbone/0.0.1/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 8.9.4 +- name: mariadb + repository: https://truecharts.org/ + version: 1.0.14 +digest: sha256:5e9e690d8f7e690e1c778c5c0138361783600ee28999056697fd662961cee0a6 +generated: "2021-11-30T13:40:49.387288329Z" diff --git a/incubator/xbackbone/0.0.1/Chart.yaml b/incubator/xbackbone/0.0.1/Chart.yaml new file mode 100644 index 00000000000..c7d788cf11d --- /dev/null +++ b/incubator/xbackbone/0.0.1/Chart.yaml @@ -0,0 +1,31 @@ +apiVersion: v2 +appVersion: "3.3.3" +dependencies: +- name: common + repository: https://truecharts.org + version: 8.9.4 +- condition: mariadb.enabled + name: mariadb + repository: https://truecharts.org/ + version: 1.0.14 +description: "XBackBone is a simple, self-hosted, lightweight PHP file manager" +home: https://github.com/truechartsapps/tree/master/charts/stable/xbackbone +icon: https://github.com/SergiX44/XBackBone/raw/master/.github/xbackbone.png +keywords: +- xbackbone +- xshare +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: xbackbone +sources: +- https://github.com/SergiX44/XBackBone +- https://hub.docker.com/r/pe46dro/xbackbone-docker +version: 0.0.1 +annotations: + truecharts.org/catagories: | + - files + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/incubator/xbackbone/0.0.1/README.md b/incubator/xbackbone/0.0.1/README.md new file mode 100644 index 00000000000..65c7658c777 --- /dev/null +++ b/incubator/xbackbone/0.0.1/README.md @@ -0,0 +1,39 @@ +# Introduction + +XBackBone is a simple, self-hosted, lightweight PHP file manager + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | mariadb | 1.0.14 | +| https://truecharts.org | common | 8.9.4 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +--- +All Rights Reserved - The TrueCharts Project diff --git a/incubator/xbackbone/0.0.1/app-readme.md b/incubator/xbackbone/0.0.1/app-readme.md new file mode 100644 index 00000000000..0c40a2eecf0 --- /dev/null +++ b/incubator/xbackbone/0.0.1/app-readme.md @@ -0,0 +1,3 @@ +XBackBone is a simple, self-hosted, lightweight PHP file manager + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org diff --git a/incubator/xbackbone/0.0.1/charts/common-8.9.4.tgz b/incubator/xbackbone/0.0.1/charts/common-8.9.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..18b7c420165b33d9a284ea7a6b392a10a24e429f GIT binary patch literal 37232 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 U|K-pB4FCZD|EJqzApm#-0MP08Gynhq literal 0 HcmV?d00001 diff --git a/incubator/xbackbone/0.0.1/charts/mariadb-1.0.14.tgz b/incubator/xbackbone/0.0.1/charts/mariadb-1.0.14.tgz new file mode 100644 index 0000000000000000000000000000000000000000..72c7c04a1b46f4860c60a5c947d7d79a9fc260f5 GIT binary patch literal 42679 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

ynz&U0 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 H0Qv&}bh>mc literal 0 HcmV?d00001 diff --git a/incubator/xbackbone/0.0.1/helm-values.md b/incubator/xbackbone/0.0.1/helm-values.md new file mode 100644 index 00000000000..de7922d8527 --- /dev/null +++ b/incubator/xbackbone/0.0.1/helm-values.md @@ -0,0 +1,33 @@ +# Default Helm-Values + +TrueCharts is primarily build to supply TrueNAS SCALE Apps. +However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file. + +Most of our Apps also consume our "common" Helm Chart. +If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart. +You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document. + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| env | object | See below | environment variables. See [image repo](https://github.com/Pe46dro/XBackBone-docker#environment-variables) for more details. | +| envValueFrom.MYSQL_HOST.secretKeyRef.key | string | `"plainhost"` | | +| envValueFrom.MYSQL_HOST.secretKeyRef.name | string | `"mariadbcreds"` | | +| envValueFrom.MYSQL_PASSWORD.secretKeyRef.key | string | `"mariadb-password"` | | +| envValueFrom.MYSQL_PASSWORD.secretKeyRef.name | string | `"mariadbcreds"` | | +| image.pullPolicy | string | `"IfNotPresent"` | | +| image.repository | string | `"pe46dro/xbackbone-docker"` | | +| image.tag | string | `"3.3.3@sha256:09dfe3aa10f61ce1da5e60a282be62f139f267f44a073862feda67cd960fa71e"` | | +| mariadb.enabled | bool | `true` | | +| mariadb.existingSecret | string | `"mariadbcreds"` | | +| mariadb.mariadbDatabase | string | `"xbackbone"` | | +| mariadb.mariadbUsername | string | `"xbackbone"` | | +| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. | +| podSecurityContext.runAsGroup | int | `0` | | +| podSecurityContext.runAsUser | int | `0` | | +| securityContext.readOnlyRootFilesystem | bool | `false` | | +| securityContext.runAsNonRoot | bool | `false` | | +| service | object | See values.yaml | Configures service settings for the chart. | + +All Rights Reserved - The TrueCharts Project diff --git a/incubator/xbackbone/0.0.1/ix_values.yaml b/incubator/xbackbone/0.0.1/ix_values.yaml new file mode 100644 index 00000000000..e4a69eb2799 --- /dev/null +++ b/incubator/xbackbone/0.0.1/ix_values.yaml @@ -0,0 +1,52 @@ +image: + repository: pe46dro/xbackbone-docker + tag: 3.3.3@sha256:09dfe3aa10f61ce1da5e60a282be62f139f267f44a073862feda67cd960fa71e + pullPolicy: IfNotPresent + +securityContext: + runAsNonRoot: false + readOnlyRootFilesystem: false + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +# -- environment variables. See [image repo](https://github.com/Pe46dro/XBackBone-docker#environment-variables) for more details. +# @default -- See below +env: + DB_TYPE: mysql + MYSQL_DATABASE: xbackbone + MYSQL_USER: xbackbone + + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 10121 + targetPort: 80 + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: true + mountPath: /app/config + +envValueFrom: + MYSQL_HOST: + secretKeyRef: + name: mariadbcreds + key: plainhost + MYSQL_PASSWORD: + secretKeyRef: + name: mariadbcreds + key: mariadb-password + +mariadb: + enabled: true + mariadbUsername: xbackbone + mariadbDatabase: xbackbone + existingSecret: "mariadbcreds" diff --git a/incubator/xbackbone/0.0.1/questions.yaml b/incubator/xbackbone/0.0.1/questions.yaml new file mode 100644 index 00000000000..68b71781fa1 --- /dev/null +++ b/incubator/xbackbone/0.0.1/questions.yaml @@ -0,0 +1,1846 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Middlewares" + description: "Traefik Middlewares" + - name: "Metrics" + description: "Metrics" + - name: "Addons" + description: "Addon Configuration" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: global + label: "global settings" + group: "Controller" + schema: + type: dict + hidden: true + attrs: + - variable: isSCALE + label: "flag this is SCALE" + schema: + type: boolean + default: true + hidden: true + + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: advanced + label: "Show Advanced Controller Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: expert + label: "Show Expert Configuration Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: extraArgs + label: "Extra Args" + schema: + type: list + default: [] + items: + - variable: argItem + label: "Arg" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: labelsList + label: "Controller Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: " Controller Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: expertpodconf + group: "Container Configuration" + label: "Show Expert Config" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: termination + group: "Container Configuration" + label: "Termination settings" + schema: + type: dict + attrs: + - variable: gracePeriodSeconds + label: "Grace Period Seconds" + schema: + type: int + default: 10 + - variable: podLabelsList + group: "Container Configuration" + label: "Pod Labels" + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: podAnnotationsList + group: "Container Configuration" + label: "Pod Annotations" + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "ClusterIP" + description: "ClusterIP" + - value: "NodePort" + description: "NodePort (Advanced)" + - value: "LoadBalancer" + description: "LoadBalancer (Advanced)" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10121 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 80 + + - variable: serviceexpert + group: "Networking and Services" + label: "Show Expert Config" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + group: "Networking and Services" + label: "Host-Networking (Complicated)" + schema: + type: boolean + default: false + + - variable: dnsPolicy + group: "Networking and Services" + label: "dnsPolicy" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "ClusterFirst" + description: "ClusterFirst" + - value: "ClusterFirstWithHostNet" + description: "ClusterFirstWithHostNet" + - value: "None" + description: "None" + + - variable: dnsConfig + label: "DNS Configuration" + group: "Networking and Services" + description: "Specify custom DNS configuration which will be applied to the pod" + schema: + type: dict + attrs: + - variable: nameservers + label: "Nameservers" + schema: + default: [] + type: list + items: + - variable: nameserver + label: "Nameserver" + schema: + type: string + - variable: options + label: "options" + schema: + default: [] + type: list + items: + - variable: option + label: "Option Entry" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: searches + label: "Searches" + schema: + default: [] + type: list + items: + - variable: search + label: "Search Entry" + schema: + type: string + + - variable: serviceList + label: "Add Manual Custom Services" + group: "Networking and Services" + schema: + type: list + default: [] + items: + - variable: serviceListEntry + label: "Custom Service" + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: portsList + label: "Additional Service Ports" + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: "Custom ports" + schema: + 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: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" + - variable: setPermissionsSimple + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPathSimple + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/app/config" + hidden: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "999Gi" + - variable: hostPathType + label: "(Advanced) hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: storageClass + label: "(Advanced) storageClass" + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: accessMode + label: "(Advanced) Access Mode" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: advanced + label: "Show Advanced Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name (optional)" + description: "Not required, please set to config when mounting /config or temp when mounting /tmp" + schema: + type: string + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simpleHP" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" + - variable: setPermissionsSimple + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPathSimple + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + required: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "999Gi" + - variable: hostPathType + label: "(Advanced) hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: storageClass + label: "(Advanced) storageClass" + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: accessMode + label: "(Advanced) Access Mode" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: advanced + label: "Show Advanced Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: entrypoint + label: "(Advanced) Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: expert + label: "Show Expert Configuration Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enableFixedMiddlewares + description: "These middlewares enforce a number of best practices." + label: "Enable Default Middlewares" + schema: + type: boolean + default: true + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingressList + label: "Add Manual Custom Ingresses" + group: "Ingress" + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: "Custom Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name" + schema: + type: string + default: "" + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: service + label: "Linked Service" + schema: + type: dict + attrs: + - variable: name + label: "Service Name" + schema: + type: string + default: "" + - variable: port + label: "Service Port" + schema: + type: int + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: advancedSecurity + label: "Show Advanced Security Settings" + group: "Security and Permissions" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - 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 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplemental Groups" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "supplemental Group" + schema: + type: int + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + + + - variable: advancedresources + label: "Set Custom Resource Limits/Requests (Advanced)" + group: "Resources and Devices" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: resources + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "4000m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "8Gi" + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + + - variable: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "Host Device Path" + description: "Path to the device on the host system" + schema: + type: path + - variable: mountPath + label: "Container Device Path" + description: "Path inside the container the device is mounted" + schema: + type: string + default: "/dev/ttyACM0" + + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: autoscaling + group: "Advanced" + label: "(Advanced) Horizontal Pod Autoscaler" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: target + label: "Target" + description: "deployment name, defaults to main deployment" + schema: + type: string + default: "" + - variable: minReplicas + label: "Minimum Replicas" + schema: + type: int + default: 1 + - variable: maxReplicas + label: "Maximum Replicas" + schema: + type: int + default: 5 + - variable: targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + schema: + type: int + default: 80 + - variable: targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + schema: + type: int + default: 80 + + + - variable: addons + group: "Addons" + label: "" + schema: + type: dict + attrs: + - variable: vpn + label: "VPN" + schema: + type: dict + attrs: + - variable: type + label: "Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "disabled" + - value: "openvpn" + description: "OpenVPN" + - value: "wireguard" + description: "Wireguard" + - variable: openvpn + label: "OpenVPN Settings" + schema: + type: dict + show_if: [["type", "=", "openvpn"]] + attrs: + - variable: username + label: "authentication username" + description: "authentication username, optional" + schema: + type: string + default: "" + - variable: password + label: "authentication password" + description: "authentication credentials" + schema: + type: string + default: "" + required: true + - 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 ipv4 addresses" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv6 + label: "IPv6 Network" + schema: + type: string + required: true + + - variable: configFile + label: "VPN Config File Location" + schema: + type: dict + show_if: [["type", "!=", "disabled"]] + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: hostPathType + label: "hostPathType" + schema: + type: string + default: "File" + hidden: true + - variable: noMount + label: "noMount" + schema: + type: boolean + default: true + hidden: true + - variable: hostPath + label: "Full path to file" + description: "path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" + schema: + type: string + default: "" + required: true + - variable: envList + label: "VPN environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true + + - variable: codeserver + label: "Codeserver" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: git + label: "Git Settings" + schema: + type: dict + attrs: + - variable: deployKey + description: "Raw SSH private key" + label: "deployKey" + schema: + type: string + - variable: deployKeyBase64 + description: "Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence" + label: "deployKeyBase64" + schema: + type: string + - variable: service + label: "" + schema: + type: dict + attrs: + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "" + schema: + type: dict + attrs: + - variable: codeserver + label: "" + schema: + type: dict + attrs: + - variable: nodePort + description: "leave empty to disable" + label: "nodePort" + schema: + type: int + default: 36107 + - variable: envList + label: "Codeserver environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true + + + - variable: promtail + label: "Promtail" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: loki + label: "Loki URL" + schema: + type: string + required: true + - variable: logs + label: "Log Paths" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: path + label: "Path" + schema: + type: string + required: true + - variable: args + label: "Promtail ecommand line arguments" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: arg + label: "Arg" + schema: + type: string + required: true + - variable: envList + label: "Promtail environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + 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: + 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: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true diff --git a/incubator/xbackbone/0.0.1/templates/common.yaml b/incubator/xbackbone/0.0.1/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/xbackbone/0.0.1/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/xbackbone/0.0.1/values.yaml b/incubator/xbackbone/0.0.1/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/xbackbone/item.yaml b/incubator/xbackbone/item.yaml new file mode 100644 index 00000000000..ae1c42eb09a --- /dev/null +++ b/incubator/xbackbone/item.yaml @@ -0,0 +1,4 @@ +icon_url: https://github.com/SergiX44/XBackBone/raw/master/.github/xbackbone.png +categories: +- files +

ynz&U0 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 H0Qv&}bh>mc literal 0 HcmV?d00001 diff --git a/incubator/anonaddy/6.0.0/helm-values.md b/incubator/anonaddy/6.0.0/helm-values.md new file mode 100644 index 00000000000..6ca9993178b --- /dev/null +++ b/incubator/anonaddy/6.0.0/helm-values.md @@ -0,0 +1,45 @@ +# Default Helm-Values + +TrueCharts is primarily build to supply TrueNAS SCALE Apps. +However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file. + +Most of our Apps also consume our "common" Helm Chart. +If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart. +You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document. + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| env | object | See below | environment variables. See more environment variables in the [anonaddy documentation](https://github.com/anonaddy/docker#environment-variables). | +| env.ANONADDY_DOMAIN | string | `"chart-example.local"` | Root domain to receive email from | +| envValueFrom.ANONADDY_SECRET.secretKeyRef.key | string | `"secret"` | | +| envValueFrom.ANONADDY_SECRET.secretKeyRef.name | string | `"appkey"` | | +| envValueFrom.APP_KEY.secretKeyRef.key | string | `"appkey"` | | +| envValueFrom.APP_KEY.secretKeyRef.name | string | `"appkey"` | | +| envValueFrom.DB_HOST.secretKeyRef.key | string | `"plainhost"` | | +| envValueFrom.DB_HOST.secretKeyRef.name | string | `"mariadbcreds"` | | +| envValueFrom.DB_PASSWORD.secretKeyRef.key | string | `"mariadb-password"` | | +| envValueFrom.DB_PASSWORD.secretKeyRef.name | string | `"mariadbcreds"` | | +| envValueFrom.REDIS_HOST.secretKeyRef.key | string | `"plainhost"` | | +| envValueFrom.REDIS_HOST.secretKeyRef.name | string | `"rediscreds"` | | +| envValueFrom.REDIS_PASSWORD.secretKeyRef.key | string | `"redis-password"` | | +| envValueFrom.REDIS_PASSWORD.secretKeyRef.name | string | `"rediscreds"` | | +| image.pullPolicy | string | `"IfNotPresent"` | | +| image.repository | string | `"anonaddy/anonaddy"` | | +| image.tag | string | `"0.8.7@sha256:739e9d5953abd6736918559220badb76fcc03d94ff87308a3ca461479a6191fc"` | | +| mariadb.enabled | bool | `true` | | +| mariadb.existingSecret | string | `"mariadbcreds"` | | +| mariadb.mariadbDatabase | string | `"anonaddy"` | | +| mariadb.mariadbUsername | string | `"anonaddy"` | | +| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. | +| podSecurityContext.runAsGroup | int | `0` | | +| podSecurityContext.runAsUser | int | `0` | | +| redis.enabled | bool | `true` | | +| redis.existingSecret | string | `"rediscreds"` | | +| securityContext.readOnlyRootFilesystem | bool | `false` | | +| securityContext.runAsNonRoot | bool | `false` | | +| service | object | See values.yaml | Configures service settings for the chart. | +| strategy.type | string | `"Recreate"` | | + +All Rights Reserved - The TrueCharts Project diff --git a/incubator/anonaddy/6.0.0/ix_values.yaml b/incubator/anonaddy/6.0.0/ix_values.yaml new file mode 100644 index 00000000000..ca02c903740 --- /dev/null +++ b/incubator/anonaddy/6.0.0/ix_values.yaml @@ -0,0 +1,86 @@ +image: + repository: anonaddy/anonaddy + tag: 0.8.7@sha256:739e9d5953abd6736918559220badb76fcc03d94ff87308a3ca461479a6191fc + pullPolicy: IfNotPresent + +strategy: + type: Recreate + +securityContext: + runAsNonRoot: false + readOnlyRootFilesystem: false + + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +# -- environment variables. See more environment variables in the [anonaddy documentation](https://github.com/anonaddy/docker#environment-variables). +# @default -- See below +env: + PUID: 568 + # -- Root domain to receive email from + ANONADDY_DOMAIN: chart-example.local + DB_DATABASE: anonaddy + DB_USERNAME: anonaddy + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 10110 + targetPort: 8000 + smtp: + enabled: true + ports: + smtp: + enabled: true + port: 25 + targetPort: 25 + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + varrun: + enabled: true + config: + enabled: true + +envValueFrom: + DB_HOST: + secretKeyRef: + name: mariadbcreds + key: plainhost + DB_PASSWORD: + secretKeyRef: + name: mariadbcreds + key: mariadb-password + REDIS_HOST: + secretKeyRef: + name: rediscreds + key: plainhost + REDIS_PASSWORD: + secretKeyRef: + name: rediscreds + key: redis-password + APP_KEY: + secretKeyRef: + name: appkey + key: appkey + ANONADDY_SECRET: + secretKeyRef: + name: appkey + key: secret + + +redis: + enabled: true + existingSecret: "rediscreds" + +mariadb: + enabled: true + mariadbUsername: anonaddy + mariadbDatabase: anonaddy + existingSecret: "mariadbcreds" diff --git a/incubator/anonaddy/6.0.0/questions.yaml b/incubator/anonaddy/6.0.0/questions.yaml new file mode 100644 index 00000000000..50e83591fcb --- /dev/null +++ b/incubator/anonaddy/6.0.0/questions.yaml @@ -0,0 +1,1960 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Middlewares" + description: "Traefik Middlewares" + - name: "Metrics" + description: "Metrics" + - name: "Addons" + description: "Addon Configuration" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: global + label: "global settings" + group: "Controller" + schema: + type: dict + hidden: true + attrs: + - variable: isSCALE + label: "flag this is SCALE" + schema: + type: boolean + default: true + hidden: true + + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: advanced + label: "Show Advanced Controller Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: expert + label: "Show Expert Configuration Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: extraArgs + label: "Extra Args" + schema: + type: list + default: [] + items: + - variable: argItem + label: "Arg" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: labelsList + label: "Controller Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: " Controller Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: PUID + label: "PUID" + schema: + type: int + default: 568 + required: true + - variable: ANONADDY_DOMAIN + label: "ANONADDY_DOMAIN" + schema: + type: string + default: "" + required: true + + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: expertpodconf + group: "Container Configuration" + label: "Show Expert Config" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: termination + group: "Container Configuration" + label: "Termination settings" + schema: + type: dict + attrs: + - variable: gracePeriodSeconds + label: "Grace Period Seconds" + schema: + type: int + default: 10 + - variable: podLabelsList + group: "Container Configuration" + label: "Pod Labels" + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: podAnnotationsList + group: "Container Configuration" + label: "Pod Annotations" + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "ClusterIP" + description: "ClusterIP" + - value: "NodePort" + description: "NodePort (Advanced)" + - value: "LoadBalancer" + description: "LoadBalancer (Advanced)" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10110 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 8000 + - variable: smtp + label: "smtp Service" + description: "The smtp service" + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "ClusterIP" + description: "ClusterIP" + - value: "NodePort" + description: "NodePort (Advanced)" + - value: "LoadBalancer" + description: "LoadBalancer (Advanced)" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: smtp + label: "smtp Service Port Configuration" + schema: + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 25 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 25 + + - variable: serviceexpert + group: "Networking and Services" + label: "Show Expert Config" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + group: "Networking and Services" + label: "Host-Networking (Complicated)" + schema: + type: boolean + default: false + + - variable: dnsPolicy + group: "Networking and Services" + label: "dnsPolicy" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "ClusterFirst" + description: "ClusterFirst" + - value: "ClusterFirstWithHostNet" + description: "ClusterFirstWithHostNet" + - value: "None" + description: "None" + + - variable: dnsConfig + label: "DNS Configuration" + group: "Networking and Services" + description: "Specify custom DNS configuration which will be applied to the pod" + schema: + type: dict + attrs: + - variable: nameservers + label: "Nameservers" + schema: + default: [] + type: list + items: + - variable: nameserver + label: "Nameserver" + schema: + type: string + - variable: options + label: "options" + schema: + default: [] + type: list + items: + - variable: option + label: "Option Entry" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: searches + label: "Searches" + schema: + default: [] + type: list + items: + - variable: search + label: "Search Entry" + schema: + type: string + + - variable: serviceList + label: "Add Manual Custom Services" + group: "Networking and Services" + schema: + type: list + default: [] + items: + - variable: serviceListEntry + label: "Custom Service" + schema: + 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "Simple" + enum: + - value: "Simple" + description: "Simple" + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: portsList + label: "Additional Service Ports" + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: "Custom ports" + schema: + 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: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" + - variable: setPermissionsSimple + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPathSimple + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "999Gi" + - variable: hostPathType + label: "(Advanced) hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: storageClass + label: "(Advanced) storageClass" + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: accessMode + label: "(Advanced) Access Mode" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: advanced + label: "Show Advanced Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name (optional)" + description: "Not required, please set to config when mounting /config or temp when mounting /tmp" + schema: + type: string + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simpleHP" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" + - variable: setPermissionsSimple + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPathSimple + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + required: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "999Gi" + - variable: hostPathType + label: "(Advanced) hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: storageClass + label: "(Advanced) storageClass" + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: accessMode + label: "(Advanced) Access Mode" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: advanced + label: "Show Advanced Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: entrypoint + label: "(Advanced) Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: expert + label: "Show Expert Configuration Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enableFixedMiddlewares + description: "These middlewares enforce a number of best practices." + label: "Enable Default Middlewares" + schema: + type: boolean + default: true + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingressList + label: "Add Manual Custom Ingresses" + group: "Ingress" + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: "Custom Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name" + schema: + type: string + default: "" + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: service + label: "Linked Service" + schema: + type: dict + attrs: + - variable: name + label: "Service Name" + schema: + type: string + default: "" + - variable: port + label: "Service Port" + schema: + type: int + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: advancedSecurity + label: "Show Advanced Security Settings" + group: "Security and Permissions" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - 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 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplemental Groups" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "supplemental Group" + schema: + type: int + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + + + - variable: advancedresources + label: "Set Custom Resource Limits/Requests (Advanced)" + group: "Resources and Devices" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: resources + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "4000m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "8Gi" + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + + - variable: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "Host Device Path" + description: "Path to the device on the host system" + schema: + type: path + - variable: mountPath + label: "Container Device Path" + description: "Path inside the container the device is mounted" + schema: + type: string + default: "/dev/ttyACM0" + + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: autoscaling + group: "Advanced" + label: "(Advanced) Horizontal Pod Autoscaler" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: target + label: "Target" + description: "deployment name, defaults to main deployment" + schema: + type: string + default: "" + - variable: minReplicas + label: "Minimum Replicas" + schema: + type: int + default: 1 + - variable: maxReplicas + label: "Maximum Replicas" + schema: + type: int + default: 5 + - variable: targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + schema: + type: int + default: 80 + - variable: targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + schema: + type: int + default: 80 + + + - variable: addons + group: "Addons" + label: "" + schema: + type: dict + attrs: + - variable: vpn + label: "VPN" + schema: + type: dict + attrs: + - variable: type + label: "Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "disabled" + - value: "openvpn" + description: "OpenVPN" + - value: "wireguard" + description: "Wireguard" + - variable: openvpn + label: "OpenVPN Settings" + schema: + type: dict + show_if: [["type", "=", "openvpn"]] + attrs: + - variable: username + label: "authentication username" + description: "authentication username, optional" + schema: + type: string + default: "" + - variable: password + label: "authentication password" + description: "authentication credentials" + schema: + type: string + default: "" + required: true + - 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 ipv4 addresses" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv6 + label: "IPv6 Network" + schema: + type: string + required: true + + - variable: configFile + label: "VPN Config File Location" + schema: + type: dict + show_if: [["type", "!=", "disabled"]] + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: hostPathType + label: "hostPathType" + schema: + type: string + default: "File" + hidden: true + - variable: noMount + label: "noMount" + schema: + type: boolean + default: true + hidden: true + - variable: hostPath + label: "Full path to file" + description: "path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" + schema: + type: string + default: "" + required: true + - variable: envList + label: "VPN environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true + + - variable: codeserver + label: "Codeserver" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: git + label: "Git Settings" + schema: + type: dict + attrs: + - variable: deployKey + description: "Raw SSH private key" + label: "deployKey" + schema: + type: string + - variable: deployKeyBase64 + description: "Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence" + label: "deployKeyBase64" + schema: + type: string + - variable: service + label: "" + schema: + type: dict + attrs: + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "" + schema: + type: dict + attrs: + - variable: codeserver + label: "" + schema: + type: dict + attrs: + - variable: nodePort + description: "leave empty to disable" + label: "nodePort" + schema: + type: int + default: 36107 + - variable: envList + label: "Codeserver environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true + + + - variable: promtail + label: "Promtail" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: loki + label: "Loki URL" + schema: + type: string + required: true + - variable: logs + label: "Log Paths" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: path + label: "Path" + schema: + type: string + required: true + - variable: args + label: "Promtail ecommand line arguments" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: arg + label: "Arg" + schema: + type: string + required: true + - variable: envList + label: "Promtail environment Variables" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + 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: + 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: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + required: true diff --git a/incubator/anonaddy/6.0.0/templates/_appkey.tpl b/incubator/anonaddy/6.0.0/templates/_appkey.tpl new file mode 100644 index 00000000000..ec1780c5cc4 --- /dev/null +++ b/incubator/anonaddy/6.0.0/templates/_appkey.tpl @@ -0,0 +1,28 @@ +{{/* +This template generates a random password and ensures it persists across updates/edits to the chart +*/}} +{{- define "anonaddy.appkey" -}} +--- +apiVersion: v1 +kind: Secret +metadata: + labels: + {{- include "common.labels" . | nindent 4 }} + name: appkey +{{- $keyprevious := lookup "v1" "Secret" .Release.Namespace "appkey" }} +{{- $appkey := "" }} +{{- $secret := "" }} +data: +{{- if $keyprevious }} + {{- $appkey = ( index $keyprevious.data "appkey" ) | b64dec }} + {{- $secret = ( index $keyprevious.data "secret" ) | b64dec }} + appkey: {{ ( index $keyprevious.data "appkey" ) }} + secret: {{ ( index $keyprevious.data "secret" ) }} +{{- else }} + {{- $appkey = randAlphaNum 32 | b64enc }} + {{- $secret = randAlphaNum 32 | b64enc }} + appkey: {{ $appkey | b64enc | quote }} + secret: {{ $secret | b64enc | quote }} +{{- end }} +type: Opaque +{{- end -}} diff --git a/incubator/anonaddy/6.0.0/templates/common.yaml b/incubator/anonaddy/6.0.0/templates/common.yaml new file mode 100644 index 00000000000..74884575af2 --- /dev/null +++ b/incubator/anonaddy/6.0.0/templates/common.yaml @@ -0,0 +1,9 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.setup" . }} + +{{/* Render appkey for anonaddy */}} +{{- include "anonaddy.appkey" . }} + + +{{/* Render the templates */}} +{{ include "common.postSetup" . }} diff --git a/incubator/anonaddy/6.0.0/values.yaml b/incubator/anonaddy/6.0.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/anonaddy/item.yaml b/incubator/anonaddy/item.yaml new file mode 100644 index 00000000000..372b898cf6a --- /dev/null +++ b/incubator/anonaddy/item.yaml @@ -0,0 +1,4 @@ +icon_url: https://avatars.githubusercontent.com/u/51450862?s=200&v=4?sanitize=true +categories: +- email + diff --git a/incubator/blog/0.0.1/CHANGELOG.md b/incubator/blog/0.0.1/CHANGELOG.md new file mode 100644 index 00000000000..332decde84e --- /dev/null +++ b/incubator/blog/0.0.1/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog
+ + +
+### blog-0.0.1 (2021-11-30) + +#### Feat + +* add a bunch of mariaDB backed Apps ([#1407](https://github.com/truecharts/apps/issues/1407)) + diff --git a/incubator/blog/0.0.1/CONFIG.md b/incubator/blog/0.0.1/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/incubator/blog/0.0.1/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/blog/0.0.1/Chart.lock b/incubator/blog/0.0.1/Chart.lock new file mode 100644 index 00000000000..bf8a2a8dc55 --- /dev/null +++ b/incubator/blog/0.0.1/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 8.9.4 +- name: postgresql + repository: https://truecharts.org/ + version: 6.0.10 +digest: sha256:81d1bf19e7e09ccbee6b328031f007534add2e08261034d18b1dab6bdfe5148b +generated: "2021-11-30T13:35:27.026732497Z" diff --git a/incubator/blog/0.0.1/Chart.yaml b/incubator/blog/0.0.1/Chart.yaml new file mode 100644 index 00000000000..4d6a8a744d1 --- /dev/null +++ b/incubator/blog/0.0.1/Chart.yaml @@ -0,0 +1,34 @@ +apiVersion: v2 +appVersion: "latest" +dependencies: +- name: common + repository: https://truecharts.org + version: 8.9.4 +- condition: postgresql.enabled + name: postgresql + repository: https://truecharts.org/ + version: 6.0.10 +description: "Lightweight self-hosted facebook-styled PHP blog." +home: https://github.com/truechartsapps/tree/master/charts/stable/blog +icon: https://demo.photoprism.org/static/img/logo-avatar.svg +keywords: + - blog + - php + - self + - hosted + - facebook +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: blog +sources: + - https://github.com/m1k1o/blog + - https://github.com/nicholaswilde/docker-blog +version: 0.0.1 +annotations: + truecharts.org/catagories: | + - hosting + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/incubator/blog/0.0.1/README.md b/incubator/blog/0.0.1/README.md new file mode 100644 index 00000000000..c9c9e88d028 --- /dev/null +++ b/incubator/blog/0.0.1/README.md @@ -0,0 +1,39 @@ +# Introduction + +Lightweight self-hosted facebook-styled PHP blog. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | postgresql | 6.0.10 | +| https://truecharts.org | common | 8.9.4 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +--- +All Rights Reserved - The TrueCharts Project diff --git a/incubator/blog/0.0.1/app-readme.md b/incubator/blog/0.0.1/app-readme.md new file mode 100644 index 00000000000..e97038f4a4c --- /dev/null +++ b/incubator/blog/0.0.1/app-readme.md @@ -0,0 +1,3 @@ +Lightweight self-hosted facebook-styled PHP blog. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org diff --git a/incubator/blog/0.0.1/charts/common-8.9.4.tgz b/incubator/blog/0.0.1/charts/common-8.9.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..18b7c420165b33d9a284ea7a6b392a10a24e429f GIT binary patch literal 37232 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 U|K-pB4FCZD|EJqzApm#-0MP08Gynhq literal 0 HcmV?d00001 diff --git a/incubator/blog/0.0.1/charts/postgresql-6.0.10.tgz b/incubator/blog/0.0.1/charts/postgresql-6.0.10.tgz new file mode 100644 index 0000000000000000000000000000000000000000..4e83f36d0a6a418f367abc6298bf8a6468198fc4 GIT binary patch literal 45519 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 + + + +### bookstack-0.0.1 (2021-11-30) + +#### Feat + +* add a bunch of mariaDB backed Apps ([#1407](https://github.com/truecharts/apps/issues/1407)) + diff --git a/incubator/bookstack/0.0.1/CONFIG.md b/incubator/bookstack/0.0.1/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/incubator/bookstack/0.0.1/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/bookstack/0.0.1/Chart.lock b/incubator/bookstack/0.0.1/Chart.lock new file mode 100644 index 00000000000..f835c176cda --- /dev/null +++ b/incubator/bookstack/0.0.1/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 8.9.4 +- name: mariadb + repository: https://truecharts.org/ + version: 1.0.14 +digest: sha256:5e9e690d8f7e690e1c778c5c0138361783600ee28999056697fd662961cee0a6 +generated: "2021-11-30T13:36:06.838080707Z" diff --git a/incubator/bookstack/0.0.1/Chart.yaml b/incubator/bookstack/0.0.1/Chart.yaml new file mode 100644 index 00000000000..737563cea22 --- /dev/null +++ b/incubator/bookstack/0.0.1/Chart.yaml @@ -0,0 +1,35 @@ +apiVersion: v2 +appVersion: "21.11.1" +dependencies: +- name: common + repository: https://truecharts.org + version: 8.9.4 +- condition: mariadb.enabled + name: mariadb + repository: https://truecharts.org/ + version: 1.0.14 +description: "A simple, self-hosted, easy-to-use platform for organising and storing information." +home: https://github.com/truechartsapps/tree/master/charts/stable/bookstack +icon: https://avatars3.githubusercontent.com/u/20912696?s=400&v=4?sanitize=true +keywords: + - bookstack + - book + - stack + - organizer + - server + - hosted +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: bookstack +sources: + - https://www.bookstackapp.com/ + - https://hub.docker.com/r/linuxserver/bookstack +version: 0.0.1 +annotations: + truecharts.org/catagories: | + - media + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/incubator/bookstack/0.0.1/README.md b/incubator/bookstack/0.0.1/README.md new file mode 100644 index 00000000000..34c14ae3d27 --- /dev/null +++ b/incubator/bookstack/0.0.1/README.md @@ -0,0 +1,39 @@ +# Introduction + +A simple, self-hosted, easy-to-use platform for organising and storing information. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | mariadb | 1.0.14 | +| https://truecharts.org | common | 8.9.4 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +--- +All Rights Reserved - The TrueCharts Project diff --git a/incubator/bookstack/0.0.1/app-readme.md b/incubator/bookstack/0.0.1/app-readme.md new file mode 100644 index 00000000000..ce5dab00db5 --- /dev/null +++ b/incubator/bookstack/0.0.1/app-readme.md @@ -0,0 +1,3 @@ +A simple, self-hosted, easy-to-use platform for organising and storing information. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org diff --git a/incubator/bookstack/0.0.1/charts/common-8.9.4.tgz b/incubator/bookstack/0.0.1/charts/common-8.9.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..18b7c420165b33d9a284ea7a6b392a10a24e429f GIT binary patch literal 37232 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 U|K-pB4FCZD|EJqzApm#-0MP08Gynhq literal 0 HcmV?d00001 diff --git a/incubator/bookstack/0.0.1/charts/mariadb-1.0.14.tgz b/incubator/bookstack/0.0.1/charts/mariadb-1.0.14.tgz new file mode 100644 index 0000000000000000000000000000000000000000..72c7c04a1b46f4860c60a5c947d7d79a9fc260f5 GIT binary patch literal 42679 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