From 433b148de2ab22b79060199567c36e3dbc741b9a Mon Sep 17 00:00:00 2001 From: Kjeld Schouten-Lebbing Date: Sat, 24 Sep 2022 23:55:59 +0200 Subject: [PATCH] chore(enterprise): remove most enterprise apps for now --- charts/enterprise/littlelink/.helmignore | 30 - charts/enterprise/littlelink/CHANGELOG.md | 2012 ------------- charts/enterprise/littlelink/Chart.yaml | 29 - charts/enterprise/littlelink/README.md | 107 - charts/enterprise/littlelink/icon.png | Bin 4999 -> 0 bytes charts/enterprise/littlelink/questions.yaml | 431 --- .../littlelink/templates/_configmap.tpl | 199 -- .../littlelink/templates/common.yaml | 8 - charts/enterprise/littlelink/values.yaml | 39 - charts/enterprise/nextcloud/.helmignore | 30 - charts/enterprise/nextcloud/CHANGELOG.md | 2547 ----------------- charts/enterprise/nextcloud/Chart.yaml | 45 - charts/enterprise/nextcloud/README.md | 110 - .../enterprise/nextcloud/ci/basic-values.yaml | 11 - .../nextcloud/docs/images/dataset.png | Bin 32538 -> 0 bytes .../nextcloud/docs/images/ingress1.png | Bin 24319 -> 0 bytes .../nextcloud/docs/images/ingress2.png | Bin 33899 -> 0 bytes .../nextcloud/docs/images/nextcloud.png | Bin 24298 -> 0 bytes .../nextcloud/docs/images/storage.png | Bin 34024 -> 0 bytes .../enterprise/nextcloud/docs/installation.md | 100 - .../nextcloud/docs/installation_notes.md | 27 - .../nextcloud/docs/migration_guide.md | 27 - .../enterprise/nextcloud/docs/validation.md | 13 - charts/enterprise/nextcloud/icon.png | Bin 17632 -> 0 bytes charts/enterprise/nextcloud/questions.yaml | 347 --- .../nextcloud/templates/_configmap.tpl | 36 - .../nextcloud/templates/_cronjob.tpl | 64 - .../enterprise/nextcloud/templates/_hpb.tpl | 164 -- .../nextcloud/templates/_imaginary.tpl | 40 - .../enterprise/nextcloud/templates/_nginx.tpl | 54 - .../nextcloud/templates/common.yaml | 22 - charts/enterprise/nextcloud/values.yaml | 457 --- charts/enterprise/traefik/.helmignore | 30 - charts/enterprise/traefik/CHANGELOG.md | 1551 ---------- charts/enterprise/traefik/Chart.yaml | 31 - charts/enterprise/traefik/README.md | 108 - .../enterprise/traefik/crds/ingressroute.yaml | 209 -- .../traefik/crds/ingressroutetcp.yaml | 169 -- .../traefik/crds/ingressrouteudp.yaml | 87 - .../enterprise/traefik/crds/middlewares.yaml | 587 ---- .../traefik/crds/middlewarestcp.yaml | 61 - .../traefik/crds/serverstransports.yaml | 108 - .../enterprise/traefik/crds/tlsoptions.yaml | 92 - charts/enterprise/traefik/crds/tlsstores.yaml | 68 - .../traefik/crds/traefikservices.yaml | 289 -- charts/enterprise/traefik/docs/how-to.md | 68 - .../traefik/docs/img/traefik-theme-after.png | Bin 65968 -> 0 bytes .../traefik/docs/img/traefik-theme-app.png | Bin 14618 -> 0 bytes .../traefik/docs/img/traefik-theme-before.png | Bin 52201 -> 0 bytes .../traefik/docs/img/traefik-theme-fields.png | Bin 40208 -> 0 bytes .../traefik/docs/theme-park-middleware.md | 44 - charts/enterprise/traefik/icon.png | Bin 20293 -> 0 bytes charts/enterprise/traefik/questions.yaml | 772 ----- charts/enterprise/traefik/templates/_args.tpl | 166 -- .../enterprise/traefik/templates/_helpers.tpl | 22 - .../traefik/templates/_ingressclass.tpl | 24 - .../traefik/templates/_ingressroute.tpl | 25 - .../traefik/templates/_portalhook.tpl | 26 - .../traefik/templates/_tlsoptions.tpl | 12 - .../enterprise/traefik/templates/common.yaml | 24 - .../middlewares/basic-middleware.yaml | 62 - .../templates/middlewares/basicauth.yaml | 34 - .../traefik/templates/middlewares/chain.yaml | 21 - .../templates/middlewares/forwardauth.yaml | 30 - .../templates/middlewares/ipwhitelist.yaml | 33 - .../templates/middlewares/ratelimit.yaml | 19 - .../templates/middlewares/redirectScheme.yaml | 19 - .../templates/middlewares/redirectregex.yaml | 20 - .../middlewares/stripPrefixRegex.yaml | 20 - .../templates/middlewares/tc-chains.yaml | 29 - .../templates/middlewares/tc-headers.yaml | 62 - .../templates/middlewares/tc-nextcloud.yaml | 25 - .../templates/middlewares/theme-park.yaml | 26 - charts/enterprise/traefik/values.yaml | 387 --- charts/enterprise/truecommand/.helmignore | 30 - charts/enterprise/truecommand/CHANGELOG.md | 1415 --------- charts/enterprise/truecommand/Chart.yaml | 28 - charts/enterprise/truecommand/README.md | 106 - charts/enterprise/truecommand/icon.png | Bin 20815 -> 0 bytes charts/enterprise/truecommand/questions.yaml | 119 - .../truecommand/templates/common.yaml | 1 - charts/enterprise/truecommand/values.yaml | 27 - charts/enterprise/vaultwarden/.helmignore | 30 - charts/enterprise/vaultwarden/CHANGELOG.md | 1852 ------------ charts/enterprise/vaultwarden/Chart.yaml | 37 - charts/enterprise/vaultwarden/README.md | 107 - .../vaultwarden/ci/default-values.yaml | 0 .../vaultwarden/ci/ingress-values.yaml | 7 - charts/enterprise/vaultwarden/icon.png | Bin 6851 -> 0 bytes charts/enterprise/vaultwarden/questions.yaml | 443 --- .../vaultwarden/templates/_configmap.tpl | 116 - .../vaultwarden/templates/_secrets.tpl | 36 - .../vaultwarden/templates/_validate.tpl | 17 - .../vaultwarden/templates/common.yaml | 39 - charts/enterprise/vaultwarden/values.yaml | 159 - 95 files changed, 16878 deletions(-) delete mode 100644 charts/enterprise/littlelink/.helmignore delete mode 100644 charts/enterprise/littlelink/CHANGELOG.md delete mode 100644 charts/enterprise/littlelink/Chart.yaml delete mode 100644 charts/enterprise/littlelink/README.md delete mode 100644 charts/enterprise/littlelink/icon.png delete mode 100644 charts/enterprise/littlelink/questions.yaml delete mode 100644 charts/enterprise/littlelink/templates/_configmap.tpl delete mode 100644 charts/enterprise/littlelink/templates/common.yaml delete mode 100644 charts/enterprise/littlelink/values.yaml delete mode 100644 charts/enterprise/nextcloud/.helmignore delete mode 100644 charts/enterprise/nextcloud/CHANGELOG.md delete mode 100644 charts/enterprise/nextcloud/Chart.yaml delete mode 100644 charts/enterprise/nextcloud/README.md delete mode 100644 charts/enterprise/nextcloud/ci/basic-values.yaml delete mode 100644 charts/enterprise/nextcloud/docs/images/dataset.png delete mode 100644 charts/enterprise/nextcloud/docs/images/ingress1.png delete mode 100644 charts/enterprise/nextcloud/docs/images/ingress2.png delete mode 100644 charts/enterprise/nextcloud/docs/images/nextcloud.png delete mode 100644 charts/enterprise/nextcloud/docs/images/storage.png delete mode 100644 charts/enterprise/nextcloud/docs/installation.md delete mode 100644 charts/enterprise/nextcloud/docs/installation_notes.md delete mode 100644 charts/enterprise/nextcloud/docs/migration_guide.md delete mode 100644 charts/enterprise/nextcloud/docs/validation.md delete mode 100644 charts/enterprise/nextcloud/icon.png delete mode 100644 charts/enterprise/nextcloud/questions.yaml delete mode 100644 charts/enterprise/nextcloud/templates/_configmap.tpl delete mode 100644 charts/enterprise/nextcloud/templates/_cronjob.tpl delete mode 100644 charts/enterprise/nextcloud/templates/_hpb.tpl delete mode 100644 charts/enterprise/nextcloud/templates/_imaginary.tpl delete mode 100644 charts/enterprise/nextcloud/templates/_nginx.tpl delete mode 100644 charts/enterprise/nextcloud/templates/common.yaml delete mode 100644 charts/enterprise/nextcloud/values.yaml delete mode 100644 charts/enterprise/traefik/.helmignore delete mode 100644 charts/enterprise/traefik/CHANGELOG.md delete mode 100644 charts/enterprise/traefik/Chart.yaml delete mode 100644 charts/enterprise/traefik/README.md delete mode 100644 charts/enterprise/traefik/crds/ingressroute.yaml delete mode 100644 charts/enterprise/traefik/crds/ingressroutetcp.yaml delete mode 100644 charts/enterprise/traefik/crds/ingressrouteudp.yaml delete mode 100644 charts/enterprise/traefik/crds/middlewares.yaml delete mode 100644 charts/enterprise/traefik/crds/middlewarestcp.yaml delete mode 100644 charts/enterprise/traefik/crds/serverstransports.yaml delete mode 100644 charts/enterprise/traefik/crds/tlsoptions.yaml delete mode 100644 charts/enterprise/traefik/crds/tlsstores.yaml delete mode 100644 charts/enterprise/traefik/crds/traefikservices.yaml delete mode 100644 charts/enterprise/traefik/docs/how-to.md delete mode 100644 charts/enterprise/traefik/docs/img/traefik-theme-after.png delete mode 100644 charts/enterprise/traefik/docs/img/traefik-theme-app.png delete mode 100644 charts/enterprise/traefik/docs/img/traefik-theme-before.png delete mode 100644 charts/enterprise/traefik/docs/img/traefik-theme-fields.png delete mode 100644 charts/enterprise/traefik/docs/theme-park-middleware.md delete mode 100644 charts/enterprise/traefik/icon.png delete mode 100644 charts/enterprise/traefik/questions.yaml delete mode 100644 charts/enterprise/traefik/templates/_args.tpl delete mode 100644 charts/enterprise/traefik/templates/_helpers.tpl delete mode 100644 charts/enterprise/traefik/templates/_ingressclass.tpl delete mode 100644 charts/enterprise/traefik/templates/_ingressroute.tpl delete mode 100644 charts/enterprise/traefik/templates/_portalhook.tpl delete mode 100644 charts/enterprise/traefik/templates/_tlsoptions.tpl delete mode 100644 charts/enterprise/traefik/templates/common.yaml delete mode 100644 charts/enterprise/traefik/templates/middlewares/basic-middleware.yaml delete mode 100644 charts/enterprise/traefik/templates/middlewares/basicauth.yaml delete mode 100644 charts/enterprise/traefik/templates/middlewares/chain.yaml delete mode 100644 charts/enterprise/traefik/templates/middlewares/forwardauth.yaml delete mode 100644 charts/enterprise/traefik/templates/middlewares/ipwhitelist.yaml delete mode 100644 charts/enterprise/traefik/templates/middlewares/ratelimit.yaml delete mode 100644 charts/enterprise/traefik/templates/middlewares/redirectScheme.yaml delete mode 100644 charts/enterprise/traefik/templates/middlewares/redirectregex.yaml delete mode 100644 charts/enterprise/traefik/templates/middlewares/stripPrefixRegex.yaml delete mode 100644 charts/enterprise/traefik/templates/middlewares/tc-chains.yaml delete mode 100644 charts/enterprise/traefik/templates/middlewares/tc-headers.yaml delete mode 100644 charts/enterprise/traefik/templates/middlewares/tc-nextcloud.yaml delete mode 100644 charts/enterprise/traefik/templates/middlewares/theme-park.yaml delete mode 100644 charts/enterprise/traefik/values.yaml delete mode 100644 charts/enterprise/truecommand/.helmignore delete mode 100644 charts/enterprise/truecommand/CHANGELOG.md delete mode 100644 charts/enterprise/truecommand/Chart.yaml delete mode 100644 charts/enterprise/truecommand/README.md delete mode 100644 charts/enterprise/truecommand/icon.png delete mode 100644 charts/enterprise/truecommand/questions.yaml delete mode 100644 charts/enterprise/truecommand/templates/common.yaml delete mode 100644 charts/enterprise/truecommand/values.yaml delete mode 100644 charts/enterprise/vaultwarden/.helmignore delete mode 100644 charts/enterprise/vaultwarden/CHANGELOG.md delete mode 100644 charts/enterprise/vaultwarden/Chart.yaml delete mode 100644 charts/enterprise/vaultwarden/README.md delete mode 100644 charts/enterprise/vaultwarden/ci/default-values.yaml delete mode 100644 charts/enterprise/vaultwarden/ci/ingress-values.yaml delete mode 100644 charts/enterprise/vaultwarden/icon.png delete mode 100644 charts/enterprise/vaultwarden/questions.yaml delete mode 100644 charts/enterprise/vaultwarden/templates/_configmap.tpl delete mode 100644 charts/enterprise/vaultwarden/templates/_secrets.tpl delete mode 100644 charts/enterprise/vaultwarden/templates/_validate.tpl delete mode 100644 charts/enterprise/vaultwarden/templates/common.yaml delete mode 100644 charts/enterprise/vaultwarden/values.yaml diff --git a/charts/enterprise/littlelink/.helmignore b/charts/enterprise/littlelink/.helmignore deleted file mode 100644 index 77ca5567b26..00000000000 --- a/charts/enterprise/littlelink/.helmignore +++ /dev/null @@ -1,30 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ -# OWNERS file for Kubernetes -OWNERS -# helm-docs templates -*.gotmpl -# docs folder -/docs -# icon -icon.png diff --git a/charts/enterprise/littlelink/CHANGELOG.md b/charts/enterprise/littlelink/CHANGELOG.md deleted file mode 100644 index 1cbf3cd8fc2..00000000000 --- a/charts/enterprise/littlelink/CHANGELOG.md +++ /dev/null @@ -1,2012 +0,0 @@ -# Changelog - - - -## [littlelink-7.0.0](https://github.com/truecharts/charts/compare/littlelink-6.0.65...littlelink-7.0.0) (2022-09-24) - -### Chore - -- Auto-update chart README [skip ci] - - bump major on new enterprise app to seperate helm updates - - Add a copy of Initial Apps selected for Enterprise Train ([#3749](https://github.com/truecharts/charts/issues/3749)) - - - - -## [littlelink-6.0.65](https://github.com/truecharts/charts/compare/littlelink-6.0.62...littlelink-6.0.65) (2022-09-22) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update docker general non-major ([#3818](https://github.com/truecharts/charts/issues/3818)) - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update docker general non-major ([#3839](https://github.com/truecharts/charts/issues/3839)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [littlelink-6.0.65](https://github.com/truecharts/charts/compare/littlelink-6.0.62...littlelink-6.0.65) (2022-09-22) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update docker general non-major ([#3839](https://github.com/truecharts/charts/issues/3839)) - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update docker general non-major ([#3818](https://github.com/truecharts/charts/issues/3818)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [littlelink-6.0.64](https://github.com/truecharts/charts/compare/littlelink-6.0.62...littlelink-6.0.64) (2022-09-21) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update docker general non-major ([#3818](https://github.com/truecharts/charts/issues/3818)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [littlelink-6.0.64](https://github.com/truecharts/charts/compare/littlelink-6.0.62...littlelink-6.0.64) (2022-09-20) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update docker general non-major ([#3818](https://github.com/truecharts/charts/issues/3818)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [littlelink-6.0.64](https://github.com/truecharts/charts/compare/littlelink-6.0.62...littlelink-6.0.64) (2022-09-20) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update docker general non-major ([#3818](https://github.com/truecharts/charts/issues/3818)) - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [littlelink-6.0.63](https://github.com/truecharts/charts/compare/littlelink-6.0.62...littlelink-6.0.63) (2022-09-19) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [littlelink-6.0.63](https://github.com/truecharts/charts/compare/littlelink-6.0.62...littlelink-6.0.63) (2022-09-19) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [littlelink-6.0.63](https://github.com/truecharts/charts/compare/littlelink-6.0.62...littlelink-6.0.63) (2022-09-19) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [littlelink-6.0.63](https://github.com/truecharts/charts/compare/littlelink-6.0.62...littlelink-6.0.63) (2022-09-17) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [littlelink-6.0.63](https://github.com/truecharts/charts/compare/littlelink-6.0.62...littlelink-6.0.63) (2022-09-18) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [littlelink-6.0.63](https://github.com/truecharts/charts/compare/littlelink-6.0.62...littlelink-6.0.63) (2022-09-16) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [littlelink-6.0.63](https://github.com/truecharts/charts/compare/littlelink-6.0.62...littlelink-6.0.63) (2022-09-16) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [littlelink-6.0.63](https://github.com/truecharts/charts/compare/littlelink-6.0.62...littlelink-6.0.63) (2022-09-15) - -### Chore - -- Auto-update chart README [skip ci] - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [littlelink-6.0.63](https://github.com/truecharts/charts/compare/littlelink-6.0.62...littlelink-6.0.63) (2022-09-15) - -### Chore - -- update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [littlelink-6.0.62](https://github.com/truecharts/charts/compare/littlelink-6.0.61...littlelink-6.0.62) (2022-09-12) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - update docker general non-major ([#3736](https://github.com/truecharts/charts/issues/3736)) - - - - -## [littlelink-6.0.62](https://github.com/truecharts/charts/compare/littlelink-6.0.61...littlelink-6.0.62) (2022-09-12) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - update docker general non-major ([#3736](https://github.com/truecharts/charts/issues/3736)) - - - - -## [littlelink-6.0.62](https://github.com/truecharts/charts/compare/littlelink-6.0.61...littlelink-6.0.62) (2022-09-11) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - update docker general non-major ([#3736](https://github.com/truecharts/charts/issues/3736)) - - - - -## [littlelink-6.0.62](https://github.com/truecharts/charts/compare/littlelink-6.0.61...littlelink-6.0.62) (2022-09-11) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - update docker general non-major ([#3736](https://github.com/truecharts/charts/issues/3736)) - - - - -## [littlelink-6.0.62](https://github.com/truecharts/charts/compare/littlelink-6.0.61...littlelink-6.0.62) (2022-09-11) - -### Chore - -- Auto-update chart README [skip ci] - - update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - update docker general non-major ([#3736](https://github.com/truecharts/charts/issues/3736)) - - - - -## [littlelink-6.0.62](https://github.com/truecharts/charts/compare/littlelink-6.0.61...littlelink-6.0.62) (2022-09-11) - -### Chore - -- update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - update docker general non-major ([#3736](https://github.com/truecharts/charts/issues/3736)) - - - - -## [littlelink-6.0.61](https://github.com/truecharts/charts/compare/littlelink-6.0.60...littlelink-6.0.61) (2022-09-10) - -### Chore - -- update docker general non-major ([#3727](https://github.com/truecharts/charts/issues/3727)) - - - - -## [littlelink-6.0.60](https://github.com/truecharts/charts/compare/littlelink-6.0.59...littlelink-6.0.60) (2022-09-01) - -### Chore - -- update docker general non-major ([#3649](https://github.com/truecharts/charts/issues/3649)) - - - - -## [littlelink-6.0.59](https://github.com/truecharts/charts/compare/littlelink-6.0.58...littlelink-6.0.59) (2022-08-31) - -### Chore - -- update docker general non-major ([#3640](https://github.com/truecharts/charts/issues/3640)) - - - - -## [littlelink-6.0.58](https://github.com/truecharts/charts/compare/littlelink-6.0.56...littlelink-6.0.58) (2022-08-30) - -### Chore - -- Auto-update chart README [skip ci] - - update helm general non-major ([#3639](https://github.com/truecharts/charts/issues/3639)) - - update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) - - - - -## [littlelink-6.0.57](https://github.com/truecharts/charts/compare/littlelink-6.0.56...littlelink-6.0.57) (2022-08-30) - -### Chore - -- update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) - - - - -## [littlelink-6.0.56](https://github.com/truecharts/charts/compare/littlelink-6.0.55...littlelink-6.0.56) (2022-08-30) - -### Chore - -- update docker general non-major ([#3623](https://github.com/truecharts/charts/issues/3623)) - - - - -## [littlelink-6.0.55](https://github.com/truecharts/charts/compare/littlelink-6.0.53...littlelink-6.0.55) (2022-08-29) - -### Chore - -- update docker general non-major ([#3620](https://github.com/truecharts/charts/issues/3620)) - - update helm general non-major ([#3619](https://github.com/truecharts/charts/issues/3619)) - - - - -## [littlelink-6.0.53](https://github.com/truecharts/charts/compare/littlelink-6.0.52...littlelink-6.0.53) (2022-08-27) - -### Chore - -- update docker general non-major ([#3587](https://github.com/truecharts/charts/issues/3587)) - - - - -## [littlelink-6.0.52](https://github.com/truecharts/charts/compare/littlelink-6.0.51...littlelink-6.0.52) (2022-08-23) - -### Chore - -- update helm general non-major helm releases ([#3545](https://github.com/truecharts/charts/issues/3545)) - - - - -## [littlelink-6.0.51](https://github.com/truecharts/charts/compare/littlelink-6.0.50...littlelink-6.0.51) (2022-08-23) - -### Chore - -- update docker general non-major docker tags ([#3544](https://github.com/truecharts/charts/issues/3544)) - - - - -## [littlelink-6.0.50](https://github.com/truecharts/charts/compare/littlelink-6.0.49...littlelink-6.0.50) (2022-08-20) - -### Chore - -- update docker general non-major docker tags ([#3518](https://github.com/truecharts/charts/issues/3518)) - - - - -## [littlelink-6.0.49](https://github.com/truecharts/charts/compare/littlelink-6.0.48...littlelink-6.0.49) (2022-08-17) - -### Chore - -- update docker general non-major ([#3478](https://github.com/truecharts/charts/issues/3478)) - - - - -## [littlelink-6.0.48](https://github.com/truecharts/charts/compare/littlelink-6.0.47...littlelink-6.0.48) (2022-08-14) - -### Chore - -- update docker general non-major docker tags ([#3465](https://github.com/truecharts/charts/issues/3465)) - - - - -## [littlelink-6.0.47](https://github.com/truecharts/charts/compare/littlelink-6.0.46...littlelink-6.0.47) (2022-08-12) - -### Chore - -- add documentation checkbox/section to all SCALE Apps - - update helm general non-major helm releases ([#3456](https://github.com/truecharts/charts/issues/3456)) - - ### Fix - -- move extraArgs from .Values.controller to .Values ([#3447](https://github.com/truecharts/charts/issues/3447)) - - - - -## [littlelink-6.0.46](https://github.com/truecharts/charts/compare/littlelink-6.0.45...littlelink-6.0.46) (2022-08-10) - -### Chore - -- update docker general non-major ([#3421](https://github.com/truecharts/charts/issues/3421)) - - - - -## [littlelink-6.0.45](https://github.com/truecharts/charts/compare/littlelink-6.0.43...littlelink-6.0.45) (2022-08-08) - -### Chore - -- update helm general non-major helm releases ([#3376](https://github.com/truecharts/charts/issues/3376)) - - update docker general non-major ([#3356](https://github.com/truecharts/charts/issues/3356)) - - replace questions parts with templates ([#3402](https://github.com/truecharts/charts/issues/3402)) - - - - -## [littlelink-6.0.43](https://github.com/truecharts/apps/compare/littlelink-6.0.42...littlelink-6.0.43) (2022-07-29) - -### Chore - -- update docker general non-major ([#3339](https://github.com/truecharts/apps/issues/3339)) - - - - -## [littlelink-6.0.42](https://github.com/truecharts/apps/compare/littlelink-6.0.41...littlelink-6.0.42) (2022-07-27) - -### Chore - -- update docker general non-major ([#3313](https://github.com/truecharts/apps/issues/3313)) - - - - -## [littlelink-6.0.41](https://github.com/truecharts/apps/compare/littlelink-6.0.40...littlelink-6.0.41) (2022-07-26) - -### Chore - -- update home links ([#3291](https://github.com/truecharts/apps/issues/3291)) - - update helm general non-major helm releases ([#3302](https://github.com/truecharts/apps/issues/3302)) - - - - -## [littlelink-6.0.40](https://github.com/truecharts/apps/compare/littlelink-6.0.39...littlelink-6.0.40) (2022-07-25) - -### Chore - -- Auto-update chart README [skip ci] - - update docker general non-major ([#3295](https://github.com/truecharts/apps/issues/3295)) - - - - -## [littlelink-6.0.40](https://github.com/truecharts/apps/compare/littlelink-6.0.39...littlelink-6.0.40) (2022-07-25) - -### Chore - -- update docker general non-major ([#3295](https://github.com/truecharts/apps/issues/3295)) - - - - -## [littlelink-6.0.39](https://github.com/truecharts/apps/compare/littlelink-6.0.38...littlelink-6.0.39) (2022-07-25) - -### Chore - -- update docker general non-major ([#3290](https://github.com/truecharts/apps/issues/3290)) - - - - -## [littlelink-6.0.38](https://github.com/truecharts/apps/compare/littlelink-6.0.36...littlelink-6.0.38) (2022-07-24) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update docker general non-major ([#3284](https://github.com/truecharts/apps/issues/3284)) - - update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280)) - - - - -## [littlelink-6.0.37](https://github.com/truecharts/apps/compare/littlelink-6.0.36...littlelink-6.0.37) (2022-07-23) - -### Chore - -- Auto-update chart README [skip ci] - - update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280)) - - - - -## [littlelink-6.0.37](https://github.com/truecharts/apps/compare/littlelink-6.0.36...littlelink-6.0.37) (2022-07-23) - -### Chore - -- update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280)) - - - - -## [littlelink-6.0.36](https://github.com/truecharts/apps/compare/littlelink-6.0.34...littlelink-6.0.36) (2022-07-22) - -### Chore - -- Bump all charts to generate config and container references due to huge increase of repository - - update helm general non-major helm releases ([#3268](https://github.com/truecharts/apps/issues/3268)) - - update docker general non-major ([#3266](https://github.com/truecharts/apps/issues/3266)) - - - -## [littlelink-6.0.34](https://github.com/truecharts/apps/compare/littlelink-6.0.33...littlelink-6.0.34) (2022-07-20) - -### Chore - -- update docker general non-major ([#3222](https://github.com/truecharts/apps/issues/3222)) - - - -## [littlelink-6.0.33](https://github.com/truecharts/apps/compare/littlelink-6.0.32...littlelink-6.0.33) (2022-07-19) - -### Chore - -- Update Readme and Description on SCALE - - - -## [littlelink-6.0.32](https://github.com/truecharts/apps/compare/littlelink-6.0.31...littlelink-6.0.32) (2022-07-16) - -### Chore - -- update docker general non-major ([#3192](https://github.com/truecharts/apps/issues/3192)) - - - -## [littlelink-6.0.31](https://github.com/truecharts/apps/compare/littlelink-6.0.30...littlelink-6.0.31) (2022-07-14) - -### Fix - -- regenerate catalog and update template - - - -## [littlelink-6.0.30](https://github.com/truecharts/apps/compare/littlelink-6.0.28...littlelink-6.0.30) (2022-07-14) - -### Fix - -- bump to ensure .helmignore is present on all Charts - - - -## [littlelink-6.0.28](https://github.com/truecharts/apps/compare/littlelink-6.0.26...littlelink-6.0.28) (2022-07-12) - -### Chore - -- update icons ([#3156](https://github.com/truecharts/apps/issues/3156)) -- bump to cleanup old docs and use correct icon urls - - - -## [littlelink-6.0.26](https://github.com/truecharts/apps/compare/littlelink-6.0.25...littlelink-6.0.26) (2022-07-12) - -### Chore - -- bump to regenerate documentation - - - - -### [littlelink-6.0.25](https://github.com/truecharts/apps/compare/littlelink-6.0.24...littlelink-6.0.25) (2022-07-12) - -#### Chore - -* update helm general non-major helm releases ([#3147](https://github.com/truecharts/apps/issues/3147)) - - - - -### [littlelink-6.0.24](https://github.com/truecharts/apps/compare/littlelink-6.0.23...littlelink-6.0.24) (2022-07-11) - -#### Chore - -* move icons into the apps folder ([#3139](https://github.com/truecharts/apps/issues/3139)) - - - - -### [littlelink-6.0.23](https://github.com/truecharts/apps/compare/littlelink-6.0.22...littlelink-6.0.23) (2022-07-11) - -#### Chore - -* update docker general non-major ([#3128](https://github.com/truecharts/apps/issues/3128)) - - - - -### [littlelink-6.0.22](https://github.com/truecharts/apps/compare/littlelink-6.0.21...littlelink-6.0.22) (2022-07-10) - -#### Chore - -* update docker general non-major ([#3115](https://github.com/truecharts/apps/issues/3115)) - - - - -### [littlelink-6.0.21](https://github.com/truecharts/apps/compare/littlelink-6.0.20...littlelink-6.0.21) (2022-07-09) - -#### Chore - -* update helm general non-major helm releases ([#3113](https://github.com/truecharts/apps/issues/3113)) - - - - -### [littlelink-6.0.20](https://github.com/truecharts/apps/compare/littlelink-6.0.19...littlelink-6.0.20) (2022-07-07) - -#### Chore - -* update docker general non-major ([#3089](https://github.com/truecharts/apps/issues/3089)) - - - - -### [littlelink-6.0.19](https://github.com/truecharts/apps/compare/littlelink-6.0.18...littlelink-6.0.19) (2022-07-06) - -#### Chore - -* update docker general non-major ([#3078](https://github.com/truecharts/apps/issues/3078)) - - - - -### [littlelink-6.0.18](https://github.com/truecharts/apps/compare/littlelink-6.0.17...littlelink-6.0.18) (2022-07-05) - -#### Chore - -* update docker general non-major ([#3071](https://github.com/truecharts/apps/issues/3071)) - - - - -### [littlelink-6.0.17](https://github.com/truecharts/apps/compare/littlelink-6.0.16...littlelink-6.0.17) (2022-07-04) - -#### Chore - -* update helm general non-major helm releases ([#3066](https://github.com/truecharts/apps/issues/3066)) - - - - -### [littlelink-6.0.16](https://github.com/truecharts/apps/compare/littlelink-6.0.15...littlelink-6.0.16) (2022-07-01) - -#### Chore - -* update docker general non-major ([#3015](https://github.com/truecharts/apps/issues/3015)) - - - - -### [littlelink-6.0.15](https://github.com/truecharts/apps/compare/littlelink-6.0.14...littlelink-6.0.15) (2022-06-29) - -#### Chore - -* update docker general non-major ([#3002](https://github.com/truecharts/apps/issues/3002)) - - - - -### [littlelink-6.0.14](https://github.com/truecharts/apps/compare/littlelink-6.0.13...littlelink-6.0.14) (2022-06-26) - -#### Chore - -* update docker general non-major ([#2988](https://github.com/truecharts/apps/issues/2988)) - - - - -### [littlelink-6.0.13](https://github.com/truecharts/apps/compare/littlelink-6.0.12...littlelink-6.0.13) (2022-06-25) - -#### Chore - -* update helm general non-major helm releases ([#2977](https://github.com/truecharts/apps/issues/2977)) - - - - -### [littlelink-6.0.12](https://github.com/truecharts/apps/compare/littlelink-6.0.11...littlelink-6.0.12) (2022-06-25) - -#### Chore - -* update docker general non-major ([#2960](https://github.com/truecharts/apps/issues/2960)) - - - - -### [littlelink-6.0.11](https://github.com/truecharts/apps/compare/littlelink-6.0.10...littlelink-6.0.11) (2022-06-22) - -#### Chore - -* update docker general non-major ([#2954](https://github.com/truecharts/apps/issues/2954)) -* update helm general non-major helm releases ([#2948](https://github.com/truecharts/apps/issues/2948)) - - - - -### [littlelink-6.0.10](https://github.com/truecharts/apps/compare/littlelink-6.0.9...littlelink-6.0.10) (2022-06-21) - -#### Chore - -* update helm general non-major helm releases ([#2943](https://github.com/truecharts/apps/issues/2943)) -* update docker general non-major ([#2931](https://github.com/truecharts/apps/issues/2931)) - - - - -### [littlelink-6.0.9](https://github.com/truecharts/apps/compare/littlelink-6.0.8...littlelink-6.0.9) (2022-06-17) - -#### Chore - -* update docker general non-major ([#2917](https://github.com/truecharts/apps/issues/2917)) - - - - -### [littlelink-6.0.8](https://github.com/truecharts/apps/compare/littlelink-6.0.7...littlelink-6.0.8) (2022-06-16) - -#### Chore - -* update docker general non-major ([#2904](https://github.com/truecharts/apps/issues/2904)) - - - - -### [littlelink-6.0.7](https://github.com/truecharts/apps/compare/littlelink-6.0.6...littlelink-6.0.7) (2022-06-15) - -#### Chore - -* update docker general non-major ([#2890](https://github.com/truecharts/apps/issues/2890)) - - - - -### [littlelink-6.0.6](https://github.com/truecharts/apps/compare/littlelink-6.0.5...littlelink-6.0.6) (2022-06-14) - -#### Chore - -* update helm general non-major helm releases ([#2886](https://github.com/truecharts/apps/issues/2886)) - - - - -### [littlelink-6.0.5](https://github.com/truecharts/apps/compare/littlelink-6.0.4...littlelink-6.0.5) (2022-06-14) - -#### Chore - -* update docker general non-major ([#2872](https://github.com/truecharts/apps/issues/2872)) - - - - -### [littlelink-6.0.4](https://github.com/truecharts/apps/compare/littlelink-6.0.3...littlelink-6.0.4) (2022-06-11) - -#### Chore - -* update helm general non-major helm releases ([#2854](https://github.com/truecharts/apps/issues/2854)) - - - - -### [littlelink-6.0.3](https://github.com/truecharts/apps/compare/littlelink-6.0.2...littlelink-6.0.3) (2022-06-09) - -#### Chore - -* update docker general non-major ([#2846](https://github.com/truecharts/apps/issues/2846)) - - - - -### [littlelink-6.0.2](https://github.com/truecharts/apps/compare/littlelink-6.0.1...littlelink-6.0.2) (2022-06-07) - -#### Fix - -* hotpatch to disable HPA and networkPolicy in SCALE interface, due to incompatible format. - - - - -### [littlelink-6.0.1](https://github.com/truecharts/apps/compare/littlelink-5.0.30...littlelink-6.0.1) (2022-06-07) - -#### Chore - -* Auto-update chart README [skip ci] -* update docker general non-major ([#2831](https://github.com/truecharts/apps/issues/2831)) - -#### Fix - -* remove malfunctioning SCALE migration script - -#### Refactor - -* BREAKING CHANGE ([#2836](https://github.com/truecharts/apps/issues/2836)) - - - - -### [littlelink-6.0.0](https://github.com/truecharts/apps/compare/littlelink-5.0.30...littlelink-6.0.0) (2022-06-07) - -#### Refactor - -* BREAKING CHANGE ([#2836](https://github.com/truecharts/apps/issues/2836)) - - - - -### [littlelink-5.0.30](https://github.com/truecharts/apps/compare/littlelink-5.0.29...littlelink-5.0.30) (2022-06-04) - -#### Chore - -* update docker general non-major ([#2826](https://github.com/truecharts/apps/issues/2826)) - - - - -### [littlelink-5.0.29](https://github.com/truecharts/apps/compare/littlelink-5.0.28...littlelink-5.0.29) (2022-06-03) - -#### Chore - -* update docker general non-major ([#2821](https://github.com/truecharts/apps/issues/2821)) - - - - -### [littlelink-5.0.28](https://github.com/truecharts/apps/compare/littlelink-5.0.27...littlelink-5.0.28) (2022-05-31) - -#### Chore - -* update helm general non-major helm releases ([#2803](https://github.com/truecharts/apps/issues/2803)) - - - - -### [littlelink-5.0.27](https://github.com/truecharts/apps/compare/littlelink-5.0.26...littlelink-5.0.27) (2022-05-26) - -#### Chore - -* Auto-update chart README [skip ci] -* update helm general non-major helm releases ([#2759](https://github.com/truecharts/apps/issues/2759)) - - - - -### [littlelink-5.0.27](https://github.com/truecharts/apps/compare/littlelink-5.0.26...littlelink-5.0.27) (2022-05-26) - -#### Chore - -* update helm general non-major helm releases ([#2759](https://github.com/truecharts/apps/issues/2759)) - - - - -### [littlelink-5.0.26](https://github.com/truecharts/apps/compare/littlelink-5.0.25...littlelink-5.0.26) (2022-05-24) - -#### Chore - -* update helm general non-major helm releases - - - - -### [littlelink-5.0.25](https://github.com/truecharts/apps/compare/littlelink-5.0.24...littlelink-5.0.25) (2022-05-17) - -#### Chore - -* Auto-update chart README [skip ci] -* update helm general non-major helm releases - - - - -### [littlelink-5.0.25](https://github.com/truecharts/apps/compare/littlelink-5.0.24...littlelink-5.0.25) (2022-05-17) - -#### Chore - -* update helm general non-major helm releases - - - - -### [littlelink-5.0.24](https://github.com/truecharts/apps/compare/littlelink-5.0.23...littlelink-5.0.24) (2022-05-17) - -#### Chore - -* update helm general non-major helm releases - - - - -### [littlelink-5.0.23](https://github.com/truecharts/apps/compare/littlelink-5.0.22...littlelink-5.0.23) (2022-05-11) - -#### Chore - -* update docker general non-major ([#2653](https://github.com/truecharts/apps/issues/2653)) - - - - -### [littlelink-5.0.22](https://github.com/truecharts/apps/compare/littlelink-5.0.21...littlelink-5.0.22) (2022-05-10) - -#### Chore - -* update helm general non-major helm releases ([#2649](https://github.com/truecharts/apps/issues/2649)) - - - - -### [littlelink-5.0.21](https://github.com/truecharts/apps/compare/littlelink-5.0.20...littlelink-5.0.21) (2022-05-09) - -#### Chore - -* update docker general non-major ([#2641](https://github.com/truecharts/apps/issues/2641)) - - - - -### [littlelink-5.0.20](https://github.com/truecharts/apps/compare/littlelink-5.0.19...littlelink-5.0.20) (2022-05-05) - -#### Chore - -* update helm general non-major helm releases ([#2612](https://github.com/truecharts/apps/issues/2612)) - - - - -### [littlelink-5.0.19](https://github.com/truecharts/apps/compare/littlelink-5.0.18...littlelink-5.0.19) (2022-04-26) - -#### Chore - -* update helm general non-major helm releases ([#2573](https://github.com/truecharts/apps/issues/2573)) - - - - -### [littlelink-5.0.18](https://github.com/truecharts/apps/compare/littlelink-5.0.17...littlelink-5.0.18) (2022-04-26) - -#### Chore - -* update docker general non-major ([#2571](https://github.com/truecharts/apps/issues/2571)) - - - - -### [littlelink-5.0.17](https://github.com/truecharts/apps/compare/littlelink-5.0.16...littlelink-5.0.17) (2022-04-20) - -#### Chore - -* add missing quote on description ([#2515](https://github.com/truecharts/apps/issues/2515)) -* update helm general non-major helm releases ([#2524](https://github.com/truecharts/apps/issues/2524)) - - - - -### [littlelink-5.0.16](https://github.com/truecharts/apps/compare/littlelink-5.0.15...littlelink-5.0.16) (2022-04-18) - -#### Chore - -* update docker general non-major ([#2502](https://github.com/truecharts/apps/issues/2502)) - - - - -### [littlelink-5.0.15](https://github.com/truecharts/apps/compare/littlelink-5.0.14...littlelink-5.0.15) (2022-04-12) - -#### Chore - -* update helm general non-major helm releases ([#2480](https://github.com/truecharts/apps/issues/2480)) - - - - -### [littlelink-5.0.14](https://github.com/truecharts/apps/compare/littlelink-5.0.13...littlelink-5.0.14) (2022-04-09) - -#### Chore - -* update docker general non-major ([#2460](https://github.com/truecharts/apps/issues/2460)) - - - - -### [littlelink-5.0.13](https://github.com/truecharts/apps/compare/littlelink-5.0.12...littlelink-5.0.13) (2022-04-03) - -#### Chore - -* update helm general non-major helm releases ([#2410](https://github.com/truecharts/apps/issues/2410)) - - - - -### [littlelink-5.0.12](https://github.com/truecharts/apps/compare/littlelink-5.0.11...littlelink-5.0.12) (2022-03-31) - -#### Chore - -* update helm general non-major helm releases ([#2361](https://github.com/truecharts/apps/issues/2361)) - - - - -### [littlelink-5.0.11](https://github.com/truecharts/apps/compare/littlelink-5.0.10...littlelink-5.0.11) (2022-03-30) - -#### Chore - -* update helm general non-major helm releases ([#2354](https://github.com/truecharts/apps/issues/2354)) - - - - -### [littlelink-5.0.10](https://github.com/truecharts/apps/compare/littlelink-5.0.9...littlelink-5.0.10) (2022-03-27) - -#### Chore - -* update docker general non-major - - - - -### [littlelink-5.0.9](https://github.com/truecharts/apps/compare/littlelink-5.0.8...littlelink-5.0.9) (2022-03-26) - -#### Chore - -* bump all apps to trigger ci - - - - -### [littlelink-5.0.7](https://github.com/truecharts/apps/compare/littlelink-5.0.6...littlelink-5.0.7) (2022-03-24) - -#### Chore - -* update docker general non-major -* update docker general non-major - - - - -### [littlelink-5.0.4](https://github.com/truecharts/apps/compare/littlelink-5.0.3...littlelink-5.0.4) (2022-03-17) - -#### Chore - -* update docker general non-major ([#2198](https://github.com/truecharts/apps/issues/2198)) -* update docker general non-major ([#2196](https://github.com/truecharts/apps/issues/2196)) - - - - -### [littlelink-5.0.2](https://github.com/truecharts/apps/compare/littlelink-5.0.1...littlelink-5.0.2) (2022-03-07) - -#### Chore - -* update helm general non-major helm releases ([#2111](https://github.com/truecharts/apps/issues/2111)) - - - - -### [littlelink-5.0.1](https://github.com/truecharts/apps/compare/littlelink-5.0.0...littlelink-5.0.1) (2022-03-07) - -#### Chore - -* update docker general non-major ([#2046](https://github.com/truecharts/apps/issues/2046)) -* Remove `-icon` string from icon png's ([#2040](https://github.com/truecharts/apps/issues/2040)) - - - - -### [littlelink-5.0.0](https://github.com/truecharts/apps/compare/littlelink-4.0.66...littlelink-5.0.0) (2022-03-03) - -#### Chore - -* remove fixed env from questions.yaml -* remove empty env var declaration from questions.yaml -* update helm general major helm releases ([#2021](https://github.com/truecharts/apps/issues/2021)) - -#### Fix - -* BREAKING CHANGE Move some env-vars outside of env section ([#2010](https://github.com/truecharts/apps/issues/2010)) - - - - -### [littlelink-4.0.66](https://github.com/truecharts/apps/compare/littlelink-4.0.65...littlelink-4.0.66) (2022-03-02) - -#### Chore - -* update helm general non-major helm releases ([#1999](https://github.com/truecharts/apps/issues/1999)) - - - - -### [littlelink-4.0.65](https://github.com/truecharts/apps/compare/littlelink-4.0.64...littlelink-4.0.65) (2022-02-28) - -#### Chore - -* rename `web_portal` to `open` ([#1957](https://github.com/truecharts/apps/issues/1957)) -* update docker general non-major ([#1980](https://github.com/truecharts/apps/issues/1980)) - - - - -### [littlelink-4.0.64](https://github.com/truecharts/apps/compare/littlelink-4.0.63...littlelink-4.0.64) (2022-02-21) - -#### Chore - -* update helm general non-major helm releases ([#1927](https://github.com/truecharts/apps/issues/1927)) - - - - -### [littlelink-4.0.63](https://github.com/truecharts/apps/compare/littlelink-4.0.62...littlelink-4.0.63) (2022-02-21) - -#### Chore - -* update docker general non-major ([#1924](https://github.com/truecharts/apps/issues/1924)) - - - - -### [littlelink-4.0.62](https://github.com/truecharts/apps/compare/littlelink-4.0.61...littlelink-4.0.62) (2022-02-15) - -#### Chore - -* update helm general non-major helm releases ([#1901](https://github.com/truecharts/apps/issues/1901)) - - - - -### [littlelink-4.0.61](https://github.com/truecharts/apps/compare/littlelink-4.0.60...littlelink-4.0.61) (2022-02-14) - -#### Chore - -* update docker general non-major ([#1895](https://github.com/truecharts/apps/issues/1895)) - - - - -### [littlelink-4.0.60](https://github.com/truecharts/apps/compare/littlelink-4.0.59...littlelink-4.0.60) (2022-02-08) - -#### Chore - -* update helm general non-major helm releases ([#1871](https://github.com/truecharts/apps/issues/1871)) - - - - -### [littlelink-4.0.59](https://github.com/truecharts/apps/compare/littlelink-4.0.58...littlelink-4.0.59) (2022-02-06) - -#### Chore - -* update helm chart common to v8.15.0 ([#1859](https://github.com/truecharts/apps/issues/1859)) - - - - -### [littlelink-4.0.58](https://github.com/truecharts/apps/compare/littlelink-4.0.57...littlelink-4.0.58) (2022-02-05) - -#### Chore - -* update helm general non-major helm releases ([#1852](https://github.com/truecharts/apps/issues/1852)) -* update docker general non-major ([#1849](https://github.com/truecharts/apps/issues/1849)) - - - - -### [littlelink-4.0.57](https://github.com/truecharts/apps/compare/littlelink-4.0.56...littlelink-4.0.57) (2022-02-02) - -#### Chore - -* update helm general non-major helm releases ([#1828](https://github.com/truecharts/apps/issues/1828)) - - - - -### [littlelink-4.0.56](https://github.com/truecharts/apps/compare/littlelink-4.0.55...littlelink-4.0.56) (2022-01-31) - -#### Chore - -* update docker general non-major docker tags ([#1823](https://github.com/truecharts/apps/issues/1823)) - - - - -### [littlelink-4.0.55](https://github.com/truecharts/apps/compare/littlelink-4.0.54...littlelink-4.0.55) (2022-01-25) - -#### Chore - -* update helm general non-major helm releases ([#1791](https://github.com/truecharts/apps/issues/1791)) - - - - -### [littlelink-4.0.54](https://github.com/truecharts/apps/compare/littlelink-4.0.53...littlelink-4.0.54) (2022-01-24) - -#### Chore - -* update docker general non-major ([#1786](https://github.com/truecharts/apps/issues/1786)) - - - - -### [littlelink-4.0.53](https://github.com/truecharts/apps/compare/littlelink-4.0.52...littlelink-4.0.53) (2022-01-24) - -#### Fix - -* fix include ([#1773](https://github.com/truecharts/apps/issues/1773)) - - - - -### [littlelink-4.0.52](https://github.com/truecharts/apps/compare/littlelink-4.0.51...littlelink-4.0.52) (2022-01-22) - -#### Chore - -* update helm general non-major helm releases ([#1766](https://github.com/truecharts/apps/issues/1766)) - - - - -### [littlelink-4.0.51](https://github.com/truecharts/apps/compare/littlelink-4.0.50...littlelink-4.0.51) (2022-01-21) - -#### Chore - -* update helm general non-major helm releases ([#1759](https://github.com/truecharts/apps/issues/1759)) - -#### Fix - -* set additional_attrs: true on all dicts ([#1750](https://github.com/truecharts/apps/issues/1750)) - - - - -### [littlelink-4.0.50](https://github.com/truecharts/apps/compare/littlelink-4.0.49...littlelink-4.0.50) (2022-01-18) - -#### Chore - -* update helm general non-major helm releases ([#1732](https://github.com/truecharts/apps/issues/1732)) - - - - -### [littlelink-4.0.49](https://github.com/truecharts/apps/compare/littlelink-4.0.48...littlelink-4.0.49) (2022-01-17) - -#### Chore - -* update docker general non-major ([#1728](https://github.com/truecharts/apps/issues/1728)) - - - - -### [littlelink-4.0.48](https://github.com/truecharts/apps/compare/littlelink-4.0.47...littlelink-4.0.48) (2022-01-13) - -#### Chore - -* update helm general non-major helm releases ([#1712](https://github.com/truecharts/apps/issues/1712)) - -#### Feat - -* expose capabilities in GUI ([#1709](https://github.com/truecharts/apps/issues/1709)) - - - - -### [littlelink-4.0.47](https://github.com/truecharts/apps/compare/littlelink-4.0.46...littlelink-4.0.47) (2022-01-12) - -#### Chore - -* update helm general non-major helm releases ([#1704](https://github.com/truecharts/apps/issues/1704)) - - - - -### [littlelink-4.0.46](https://github.com/truecharts/apps/compare/littlelink-4.0.45...littlelink-4.0.46) (2022-01-11) - -#### Chore - -* update helm general non-major helm releases ([#1693](https://github.com/truecharts/apps/issues/1693)) - - - - -### [littlelink-4.0.45](https://github.com/truecharts/apps/compare/littlelink-4.0.44...littlelink-4.0.45) (2022-01-10) - -#### Chore - -* update docker general non-major ([#1677](https://github.com/truecharts/apps/issues/1677)) - - - - -### [littlelink-4.0.44](https://github.com/truecharts/apps/compare/littlelink-4.0.43...littlelink-4.0.44) (2022-01-04) - -#### Chore - -* update helm general non-major helm releases - - - - -### [littlelink-4.0.43](https://github.com/truecharts/apps/compare/littlelink-4.0.42...littlelink-4.0.43) (2022-01-03) - -#### Chore - -* update docker general non-major ([#1646](https://github.com/truecharts/apps/issues/1646)) - - - - -### [littlelink-4.0.42](https://github.com/truecharts/apps/compare/littlelink-4.0.41...littlelink-4.0.42) (2021-12-28) - -#### Chore - -* update helm general non-major helm releases ([#1623](https://github.com/truecharts/apps/issues/1623)) - - - - -### [littlelink-4.0.41](https://github.com/truecharts/apps/compare/littlelink-4.0.40...littlelink-4.0.41) (2021-12-24) - -#### Chore - -* update docker general non-major ([#1607](https://github.com/truecharts/apps/issues/1607)) - - - - -### [littlelink-4.0.40](https://github.com/truecharts/apps/compare/littlelink-4.0.39...littlelink-4.0.40) (2021-12-21) - -#### Chore - -* update helm general non-major helm releases ([#1596](https://github.com/truecharts/apps/issues/1596)) - - - - -### [littlelink-4.0.39](https://github.com/truecharts/apps/compare/littlelink-4.0.38...littlelink-4.0.39) (2021-12-19) - -#### Chore - -* Last patch bump before RC2 branch-off -* remove `editable: true` as this is the default ([#1576](https://github.com/truecharts/apps/issues/1576)) - - - - -### [littlelink-4.0.38](https://github.com/truecharts/apps/compare/littlelink-4.0.37...littlelink-4.0.38) (2021-12-19) - -#### Chore - -* update helm general non-major helm releases ([#1571](https://github.com/truecharts/apps/issues/1571)) - - - - -### [littlelink-4.0.37](https://github.com/truecharts/apps/compare/littlelink-4.0.36...littlelink-4.0.37) (2021-12-19) - -#### Chore - -* update docker general non-major ([#1567](https://github.com/truecharts/apps/issues/1567)) - - - - -### [littlelink-4.0.36](https://github.com/truecharts/apps/compare/littlelink-4.0.35...littlelink-4.0.36) (2021-12-18) - -#### Chore - -* cleanup questions by removing hidden dicts ([#1558](https://github.com/truecharts/apps/issues/1558)) -* App-Icon Organization ([#1539](https://github.com/truecharts/apps/issues/1539)) -* update docker general non-major - - - - -### [littlelink-4.0.35](https://github.com/truecharts/apps/compare/littlelink-4.0.34...littlelink-4.0.35) (2021-12-14) - -#### Chore - -* update helm general non-major helm releases ([#1535](https://github.com/truecharts/apps/issues/1535)) - -#### Feat - -* add the new buttons ([#1532](https://github.com/truecharts/apps/issues/1532)) - - - - -### [littlelink-4.0.34](https://github.com/truecharts/apps/compare/littlelink-4.0.33...littlelink-4.0.34) (2021-12-13) - -#### Chore - -* update docker general non-major ([#1531](https://github.com/truecharts/apps/issues/1531)) - - - - -### [littlelink-4.0.33](https://github.com/truecharts/apps/compare/littlelink-4.0.32...littlelink-4.0.33) (2021-12-13) - -#### Chore - -* move incubator apps to stable and bump everything - - - - -### [littlelink-4.0.32](https://github.com/truecharts/apps/compare/littlelink-4.0.31...littlelink-4.0.32) (2021-12-12) - -#### Chore - -* update docker general non-major ([#1518](https://github.com/truecharts/apps/issues/1518)) - - - - -### [littlelink-4.0.31](https://github.com/truecharts/apps/compare/littlelink-4.0.30...littlelink-4.0.31) (2021-12-11) - -#### Chore - -* update general helm non-major helm releases ([#1509](https://github.com/truecharts/apps/issues/1509)) - - - - -### [littlelink-4.0.30](https://github.com/truecharts/apps/compare/littlelink-4.0.29...littlelink-4.0.30) (2021-12-11) - -#### Chore - -* update non-major docker ([#1507](https://github.com/truecharts/apps/issues/1507)) - - - - -### [littlelink-4.0.29](https://github.com/truecharts/apps/compare/littlelink-4.0.28...littlelink-4.0.29) (2021-12-07) - -#### Chore - -* update non-major deps helm releases ([#1481](https://github.com/truecharts/apps/issues/1481)) - - - - -### [littlelink-4.0.28](https://github.com/truecharts/apps/compare/littlelink-4.0.27...littlelink-4.0.28) (2021-12-07) - -#### Chore - -* update non-major ([#1485](https://github.com/truecharts/apps/issues/1485)) - - - - -### [littlelink-4.0.27](https://github.com/truecharts/apps/compare/littlelink-4.0.26...littlelink-4.0.27) (2021-12-07) - -#### Chore - -* update non-major ([#1475](https://github.com/truecharts/apps/issues/1475)) - - - - -### littlelink-4.0.26 (2021-12-05) - -#### Chore - -* bump apps to generate security page -* move all container references to TCCR ([#1448](https://github.com/truecharts/apps/issues/1448)) -* update non-major deps helm releases ([#1471](https://github.com/truecharts/apps/issues/1471)) -* update non-major deps helm releases ([#1468](https://github.com/truecharts/apps/issues/1468)) -* update non-major deps helm releases ([#1453](https://github.com/truecharts/apps/issues/1453)) -* update non-major ([#1449](https://github.com/truecharts/apps/issues/1449)) -* update non-major deps helm releases ([#1432](https://github.com/truecharts/apps/issues/1432)) -* update non-major ([#1427](https://github.com/truecharts/apps/issues/1427)) - -#### Fix - -* fix typo in theme selection ([#1428](https://github.com/truecharts/apps/issues/1428)) - - - - -### [littlelink-4.0.25](https://github.com/truecharts/apps/compare/littlelink-4.0.24...littlelink-4.0.25) (2021-12-05) - -#### Chore - -* update non-major deps helm releases ([#1468](https://github.com/truecharts/apps/issues/1468)) - - - - -### [littlelink-4.0.24](https://github.com/truecharts/apps/compare/littlelink-4.0.23...littlelink-4.0.24) (2021-12-04) - -#### Chore - -* bump apps to generate security page - - - - -### [littlelink-4.0.23](https://github.com/truecharts/apps/compare/littlelink-4.0.22...littlelink-4.0.23) (2021-12-04) - -#### Chore - -* update non-major deps helm releases ([#1453](https://github.com/truecharts/apps/issues/1453)) - - - - -### [littlelink-4.0.22](https://github.com/truecharts/apps/compare/littlelink-4.0.21...littlelink-4.0.22) (2021-12-03) - -#### Chore - -* move all container references to TCCR ([#1448](https://github.com/truecharts/apps/issues/1448)) -* update non-major ([#1449](https://github.com/truecharts/apps/issues/1449)) - - - - -### [littlelink-4.0.21](https://github.com/truecharts/apps/compare/littlelink-4.0.20...littlelink-4.0.21) (2021-11-30) - -#### Chore - -* update non-major deps helm releases ([#1432](https://github.com/truecharts/apps/issues/1432)) - - - - -### [littlelink-4.0.20](https://github.com/truecharts/apps/compare/littlelink-4.0.19...littlelink-4.0.20) (2021-11-30) - -#### Chore - -* update non-major ([#1427](https://github.com/truecharts/apps/issues/1427)) -* update non-major deps helm releases - - - - -### [littlelink-4.0.18](https://github.com/truecharts/apps/compare/littlelink-4.0.17...littlelink-4.0.18) (2021-11-23) - -#### Chore - -* update non-major deps helm releases ([#1386](https://github.com/truecharts/apps/issues/1386)) - - - - -### [littlelink-4.0.17](https://github.com/truecharts/apps/compare/littlelink-4.0.16...littlelink-4.0.17) (2021-11-23) - -#### Chore - -* update non-major ([#1384](https://github.com/truecharts/apps/issues/1384)) - - - - -### [littlelink-4.0.16](https://github.com/truecharts/apps/compare/littlelink-4.0.15...littlelink-4.0.16) (2021-11-22) - -#### Chore - -* update non-major deps helm releases ([#1383](https://github.com/truecharts/apps/issues/1383)) - - - - -### [littlelink-4.0.15](https://github.com/truecharts/apps/compare/littlelink-4.0.14...littlelink-4.0.15) (2021-11-22) - -#### Chore - -* update non-major ([#1380](https://github.com/truecharts/apps/issues/1380)) - -#### Fix - -* Default enable all services ([#1361](https://github.com/truecharts/apps/issues/1361)) - - - - -### [littlelink-4.0.14](https://github.com/truecharts/apps/compare/littlelink-4.0.13...littlelink-4.0.14) (2021-11-18) - -#### Chore - -* update non-major ([#1350](https://github.com/truecharts/apps/issues/1350)) - - - - -### [littlelink-4.0.13](https://github.com/truecharts/apps/compare/littlelink-4.0.12...littlelink-4.0.13) (2021-11-16) - -#### Chore - -* update non-major deps helm releases ([#1345](https://github.com/truecharts/apps/issues/1345)) - - - - -### [littlelink-4.0.12](https://github.com/truecharts/apps/compare/littlelink-4.0.11...littlelink-4.0.12) (2021-11-15) - -#### Chore - -* update non-major deps helm releases ([#1338](https://github.com/truecharts/apps/issues/1338)) - - - - -### [littlelink-4.0.11](https://github.com/truecharts/apps/compare/littlelink-4.0.10...littlelink-4.0.11) (2021-11-14) - -#### Chore - -* fixes around the GUI refactor ([#1316](https://github.com/truecharts/apps/issues/1316)) -* move port above advanced in GUI ([#1326](https://github.com/truecharts/apps/issues/1326)) -* clean up Chart.yaml ([#1322](https://github.com/truecharts/apps/issues/1322)) -* update non-major deps helm releases ([#1328](https://github.com/truecharts/apps/issues/1328)) -* update non-major ([#1327](https://github.com/truecharts/apps/issues/1327)) - -#### Fix - -* split udp and tcp ports ([#1321](https://github.com/truecharts/apps/issues/1321)) - - - - -### [littlelink-4.0.10](https://github.com/truecharts/apps/compare/littlelink-4.0.9...littlelink-4.0.10) (2021-11-09) - -#### Chore - -* update non-major deps helm releases ([#1297](https://github.com/truecharts/apps/issues/1297)) - - - - -### [littlelink-4.0.9](https://github.com/truecharts/apps/compare/littlelink-4.0.8...littlelink-4.0.9) (2021-11-09) - -#### Chore - -* update non-major ([#1299](https://github.com/truecharts/apps/issues/1299)) - - - - -### [littlelink-4.0.8](https://github.com/truecharts/apps/compare/littlelink-4.0.7...littlelink-4.0.8) (2021-11-07) - -#### Chore - -* update non-major deps helm releases ([#1295](https://github.com/truecharts/apps/issues/1295)) - - - - -### [littlelink-4.0.7](https://github.com/truecharts/apps/compare/littlelink-4.0.6...littlelink-4.0.7) (2021-11-07) - -#### Chore - -* update non-major ([#1270](https://github.com/truecharts/apps/issues/1270)) - - - - -### [littlelink-4.0.6](https://github.com/truecharts/apps/compare/littlelink-4.0.5...littlelink-4.0.6) (2021-11-07) - -#### Chore - -* update non-major deps helm releases ([#1291](https://github.com/truecharts/apps/issues/1291)) - -#### Chore - -* Simplify GUI for deployment, persistence and securityContext ([#1289](https://github.com/truecharts/apps/issues/1289)) - -#### Feat - -* Simplify the Services GUI ([#1290](https://github.com/truecharts/apps/issues/1290)) - - - - -### [littlelink-4.0.5](https://github.com/truecharts/apps/compare/littlelink-4.0.4...littlelink-4.0.5) (2021-11-02) - -#### Chore - -* update non-major deps helm releases ([#1267](https://github.com/truecharts/apps/issues/1267)) - - - - -### [littlelink-4.0.4](https://github.com/truecharts/apps/compare/littlelink-4.0.3...littlelink-4.0.4) (2021-11-01) - -#### Chore - -* update non-major deps helm releases ([#1264](https://github.com/truecharts/apps/issues/1264)) - - - - -### [littlelink-4.0.3](https://github.com/truecharts/apps/compare/littlelink-4.0.2...littlelink-4.0.3) (2021-11-01) - -#### Chore - -* update non-major ([#1263](https://github.com/truecharts/apps/issues/1263)) - - - - -### [littlelink-4.0.2](https://github.com/truecharts/apps/compare/littlelink-4.0.1...littlelink-4.0.2) (2021-10-26) - -#### Chore - -* update non-major deps helm releases ([#1245](https://github.com/truecharts/apps/issues/1245)) - - - - -### [littlelink-4.0.1](https://github.com/truecharts/apps/compare/littlelink-4.0.0...littlelink-4.0.1) (2021-10-26) - -#### Chore - -* update helm chart common to v8.3.15 ([#1240](https://github.com/truecharts/apps/issues/1240)) -* update non-major ([#1232](https://github.com/truecharts/apps/issues/1232)) - - - - -### [littlelink-4.0.0](https://github.com/truecharts/apps/compare/littlelink-3.0.18...littlelink-4.0.0) (2021-10-25) - -#### Chore - -* Adapt for TrueNAS SCALE RC1 - - - - -### [littlelink-3.0.18](https://github.com/truecharts/apps/compare/littlelink-3.0.15...littlelink-3.0.18) (2021-10-20) - -#### Chore - -* bump apps, remove duplicates and move incubator to stable for RC1 -* update non-major deps helm releases ([#1213](https://github.com/truecharts/apps/issues/1213)) - -#### Fix - -* reenable postgresql migration scripting and bump all to force update -* use correct PVC storageClass when using postgresql as a dependency on SCALE ([#1212](https://github.com/truecharts/apps/issues/1212)) - - - - -### [littlelink-3.0.15](https://github.com/truecharts/apps/compare/littlelink-3.0.14...littlelink-3.0.15) (2021-10-20) - -#### Chore - -* bump versions to rerelease and fix icons - - - - -### [littlelink-3.0.14](https://github.com/truecharts/apps/compare/littlelink-3.0.13...littlelink-3.0.14) (2021-10-19) - -#### Change - -* Project-Eclipse 3, Automatically generate item.yaml ([#1178](https://github.com/truecharts/apps/issues/1178)) - -#### Chore - -* Project-Eclipse 5, move app-readme to automatic generation script ([#1181](https://github.com/truecharts/apps/issues/1181)) -* Project-Eclipse part 2, adapting and cleaning changelog ([#1173](https://github.com/truecharts/apps/issues/1173)) -* update helm chart common to v8.3.13 ([#1184](https://github.com/truecharts/apps/issues/1184)) -* update non-major ([#1174](https://github.com/truecharts/apps/issues/1174)) - -#### Feat - -* Project-Eclipse 4, Add App grading annotations to Chart.yaml ([#1180](https://github.com/truecharts/apps/issues/1180)) - -#### Refactor - -* Project Eclipse Part 6, move questions.yaml to root App folder ([#1182](https://github.com/truecharts/apps/issues/1182)) - - - - -### [littlelink-3.0.13](https://github.com/truecharts/apps/compare/littlelink-3.0.12...littlelink-3.0.13) (2021-10-19) - -#### Fix - -* fix previous SCALE bugfix not correctly being applied - - - - -### [littlelink-3.0.12](https://github.com/truecharts/apps/compare/littlelink-3.0.11...littlelink-3.0.12) (2021-10-19) - -#### Fix - -* Solve issues regarding ix_values.yaml not containing the image and tag definitions. ([#1176](https://github.com/truecharts/apps/issues/1176)) - - - - -### [littlelink-3.0.11](https://github.com/truecharts/apps/compare/littlelink-3.0.10...littlelink-3.0.11) (2021-10-18) - -#### Refactor - -* Project Eclipse - part 1 - remove ix_values.yaml ([#1168](https://github.com/truecharts/apps/issues/1168)) - - - - -### [littlelink-3.0.10](https://github.com/truecharts/apps/compare/littlelink-3.0.9...littlelink-3.0.10) (2021-10-17) - -#### Chore - -* update helm chart common to v8.3.10 ([#1160](https://github.com/truecharts/apps/issues/1160)) - - - - -### [littlelink-3.0.9](https://github.com/truecharts/apps/compare/littlelink-3.0.8...littlelink-3.0.9) (2021-10-13) - -#### Chore - -* update non-major deps helm releases ([#1133](https://github.com/truecharts/apps/issues/1133)) - - - - -### [littlelink-3.0.8](https://github.com/truecharts/apps/compare/littlelink-3.0.7...littlelink-3.0.8) (2021-10-12) - -#### Chore - -* update non-major deps helm releases ([#1126](https://github.com/truecharts/apps/issues/1126)) - - - - -### [littlelink-3.0.7](https://github.com/truecharts/apps/compare/littlelink-3.0.6...littlelink-3.0.7) (2021-10-12) - -#### Chore - -* update non-major ([#1122](https://github.com/truecharts/apps/issues/1122)) - - - - -### [littlelink-3.0.6](https://github.com/truecharts/apps/compare/littlelink-3.0.5...littlelink-3.0.6) (2021-10-12) - -#### Chore - -* update non-major deps helm releases ([#1123](https://github.com/truecharts/apps/issues/1123)) - - - - -### [littlelink-3.0.5](https://github.com/truecharts/apps/compare/littlelink-3.0.4...littlelink-3.0.5) (2021-10-05) - -#### Chore - -* update non-major deps helm releases ([#1099](https://github.com/truecharts/apps/issues/1099)) - - - - -### [littlelink-3.0.4](https://github.com/truecharts/apps/compare/littlelink-3.0.3...littlelink-3.0.4) (2021-10-05) - -#### Chore - -* update non-major ([#1098](https://github.com/truecharts/apps/issues/1098)) - - - - -### [littlelink-3.0.3](https://github.com/truecharts/apps/compare/littlelink-3.0.2...littlelink-3.0.3) (2021-09-29) - -#### Chore - -* update helm chart common to v8.0.13 ([#1060](https://github.com/truecharts/apps/issues/1060)) - - - - -### [littlelink-3.0.1](https://github.com/truecharts/apps/compare/littlelink-3.0.0...littlelink-3.0.1) (2021-09-26) - - - - -### [littlelink-3.0.0](https://github.com/truecharts/apps/compare/littlelink-2.0.2...littlelink-3.0.0) (2021-09-26) - - - - -### [littlelink-2.0.2](https://github.com/truecharts/apps/compare/littlelink-2.0.1...littlelink-2.0.2) (2021-09-21) - -#### Chore - -* update non-major deps helm releases ([#1014](https://github.com/truecharts/apps/issues/1014)) - - - - -### [littlelink-2.0.1](https://github.com/truecharts/apps/compare/littlelink-1.5.15...littlelink-2.0.1) (2021-09-13) - -#### Chore - -* update non-major -* update non-major ([#962](https://github.com/truecharts/apps/issues/962)) - -#### Feat - -* add new GUI and VPN support to all Apps ([#977](https://github.com/truecharts/apps/issues/977)) -* Add VPN addon and move some config to includes ([#973](https://github.com/truecharts/apps/issues/973)) -* pin all container references to digests ([#963](https://github.com/truecharts/apps/issues/963)) -* Move some common containers to our own containers - -#### Fix - -* make sure podSecurityContext is included in both SCALE and Helm installs ([#956](https://github.com/truecharts/apps/issues/956)) - - -## [littlelink-1.5.15](https://github.com/truecharts/apps/compare/littlelink-1.5.14...littlelink-1.5.15) (2021-09-08) - -### Fix - -* repair Hyperion and some misplaced GUI elements ([#922](https://github.com/truecharts/apps/issues/922)) diff --git a/charts/enterprise/littlelink/Chart.yaml b/charts/enterprise/littlelink/Chart.yaml deleted file mode 100644 index 9927201619f..00000000000 --- a/charts/enterprise/littlelink/Chart.yaml +++ /dev/null @@ -1,29 +0,0 @@ -apiVersion: v2 -appVersion: "latest" -dependencies: - - name: common - repository: https://library-charts.truecharts.org - version: 10.6.0 -deprecated: false -description: Easy platform to combine all your social links -home: https://truecharts.org/docs/charts/enterprise/littlelink -icon: https://truecharts.org/img/hotlink-ok/chart-icons/littlelink.png -keywords: - - littlelink -kubeVersion: ">=1.16.0-0" -maintainers: - - email: info@truecharts.org - name: TrueCharts - url: https://truecharts.org -name: littlelink -sources: - - https://github.com/truecharts/charts/tree/master/charts/enterprise/littlelink - - https://github.com/techno-tim/littlelink-server - - https://github.com/sethcottle/littlelink -type: application -version: 7.0.0 -annotations: - truecharts.org/catagories: | - - social - truecharts.org/SCALE-support: "true" - truecharts.org/grade: U diff --git a/charts/enterprise/littlelink/README.md b/charts/enterprise/littlelink/README.md deleted file mode 100644 index c1a47fe1e7e..00000000000 --- a/charts/enterprise/littlelink/README.md +++ /dev/null @@ -1,107 +0,0 @@ -# littlelink - -Easy platform to combine all your social links - -TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. - -This readme is just an automatically generated general guide on installing our Helm Charts and Apps. -For more information, please click here: [littlelink](https://truecharts.org/docs/charts/enterprise/littlelink) - -**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)** - -## Source Code - -* -* -* - -## Requirements - -Kubernetes: `>=1.16.0-0` - -## Dependencies - -| Repository | Name | Version | -|------------|------|---------| -| https://library-charts.truecharts.org | common | 10.6.0 | - -## Installing the Chart - -### TrueNAS SCALE - -To install this Chart on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Installing-an-App). - -### Helm - -To install the chart with the release name `littlelink` - -```console -helm repo add TrueCharts https://charts.truecharts.org -helm repo update -helm install littlelink TrueCharts/littlelink -``` - -## Uninstall - -### TrueNAS SCALE - -**Upgrading, Rolling Back and Uninstalling the Chart** - -To upgrade, rollback or delete this Chart from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Upgrade-rollback-delete-an-App). - -### Helm - -To uninstall the `littlelink` deployment - -```console -helm uninstall littlelink -``` - -## Configuration - -### Helm - -#### Available Settings - -Read through the values.yaml file. It has several commented out suggested values. -Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common). - -#### Configure using the command line - -Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. - -```console -helm install littlelink \ - --set env.TZ="America/New York" \ - TrueCharts/littlelink -``` - -#### Configure using a yaml file - -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. - -```console -helm install littlelink TrueCharts/littlelink -f values.yaml -``` - -#### Connecting to other charts - -If you need to connect this Chart to other Charts on TrueNAS SCALE, please refer to our [Linking Charts Internally](https://truecharts.org/docs/manual/SCALE%20Apps/linking-apps) quick-start guide. - -## Support - -- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Important-MUST-READ). -- See the [Website](https://truecharts.org) -- Check our [Discord](https://discord.gg/tVsPTHWTtr) -- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - ---- - -## Sponsor TrueCharts - -TrueCharts can only exist due to the incredible effort of our staff. -Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! - ---- - -All Rights Reserved - The TrueCharts Project diff --git a/charts/enterprise/littlelink/icon.png b/charts/enterprise/littlelink/icon.png deleted file mode 100644 index fd6d0248ac003d26888650da40370971b28e3367..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4999 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 -### [nextcloud-15.2.8](https://github.com/truecharts/apps/compare/nextcloud-15.2.7...nextcloud-15.2.8) (2022-07-12) - -#### Chore - -* update helm general non-major helm releases ([#3147](https://github.com/truecharts/apps/issues/3147)) -* update docker general non-major ([#3150](https://github.com/truecharts/apps/issues/3150)) - - - - -### [nextcloud-15.2.7](https://github.com/truecharts/apps/compare/nextcloud-15.2.6...nextcloud-15.2.7) (2022-07-11) - -#### Chore - -* move icons into the apps folder ([#3139](https://github.com/truecharts/apps/issues/3139)) -* add markdownlint and cpell config files (and apply some linting) ([#3140](https://github.com/truecharts/apps/issues/3140)) - - - - -### [nextcloud-15.2.6](https://github.com/truecharts/apps/compare/nextcloud-15.2.5...nextcloud-15.2.6) (2022-07-11) - -#### Chore - -* update docker general non-major ([#3128](https://github.com/truecharts/apps/issues/3128)) - - - - -### [nextcloud-15.2.5](https://github.com/truecharts/apps/compare/nextcloud-15.2.4...nextcloud-15.2.5) (2022-07-10) - -#### Fix - -* increase nginx fpm forwarding timeouts ([#3122](https://github.com/truecharts/apps/issues/3122)) - - - - -### [nextcloud-15.2.4](https://github.com/truecharts/apps/compare/nextcloud-15.2.3...nextcloud-15.2.4) (2022-07-09) - -#### Chore - -* update helm general non-major helm releases ([#3113](https://github.com/truecharts/apps/issues/3113)) - - - - -### [nextcloud-15.2.3](https://github.com/truecharts/apps/compare/nextcloud-15.2.2...nextcloud-15.2.3) (2022-07-09) - -#### Fix - -* improve upload performance and predictability ([#3109](https://github.com/truecharts/apps/issues/3109)) - - - - -### [nextcloud-15.2.2](https://github.com/truecharts/apps/compare/nextcloud-15.2.1...nextcloud-15.2.2) (2022-07-08) - - - - -### [nextcloud-15.2.1](https://github.com/truecharts/apps/compare/nextcloud-15.2.0...nextcloud-15.2.1) (2022-07-08) - -#### Fix - -* fix HPB service polling url ([#3102](https://github.com/truecharts/apps/issues/3102)) - - - - -### [nextcloud-15.2.0](https://github.com/truecharts/apps/compare/nextcloud-15.1.4...nextcloud-15.2.0) (2022-07-08) - - - - -### [nextcloud-15.1.4](https://github.com/truecharts/apps/compare/nextcloud-15.1.3...nextcloud-15.1.4) (2022-07-08) - -#### Fix - -* fix wrong accessip reference ([#3101](https://github.com/truecharts/apps/issues/3101)) - - - - -### [nextcloud-15.1.3](https://github.com/truecharts/apps/compare/nextcloud-15.1.2...nextcloud-15.1.3) (2022-07-07) - -#### Chore - -* update docker general non-major ([#3089](https://github.com/truecharts/apps/issues/3089)) - - - - -### [nextcloud-15.1.2](https://github.com/truecharts/apps/compare/nextcloud-15.1.1...nextcloud-15.1.2) (2022-07-07) - -#### Fix - -* bypass hpb domain check ([#3093](https://github.com/truecharts/apps/issues/3093)) - - - - -### [nextcloud-15.1.1](https://github.com/truecharts/apps/compare/nextcloud-15.1.0...nextcloud-15.1.1) (2022-07-07) - -#### Fix - -* correct some mistakes in the migration script ([#3091](https://github.com/truecharts/apps/issues/3091)) - - - - -### [nextcloud-15.1.0](https://github.com/truecharts/apps/compare/nextcloud-15.0.1...nextcloud-15.1.0) (2022-07-06) - -#### Feat - -* add Imaginary high-performance preview backend ([#3086](https://github.com/truecharts/apps/issues/3086)) - - - - -### [nextcloud-15.0.1](https://github.com/truecharts/apps/compare/nextcloud-15.0.0...nextcloud-15.0.1) (2022-07-06) - -#### Fix - -* change nginx redirect options to not add port to query ([#3085](https://github.com/truecharts/apps/issues/3085)) - - - - -### [nextcloud-15.0.0](https://github.com/truecharts/apps/compare/nextcloud-14.0.16...nextcloud-15.0.0) (2022-07-06) - - - - -### [nextcloud-14.0.16](https://github.com/truecharts/apps/compare/nextcloud-14.0.15...nextcloud-14.0.16) (2022-07-05) - -#### Chore - -* update helm general non-major helm releases ([#3075](https://github.com/truecharts/apps/issues/3075)) - - - - -### [nextcloud-14.0.15](https://github.com/truecharts/apps/compare/nextcloud-14.0.14...nextcloud-14.0.15) (2022-07-04) - -#### Chore - -* update helm general non-major helm releases ([#3066](https://github.com/truecharts/apps/issues/3066)) - - - - -### [nextcloud-14.0.14](https://github.com/truecharts/apps/compare/nextcloud-14.0.13...nextcloud-14.0.14) (2022-07-01) - -#### Chore - -* update docker general non-major ([#3015](https://github.com/truecharts/apps/issues/3015)) - - - - -### [nextcloud-14.0.13](https://github.com/truecharts/apps/compare/nextcloud-14.0.12...nextcloud-14.0.13) (2022-06-29) - -#### Chore - -* update docker general non-major ([#3002](https://github.com/truecharts/apps/issues/3002)) - - - - -### [nextcloud-14.0.12](https://github.com/truecharts/apps/compare/nextcloud-14.0.11...nextcloud-14.0.12) (2022-06-27) - -#### Chore - -* update docker general non-major ([#2999](https://github.com/truecharts/apps/issues/2999)) - - - - -### [nextcloud-14.0.11](https://github.com/truecharts/apps/compare/nextcloud-14.0.10...nextcloud-14.0.11) (2022-06-26) - -#### Chore - -* update docker general non-major ([#2988](https://github.com/truecharts/apps/issues/2988)) - - - - -### [nextcloud-14.0.10](https://github.com/truecharts/apps/compare/nextcloud-14.0.9...nextcloud-14.0.10) (2022-06-25) - - - - -### [nextcloud-14.0.9](https://github.com/truecharts/apps/compare/nextcloud-14.0.8...nextcloud-14.0.9) (2022-06-25) - -#### Chore - -* update helm general non-major helm releases ([#2977](https://github.com/truecharts/apps/issues/2977)) - - - - -### [nextcloud-14.0.8](https://github.com/truecharts/apps/compare/nextcloud-14.0.7...nextcloud-14.0.8) (2022-06-25) - -#### Chore - -* update docker general non-major ([#2960](https://github.com/truecharts/apps/issues/2960)) - - - - -### [nextcloud-14.0.7](https://github.com/truecharts/apps/compare/nextcloud-14.0.6...nextcloud-14.0.7) (2022-06-22) - -#### Chore - -* update docker general non-major ([#2954](https://github.com/truecharts/apps/issues/2954)) -* update helm general non-major helm releases ([#2948](https://github.com/truecharts/apps/issues/2948)) - - - - -### [nextcloud-14.0.6](https://github.com/truecharts/apps/compare/nextcloud-14.0.5...nextcloud-14.0.6) (2022-06-21) - -#### Chore - -* update helm general non-major helm releases ([#2943](https://github.com/truecharts/apps/issues/2943)) - - - - -### [nextcloud-14.0.5](https://github.com/truecharts/apps/compare/nextcloud-14.0.4...nextcloud-14.0.5) (2022-06-14) - -#### Chore - -* update helm general non-major helm releases ([#2887](https://github.com/truecharts/apps/issues/2887)) - - - - -### [nextcloud-14.0.4](https://github.com/truecharts/apps/compare/nextcloud-14.0.3...nextcloud-14.0.4) (2022-06-14) - -#### Chore - -* update helm general non-major helm releases ([#2886](https://github.com/truecharts/apps/issues/2886)) - - - - -### [nextcloud-14.0.3](https://github.com/truecharts/apps/compare/nextcloud-14.0.2...nextcloud-14.0.3) (2022-06-14) - -#### Chore - -* update helm general non-major helm releases ([#2873](https://github.com/truecharts/apps/issues/2873)) - - - - -### [nextcloud-14.0.2](https://github.com/truecharts/apps/compare/nextcloud-14.0.1...nextcloud-14.0.2) (2022-06-11) - -#### Chore - -* update helm general non-major helm releases ([#2854](https://github.com/truecharts/apps/issues/2854)) - - - - -### [nextcloud-14.0.1](https://github.com/truecharts/apps/compare/nextcloud-14.0.0...nextcloud-14.0.1) (2022-06-11) - -#### Chore - -* update docker general non-major ([#2848](https://github.com/truecharts/apps/issues/2848)) - - - - -### [nextcloud-14.0.0](https://github.com/truecharts/apps/compare/nextcloud-13.0.1...nextcloud-14.0.0) (2022-06-07) - -#### Chore - -* update helm general major helm releases ([#2804](https://github.com/truecharts/apps/issues/2804)) - -#### Fix - -* hotpatch to disable HPA and networkPolicy in SCALE interface, due to incompatible format. - - - - -### [nextcloud-13.0.1](https://github.com/truecharts/apps/compare/nextcloud-12.0.32...nextcloud-13.0.1) (2022-06-07) - -#### Chore - -* Auto-update chart README [skip ci] -* sync all apps persistence configuration and always default to PVC -* update helm general non-major helm releases ([#2838](https://github.com/truecharts/apps/issues/2838)) -* update docker general non-major ([#2831](https://github.com/truecharts/apps/issues/2831)) - -#### Fix - -* remove malfunctioning SCALE migration script - -#### Refactor - -* BREAKING CHANGE ([#2836](https://github.com/truecharts/apps/issues/2836)) - - - - -### [nextcloud-13.0.0](https://github.com/truecharts/apps/compare/nextcloud-12.0.32...nextcloud-13.0.0) (2022-06-07) - -#### Chore - -* sync all apps persistence configuration and always default to PVC - -#### Refactor - -* BREAKING CHANGE ([#2836](https://github.com/truecharts/apps/issues/2836)) - - - - -### [nextcloud-12.0.32](https://github.com/truecharts/apps/compare/nextcloud-12.0.31...nextcloud-12.0.32) (2022-05-31) - -#### Chore - -* update helm general non-major helm releases ([#2803](https://github.com/truecharts/apps/issues/2803)) -* update docker general non-major ([#2791](https://github.com/truecharts/apps/issues/2791)) - - - - -### [nextcloud-12.0.31](https://github.com/truecharts/apps/compare/nextcloud-12.0.30...nextcloud-12.0.31) (2022-05-26) - -#### Chore - -* Auto-update chart README [skip ci] -* update helm general non-major helm releases ([#2759](https://github.com/truecharts/apps/issues/2759)) - - - - -### [nextcloud-12.0.31](https://github.com/truecharts/apps/compare/nextcloud-12.0.30...nextcloud-12.0.31) (2022-05-26) - -#### Chore - -* update helm general non-major helm releases ([#2759](https://github.com/truecharts/apps/issues/2759)) - - - - -### [nextcloud-12.0.30](https://github.com/truecharts/apps/compare/nextcloud-12.0.29...nextcloud-12.0.30) (2022-05-24) - -#### Chore - -* update docker general non-major ([#2744](https://github.com/truecharts/apps/issues/2744)) - - - - -### [nextcloud-12.0.29](https://github.com/truecharts/apps/compare/nextcloud-12.0.28...nextcloud-12.0.29) (2022-05-24) - -#### Chore - -* update container image tccr.io/truecharts/nextcloud to v24.0.0 ([#2714](https://github.com/truecharts/apps/issues/2714)) - - - - -### [nextcloud-12.0.28](https://github.com/truecharts/apps/compare/nextcloud-12.0.27...nextcloud-12.0.28) (2022-05-24) - -#### Chore - -* update helm general non-major helm releases - - - - -### [nextcloud-12.0.27](https://github.com/truecharts/apps/compare/nextcloud-12.0.26...nextcloud-12.0.27) (2022-05-17) - -#### Chore - -* Auto-update chart README [skip ci] -* update helm general non-major helm releases - - - - -### [nextcloud-12.0.27](https://github.com/truecharts/apps/compare/nextcloud-12.0.26...nextcloud-12.0.27) (2022-05-17) - -#### Chore - -* update helm general non-major helm releases - - - - -### [nextcloud-12.0.26](https://github.com/truecharts/apps/compare/nextcloud-12.0.25...nextcloud-12.0.26) (2022-05-17) - -#### Chore - -* update helm general non-major helm releases - - - - -### [nextcloud-12.0.25](https://github.com/truecharts/apps/compare/nextcloud-12.0.24...nextcloud-12.0.25) (2022-05-10) - -#### Chore - -* update helm general non-major helm releases ([#2649](https://github.com/truecharts/apps/issues/2649)) - - - - -### [nextcloud-12.0.24](https://github.com/truecharts/apps/compare/nextcloud-12.0.23...nextcloud-12.0.24) (2022-05-05) - -#### Chore - -* update helm general non-major helm releases ([#2612](https://github.com/truecharts/apps/issues/2612)) - - - - -### [nextcloud-12.0.23](https://github.com/truecharts/apps/compare/nextcloud-12.0.22...nextcloud-12.0.23) (2022-05-04) - -#### Chore - -* update docker general non-major ([#2606](https://github.com/truecharts/apps/issues/2606)) - - - - -### [nextcloud-12.0.22](https://github.com/truecharts/apps/compare/nextcloud-12.0.21...nextcloud-12.0.22) (2022-05-04) - -#### Chore - -* update helm general non-major helm releases ([#2605](https://github.com/truecharts/apps/issues/2605)) - - - - -### [nextcloud-12.0.21](https://github.com/truecharts/apps/compare/nextcloud-12.0.20...nextcloud-12.0.21) (2022-04-26) - -#### Chore - -* update helm general non-major helm releases ([#2573](https://github.com/truecharts/apps/issues/2573)) - - - - -### [nextcloud-12.0.20](https://github.com/truecharts/apps/compare/nextcloud-12.0.19...nextcloud-12.0.20) (2022-04-20) - -#### Chore - -* add missing quote on description ([#2515](https://github.com/truecharts/apps/issues/2515)) -* update helm general non-major helm releases ([#2524](https://github.com/truecharts/apps/issues/2524)) - - - - -### [nextcloud-12.0.19](https://github.com/truecharts/apps/compare/nextcloud-12.0.18...nextcloud-12.0.19) (2022-04-12) - -#### Chore - -* update helm general non-major helm releases ([#2480](https://github.com/truecharts/apps/issues/2480)) - - - - -### [nextcloud-12.0.18](https://github.com/truecharts/apps/compare/nextcloud-12.0.17...nextcloud-12.0.18) (2022-04-03) - -#### Chore - -* update helm general non-major helm releases ([#2410](https://github.com/truecharts/apps/issues/2410)) - - - - -### [nextcloud-12.0.17](https://github.com/truecharts/apps/compare/nextcloud-12.0.16...nextcloud-12.0.17) (2022-03-31) - -#### Chore - -* update helm general non-major helm releases ([#2362](https://github.com/truecharts/apps/issues/2362)) - - - - -### [nextcloud-12.0.16](https://github.com/truecharts/apps/compare/nextcloud-12.0.14...nextcloud-12.0.16) (2022-03-31) - -#### Chore - -* update docker general non-major ([#2357](https://github.com/truecharts/apps/issues/2357)) -* update helm general non-major helm releases ([#2361](https://github.com/truecharts/apps/issues/2361)) - - - - -### [nextcloud-12.0.14](https://github.com/truecharts/apps/compare/nextcloud-12.0.13...nextcloud-12.0.14) (2022-03-30) - -#### Chore - -* Auto-update chart README [skip ci] -* update helm general non-major helm releases ([#2354](https://github.com/truecharts/apps/issues/2354)) - - - - -### [nextcloud-12.0.13](https://github.com/truecharts/apps/compare/nextcloud-12.0.12...nextcloud-12.0.13) (2022-03-30) - -#### Chore - -* update docker general non-major ([#2347](https://github.com/truecharts/apps/issues/2347)) - - - - -### [nextcloud-12.0.12](https://github.com/truecharts/apps/compare/nextcloud-12.0.11...nextcloud-12.0.12) (2022-03-30) - -#### Chore - -* Use new repo ([#2337](https://github.com/truecharts/apps/issues/2337)) -* update docker general non-major ([#2338](https://github.com/truecharts/apps/issues/2338)) - - - - -### [nextcloud-12.0.11](https://github.com/truecharts/apps/compare/nextcloud-12.0.10...nextcloud-12.0.11) (2022-03-26) - -#### Chore - -* update helm general non-major helm releases ([#2290](https://github.com/truecharts/apps/issues/2290)) - - - - -### [nextcloud-12.0.10](https://github.com/truecharts/apps/compare/nextcloud-12.0.9...nextcloud-12.0.10) (2022-03-26) - -#### Chore - -* bump all apps to trigger ci - - - - -### [nextcloud-12.0.8](https://github.com/truecharts/apps/compare/nextcloud-12.0.7...nextcloud-12.0.8) (2022-03-24) - -#### Chore - -* update docker general non-major - - - - -### [nextcloud-12.0.4](https://github.com/truecharts/apps/compare/nextcloud-12.0.3...nextcloud-12.0.4) (2022-03-15) - -#### Chore - -* update docker general non-major ([#2175](https://github.com/truecharts/apps/issues/2175)) - - - - -### [nextcloud-12.0.3](https://github.com/truecharts/apps/compare/nextcloud-12.0.2...nextcloud-12.0.3) (2022-03-08) - -#### Chore - -* update helm general non-major helm releases ([#2116](https://github.com/truecharts/apps/issues/2116)) - - - - -### [nextcloud-12.0.2](https://github.com/truecharts/apps/compare/nextcloud-12.0.1...nextcloud-12.0.2) (2022-03-07) - -#### Chore - -* update helm general non-major helm releases ([#2111](https://github.com/truecharts/apps/issues/2111)) -* update container image tccr.io/truecharts/nextcloud to v23.0.2 ([#2110](https://github.com/truecharts/apps/issues/2110)) - - - - -### [nextcloud-12.0.1](https://github.com/truecharts/apps/compare/nextcloud-12.0.0...nextcloud-12.0.1) (2022-03-07) - -#### Chore - -* update docker general non-major ([#2046](https://github.com/truecharts/apps/issues/2046)) -* Remove `-icon` string from icon png's ([#2040](https://github.com/truecharts/apps/issues/2040)) - - - - -### [nextcloud-12.0.0](https://github.com/truecharts/apps/compare/nextcloud-11.0.33...nextcloud-12.0.0) (2022-03-03) - -#### Chore - -* remove fixed env from questions.yaml -* update helm general major helm releases ([#2021](https://github.com/truecharts/apps/issues/2021)) -* update docker general non-major ([#2008](https://github.com/truecharts/apps/issues/2008)) - -#### Fix - -* BREAKING CHANGE Move some env-vars outside of env section ([#2010](https://github.com/truecharts/apps/issues/2010)) - - - - -### [nextcloud-11.0.33](https://github.com/truecharts/apps/compare/nextcloud-11.0.32...nextcloud-11.0.33) (2022-03-03) - -#### Chore - -* update docker general non-major ([#2006](https://github.com/truecharts/apps/issues/2006)) - - - - -### [nextcloud-11.0.32](https://github.com/truecharts/apps/compare/nextcloud-11.0.31...nextcloud-11.0.32) (2022-03-02) - -#### Chore - -* rename `web_portal` to `open` ([#1957](https://github.com/truecharts/apps/issues/1957)) -* update helm general non-major helm releases ([#1999](https://github.com/truecharts/apps/issues/1999)) - - - - -### [nextcloud-11.0.31](https://github.com/truecharts/apps/compare/nextcloud-11.0.30...nextcloud-11.0.31) (2022-02-21) - -#### Chore - -* update helm general non-major helm releases ([#1927](https://github.com/truecharts/apps/issues/1927)) - - - - -### [nextcloud-11.0.30](https://github.com/truecharts/apps/compare/nextcloud-11.0.29...nextcloud-11.0.30) (2022-02-21) - -#### Chore - -* update docker general non-major ([#1924](https://github.com/truecharts/apps/issues/1924)) -* clrearly indicate values that used only on first install ([#1909](https://github.com/truecharts/apps/issues/1909)) - - - - -### [nextcloud-11.0.29](https://github.com/truecharts/apps/compare/nextcloud-11.0.28...nextcloud-11.0.29) (2022-02-15) - -#### Chore - -* update helm general non-major helm releases ([#1901](https://github.com/truecharts/apps/issues/1901)) - - - - -### [nextcloud-11.0.28](https://github.com/truecharts/apps/compare/nextcloud-11.0.27...nextcloud-11.0.28) (2022-02-08) - -#### Chore - -* update helm general non-major helm releases ([#1871](https://github.com/truecharts/apps/issues/1871)) - - - - -### [nextcloud-11.0.27](https://github.com/truecharts/apps/compare/nextcloud-11.0.26...nextcloud-11.0.27) (2022-02-06) - -#### Chore - -* update helm chart common to v8.15.0 ([#1859](https://github.com/truecharts/apps/issues/1859)) - - - - -### [nextcloud-11.0.26](https://github.com/truecharts/apps/compare/nextcloud-11.0.25...nextcloud-11.0.26) (2022-02-05) - -#### Chore - -* update helm general non-major helm releases ([#1852](https://github.com/truecharts/apps/issues/1852)) -* update docker general non-major ([#1849](https://github.com/truecharts/apps/issues/1849)) - - - - -### [nextcloud-11.0.25](https://github.com/truecharts/apps/compare/nextcloud-11.0.24...nextcloud-11.0.25) (2022-02-02) - -#### Chore - -* update helm general non-major helm releases ([#1828](https://github.com/truecharts/apps/issues/1828)) - - - - -### [nextcloud-11.0.24](https://github.com/truecharts/apps/compare/nextcloud-11.0.23...nextcloud-11.0.24) (2022-01-31) - -#### Chore - -* update docker general non-major docker tags ([#1823](https://github.com/truecharts/apps/issues/1823)) - - - - -### [nextcloud-11.0.23](https://github.com/truecharts/apps/compare/nextcloud-11.0.22...nextcloud-11.0.23) (2022-01-25) - -#### Chore - -* update helm general non-major helm releases ([#1791](https://github.com/truecharts/apps/issues/1791)) - - - - -### [nextcloud-11.0.22](https://github.com/truecharts/apps/compare/nextcloud-11.0.21...nextcloud-11.0.22) (2022-01-22) - -#### Chore - -* update helm general non-major helm releases ([#1766](https://github.com/truecharts/apps/issues/1766)) - - - - -### [nextcloud-11.0.21](https://github.com/truecharts/apps/compare/nextcloud-11.0.20...nextcloud-11.0.21) (2022-01-22) - -#### Chore - -* update docker general non-major ([#1764](https://github.com/truecharts/apps/issues/1764)) - - - - -### [nextcloud-11.0.20](https://github.com/truecharts/apps/compare/nextcloud-11.0.19...nextcloud-11.0.20) (2022-01-22) - -#### Chore - -* update helm general non-major helm releases ([#1763](https://github.com/truecharts/apps/issues/1763)) - - - - -### [nextcloud-11.0.19](https://github.com/truecharts/apps/compare/nextcloud-11.0.18...nextcloud-11.0.19) (2022-01-21) - -#### Chore - -* update helm general non-major helm releases ([#1759](https://github.com/truecharts/apps/issues/1759)) - - - - -### [nextcloud-11.0.18](https://github.com/truecharts/apps/compare/nextcloud-11.0.17...nextcloud-11.0.18) (2022-01-21) - -#### Chore - -* update docker general non-major ([#1757](https://github.com/truecharts/apps/issues/1757)) - - - - -### [nextcloud-11.0.17](https://github.com/truecharts/apps/compare/nextcloud-11.0.16...nextcloud-11.0.17) (2022-01-21) - -#### Chore - -* update docker general non-major ([#1751](https://github.com/truecharts/apps/issues/1751)) - -#### Fix - -* set additional_attrs: true on all dicts ([#1750](https://github.com/truecharts/apps/issues/1750)) - - - - -### [nextcloud-11.0.16](https://github.com/truecharts/apps/compare/nextcloud-11.0.15...nextcloud-11.0.16) (2022-01-18) - -#### Chore - -* update helm general non-major helm releases ([#1732](https://github.com/truecharts/apps/issues/1732)) - - - - -### [nextcloud-11.0.15](https://github.com/truecharts/apps/compare/nextcloud-11.0.14...nextcloud-11.0.15) (2022-01-17) - -#### Chore - -* update docker general non-major ([#1728](https://github.com/truecharts/apps/issues/1728)) - - - - -### [nextcloud-11.0.14](https://github.com/truecharts/apps/compare/nextcloud-11.0.13...nextcloud-11.0.14) (2022-01-13) - -#### Chore - -* update helm general non-major helm releases ([#1712](https://github.com/truecharts/apps/issues/1712)) - -#### Feat - -* expose capabilities in GUI ([#1709](https://github.com/truecharts/apps/issues/1709)) - - - - -### [nextcloud-11.0.13](https://github.com/truecharts/apps/compare/nextcloud-11.0.12...nextcloud-11.0.13) (2022-01-12) - -#### Chore - -* update helm general non-major helm releases ([#1704](https://github.com/truecharts/apps/issues/1704)) - - - - -### [nextcloud-11.0.12](https://github.com/truecharts/apps/compare/nextcloud-11.0.11...nextcloud-11.0.12) (2022-01-11) - -#### Chore - -* update helm general non-major helm releases ([#1693](https://github.com/truecharts/apps/issues/1693)) - - - - -### [nextcloud-11.0.11](https://github.com/truecharts/apps/compare/nextcloud-11.0.10...nextcloud-11.0.11) (2022-01-04) - -#### Chore - -* update helm general non-major helm releases - - - - -### [nextcloud-11.0.10](https://github.com/truecharts/apps/compare/nextcloud-11.0.9...nextcloud-11.0.10) (2021-12-28) - -#### Chore - -* update helm general non-major helm releases ([#1623](https://github.com/truecharts/apps/issues/1623)) - - - - -### [nextcloud-11.0.9](https://github.com/truecharts/apps/compare/nextcloud-11.0.8...nextcloud-11.0.9) (2021-12-24) - -#### Chore - -* update docker general non-major ([#1607](https://github.com/truecharts/apps/issues/1607)) - - - - -### [nextcloud-11.0.8](https://github.com/truecharts/apps/compare/nextcloud-11.0.7...nextcloud-11.0.8) (2021-12-21) - -#### Chore - -* update helm general non-major helm releases ([#1596](https://github.com/truecharts/apps/issues/1596)) - - - - -### [nextcloud-11.0.7](https://github.com/truecharts/apps/compare/nextcloud-11.0.6...nextcloud-11.0.7) (2021-12-19) - -#### Chore - -* Last patch bump before RC2 branch-off -* move `envTpl` to `env` ([#1578](https://github.com/truecharts/apps/issues/1578)) -* remove `editable: true` as this is the default ([#1576](https://github.com/truecharts/apps/issues/1576)) - - - - -### [nextcloud-11.0.6](https://github.com/truecharts/apps/compare/nextcloud-11.0.5...nextcloud-11.0.6) (2021-12-19) - -#### Chore - -* completely remove mountPath reference from GUI ([#1572](https://github.com/truecharts/apps/issues/1572)) -* update helm general non-major helm releases ([#1571](https://github.com/truecharts/apps/issues/1571)) - - - - -### [nextcloud-11.0.5](https://github.com/truecharts/apps/compare/nextcloud-11.0.4...nextcloud-11.0.5) (2021-12-19) - -#### Chore - -* update docker general non-major ([#1567](https://github.com/truecharts/apps/issues/1567)) - - - - -### [nextcloud-11.0.4](https://github.com/truecharts/apps/compare/nextcloud-11.0.3...nextcloud-11.0.4) (2021-12-18) - -#### Chore - -* cleanup questions by removing hidden dicts ([#1558](https://github.com/truecharts/apps/issues/1558)) -* App-Icon Organization ([#1539](https://github.com/truecharts/apps/issues/1539)) - - - - -### [nextcloud-11.0.3](https://github.com/truecharts/apps/compare/nextcloud-11.0.2...nextcloud-11.0.3) (2021-12-14) - -#### Chore - -* update helm general non-major helm releases ([#1535](https://github.com/truecharts/apps/issues/1535)) - - - - -### [nextcloud-11.0.2](https://github.com/truecharts/apps/compare/nextcloud-11.0.1...nextcloud-11.0.2) (2021-12-13) - -#### Chore - -* move incubator apps to stable and bump everything - - - - -### [nextcloud-11.0.1](https://github.com/truecharts/apps/compare/nextcloud-11.0.0...nextcloud-11.0.1) (2021-12-11) - -#### Chore - -* update general helm non-major helm releases ([#1509](https://github.com/truecharts/apps/issues/1509)) - - - - -### [nextcloud-11.0.0](https://github.com/truecharts/apps/compare/nextcloud-10.0.16...nextcloud-11.0.0) (2021-12-11) - -#### Feat - -* move user/pass/secrets/keys from `env` to `secret` ([#1501](https://github.com/truecharts/apps/issues/1501)) - - - - -### [nextcloud-10.0.16](https://github.com/truecharts/apps/compare/nextcloud-10.0.15...nextcloud-10.0.16) (2021-12-07) - -#### Chore - -* update non-major deps helm releases ([#1481](https://github.com/truecharts/apps/issues/1481)) - - - - -### nextcloud-10.0.15 (2021-12-05) - -#### Chore - -* bump apps to generate security page -* ensure container references are prefixed with v -* move all container references to TCCR ([#1448](https://github.com/truecharts/apps/issues/1448)) -* cleanup the ci for the security page a bit -* update non-major deps helm releases ([#1471](https://github.com/truecharts/apps/issues/1471)) -* update non-major deps helm releases ([#1453](https://github.com/truecharts/apps/issues/1453)) -* update container image tccr.io/truecharts/nextcloud to v23.0.0 ([#1447](https://github.com/truecharts/apps/issues/1447)) -* update non-major deps helm releases ([#1468](https://github.com/truecharts/apps/issues/1468)) -* update non-major ([#1466](https://github.com/truecharts/apps/issues/1466)) -* update non-major ([#1431](https://github.com/truecharts/apps/issues/1431)) -* update non-major deps helm releases ([#1432](https://github.com/truecharts/apps/issues/1432)) - -#### Fix - -* fix typo in theme selection ([#1428](https://github.com/truecharts/apps/issues/1428)) - - - - -### [nextcloud-10.0.14](https://github.com/truecharts/apps/compare/nextcloud-10.0.13...nextcloud-10.0.14) (2021-12-05) - -#### Chore - -* update non-major deps helm releases ([#1468](https://github.com/truecharts/apps/issues/1468)) - - - - -### [nextcloud-10.0.13](https://github.com/truecharts/apps/compare/nextcloud-10.0.12...nextcloud-10.0.13) (2021-12-05) - -#### Chore - -* update non-major ([#1466](https://github.com/truecharts/apps/issues/1466)) - - - - -### [nextcloud-10.0.12](https://github.com/truecharts/apps/compare/nextcloud-10.0.11...nextcloud-10.0.12) (2021-12-04) - -#### Chore - -* bump apps to generate security page -* cleanup the ci for the security page a bit - - - - -### [nextcloud-10.0.11](https://github.com/truecharts/apps/compare/nextcloud-10.0.10...nextcloud-10.0.11) (2021-12-04) - -#### Chore - -* update non-major deps helm releases ([#1453](https://github.com/truecharts/apps/issues/1453)) - - - - -### [nextcloud-10.0.10](https://github.com/truecharts/apps/compare/nextcloud-10.0.9...nextcloud-10.0.10) (2021-12-03) - -#### Chore - -* ensure container references are prefixed with v -* move all container references to TCCR ([#1448](https://github.com/truecharts/apps/issues/1448)) -* update container image tccr.io/truecharts/nextcloud to v23.0.0 ([#1447](https://github.com/truecharts/apps/issues/1447)) - - - - -### [nextcloud-10.0.9](https://github.com/truecharts/apps/compare/nextcloud-10.0.8...nextcloud-10.0.9) (2021-11-30) - -#### Chore - -* update non-major ([#1431](https://github.com/truecharts/apps/issues/1431)) - - - - -### [nextcloud-10.0.8](https://github.com/truecharts/apps/compare/nextcloud-10.0.7...nextcloud-10.0.8) (2021-11-30) - -#### Chore - -* update non-major deps helm releases ([#1432](https://github.com/truecharts/apps/issues/1432)) - -#### Fix - -* move conflicting ports to 10xxx range ([#1415](https://github.com/truecharts/apps/issues/1415)) - - - - -### [nextcloud-10.0.7](https://github.com/truecharts/apps/compare/nextcloud-10.0.6...nextcloud-10.0.7) (2021-11-23) - -#### Chore - -* update non-major deps helm releases ([#1386](https://github.com/truecharts/apps/issues/1386)) - - - - -### [nextcloud-10.0.6](https://github.com/truecharts/apps/compare/nextcloud-10.0.5...nextcloud-10.0.6) (2021-11-22) - -#### Chore - -* update non-major deps helm releases ([#1383](https://github.com/truecharts/apps/issues/1383)) - - - - -### [nextcloud-10.0.5](https://github.com/truecharts/apps/compare/nextcloud-10.0.4...nextcloud-10.0.5) (2021-11-22) - -#### Chore - -* update non-major ([#1380](https://github.com/truecharts/apps/issues/1380)) - - - - -### [nextcloud-10.0.4](https://github.com/truecharts/apps/compare/nextcloud-10.0.3...nextcloud-10.0.4) (2021-11-21) - -#### Fix - -* Default enable all services ([#1361](https://github.com/truecharts/apps/issues/1361)) -* remove specific times for nextcloud startup probes - - - - -### [nextcloud-10.0.3](https://github.com/truecharts/apps/compare/nextcloud-10.0.2...nextcloud-10.0.3) (2021-11-18) - -#### Chore - -* update non-major ([#1350](https://github.com/truecharts/apps/issues/1350)) - - - - -### [nextcloud-10.0.2](https://github.com/truecharts/apps/compare/nextcloud-10.0.1...nextcloud-10.0.2) (2021-11-16) - -#### Chore - -* update non-major deps helm releases ([#1345](https://github.com/truecharts/apps/issues/1345)) - - - - -### [nextcloud-10.0.1](https://github.com/truecharts/apps/compare/nextcloud-10.0.0...nextcloud-10.0.1) (2021-11-16) - -#### Chore - -* bump postgresql again - - - - -### [nextcloud-10.0.0](https://github.com/truecharts/apps/compare/nextcloud-9.0.12...nextcloud-10.0.0) (2021-11-16) - -#### Chore - -* bump postgresql on some Apps - - - - -### [nextcloud-9.0.12](https://github.com/truecharts/apps/compare/nextcloud-9.0.11...nextcloud-9.0.12) (2021-11-15) - -#### Chore - -* update non-major docker tags ([#1339](https://github.com/truecharts/apps/issues/1339)) - - - - -### [nextcloud-9.0.11](https://github.com/truecharts/apps/compare/nextcloud-9.0.10...nextcloud-9.0.11) (2021-11-15) - -#### Chore - -* persistence cleanup and small bugfixes ([#1329](https://github.com/truecharts/apps/issues/1329)) -* update non-major deps helm releases ([#1338](https://github.com/truecharts/apps/issues/1338)) - - - - -### [nextcloud-9.0.10](https://github.com/truecharts/apps/compare/nextcloud-9.0.9...nextcloud-9.0.10) (2021-11-14) - -#### Chore - -* fixes around the GUI refactor ([#1316](https://github.com/truecharts/apps/issues/1316)) -* move port above advanced in GUI ([#1326](https://github.com/truecharts/apps/issues/1326)) -* clean up Chart.yaml ([#1322](https://github.com/truecharts/apps/issues/1322)) -* update non-major deps helm releases ([#1328](https://github.com/truecharts/apps/issues/1328)) -* update non-major ([#1327](https://github.com/truecharts/apps/issues/1327)) - -#### Feat - -* use our own redis chart ([#1312](https://github.com/truecharts/apps/issues/1312)) -* use our own redis chart ([#1310](https://github.com/truecharts/apps/issues/1310)) - -#### Fix - -* Allow spaces in paths ([#1306](https://github.com/truecharts/apps/issues/1306)) -* revert nextcloud container update due to upstream performance issues - - - - -### [nextcloud-9.0.9](https://github.com/truecharts/apps/compare/nextcloud-9.0.8...nextcloud-9.0.9) (2021-11-09) - -#### Chore - -* update non-major deps helm releases ([#1297](https://github.com/truecharts/apps/issues/1297)) - - - - -### [nextcloud-9.0.8](https://github.com/truecharts/apps/compare/nextcloud-9.0.7...nextcloud-9.0.8) (2021-11-07) - -#### Chore - -* update non-major deps helm releases ([#1295](https://github.com/truecharts/apps/issues/1295)) - - - - -### [nextcloud-9.0.7](https://github.com/truecharts/apps/compare/nextcloud-9.0.6...nextcloud-9.0.7) (2021-11-07) - -#### Chore - -* update non-major deps helm releases ([#1291](https://github.com/truecharts/apps/issues/1291)) -* Update label / description on admin credentials ([#1274](https://github.com/truecharts/apps/issues/1274)) - -#### Chore - -* Simplify GUI for deployment, persistence and securityContext ([#1289](https://github.com/truecharts/apps/issues/1289)) - -#### Feat - -* Simplify the Services GUI ([#1290](https://github.com/truecharts/apps/issues/1290)) - -#### Fix - -* make the env-var descriptions more clear - - - - -### [nextcloud-9.0.6](https://github.com/truecharts/apps/compare/nextcloud-9.0.5...nextcloud-9.0.6) (2021-11-02) - -#### Chore - -* update non-major deps helm releases ([#1267](https://github.com/truecharts/apps/issues/1267)) - - - - -### [nextcloud-9.0.5](https://github.com/truecharts/apps/compare/nextcloud-9.0.4...nextcloud-9.0.5) (2021-11-01) - -#### Chore - -* update non-major deps helm releases ([#1264](https://github.com/truecharts/apps/issues/1264)) - - - - -### [nextcloud-9.0.4](https://github.com/truecharts/apps/compare/nextcloud-9.0.3...nextcloud-9.0.4) (2021-10-26) - -#### Chore - -* update helm chart postgresql to v5.1.4 ([#1249](https://github.com/truecharts/apps/issues/1249)) - - - - -### [nextcloud-9.0.3](https://github.com/truecharts/apps/compare/nextcloud-9.0.2...nextcloud-9.0.3) (2021-10-26) - -#### Chore - -* update non-major deps helm releases ([#1247](https://github.com/truecharts/apps/issues/1247)) - - - - -### [nextcloud-9.0.2](https://github.com/truecharts/apps/compare/nextcloud-9.0.1...nextcloud-9.0.2) (2021-10-26) - -#### Chore - -* update non-major deps helm releases ([#1245](https://github.com/truecharts/apps/issues/1245)) - - - - -### [nextcloud-9.0.1](https://github.com/truecharts/apps/compare/nextcloud-9.0.0...nextcloud-9.0.1) (2021-10-26) - -#### Chore - -* update helm chart common to v8.3.15 ([#1240](https://github.com/truecharts/apps/issues/1240)) - - - - -### [nextcloud-9.0.0](https://github.com/truecharts/apps/compare/nextcloud-8.0.5...nextcloud-9.0.0) (2021-10-26) - -#### Chore - -* update helm chart postgresql to v5 ([#1234](https://github.com/truecharts/apps/issues/1234)) -* update non-major ([#1232](https://github.com/truecharts/apps/issues/1232)) - - - - -### [nextcloud-8.0.5](https://github.com/truecharts/apps/compare/nextcloud-7.1.0...nextcloud-8.0.5) (2021-10-26) - - - - -### [nextcloud-7.1.0](https://github.com/truecharts/apps/compare/nextcloud-8.0.1...nextcloud-7.1.0) (2021-10-26) - -#### Fix - -* fix patch for important postgresql consumping apps - - - - -### [nextcloud-8.0.1](https://github.com/truecharts/apps/compare/nextcloud-8.0.0...nextcloud-8.0.1) (2021-10-26) - -#### Chore - -* update non-major deps helm releases - - - - -### [nextcloud-8.0.0](https://github.com/truecharts/apps/compare/nextcloud-7.0.3...nextcloud-8.0.0) (2021-10-25) - -#### Chore - -* Adapt for TrueNAS SCALE RC1 -* make admin password private ([#1219](https://github.com/truecharts/apps/issues/1219)) - - - - -### [nextcloud-7.0.3](https://github.com/truecharts/apps/compare/nextcloud-7.0.0...nextcloud-7.0.3) (2021-10-20) - -#### Chore - -* bump apps, remove duplicates and move incubator to stable for RC1 -* update non-major deps helm releases ([#1213](https://github.com/truecharts/apps/issues/1213)) - -#### Fix - -* reenable postgresql migration scripting and bump all to force update - - - - -### [nextcloud-7.0.0](https://github.com/truecharts/apps/compare/nextcloud-6.0.28...nextcloud-7.0.0) (2021-10-20) - -#### Chore - -* update helm chart postgresql to v4 ([#1214](https://github.com/truecharts/apps/issues/1214)) - -#### Fix - -* use correct PVC storageClass when using postgresql as a dependency on SCALE ([#1212](https://github.com/truecharts/apps/issues/1212)) - - - - -### [nextcloud-6.0.28](https://github.com/truecharts/apps/compare/nextcloud-6.0.27...nextcloud-6.0.28) (2021-10-20) - -#### Chore - -* bump versions to rerelease and fix icons - - - - -### [nextcloud-6.0.27](https://github.com/truecharts/apps/compare/nextcloud-6.0.26...nextcloud-6.0.27) (2021-10-19) - -#### Change - -* Project-Eclipse 3, Automatically generate item.yaml ([#1178](https://github.com/truecharts/apps/issues/1178)) - -#### Chore - -* Project-Eclipse 5, move app-readme to automatic generation script ([#1181](https://github.com/truecharts/apps/issues/1181)) -* update helm chart common to v8.3.13 ([#1184](https://github.com/truecharts/apps/issues/1184)) -* update non-major ([#1174](https://github.com/truecharts/apps/issues/1174)) - -#### Feat - -* Project-Eclipse 4, Add App grading annotations to Chart.yaml ([#1180](https://github.com/truecharts/apps/issues/1180)) - -#### Refactor - -* Project Eclipse Part 6, move questions.yaml to root App folder ([#1182](https://github.com/truecharts/apps/issues/1182)) - - - - -### [nextcloud-6.0.26](https://github.com/truecharts/apps/compare/nextcloud-6.0.25...nextcloud-6.0.26) (2021-10-19) - -#### Chore - -* Project-Eclipse part 2, adapting and cleaning changelog ([#1173](https://github.com/truecharts/apps/issues/1173)) -* update helm chart postgresql to v3.0.20 ([#1177](https://github.com/truecharts/apps/issues/1177)) - - - - -### [nextcloud-6.0.25](https://github.com/truecharts/apps/compare/nextcloud-6.0.24...nextcloud-6.0.25) (2021-10-19) - -#### Fix - -* fix previous SCALE bugfix not correctly being applied - - - - -### [nextcloud-6.0.24](https://github.com/truecharts/apps/compare/nextcloud-6.0.23...nextcloud-6.0.24) (2021-10-19) - -#### Fix - -* Solve issues regarding ix_values.yaml not containing the image and tag definitions. ([#1176](https://github.com/truecharts/apps/issues/1176)) - - - - -### [nextcloud-6.0.23](https://github.com/truecharts/apps/compare/nextcloud-6.0.22...nextcloud-6.0.23) (2021-10-18) - -#### Refactor - -* Project Eclipse - part 1 - remove ix_values.yaml ([#1168](https://github.com/truecharts/apps/issues/1168)) - - - - -### [nextcloud-6.0.22](https://github.com/truecharts/apps/compare/nextcloud-6.0.21...nextcloud-6.0.22) (2021-10-18) - -#### Fix - -* remove regex for mountPath on `redismaster` for now ([#1167](https://github.com/truecharts/apps/issues/1167)) - - - - -### [nextcloud-6.0.21](https://github.com/truecharts/apps/compare/nextcloud-6.0.20...nextcloud-6.0.21) (2021-10-17) - -#### Chore - -* update helm chart common to v8.3.10 ([#1160](https://github.com/truecharts/apps/issues/1160)) - -#### Fix - -* force users using correct / prefix for mounPath ([#1156](https://github.com/truecharts/apps/issues/1156)) - - - - -### [nextcloud-6.0.20](https://github.com/truecharts/apps/compare/nextcloud-6.0.19...nextcloud-6.0.20) (2021-10-13) - -#### Chore - -* update non-major deps helm releases ([#1133](https://github.com/truecharts/apps/issues/1133)) - - - - -### [nextcloud-6.0.19](https://github.com/truecharts/apps/compare/nextcloud-6.0.18...nextcloud-6.0.19) (2021-10-13) - -#### Chore - -* update non-major docker tags ([#1134](https://github.com/truecharts/apps/issues/1134)) - - - - -### [nextcloud-6.0.18](https://github.com/truecharts/apps/compare/nextcloud-6.0.17...nextcloud-6.0.18) (2021-10-12) - -#### Chore - -* update helm chart postgresql to v3.0.15 ([#1127](https://github.com/truecharts/apps/issues/1127)) - - - - -### [nextcloud-6.0.17](https://github.com/truecharts/apps/compare/nextcloud-6.0.16...nextcloud-6.0.17) (2021-10-12) - -#### Chore - -* update non-major deps helm releases ([#1126](https://github.com/truecharts/apps/issues/1126)) - - - - -### [nextcloud-6.0.16](https://github.com/truecharts/apps/compare/nextcloud-6.0.15...nextcloud-6.0.16) (2021-10-12) - -#### Chore - -* update non-major ([#1122](https://github.com/truecharts/apps/issues/1122)) - - - - -### [nextcloud-6.0.15](https://github.com/truecharts/apps/compare/nextcloud-6.0.14...nextcloud-6.0.15) (2021-10-12) - -#### Chore - -* update non-major deps helm releases ([#1123](https://github.com/truecharts/apps/issues/1123)) - - - - -### [nextcloud-6.0.14](https://github.com/truecharts/apps/compare/nextcloud-6.0.13...nextcloud-6.0.14) (2021-10-09) - - - - -### [nextcloud-6.0.13](https://github.com/truecharts/apps/compare/nextcloud-6.0.12...nextcloud-6.0.13) (2021-10-05) - -#### Chore - -* update non-major ([#1103](https://github.com/truecharts/apps/issues/1103)) - - - - -### [nextcloud-6.0.12](https://github.com/truecharts/apps/compare/nextcloud-6.0.11...nextcloud-6.0.12) (2021-10-05) - -#### Chore - -* update non-major deps helm releases ([#1099](https://github.com/truecharts/apps/issues/1099)) - - - - -### [nextcloud-6.0.11](https://github.com/truecharts/apps/compare/nextcloud-6.0.10...nextcloud-6.0.11) (2021-10-05) - -#### Chore - -* update non-major ([#1098](https://github.com/truecharts/apps/issues/1098)) - - - - -### [nextcloud-6.0.10](https://github.com/truecharts/apps/compare/nextcloud-6.0.9...nextcloud-6.0.10) (2021-09-29) - -#### Chore - -* update helm chart common to v8.0.13 ([#1060](https://github.com/truecharts/apps/issues/1060)) - - - - -### [nextcloud-6.0.8](https://github.com/truecharts/apps/compare/nextcloud-6.0.7...nextcloud-6.0.8) (2021-09-29) - -#### Chore - -* update bitnami/postgresql:13.4.0 docker digest to 33c276d ([#1055](https://github.com/truecharts/apps/issues/1055)) - - - - -### [nextcloud-6.0.7](https://github.com/truecharts/apps/compare/nextcloud-6.0.6...nextcloud-6.0.7) (2021-09-28) - -#### Chore - -* update helm chart postgresql to v3.0.3 ([#1050](https://github.com/truecharts/apps/issues/1050)) - - - - -### [nextcloud-6.0.6](https://github.com/truecharts/apps/compare/nextcloud-6.0.5...nextcloud-6.0.6) (2021-09-28) - -#### Chore - -* update helm chart postgresql to v3.0.2 ([#1049](https://github.com/truecharts/apps/issues/1049)) - - - - -### [nextcloud-6.0.5](https://github.com/truecharts/apps/compare/nextcloud-6.0.4...nextcloud-6.0.5) (2021-09-28) - -#### Chore - -* update non-major ([#1048](https://github.com/truecharts/apps/issues/1048)) -* update non-major ([#1046](https://github.com/truecharts/apps/issues/1046)) - - - - -### [nextcloud-6.0.4](https://github.com/truecharts/apps/compare/nextcloud-6.0.3...nextcloud-6.0.4) (2021-09-27) - -#### Chore - -* update helm chart redis to v15.4.0 - - - - -### [nextcloud-6.0.3](https://github.com/truecharts/apps/compare/nextcloud-6.0.2...nextcloud-6.0.3) (2021-09-27) - -#### Chore - -* update helm chart postgresql to v3 ([#1041](https://github.com/truecharts/apps/issues/1041)) - - - - -### [nextcloud-6.0.2](https://github.com/truecharts/apps/compare/nextcloud-6.0.0...nextcloud-6.0.2) (2021-09-26) - -#### Chore - -* update non-major deps helm releases ([#1040](https://github.com/truecharts/apps/issues/1040)) - - - - -### [nextcloud-6.0.0](https://github.com/truecharts/apps/compare/nextcloud-5.0.6...nextcloud-6.0.0) (2021-09-26) - - - - -### [nextcloud-5.0.6](https://github.com/truecharts/apps/compare/nextcloud-5.0.5...nextcloud-5.0.6) (2021-09-21) - -#### Chore - -* update helm chart postgresql to v2.2.5 ([#1017](https://github.com/truecharts/apps/issues/1017)) - - - - -### [nextcloud-5.0.5](https://github.com/truecharts/apps/compare/nextcloud-5.0.4...nextcloud-5.0.5) (2021-09-21) - -#### Chore - -* update non-major deps helm releases ([#1014](https://github.com/truecharts/apps/issues/1014)) - - - - -### [nextcloud-5.0.4](https://github.com/truecharts/apps/compare/nextcloud-5.0.3...nextcloud-5.0.4) (2021-09-21) - -#### Chore - -* update non-major ([#1015](https://github.com/truecharts/apps/issues/1015)) - - - - -### [nextcloud-5.0.3](https://github.com/truecharts/apps/compare/nextcloud-5.0.2...nextcloud-5.0.3) (2021-09-21) - -#### Chore - -* update non-major ([#1013](https://github.com/truecharts/apps/issues/1013)) - - - - -### [nextcloud-5.0.2](https://github.com/truecharts/apps/compare/nextcloud-5.0.1...nextcloud-5.0.2) (2021-09-14) - -#### Chore - -* update non-major ([#987](https://github.com/truecharts/apps/issues/987)) - - - - -### [nextcloud-5.0.1](https://github.com/truecharts/apps/compare/nextcloud-4.0.6...nextcloud-5.0.1) (2021-09-13) - -#### Chore - -* update non-major - -#### Feat - -* add new GUI and VPN support to all Apps ([#977](https://github.com/truecharts/apps/issues/977)) -* Add VPN addon and move some config to includes ([#973](https://github.com/truecharts/apps/issues/973)) - - - - -### [nextcloud-4.0.6](https://github.com/truecharts/apps/compare/nextcloud-4.0.5...nextcloud-4.0.6) (2021-09-11) - -#### Fix - -* bump postgresql on nextcloud to a working version - - - - -### [nextcloud-4.0.5](https://github.com/truecharts/apps/compare/nextcloud-4.0.4...nextcloud-4.0.5) (2021-09-11) - -#### Fix - -* use correct appversion string - - - - -### [nextcloud-4.0.4](https://github.com/truecharts/apps/compare/nextcloud-4.0.3...nextcloud-4.0.4) (2021-09-11) - -#### Chore - -* update nextcloud to latest postgresql and common -* Use bitnami instead of stock postgresql container ([#960](https://github.com/truecharts/apps/issues/960)) -* update non-major ([#962](https://github.com/truecharts/apps/issues/962)) - -#### Feat - -* pin all container references to digests ([#963](https://github.com/truecharts/apps/issues/963)) - -#### Fix - -* make sure podSecurityContext is included in both SCALE and Helm installs ([#956](https://github.com/truecharts/apps/issues/956)) - -#### Refactor - -* change image layout to enable renovate updates of sidecarts ([#955](https://github.com/truecharts/apps/issues/955)) - - - - -### [nextcloud-4.0.3](https://github.com/truecharts/apps/compare/nextcloud-4.0.2...nextcloud-4.0.3) (2021-09-10) - -#### Fix - -* repair wrong initcontainer format on nextcloud - - - - -### [nextcloud-4.0.2](https://github.com/truecharts/apps/compare/nextcloud-4.0.1...nextcloud-4.0.2) (2021-09-10) - -#### Fix - -* update common to ensure initcontainer can always be run as root - - - - -### [nextcloud-4.0.1](https://github.com/truecharts/apps/compare/nextcloud-4.0.0...nextcloud-4.0.1) (2021-09-10) - -#### Fix - -* move runAsNonRoot to container securityContext to allow root sidecarts ([#954](https://github.com/truecharts/apps/issues/954)) - - - - -### [nextcloud-4.0.0](https://github.com/truecharts/apps/compare/nextcloud-3.7.16...nextcloud-4.0.0) (2021-09-09) - -#### Chore - -* update Apps containing initcontainers -not breaking on SCALE- ([#952](https://github.com/truecharts/apps/issues/952)) - -#### Feat - -* Add regex validation to resources CPU and RAM for all apps ([#935](https://github.com/truecharts/apps/issues/935)) - - - - -### [nextcloud-3.7.16](https://github.com/truecharts/apps/compare/nextcloud-3.7.15...nextcloud-3.7.16) (2021-09-08) - -#### Revert - -* undo fix tryout for TRUSTED_PROXIES - - - - -### [nextcloud-3.7.15](https://github.com/truecharts/apps/compare/nextcloud-3.7.14...nextcloud-3.7.15) (2021-09-08) - -#### Feat - -* Add IPWhitelist, redirectRegex and (internal) nextcloud middlewares ([#929](https://github.com/truecharts/apps/issues/929)) -* Pre-commit and tag-appversion syncing ([#926](https://github.com/truecharts/apps/issues/926)) - -#### Fix - -* Add initcontainer to force refresh TRUSTED_DOMAINS ([#930](https://github.com/truecharts/apps/issues/930)) - - -## [nextcloud-3.7.14](https://github.com/truecharts/apps/compare/nextcloud-3.7.13...nextcloud-3.7.14) (2021-09-08) diff --git a/charts/enterprise/nextcloud/Chart.yaml b/charts/enterprise/nextcloud/Chart.yaml deleted file mode 100644 index e4ca1a61f5b..00000000000 --- a/charts/enterprise/nextcloud/Chart.yaml +++ /dev/null @@ -1,45 +0,0 @@ -apiVersion: v2 -appVersion: "24.0.5" -dependencies: - - name: common - repository: https://library-charts.truecharts.org - version: 10.6.0 - - condition: postgresql.enabled - name: postgresql - repository: https://charts.truecharts.org/ - version: 8.0.78 - - condition: collabora.enabled - name: collabora-online - repository: https://charts.truecharts.org/ - version: 12.1.41 - - condition: redis.enabled - name: redis - repository: https://charts.truecharts.org - version: 3.0.75 -deprecated: false -description: A private cloud server that puts the control and security of your own data back into your hands. -home: https://truecharts.org/docs/charts/enterprise/nextcloud -icon: https://truecharts.org/img/hotlink-ok/chart-icons/nextcloud.png -keywords: - - nextcloud - - storage - - http - - web - - php -kubeVersion: ">=1.16.0-0" -maintainers: - - email: info@truecharts.org - name: TrueCharts - url: https://truecharts.org -name: nextcloud -sources: - - https://github.com/truecharts/charts/tree/master/charts/enterprise/nextcloud - - https://github.com/nextcloud/docker - - https://github.com/nextcloud/helm -type: application -version: 16.0.0 -annotations: - truecharts.org/catagories: | - - cloud - truecharts.org/SCALE-support: "true" - truecharts.org/grade: U diff --git a/charts/enterprise/nextcloud/README.md b/charts/enterprise/nextcloud/README.md deleted file mode 100644 index a0c9f40f6dd..00000000000 --- a/charts/enterprise/nextcloud/README.md +++ /dev/null @@ -1,110 +0,0 @@ -# nextcloud - -A private cloud server that puts the control and security of your own data back into your hands. - -TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. - -This readme is just an automatically generated general guide on installing our Helm Charts and Apps. -For more information, please click here: [nextcloud](https://truecharts.org/docs/charts/enterprise/nextcloud) - -**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)** - -## Source Code - -* -* -* - -## Requirements - -Kubernetes: `>=1.16.0-0` - -## Dependencies - -| Repository | Name | Version | -|------------|------|---------| -| https://charts.truecharts.org/ | collabora-online | 12.1.41 | -| https://charts.truecharts.org/ | postgresql | 8.0.78 | -| https://charts.truecharts.org | redis | 3.0.75 | -| https://library-charts.truecharts.org | common | 10.6.0 | - -## Installing the Chart - -### TrueNAS SCALE - -To install this Chart on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Installing-an-App). - -### Helm - -To install the chart with the release name `nextcloud` - -```console -helm repo add TrueCharts https://charts.truecharts.org -helm repo update -helm install nextcloud TrueCharts/nextcloud -``` - -## Uninstall - -### TrueNAS SCALE - -**Upgrading, Rolling Back and Uninstalling the Chart** - -To upgrade, rollback or delete this Chart from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Upgrade-rollback-delete-an-App). - -### Helm - -To uninstall the `nextcloud` deployment - -```console -helm uninstall nextcloud -``` - -## Configuration - -### Helm - -#### Available Settings - -Read through the values.yaml file. It has several commented out suggested values. -Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common). - -#### Configure using the command line - -Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. - -```console -helm install nextcloud \ - --set env.TZ="America/New York" \ - TrueCharts/nextcloud -``` - -#### Configure using a yaml file - -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. - -```console -helm install nextcloud TrueCharts/nextcloud -f values.yaml -``` - -#### Connecting to other charts - -If you need to connect this Chart to other Charts on TrueNAS SCALE, please refer to our [Linking Charts Internally](https://truecharts.org/docs/manual/SCALE%20Apps/linking-apps) quick-start guide. - -## Support - -- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Important-MUST-READ). -- See the [Website](https://truecharts.org) -- Check our [Discord](https://discord.gg/tVsPTHWTtr) -- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - ---- - -## Sponsor TrueCharts - -TrueCharts can only exist due to the incredible effort of our staff. -Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! - ---- - -All Rights Reserved - The TrueCharts Project diff --git a/charts/enterprise/nextcloud/ci/basic-values.yaml b/charts/enterprise/nextcloud/ci/basic-values.yaml deleted file mode 100644 index 0e1ca145546..00000000000 --- a/charts/enterprise/nextcloud/ci/basic-values.yaml +++ /dev/null @@ -1,11 +0,0 @@ -env: - # IP used for exposing nextcloud - # Often the service or nodePort IP - AccessIP: "127.0.0.1" - -service: - main: - ports: - main: - port: 8080 - targetPort: 8080 diff --git a/charts/enterprise/nextcloud/docs/images/dataset.png b/charts/enterprise/nextcloud/docs/images/dataset.png deleted file mode 100644 index edab2e9aaca28b939efc435712752b546f826870..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32538 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 YD%=@o6W~gxG;El~LdyloqP5@u4X|70rT_o{ diff --git a/charts/enterprise/nextcloud/docs/images/ingress1.png b/charts/enterprise/nextcloud/docs/images/ingress1.png deleted file mode 100644 index d36a50cc80304db972a4fc39a1e66c2b643a6801..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24319 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 P@{3ZE-cWWZj(qet`-o)x diff --git a/charts/enterprise/nextcloud/docs/images/ingress2.png b/charts/enterprise/nextcloud/docs/images/ingress2.png deleted file mode 100644 index 4cbe31d4e3f9ae4b4be321e6d3c13f622c556efd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33899 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 UZ@3{x0D+ghjEZ#GbCaO|01yywe*gdg diff --git a/charts/enterprise/nextcloud/docs/images/storage.png b/charts/enterprise/nextcloud/docs/images/storage.png deleted file mode 100644 index 0b05e902932ce533163a3373de1c06db62e9eeb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34024 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 Twx7n8^s|}c@Nu@~(l7r9zUWkV diff --git a/charts/enterprise/nextcloud/docs/installation.md b/charts/enterprise/nextcloud/docs/installation.md deleted file mode 100644 index 089857804c9..00000000000 --- a/charts/enterprise/nextcloud/docs/installation.md +++ /dev/null @@ -1,100 +0,0 @@ -# Installation Guide - -## Userdata Dataset - -This is the optional location your Nextcloud userdata will be located - -> You do NOT need to create a userdata dataset if you do not plan on using one. Nextcloud does not require one, instead you can rely on the PVC default - -:::note - -The `apps`:`apps` user:group is built into Truenas SCALE, it is the default user for most applications on Truenas SCALE. You do not have to create a separate user for each application. www-data is also included with TrueNAS SCALE by default with user/group ID `33` - -When configuring your application you'll typically see user:group `568`, this is the UID for `apps` and its recommended not to change it. - -::: - -- You are **REQUIRED** to use the `www-data` group and setting the permissions exactly, If you have anything different, chances are it will not work -- ACL's are known to cause problems with the Nextcloud `Userdata` folder, we advice you not to use them. -- Below is an example on how the permissions window should like like when done with your userdata dataset. If it looks totally different, you're most likely using ACL's - -![!Dataset: Nextcloud](images/dataset.png) - -## App Setup - -For this application We used the `Nextcloud` provided by [TrueCharts](https://truecharts.org/manual/Quick-Start%20Guides/01-Adding-TrueCharts/). - -- Available under the `stable` train - -![!Container: Tube](images/nextcloud.png) - -
- -### Container - -**Application Name** - -```text -nextcloud -``` - -Name it whatever you want, We stick with the chart name for now - -**NEXTCLOUD_ADMIN_USER (First Install Only)** - -```text -USERNAME -``` - -> This is up to you - -
- -**NEXTCLOUD_ADMIN_PASSWORD (First Install Only)** - -```text -PASSWORD -``` - -> This is up to you - -
-
- -### Storage - -> This is an optional step, if you did not create a separate dataset, you can skip this - -1. Ensure you are under `UserData Storage` -2. `Type of Storage` should be `Hostpath (simple)` -3. `Hostpath` should be the path to the dataset you created - -![!Container: Env_Var](images/storage.png) - -
-
- -### Ingress - -> While it technically might be possible to run Nextcloud without Ingress, We only offer support for people using ingress. Running it without adds complications and is not in accordance with the Nextcloud Deployment guidelines - -
- -1. Configure Hosts > Add -2. Configure Paths > Add -3. Type your hostname under `HostName` - -![!Container: Ingres](images/ingress1.png) - -
- -1. Configure TLS-Settings > Add -2. Configure Certificate Hosts > Add -3. Type your hostname under `HostName` -4. Select your correct cert - -> We do not add any middlewares, since Nextcloud has its own authentication, and adding middlewares breaks phone backups, since it has no way to authenticate through Authelia - -![!Container: Ingres](images/ingress2.png) - -
diff --git a/charts/enterprise/nextcloud/docs/installation_notes.md b/charts/enterprise/nextcloud/docs/installation_notes.md deleted file mode 100644 index f3f9538b1d0..00000000000 --- a/charts/enterprise/nextcloud/docs/installation_notes.md +++ /dev/null @@ -1,27 +0,0 @@ -# Important Notes - -Nextcloud is a VERY picky Application and is VERY hard to support. -The support staff on our Discord can help with the basic installation and -getting Ingress to run with the chart, as that is that is the only recommended and supported installation method since 15.X. - -The support staff will not help with upgrades that fail from an earlier version than 15.X, we've included a -[migration guide](migration_guide.md) to help with this upgrade. - -If you're having issues with the Nextcloud app/chart itself after basic installation we ask you not to file support -requests on our Discord or Github, unless your issue is clearly caused by TrueCharts. It's, however, fine to ask in an, appropiate, other, non-support, channel! - -While we consider the App layer "Stable", we simply cannot guarantee stability due to the nature of the Nextcloud Application inside the App. - -## Installation Notes - -Nextcloud generates it's `config.php` file on the first startup/installation. Therefore you have to set some values correctly on the first try. -Otherwise you will have to either re-install the App or edit the `config.php` manually, with the latter being out of our support scope. -The mentioned values are: - -- User Data storage location, type (eg. PVC, hostPath). - -Also Nextcloud creates an Admin user on the first startup/installation. Changing them later, will have no effect. -The mentioned values are: - -- NEXTCLOUD_ADMIN_USER -- NEXTCLOUD_ADMIN_PASSWORD diff --git a/charts/enterprise/nextcloud/docs/migration_guide.md b/charts/enterprise/nextcloud/docs/migration_guide.md deleted file mode 100644 index 49d354fb852..00000000000 --- a/charts/enterprise/nextcloud/docs/migration_guide.md +++ /dev/null @@ -1,27 +0,0 @@ -# Migration Notes - -This guide is provided as a resource to help taken from our Discord, but since 15.X is a breaking change -there's no guarantees this will work, and you may have to install fresh - -We want to highlight that this is considered a completely new App, hence the "breaking change". -For the best stability we would advice people to reinstall (with the option to save the users data). - -While we try to help people through migration and even have added some automated migration tooling, -we cannot guarantee migration with breaking changes like these. - -The correct troubleshooting steps would be: - -- Remove any mention of "nextcloud_datadir" either in env-vars or config.php (if you manually added or altered it), we never supported this due to us expecting this change long beforehand -- Remove any custom storage -- Ensure config is set to "PVC" -- Add `127.0.0.1` to the TRUSTED_PROXY setting like this: `172.16.0.0/16 127.0.0.1` -- Stop and Start the old version to double-ensure the settings are applied -- Apply the update -- Wait for a good while (go grab lunch, eat it and drink a coffee afterwards) -- Check if it worked out - -If not: - -- Manually ensure your nextcloud data structure is correct inside the App in both /var/www/html and /var/www/html/data -- Double check if data directory is not set to anything other than /var/www/html/data (not set at-all is fine though) -- Restart diff --git a/charts/enterprise/nextcloud/docs/validation.md b/charts/enterprise/nextcloud/docs/validation.md deleted file mode 100644 index bda44241763..00000000000 --- a/charts/enterprise/nextcloud/docs/validation.md +++ /dev/null @@ -1,13 +0,0 @@ -# Input Validation - -**`Default Phone Region`** -Accepted formats are: - -- 2x Capital Letters (eg. `US`) - -Regex used to match this: `^[A-Z]{2}$` -You can try live [here](https://regex101.com/r/qf1Lti/1) - ---- - -_If you find a field that you think it needs validation, please open an issue on github_ diff --git a/charts/enterprise/nextcloud/icon.png b/charts/enterprise/nextcloud/icon.png deleted file mode 100644 index 1f6f9b7d268b41753969c12f3eff9d9af2268521..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17632 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 diff --git a/charts/enterprise/nextcloud/questions.yaml b/charts/enterprise/nextcloud/questions.yaml deleted file mode 100644 index 978d58b9b2a..00000000000 --- a/charts/enterprise/nextcloud/questions.yaml +++ /dev/null @@ -1,347 +0,0 @@ -# Include{groups} -portals: - open: -# Include{portalLink} -questions: -# Include{global} -# Include{controller} -# Include{controllerDeployment} -# Include{replicas} -# Include{replica1} -# Include{strategy} -# Include{recreate} -# Include{controllerExpert} -# Include{controllerExpertExtraArgs} - - variable: secretEnv - group: "Container Configuration" - label: "Image Secrets" - schema: - additional_attrs: true - type: dict - attrs: - - variable: NEXTCLOUD_ADMIN_USER - label: "NEXTCLOUD_ADMIN_USER (First Install Only)" - description: "Sets the initial nextcloud's admin username, changing this variable after first launch will NOT change admin's username" - schema: - type: string - required: true - default: "REPLACETHIS" - - variable: NEXTCLOUD_ADMIN_PASSWORD - label: "NEXTCLOUD_ADMIN_PASSWORD (First Install Only)" - description: "Sets the initial nextcloud's admin password, changing this variable after first launch will NOT change admin's password" - schema: - type: string - private: true - required: true - default: "REPLACETHIS" - - variable: env - group: "Container Configuration" - label: "Image Environment" - schema: - additional_attrs: true - type: dict - attrs: - - variable: TRUSTED_PROXIES - label: "Trusted Proxies (Advanced)" - description: "Sets nextcloud Trusted Proxies" - schema: - type: string - default: "172.16.0.0/16 127.0.0.1" - - variable: PHP_MEMORY_LIMIT - label: "PHP_MEMORY_LIMIT" - description: "Sets php memory_limit setting" - schema: - type: string - default: "1G" - - variable: PHP_UPLOAD_LIMIT - label: "PHP_UPLOAD_LIMIT" - description: "Sets php upload_max_filesize and post_max_size settings" - schema: - type: string - default: "10G" - - variable: AccessIP - label: "Access IP" - description: "Set to the IP-Address used to reach Nextcloud. Most often the Service or NodePort IP (Ensure this is correct!)" - schema: - type: string - required: true - $ref: - - "definitions/nodeIP" - - variable: nextcloud - group: "Container Configuration" - label: "Nextcloud Configuration" - schema: - additional_attrs: true - type: dict - attrs: - - variable: default_phone_region - label: "Default Phone Region" - description: "Sets the default phone region in ISO_3166-1 format (e.g. US). https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements" - schema: - type: string - valid_chars: '^[A-Z]{2}$' - default: "US" - - variable: imaginary - group: "Container Configuration" - label: "Preview Generation Configuration" - schema: - additional_attrs: true - type: dict - attrs: - - variable: preview_max_x - label: "Preview Max X" - description: "The maximum width, in pixels, of a preview." - schema: - type: int - required: true - default: 2048 - - variable: preview_max_y - label: "Preview Max Y" - description: "The maximum height, in pixels, of a preview." - schema: - type: int - required: true - default: 2048 - - variable: preview_max_memory - label: "Preview Max Memory" - description: "Max memory in MB for generating image previews." - schema: - type: int - required: true - default: 512 - - variable: preview_max_filesize_image - label: "Preview Max Filesize Image" - description: "Max file size in MB for generating image previews." - schema: - type: int - required: true - default: 150 - - variable: preview_png - label: "Generate previews for PNG" - schema: - type: boolean - default: true - - variable: preview_jpeg - label: "Generate previews for JPEG " - schema: - type: boolean - default: true - - variable: preview_gif - label: "Generate previews for GIF" - schema: - type: boolean - default: true - - variable: preview_bmp - label: "Generate previews for BMP" - schema: - type: boolean - default: true - - variable: preview_xbitmap - label: "Generate previews for XBitmap" - schema: - type: boolean - default: true - - variable: preview_mp3 - label: "Generate previews for MP3" - schema: - type: boolean - default: true - - variable: preview_markdown - label: "Generate previews for MarkDown" - schema: - type: boolean - default: true - - variable: preview_opendoc - label: "Generate previews for OpenDocument" - schema: - type: boolean - default: true - - variable: preview_txt - label: "Generate previews for TXT" - schema: - type: boolean - default: true - - variable: preview_krita - label: "Generate previews for Krita" - schema: - type: boolean - default: true - - variable: preview_illustrator - label: "Generate previews for Illustrator" - schema: - type: boolean - default: false - - variable: preview_heic - label: "Generate previews for HEIC" - schema: - type: boolean - default: false - - variable: preview_movie - label: "Generate previews for Movie" - schema: - type: boolean - default: false - - variable: preview_msoffice2003 - label: "Generate previews for MSOffice2003" - schema: - type: boolean - default: false - - variable: preview_msoffice2007 - label: "Generate previews for MSOffice2007" - schema: - type: boolean - default: false - - variable: preview_msofficedoc - label: "Generate previews for MSOfficeDoc" - schema: - type: boolean - default: false - - variable: preview_pdf - label: "Generate previews for PDF" - schema: - type: boolean - default: false - - variable: preview_photoshop - label: "Generate previews for Photoshop" - schema: - type: boolean - default: false - - variable: preview_postscript - label: "Generate previews for Postscript" - schema: - type: boolean - default: false - - variable: preview_staroffice - label: "Generate previews for StarOffice" - schema: - type: boolean - default: false - - variable: preview_svg - label: "Generate previews for SVG" - schema: - type: boolean - default: false - - variable: preview_tiff - label: "Generate previews for TIFF" - schema: - type: boolean - default: false - - variable: preview_font - label: "Generate previews for Font" - schema: - type: boolean - default: false -# Include{containerConfig} -# Include{serviceRoot} - - variable: main - label: "Main Service" - description: "The Primary service on which the healthcheck runs, often the webUI" - schema: - additional_attrs: true - type: dict - attrs: -# Include{serviceSelectorLoadBalancer} -# Include{serviceSelectorExtras} - - variable: main - label: "Main Service Port Configuration" - schema: - additional_attrs: true - type: dict - attrs: - - variable: port - label: "Port" - description: "This port exposes the container port on the service" - schema: - type: int - default: 10020 - required: true -# Include{advancedPortHTTP} - - variable: targetPort - label: "Target Port" - description: "The internal(!) port on the container the Application runs on" - schema: - type: int - default: 8080 -# Include{serviceExpertRoot} - default: false -# Include{serviceExpert} -# Include{serviceList} -# Include{persistenceRoot} - - variable: html - label: "App html Storage" - description: "Stores the Application html." - schema: - additional_attrs: true - type: dict - attrs: -# Include{persistenceBasic} -# Include{persistenceAdvanced} - - variable: data - label: "UserData Storage" - description: "Stores the User Data." - schema: - additional_attrs: true - type: dict - attrs: -# Include{persistenceBasic} -# Include{persistenceAdvanced} -# Include{persistenceList} -# Include{ingressRoot} - - variable: main - label: "Main Ingress" - schema: - additional_attrs: true - type: dict - attrs: -# Include{ingressDefault} -# Include{ingressTLS} -# Include{ingressTraefik} -# Include{ingressExpert} -# Include{ingressList} -# Include{security} -# Include{securityContextAdvancedRoot} - - 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 -# Include{securityContextAdvanced} -# Include{podSecurityContextRoot} - - 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: 33 -# Include{podSecurityContextAdvanced} -# Include{resources} -# Include{advanced} -# Include{addons} -# Include{documentation} diff --git a/charts/enterprise/nextcloud/templates/_configmap.tpl b/charts/enterprise/nextcloud/templates/_configmap.tpl deleted file mode 100644 index abe500d31e8..00000000000 --- a/charts/enterprise/nextcloud/templates/_configmap.tpl +++ /dev/null @@ -1,36 +0,0 @@ -{{/* Define the configmap */}} -{{- define "nextcloud.configmap" -}} - -{{- $hosts := "" }} -{{- if .Values.ingress.main.enabled }} -{{- range .Values.ingress }} -{{- range $index, $host := .hosts }} - {{- if $index }} - {{ $hosts = ( printf "%v %v" $hosts $host.host ) }} - {{- else }} - {{ $hosts = ( printf "%s" $host.host ) }} - {{- end }} -{{- end }} -{{- end }} -{{- end }} - - ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: nextcloudconfig -data: - {{- $aliasgroup1 := ( printf "http://%s" ( .Values.env.AccessIP | default ( printf "%v-%v" .Release.Name "nextcloud" ) ) ) }} - {{- if .Values.ingress.main.enabled }} - {{- with (first .Values.ingress.main.hosts) }} - {{- $aliasgroup1 = ( printf "https://%s" .host ) }} - {{- end }} - {{- end }} - aliasgroup1: {{ $aliasgroup1 }} - NEXTCLOUD_TRUSTED_DOMAINS: {{ ( printf "%v %v %v %v %v %v %v %v" "test.fakedomain.dns" "localhost" "127.0.0.1" ( printf "%v:%v" "127.0.0.1" .Values.service.main.ports.main.port ) ( .Values.env.AccessIP | default "localhost" ) ( printf "%v-%v" .Release.Name "nextcloud" ) ( printf "%v-%v" .Release.Name "nextcloud-backend" ) $hosts ) | quote }} - {{- if .Values.ingress.main.enabled }} - APACHE_DISABLE_REWRITE_IP: "1" - {{- end }} - -{{- end -}} diff --git a/charts/enterprise/nextcloud/templates/_cronjob.tpl b/charts/enterprise/nextcloud/templates/_cronjob.tpl deleted file mode 100644 index 302f3b83aae..00000000000 --- a/charts/enterprise/nextcloud/templates/_cronjob.tpl +++ /dev/null @@ -1,64 +0,0 @@ -{{/* Define the cronjob */}} -{{- define "nextcloud.cronjob" -}} -{{- if .Values.cronjob.enabled -}} -{{- $jobName := include "tc.common.names.fullname" . }} - ---- -apiVersion: batch/v1 -kind: CronJob -metadata: - name: {{ printf "%s-cronjob" $jobName }} - labels: - {{- include "tc.common.labels" . | nindent 4 }} -spec: - schedule: "{{ .Values.cronjob.schedule }}" - concurrencyPolicy: Forbid - {{- with .Values.cronjob.failedJobsHistoryLimit }} - failedJobsHistoryLimit: {{ . }} - {{- end }} - {{- with .Values.cronjob.successfulJobsHistoryLimit }} - successfulJobsHistoryLimit: {{ . }} - {{- end }} - jobTemplate: - metadata: - spec: - template: - metadata: - spec: - restartPolicy: Never - {{- with (include "tc.common.controller.volumes" . | trim) }} - volumes: - {{- nindent 12 . }} - {{- end }} - containers: - - name: {{ .Chart.Name }} - image: '{{ include "tc.common.images.selector" . }}' - imagePullPolicy: {{ default .Values.image.pullPolicy }} - command: - - "/bin/sh" - - "-c" - - | - /bin/bash <<'EOF' - echo "running nextcloud cronjob..." - php -f /var/www/html/cron.php - echo "cronjob finished" - {{- if .Values.cronjob.generatePreviews }} - echo "Pre-generating Previews..." - php /var/www/html/occ preview:pre-generate - echo "Previews generated." - {{- end }} - EOF - # Will mount configuration files as www-data (id: 33) by default for nextcloud - {{- with (include "tc.common.controller.volumeMounts" . | trim) }} - volumeMounts: - {{ nindent 16 . }} - {{- end }} - securityContext: - runAsUser: 33 - runAsGroup: 33 - readOnlyRootFilesystem: true - runAsNonRoot: true - resources: -{{ toYaml .Values.resources | indent 16 }} -{{- end -}} -{{- end -}} diff --git a/charts/enterprise/nextcloud/templates/_hpb.tpl b/charts/enterprise/nextcloud/templates/_hpb.tpl deleted file mode 100644 index 5b7b18a15fa..00000000000 --- a/charts/enterprise/nextcloud/templates/_hpb.tpl +++ /dev/null @@ -1,164 +0,0 @@ -{{/* Define the hbp container */}} -{{- define "nextcloud.hpb" -}} -{{- $jobName := include "tc.common.names.fullname" . }} -image: '{{ include "tc.common.images.selector" . }}' -imagePullPolicy: '{{ .Values.image.pullPolicy }}' -securityContext: - runAsUser: 33 - runAsGroup: 33 - readOnlyRootFilesystem: true - runAsNonRoot: true -{{- with (include "tc.common.controller.volumeMounts" . | trim) }} -volumeMounts: - {{ nindent 2 . }} -{{- end }} -ports: - - containerPort: 7867 -readinessProbe: - httpGet: - path: /push/test/cookie - port: 7867 - httpHeaders: - - name: Host - value: "test.fakedomain.dns" - initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }} - periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }} - timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }} - failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }} -livenessProbe: - httpGet: - path: /push/test/cookie - port: 7867 - httpHeaders: - - name: Host - value: "test.fakedomain.dns" - initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }} - periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }} - timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }} - failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }} -startupProbe: - httpGet: - path: /push/test/cookie - port: 7867 - httpHeaders: - - name: Host - value: "test.fakedomain.dns" - initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }} - periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }} - timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }} - failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }} -command: - - "/bin/sh" - - "-c" - - | - /bin/bash <<'EOF' - set -m - echo "Waiting for notify_push file to be available..." - until [ -f /var/www/html/custom_apps/notify_push/bin/x86_64/notify_push ] - do - sleep 10 - echo "Notify_push app not found... waiting..." - done - echo "Waiting for Nextcloud to start..." - until $(curl --output /dev/null --silent --head --fail -H "Host: test.fakedomain.dns" http://127.0.0.1:8080/status.php); do - echo "Nextcloud not responding... waiting..." - sleep 10 - done - until $(curl --silent --fail -H "Host: test.fakedomain.dns" http://127.0.0.1:8080/status.php | jq --raw-output '.installed' | grep "true"); do - echo "Nextcloud not installed... waiting..." - sleep 10 - done - echo "Nextcloud instance with Notify_push found... Launching High Performance Backend..." - /var/www/html/custom_apps/notify_push/bin/x86_64/notify_push /var/www/html/config/config.php & - - {{- $accessurl := ( printf "http://%v:%v" ( .Values.env.AccessIP | default ( printf "%v-%v" .Release.Name "nextcloud" ) ) .Values.service.main.ports.main.port ) }} - {{- if .Values.ingress.main.enabled }} - {{- with (first .Values.ingress.main.hosts) }} - {{- $accessurl = ( printf "https://%s" .host ) }} - {{- end }} - {{- end }} - - echo "Configuring CLI url..." - php /var/www/html/occ config:system:set overwrite.cli.url --value='{{ $accessurl }}/' - - {{- if .Values.imaginary.enabled }} - echo "Imaginary High Performance Previews enabled, enabling it on Nextcloud..." - php /var/www/html/occ config:system:set preview_imaginary_url --value='http://127.0.0.1:9090' - php /var/www/html/occ config:system:set preview_max_x --value='{{ .Values.imaginary.preview_max_x }}' - php /var/www/html/occ config:system:set preview_max_y --value='{{ .Values.imaginary.preview_max_y }}' - php /var/www/html/occ config:system:set preview_max_memory --value='{{ .Values.imaginary.preview_max_memory }}' - php /var/www/html/occ config:system:set preview_max_filesize_image --value='{{ .Values.imaginary.preview_max_filesize_image }}' - # Remove all preview providers and re-add only selected - php /var/www/html/occ config:system:delete enabledPreviewProviders - # Add imaginary always - {{ $c := 0 }} # Initialize counter - php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Imaginary'{{ $c = add1 $c }} - {{ if .Values.imaginary.preview_png }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\PNG'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_jpeg }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\JPEG'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_gif }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\GIF'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_bmp }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\BMP'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_xbitmap }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\XBitmap'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_mp3 }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\MP3'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_markdown }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\MarkDown'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_opendoc }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\OpenDocument'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_txt }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\TXT'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_krita }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Krita'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_illustrator }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Illustrator'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_heic }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\HEIC'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_movie }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Movie'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_msoffice2003 }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\MSOffice2003'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_msoffice2007 }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\MSOffice2007'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_msofficedoc }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\MSOfficeDoc'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_pdf }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\PDF'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_photoshop }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Photoshop'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_postscript }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Postscript'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_staroffice }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\StarOffice'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_svg }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\SVG'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_tiff }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\TIFF'{{ $c = add1 $c }}{{ end }} - {{ if .Values.imaginary.preview_font }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Font'{{ $c = add1 $c }}{{ end }} - {{- end }} - - # Set default phone region - {{- with .Values.nextcloud.default_phone_region | upper }} - php /var/www/html/occ config:system:set default_phone_region --value='{{ . }}' - {{- end }} - - echo "Configuring High Performance Backend for url: {{ $accessurl }}" - php /var/www/html/occ config:app:set notify_push base_endpoint --value='{{ $accessurl }}/push' - fg - EOF -env: - - name: NEXTCLOUD_URL - value: 'http://127.0.0.1:8080' - - name: METRICS_PORT - value: '7868' - - name: TRUSTED_PROXIES - value: "{{ .Values.env.TRUSTED_PROXIES }}" - - name: POSTGRES_DB - value: "{{ .Values.postgresql.postgresqlDatabase }}" - - name: POSTGRES_USER - value: "{{ .Values.postgresql.postgresqlUsername }}" - - name: POSTGRES_PASSWORD - valueFrom: - secretKeyRef: - name: dbcreds - key: postgresql-password - - name: POSTGRES_HOST - valueFrom: - secretKeyRef: - name: dbcreds - key: plainporthost - - name: REDIS_HOST - valueFrom: - secretKeyRef: - name: rediscreds - key: plainhost - - name: REDIS_HOST_PASSWORD - valueFrom: - secretKeyRef: - name: rediscreds - key: redis-password -envFrom: - - configMapRef: - name: nextcloudconfig -{{- end -}} diff --git a/charts/enterprise/nextcloud/templates/_imaginary.tpl b/charts/enterprise/nextcloud/templates/_imaginary.tpl deleted file mode 100644 index 57a72c43024..00000000000 --- a/charts/enterprise/nextcloud/templates/_imaginary.tpl +++ /dev/null @@ -1,40 +0,0 @@ -{{/* Define the imaginary container */}} -{{- define "nextcloud.imaginary" -}} -image: {{ .Values.imaginaryImage.repository }}:{{ .Values.imaginaryImage.tag }} -imagePullPolicy: '{{ .Values.image.pullPolicy }}' -securityContext: - runAsUser: 33 - runAsGroup: 33 - readOnlyRootFilesystem: true - runAsNonRoot: true -ports: - - containerPort: 9090 -args: ["-enable-url-source"] -env: - - name: 'PORT' - value: '9090' -readinessProbe: - httpGet: - path: / - port: 9090 - initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }} - periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }} - timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }} - failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }} -livenessProbe: - httpGet: - path: / - port: 9090 - initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }} - periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }} - timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }} - failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }} -startupProbe: - httpGet: - path: / - port: 9090 - initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }} - periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }} - timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }} - failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }} -{{- end -}} diff --git a/charts/enterprise/nextcloud/templates/_nginx.tpl b/charts/enterprise/nextcloud/templates/_nginx.tpl deleted file mode 100644 index df427f44bd8..00000000000 --- a/charts/enterprise/nextcloud/templates/_nginx.tpl +++ /dev/null @@ -1,54 +0,0 @@ -{{/* Define the nginx container */}} -{{- define "nextcloud.nginx" -}} -image: {{ .Values.nginxImage.repository }}:{{ .Values.nginxImage.tag }} -imagePullPolicy: '{{ .Values.image.pullPolicy }}' -securityContext: - runAsUser: 33 - runAsGroup: 33 - readOnlyRootFilesystem: true - runAsNonRoot: true -{{- with (include "tc.common.controller.volumeMounts" . | trim) }} -volumeMounts: - {{ nindent 2 . }} -{{- end }} - - mountPath: /etc/nginx/nginx.conf - name: nginx - readOnly: true - subPath: nginx.conf -ports: - - containerPort: 8080 - -readinessProbe: - httpGet: - path: /robots.txt - port: 8080 - httpHeaders: - - name: Host - value: "test.fakedomain.dns" - initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }} - periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }} - timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }} - failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }} -livenessProbe: - httpGet: - path: /robots.txt - port: 8080 - httpHeaders: - - name: Host - value: "test.fakedomain.dns" - initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }} - periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }} - timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }} - failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }} -startupProbe: - httpGet: - path: /robots.txt - port: 8080 - httpHeaders: - - name: Host - value: "test.fakedomain.dns" - initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }} - periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }} - timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }} - failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }} -{{- end -}} diff --git a/charts/enterprise/nextcloud/templates/common.yaml b/charts/enterprise/nextcloud/templates/common.yaml deleted file mode 100644 index 9314524b1a2..00000000000 --- a/charts/enterprise/nextcloud/templates/common.yaml +++ /dev/null @@ -1,22 +0,0 @@ -{{/* Make sure all variables are set properly */}} -{{- include "tc.common.loader.init" . }} - -{{/* Render configmap for nextcloud */}} -{{- include "nextcloud.configmap" . }} - -{{- $newMiddlewares := append .Values.ingress.main.fixedMiddlewares "tc-nextcloud-chain" }} -{{- $_ := set .Values.ingress.main "fixedMiddlewares" $newMiddlewares -}} - -{{- $_ := set .Values.additionalContainers "nginx" (include "nextcloud.nginx" . | fromYaml) -}} -{{- if .Values.imaginary.enabled -}} -{{- $_ := set .Values.additionalContainers "imaginary" (include "nextcloud.imaginary" . | fromYaml) -}} -{{- end -}} -{{- if .Values.hpb.enabled -}} -{{- $_ := set .Values.additionalContainers "hpb" (include "nextcloud.hpb" . | fromYaml) -}} -{{- end -}} - -{{/* Render the templates */}} -{{ include "tc.common.loader.apply" . }} - -{{/* Render cronjob for nextcloud */}} -{{- include "nextcloud.cronjob" . }} diff --git a/charts/enterprise/nextcloud/values.yaml b/charts/enterprise/nextcloud/values.yaml deleted file mode 100644 index 7c23c2a1bd4..00000000000 --- a/charts/enterprise/nextcloud/values.yaml +++ /dev/null @@ -1,457 +0,0 @@ -image: - repository: tccr.io/truecharts/nextcloud-fpm - pullPolicy: IfNotPresent - tag: 24.0.5@sha256:1516301290268ff9738acc2c669e8a4fb8f8f78dbb64c0b8f36ef4c791c9f568 - -nginxImage: - repository: tccr.io/truecharts/nginx-unprivileged - pullPolicy: IfNotPresent - tag: 1.23.1@sha256:bb6daed37713a1870831e7fde3e6c281419ff522bc244926661777e592978639 - -imaginaryImage: - repository: h2non/imaginary - pullPolicy: IfNotPresent - tag: 1.2.4@sha256:7facb4221047a5e79b9e902f380247f4e5bf4376400d0badbeb738d3e1c2f654 - -securityContext: - readOnlyRootFilesystem: false - runAsNonRoot: false - -podSecurityContext: - runAsUser: 0 - runAsGroup: 0 - fsGroup: 33 - -service: - main: - ports: - main: - port: 10020 - targetPort: 8080 - backend: - enabled: true - ports: - hpb: - enabled: true - port: 7867 - targetPort: 7867 - hpb-metrics: - enabled: true - port: 7868 - targetPort: 7868 - fpm: - enabled: true - port: 9000 - targetPort: 9000 - imaginary: - enabled: true - port: 9090 - targetPort: 9090 - -hostAliases: - - ip: '{{ .Values.env.AccessIP | default "127.0.0.1" }}' - hostnames: - - "{{ if .Values.ingress.main.enabled }}{{ with (first .Values.ingress.main.hosts) }}{{ .host }}{{ end }}{{ else }}placeholder.fakedomain.dns{{ end }}" - -secretEnv: - NEXTCLOUD_ADMIN_USER: "admin" - NEXTCLOUD_ADMIN_PASSWORD: "adminpass" - -probes: - liveness: - custom: true - spec: - initialDelaySeconds: 25 - httpGet: - path: /status.php - port: 8080 - httpHeaders: - - name: Host - value: "test.fakedomain.dns" - - readiness: - custom: true - spec: - initialDelaySeconds: 25 - httpGet: - path: /status.php - port: 8080 - httpHeaders: - - name: Host - value: "test.fakedomain.dns" - - startup: - custom: true - spec: - initialDelaySeconds: 25 - httpGet: - path: /status.php - port: 8080 - httpHeaders: - - name: Host - value: "test.fakedomain.dns" - -initContainers: - prestart: - image: '{{ include "tc.common.images.selector" . }}' - securityContext: - runAsUser: 0 - runAsGroup: 0 - privileged: true - command: - - "/bin/sh" - - "-c" - - | - /bin/bash <<'EOF' - echo "Forcing permissions on userdata folder..." - if nfs4xdr_getfacl && nfs4xdr_getfacl | grep -qv "Failed to get NFSv4 ACL"; then - echo "NFSv4 ACLs detected, Trying to override permissions using nfs4_setfacl..." - nfs4_setfacl -R -a A:g:33:RWX "/var/www/html/data" - else - echo "No NFSv4 ACLs detected, trying to override permissions using chown/chmod..." - echo "checking ownership..." - if [ $(stat -c %g .) -eq 33 ]; then - echo "Ownership already set to 33, skipping..." - else - echo "Changing ownership to group 33..." - chown -R :33 "/var/www/html/data" - fi - chmod 770 /var/www/html/data - fi - EOF - - volumeMounts: - - name: data - mountPath: "/var/www/html/data" - - name: html - mountPath: "/var/www/html" - -env: - # IP used for exposing nextcloud - # Often the service or nodePort IP - # Defaults to the main serviceName for CI purposes. - AccessIP: - NEXTCLOUD_INIT_HTACCESS: true - PHP_MEMORY_LIMIT: 1G - PHP_UPLOAD_LIMIT: 10G - NEXTCLOUD_CHUNKSIZE: "31457280" - TRUSTED_PROXIES: "172.16.0.0/16 127.0.0.1" - POSTGRES_DB: "{{ .Values.postgresql.postgresqlDatabase }}" - POSTGRES_USER: "{{ .Values.postgresql.postgresqlUsername }}" - NC_check_data_directory_permissions: "true" - POSTGRES_PASSWORD: - secretKeyRef: - name: dbcreds - key: postgresql-password - POSTGRES_HOST: - secretKeyRef: - name: dbcreds - key: plainporthost - REDIS_HOST: - secretKeyRef: - name: rediscreds - key: plainhost - REDIS_HOST_PASSWORD: - secretKeyRef: - name: rediscreds - key: redis-password - -envFrom: - - configMapRef: - name: nextcloudconfig - -persistence: - html: - enabled: true - mountPath: "/var/www/html" - data: - enabled: true - mountPath: "/var/www/html/data" - varrun: - enabled: true - cache: - enabled: true - type: emptyDir - mountPath: /var/cache/nginx - medium: Memory - nginx: - enabled: "true" - mountPath: "/etc/nginx" - noMount: true - readOnly: true - type: "custom" - volumeSpec: - configMap: - name: '{{ include "tc.common.names.fullname" . }}-nginx' - items: - - key: nginx.conf - path: nginx.conf - -configmap: - nginx: - enabled: true - data: - nginx.conf: |- - worker_processes auto; - - error_log /var/log/nginx/error.log warn; - pid /var/run/nginx.pid; - - - events { - worker_connections 1024; - } - - - http { - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - - sendfile on; - #tcp_nopush on; - - # Prevent nginx HTTP Server Detection - server_tokens off; - - keepalive_timeout 65; - - #gzip on; - - upstream php-handler { - server 127.0.0.1:9000; - } - - server { - listen 8080; - absolute_redirect off; - - # Forward Notify_Push "High Performance Backend" to it's own container - location ^~ /push/ { - proxy_pass http://127.0.0.1:7867/; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "Upgrade"; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } - - # HSTS settings - # WARNING: Only add the preload option once you read about - # the consequences in https://hstspreload.org/. This option - # will add the domain to a hardcoded list that is shipped - # in all major browsers and getting removed from this list - # could take several months. - #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; - - # set max upload size - client_max_body_size {{ .Values.env.PHP_UPLOAD_LIMIT | default "512M" }}; - fastcgi_buffers 64 4K; - - # Enable gzip but do not remove ETag headers - gzip on; - gzip_vary on; - gzip_comp_level 4; - gzip_min_length 256; - gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; - gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; - - # Pagespeed is not supported by Nextcloud, so if your server is built - # with the `ngx_pagespeed` module, uncomment this line to disable it. - #pagespeed off; - - # HTTP response headers borrowed from Nextcloud `.htaccess` - add_header Referrer-Policy "no-referrer" always; - add_header X-Content-Type-Options "nosniff" always; - add_header X-Download-Options "noopen" always; - add_header X-Frame-Options "SAMEORIGIN" always; - add_header X-Permitted-Cross-Domain-Policies "none" always; - add_header X-Robots-Tag "none" always; - add_header X-XSS-Protection "1; mode=block" always; - - # Remove X-Powered-By, which is an information leak - fastcgi_hide_header X-Powered-By; - - # Path to the root of your installation - root /var/www/html; - - # Specify how to handle directories -- specifying `/index.php$request_uri` - # here as the fallback means that Nginx always exhibits the desired behaviour - # when a client requests a path that corresponds to a directory that exists - # on the server. In particular, if that directory contains an index.php file, - # that file is correctly served; if it doesn't, then the request is passed to - # the front-end controller. This consistent behaviour means that we don't need - # to specify custom rules for certain paths (e.g. images and other assets, - # `/updater`, `/ocm-provider`, `/ocs-provider`), and thus - # `try_files $uri $uri/ /index.php$request_uri` - # always provides the desired behaviour. - index index.php index.html /index.php$request_uri; - - # Rule borrowed from `.htaccess` to handle Microsoft DAV clients - location = / { - if ( $http_user_agent ~ ^DavClnt ) { - return 302 /remote.php/webdav/$is_args$args; - } - } - - location = /robots.txt { - allow all; - log_not_found off; - access_log off; - } - - # Make a regex exception for `/.well-known` so that clients can still - # access it despite the existence of the regex rule - # `location ~ /(\.|autotest|...)` which would otherwise handle requests - # for `/.well-known`. - location ^~ /.well-known { - # The rules in this block are an adaptation of the rules - # in `.htaccess` that concern `/.well-known`. - - location = /.well-known/carddav { return 301 /remote.php/dav/; } - location = /.well-known/caldav { return 301 /remote.php/dav/; } - - # according to the documentation these two lines are not necessary, but some users are still recieving errors - location = /.well-known/webfinger { return 301 /index.php$uri; } - location = /.well-known/nodeinfo { return 301 /index.php$uri; } - - location /.well-known/acme-challenge { try_files $uri $uri/ =404; } - location /.well-known/pki-validation { try_files $uri $uri/ =404; } - - # Let Nextcloud's API for `/.well-known` URIs handle all other - # requests by passing them to the front-end controller. - return 301 /index.php$request_uri; - } - - # Rules borrowed from `.htaccess` to hide certain paths from clients - location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/) { return 404; } - location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { return 404; } - - # Ensure this block, which passes PHP files to the PHP process, is above the blocks - # which handle static assets (as seen below). If this block is not declared first, - # then Nginx will encounter an infinite rewriting loop when it prepends `/index.php` - # to the URI, resulting in a HTTP 500 error response. - location ~ \.php(?:$|/) { - # Required for legacy support - rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri; - - fastcgi_split_path_info ^(.+?\.php)(/.*)$; - set $path_info $fastcgi_path_info; - - try_files $fastcgi_script_name =404; - - include fastcgi_params; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_param PATH_INFO $path_info; - #fastcgi_param HTTPS on; - - fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice - fastcgi_param front_controller_active true; # Enable pretty urls - fastcgi_pass php-handler; - - fastcgi_intercept_errors on; - fastcgi_request_buffering off; - - proxy_send_timeout 300s; - proxy_read_timeout 300s; - fastcgi_send_timeout 300s; - fastcgi_read_timeout 300s; - } - - location ~ \.(?:css|js|svg|gif)$ { - try_files $uri /index.php$request_uri; - expires 6M; # Cache-Control policy borrowed from `.htaccess` - access_log off; # Optional: Don't log access to assets - } - - location ~ \.woff2?$ { - try_files $uri /index.php$request_uri; - expires 7d; # Cache-Control policy borrowed from `.htaccess` - access_log off; # Optional: Don't log access to assets - } - - # Rule borrowed from `.htaccess` - location /remote { - return 301 /remote.php$request_uri; - } - - location / { - try_files $uri $uri/ /index.php$request_uri; - } - } - } - -cronjob: - enabled: true - generatePreviews: true - schedule: "*/5 * * * *" - annotations: {} - failedJobsHistoryLimit: 5 - successfulJobsHistoryLimit: 2 - -hpb: - enabled: true - -nextcloud: - # https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements - default_phone_region: "" - -imaginary: - enabled: true - preview_max_x: 2048 - preview_max_y: 2048 - preview_max_memory: 512 - preview_max_filesize_image: 150 - preview_png: true - preview_jpeg: true - preview_gif: true - preview_bmp: true - preview_xbitmap: true - preview_mp3: true - preview_markdown: true - preview_opendoc: true - preview_txt: true - preview_krita: true - preview_illustrator: false - preview_heic: false - preview_movie: false - preview_msoffice2003: false - preview_msoffice2007: false - preview_msofficedoc: false - preview_pdf: false - preview_photoshop: false - preview_postscript: false - preview_staroffice: false - preview_svg: false - preview_tiff: false - preview_font: false - -collabora: - enabled: false - env: - aliasgroup1: - configMapRef: - name: nextcloudconfig - key: aliasgroup1 - dictionaries: "de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru" - extra_params: "--o:welcome.enable=false --o:logging.level=information --o:user_interface.mode=notebookbar --o:ssl.termination=true --o:ssl.enable=false " - server_name: "" - DONT_GEN_SSL_CERT: true - -postgresql: - enabled: true - existingSecret: "dbcreds" - postgresqlUsername: nextcloud - postgresqlDatabase: nextcloud - -redis: - enabled: true - existingSecret: "rediscreds" - -portal: - enabled: true diff --git a/charts/enterprise/traefik/.helmignore b/charts/enterprise/traefik/.helmignore deleted file mode 100644 index 77ca5567b26..00000000000 --- a/charts/enterprise/traefik/.helmignore +++ /dev/null @@ -1,30 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ -# OWNERS file for Kubernetes -OWNERS -# helm-docs templates -*.gotmpl -# docs folder -/docs -# icon -icon.png diff --git a/charts/enterprise/traefik/CHANGELOG.md b/charts/enterprise/traefik/CHANGELOG.md deleted file mode 100644 index 47635b20155..00000000000 --- a/charts/enterprise/traefik/CHANGELOG.md +++ /dev/null @@ -1,1551 +0,0 @@ -# Changelog - - - -## [traefik-14.0.0](https://github.com/truecharts/charts/compare/traefik-13.3.10...traefik-14.0.0) (2022-09-24) - -### Chore - -- Auto-update chart README [skip ci] - - bump major on new enterprise app to seperate helm updates - - Add a copy of Initial Apps selected for Enterprise Train ([#3749](https://github.com/truecharts/charts/issues/3749)) - - - - -## [traefik-13.3.10](https://github.com/truecharts/charts/compare/traefik-13.3.9...traefik-13.3.10) (2022-09-24) - -### Chore - -- Auto-update chart README [skip ci] - - update docker general non-major ([#3860](https://github.com/truecharts/charts/issues/3860)) - - - - -## [traefik-13.3.9](https://github.com/truecharts/charts/compare/traefik-13.3.7...traefik-13.3.9) (2022-09-22) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - fix prometheus annotations ([#3841](https://github.com/truecharts/charts/issues/3841)) - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [traefik-13.3.8](https://github.com/truecharts/charts/compare/traefik-13.3.7...traefik-13.3.8) (2022-09-21) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [traefik-13.3.8](https://github.com/truecharts/charts/compare/traefik-13.3.7...traefik-13.3.8) (2022-09-21) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [traefik-13.3.8](https://github.com/truecharts/charts/compare/traefik-13.3.7...traefik-13.3.8) (2022-09-20) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [traefik-13.3.8](https://github.com/truecharts/charts/compare/traefik-13.3.7...traefik-13.3.8) (2022-09-20) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [traefik-13.3.8](https://github.com/truecharts/charts/compare/traefik-13.3.7...traefik-13.3.8) (2022-09-19) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [traefik-13.3.8](https://github.com/truecharts/charts/compare/traefik-13.3.7...traefik-13.3.8) (2022-09-19) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [traefik-13.3.8](https://github.com/truecharts/charts/compare/traefik-13.3.7...traefik-13.3.8) (2022-09-19) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [traefik-13.3.8](https://github.com/truecharts/charts/compare/traefik-13.3.7...traefik-13.3.8) (2022-09-17) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [traefik-13.3.8](https://github.com/truecharts/charts/compare/traefik-13.3.7...traefik-13.3.8) (2022-09-18) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [traefik-13.3.8](https://github.com/truecharts/charts/compare/traefik-13.3.7...traefik-13.3.8) (2022-09-16) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [traefik-13.3.8](https://github.com/truecharts/charts/compare/traefik-13.3.7...traefik-13.3.8) (2022-09-16) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [traefik-13.3.8](https://github.com/truecharts/charts/compare/traefik-13.3.7...traefik-13.3.8) (2022-09-15) - -### Chore - -- Auto-update chart README [skip ci] - - update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772)) - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [traefik-13.3.8](https://github.com/truecharts/charts/compare/traefik-13.3.7...traefik-13.3.8) (2022-09-15) - -### Chore - -- update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [traefik-13.3.7](https://github.com/truecharts/charts/compare/traefik-13.3.6...traefik-13.3.7) (2022-09-12) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - - - -## [traefik-13.3.7](https://github.com/truecharts/charts/compare/traefik-13.3.6...traefik-13.3.7) (2022-09-12) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - - - -## [traefik-13.3.7](https://github.com/truecharts/charts/compare/traefik-13.3.6...traefik-13.3.7) (2022-09-11) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - - - -## [traefik-13.3.7](https://github.com/truecharts/charts/compare/traefik-13.3.6...traefik-13.3.7) (2022-09-11) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - - - -## [traefik-13.3.7](https://github.com/truecharts/charts/compare/traefik-13.3.6...traefik-13.3.7) (2022-09-11) - -### Chore - -- Auto-update chart README [skip ci] - - update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - - - -## [traefik-13.3.7](https://github.com/truecharts/charts/compare/traefik-13.3.6...traefik-13.3.7) (2022-09-11) - -### Chore - -- update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - - - -## [traefik-13.3.6](https://github.com/truecharts/charts/compare/traefik-13.3.5...traefik-13.3.6) (2022-09-09) - -### Chore - -- move docs from website repo ([#3722](https://github.com/truecharts/charts/issues/3722)) - - - - -## [traefik-13.3.5](https://github.com/truecharts/charts/compare/traefik-13.3.4...traefik-13.3.5) (2022-09-04) - -### Chore - -- update docker general non-major ([#3681](https://github.com/truecharts/charts/issues/3681)) - - - - -## [traefik-13.3.4](https://github.com/truecharts/charts/compare/traefik-13.3.3...traefik-13.3.4) (2022-09-03) - -### Fix - -- fix serviceaccount creation on few apps ([#3665](https://github.com/truecharts/charts/issues/3665)) - - - - -## [traefik-13.3.3](https://github.com/truecharts/charts/compare/traefik-13.3.1...traefik-13.3.3) (2022-08-30) - -### Chore - -- Auto-update chart README [skip ci] - - update helm general non-major ([#3639](https://github.com/truecharts/charts/issues/3639)) - - update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) - - - - -## [traefik-13.3.2](https://github.com/truecharts/charts/compare/traefik-13.3.1...traefik-13.3.2) (2022-08-30) - -### Chore - -- update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) - - - - -## [traefik-13.3.1](https://github.com/truecharts/charts/compare/traefik-13.3.0...traefik-13.3.1) (2022-08-29) - -### Chore - -- update helm general non-major ([#3619](https://github.com/truecharts/charts/issues/3619)) - - - - -## [traefik-13.3.0](https://github.com/truecharts/charts/compare/traefik-13.2.3...traefik-13.3.0) (2022-08-27) - -### Feat - -- add support for proxyProtocol ([#3593](https://github.com/truecharts/charts/issues/3593)) - - - - -## [traefik-13.2.3](https://github.com/truecharts/charts/compare/traefik-13.2.2...traefik-13.2.3) (2022-08-25) - - - - -## [traefik-13.2.2](https://github.com/truecharts/charts/compare/traefik-13.2.1...traefik-13.2.2) (2022-08-23) - -### Chore - -- update helm general non-major helm releases ([#3545](https://github.com/truecharts/charts/issues/3545)) - - - - -## [traefik-13.2.1](https://github.com/truecharts/charts/compare/traefik-13.1.10...traefik-13.2.1) (2022-08-22) - -### Chore - -- Auto-update chart README [skip ci] - - - - -## [traefik-13.2.0](https://github.com/truecharts/charts/compare/traefik-13.1.10...traefik-13.2.0) (2022-08-21) - - - - -## [traefik-13.1.10](https://github.com/truecharts/charts/compare/traefik-13.1.9...traefik-13.1.10) (2022-08-14) - -### Chore - -- update docker general non-major docker tags ([#3465](https://github.com/truecharts/charts/issues/3465)) - - - - -## [traefik-13.1.9](https://github.com/truecharts/charts/compare/traefik-13.1.8...traefik-13.1.9) (2022-08-12) - -### Chore - -- add documentation checkbox/section to all SCALE Apps - - update helm general non-major helm releases ([#3456](https://github.com/truecharts/charts/issues/3456)) - - ### Fix - -- move extraArgs from .Values.controller to .Values ([#3447](https://github.com/truecharts/charts/issues/3447)) - - make trustedIPs vars to string ([#3391](https://github.com/truecharts/charts/issues/3391)) - - - - -## [traefik-13.1.8](https://github.com/truecharts/charts/compare/traefik-13.1.7...traefik-13.1.8) (2022-08-08) - -### Chore - -- update helm general non-major helm releases ([#3376](https://github.com/truecharts/charts/issues/3376)) - - replace questions parts with templates ([#3402](https://github.com/truecharts/charts/issues/3402)) - - - - -## [traefik-13.1.7](https://github.com/truecharts/apps/compare/traefik-13.1.6...traefik-13.1.7) (2022-07-27) - -### Feat - -- add theme-park middleware docs ([#3320](https://github.com/truecharts/apps/issues/3320)) - - - - -## [traefik-13.1.6](https://github.com/truecharts/apps/compare/traefik-13.1.5...traefik-13.1.6) (2022-07-26) - -### Chore - -- update helm general non-major helm releases ([#3302](https://github.com/truecharts/apps/issues/3302)) - - - - -## [traefik-13.1.5](https://github.com/truecharts/apps/compare/traefik-13.1.4...traefik-13.1.5) (2022-07-25) - -### Chore - -- Auto-update chart README [skip ci] - - update docker general non-major ([#3295](https://github.com/truecharts/apps/issues/3295)) - - - - -## [traefik-13.1.5](https://github.com/truecharts/apps/compare/traefik-13.1.4...traefik-13.1.5) (2022-07-25) - -### Chore - -- update docker general non-major ([#3295](https://github.com/truecharts/apps/issues/3295)) - - - - -## [traefik-13.1.4](https://github.com/truecharts/apps/compare/traefik-13.1.3...traefik-13.1.4) (2022-07-23) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280)) - - - - -## [traefik-13.1.4](https://github.com/truecharts/apps/compare/traefik-13.1.3...traefik-13.1.4) (2022-07-23) - -### Chore - -- Auto-update chart README [skip ci] - - update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280)) - - - - -## [traefik-13.1.4](https://github.com/truecharts/apps/compare/traefik-13.1.3...traefik-13.1.4) (2022-07-23) - -### Chore - -- update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280)) - - - - -## [traefik-13.1.3](https://github.com/truecharts/apps/compare/traefik-13.1.2...traefik-13.1.3) (2022-07-23) - -### Chore - -- update docker general non-major ([#3276](https://github.com/truecharts/apps/issues/3276)) - - - - -## [traefik-13.1.2](https://github.com/truecharts/apps/compare/traefik-13.1.0...traefik-13.1.2) (2022-07-22) - -### Chore - -- Bump all charts to generate config and container references due to huge increase of repository - - update helm general non-major helm releases ([#3268](https://github.com/truecharts/apps/issues/3268)) - - update docker general non-major ([#3266](https://github.com/truecharts/apps/issues/3266)) - - - -## [traefik-13.1.0](https://github.com/truecharts/apps/compare/traefik-13.0.0...traefik-13.1.0) (2022-07-22) - - - -## [traefik-13.0.0](https://github.com/truecharts/apps/compare/traefik-12.0.24...traefik-13.0.0) (2022-07-21) - -### Feat - -- Adds theme.park middleware and remove Traefik pilot ([#3245](https://github.com/truecharts/apps/issues/3245)) - - - -## [traefik-12.0.24](https://github.com/truecharts/apps/compare/traefik-12.0.23...traefik-12.0.24) (2022-07-19) - -### Chore - -- Update Readme and Description on SCALE - - - -## [traefik-12.0.23](https://github.com/truecharts/apps/compare/traefik-12.0.22...traefik-12.0.23) (2022-07-18) - -### Fix - -- don't set xrobots header on default middleware ([#3211](https://github.com/truecharts/apps/issues/3211)) - - - -## [traefik-12.0.22](https://github.com/truecharts/apps/compare/traefik-12.0.20...traefik-12.0.22) (2022-07-14) - -### Fix - -- regenerate catalog and update template -- don't set xrobots header by default ([#3183](https://github.com/truecharts/apps/issues/3183)) - - - -## [traefik-12.0.20](https://github.com/truecharts/apps/compare/traefik-12.0.18...traefik-12.0.20) (2022-07-14) - -### Fix - -- bump to ensure .helmignore is present on all Charts -- disable HTTP probes temporarily ([#3173](https://github.com/truecharts/apps/issues/3173)) - - - -## [traefik-12.0.18](https://github.com/truecharts/apps/compare/traefik-12.0.17...traefik-12.0.18) (2022-07-13) - - - -## [traefik-12.0.17](https://github.com/truecharts/apps/compare/traefik-12.0.15...traefik-12.0.17) (2022-07-12) - -### Chore - -- update icons ([#3156](https://github.com/truecharts/apps/issues/3156)) -- bump to cleanup old docs and use correct icon urls - - - -## [traefik-12.0.15](https://github.com/truecharts/apps/compare/traefik-12.0.14...traefik-12.0.15) (2022-07-12) - -### Chore - -- bump to regenerate documentation - - - - -### [traccar-7.0.13](https://github.com/truecharts/apps/compare/traccar-7.0.12...traccar-7.0.13) (2022-07-12) - -#### Chore - -* update helm general non-major helm releases ([#3147](https://github.com/truecharts/apps/issues/3147)) - - - - -### [traccar-7.0.12](https://github.com/truecharts/apps/compare/traccar-7.0.11...traccar-7.0.12) (2022-07-11) - -#### Chore - -* move icons into the apps folder ([#3139](https://github.com/truecharts/apps/issues/3139)) - - - - -### [traccar-7.0.11](https://github.com/truecharts/apps/compare/traccar-7.0.10...traccar-7.0.11) (2022-07-11) - -#### Chore - -* update docker general non-major ([#3128](https://github.com/truecharts/apps/issues/3128)) - - - - -### [traccar-7.0.10](https://github.com/truecharts/apps/compare/traccar-7.0.9...traccar-7.0.10) (2022-07-09) - -#### Chore - -* update helm general non-major helm releases ([#3113](https://github.com/truecharts/apps/issues/3113)) - - - - -### [traccar-7.0.9](https://github.com/truecharts/apps/compare/traccar-7.0.8...traccar-7.0.9) (2022-07-05) - -#### Chore - -* update helm general non-major helm releases ([#3075](https://github.com/truecharts/apps/issues/3075)) - - - - -### [traccar-7.0.8](https://github.com/truecharts/apps/compare/traccar-7.0.7...traccar-7.0.8) (2022-07-04) - -#### Chore - -* update helm general non-major helm releases ([#3066](https://github.com/truecharts/apps/issues/3066)) - - - - -### [traccar-7.0.7](https://github.com/truecharts/apps/compare/traccar-7.0.6...traccar-7.0.7) (2022-06-25) - -#### Chore - -* update helm general non-major helm releases ([#2977](https://github.com/truecharts/apps/issues/2977)) - - - - -### [traccar-7.0.6](https://github.com/truecharts/apps/compare/traccar-7.0.5...traccar-7.0.6) (2022-06-22) - -#### Chore - -* update helm general non-major helm releases ([#2948](https://github.com/truecharts/apps/issues/2948)) - - - - -### [traccar-7.0.5](https://github.com/truecharts/apps/compare/traccar-7.0.4...traccar-7.0.5) (2022-06-21) - -#### Chore - -* update helm general non-major helm releases ([#2943](https://github.com/truecharts/apps/issues/2943)) - - - - -### [traccar-7.0.4](https://github.com/truecharts/apps/compare/traccar-7.0.3...traccar-7.0.4) (2022-06-17) - -#### Chore - -* Sync questions and values env's ([#2916](https://github.com/truecharts/apps/issues/2916)) - - - - -### [traccar-7.0.3](https://github.com/truecharts/apps/compare/traccar-7.0.2...traccar-7.0.3) (2022-06-14) - -#### Chore - -* update helm general non-major helm releases ([#2887](https://github.com/truecharts/apps/issues/2887)) - - - - -### [traccar-7.0.2](https://github.com/truecharts/apps/compare/traccar-7.0.1...traccar-7.0.2) (2022-06-14) - -#### Chore - -* update helm general non-major helm releases ([#2886](https://github.com/truecharts/apps/issues/2886)) - - - - -### [traccar-7.0.1](https://github.com/truecharts/apps/compare/traccar-7.0.0...traccar-7.0.1) (2022-06-11) - -#### Chore - -* update helm general non-major helm releases ([#2854](https://github.com/truecharts/apps/issues/2854)) - - - - -### [traccar-7.0.0](https://github.com/truecharts/apps/compare/traccar-6.0.1...traccar-7.0.0) (2022-06-07) - -#### Chore - -* update helm general major helm releases ([#2804](https://github.com/truecharts/apps/issues/2804)) - -#### Fix - -* hotpatch to disable HPA and networkPolicy in SCALE interface, due to incompatible format. - - - - -### [traccar-6.0.1](https://github.com/truecharts/apps/compare/traccar-5.0.24...traccar-6.0.1) (2022-06-07) - -#### Chore - -* Auto-update chart README [skip ci] -* sync all apps persistence configuration and always default to PVC -* update helm general non-major helm releases ([#2838](https://github.com/truecharts/apps/issues/2838)) - -#### Fix - -* remove malfunctioning SCALE migration script - -#### Refactor - -* BREAKING CHANGE ([#2836](https://github.com/truecharts/apps/issues/2836)) - - - - -### [traccar-6.0.0](https://github.com/truecharts/apps/compare/traccar-5.0.24...traccar-6.0.0) (2022-06-07) - -#### Chore - -* sync all apps persistence configuration and always default to PVC - -#### Refactor - -* BREAKING CHANGE ([#2836](https://github.com/truecharts/apps/issues/2836)) - - - - -### [traccar-5.0.24](https://github.com/truecharts/apps/compare/traccar-5.0.23...traccar-5.0.24) (2022-05-31) - -#### Chore - -* update helm general non-major helm releases ([#2803](https://github.com/truecharts/apps/issues/2803)) - - - - -### [traccar-5.0.23](https://github.com/truecharts/apps/compare/traccar-5.0.22...traccar-5.0.23) (2022-05-26) - -#### Chore - -* Auto-update chart README [skip ci] -* update helm general non-major helm releases ([#2759](https://github.com/truecharts/apps/issues/2759)) - - - - -### [traccar-5.0.23](https://github.com/truecharts/apps/compare/traccar-5.0.22...traccar-5.0.23) (2022-05-26) - -#### Chore - -* update helm general non-major helm releases ([#2759](https://github.com/truecharts/apps/issues/2759)) - - - - -### [traccar-5.0.22](https://github.com/truecharts/apps/compare/traccar-5.0.21...traccar-5.0.22) (2022-05-25) - -#### Chore - -* update container image tccr.io/truecharts/traccar to v5.0 ([#2749](https://github.com/truecharts/apps/issues/2749)) - - - - -### [traccar-5.0.21](https://github.com/truecharts/apps/compare/traccar-5.0.20...traccar-5.0.21) (2022-05-24) - -#### Chore - -* update helm general non-major helm releases - - - - -### [traccar-5.0.20](https://github.com/truecharts/apps/compare/traccar-5.0.19...traccar-5.0.20) (2022-05-17) - -#### Chore - -* Auto-update chart README [skip ci] -* update helm general non-major helm releases - - - - -### [traccar-5.0.20](https://github.com/truecharts/apps/compare/traccar-5.0.19...traccar-5.0.20) (2022-05-17) - -#### Chore - -* update helm general non-major helm releases - - - - -### [traccar-5.0.19](https://github.com/truecharts/apps/compare/traccar-5.0.18...traccar-5.0.19) (2022-05-17) - -#### Chore - -* update helm general non-major helm releases - - - - -### [traccar-5.0.18](https://github.com/truecharts/apps/compare/traccar-5.0.17...traccar-5.0.18) (2022-05-10) - -#### Chore - -* update helm general non-major helm releases ([#2649](https://github.com/truecharts/apps/issues/2649)) - - - - -### [traccar-5.0.17](https://github.com/truecharts/apps/compare/traccar-5.0.16...traccar-5.0.17) (2022-05-05) - -#### Chore - -* update helm general non-major helm releases ([#2612](https://github.com/truecharts/apps/issues/2612)) - - - - -### [traccar-5.0.16](https://github.com/truecharts/apps/compare/traccar-5.0.15...traccar-5.0.16) (2022-05-04) - -#### Chore - -* update helm general non-major helm releases ([#2605](https://github.com/truecharts/apps/issues/2605)) - - - - -### [traccar-5.0.15](https://github.com/truecharts/apps/compare/traccar-5.0.14...traccar-5.0.15) (2022-04-26) - -#### Chore - -* update helm general non-major helm releases ([#2573](https://github.com/truecharts/apps/issues/2573)) - - - - -### [traccar-5.0.14](https://github.com/truecharts/apps/compare/traccar-5.0.13...traccar-5.0.14) (2022-04-20) - -#### Chore - -* add missing quote on description ([#2515](https://github.com/truecharts/apps/issues/2515)) -* update helm general non-major helm releases ([#2524](https://github.com/truecharts/apps/issues/2524)) - - - - -### [traccar-5.0.13](https://github.com/truecharts/apps/compare/traccar-5.0.12...traccar-5.0.13) (2022-04-12) - -#### Chore - -* update helm general non-major helm releases ([#2480](https://github.com/truecharts/apps/issues/2480)) - - - - -### [traccar-5.0.12](https://github.com/truecharts/apps/compare/traccar-5.0.11...traccar-5.0.12) (2022-04-03) - -#### Chore - -* update helm general non-major helm releases ([#2410](https://github.com/truecharts/apps/issues/2410)) - - - - -### [traccar-5.0.11](https://github.com/truecharts/apps/compare/traccar-5.0.10...traccar-5.0.11) (2022-03-31) - -#### Chore - -* update helm general non-major helm releases ([#2362](https://github.com/truecharts/apps/issues/2362)) - - - - -### [traccar-5.0.10](https://github.com/truecharts/apps/compare/traccar-5.0.9...traccar-5.0.10) (2022-03-31) - -#### Chore - -* update helm general non-major helm releases ([#2361](https://github.com/truecharts/apps/issues/2361)) - - - - -### [traccar-5.0.9](https://github.com/truecharts/apps/compare/traccar-5.0.8...traccar-5.0.9) (2022-03-30) - -#### Chore - -* Use new repo ([#2337](https://github.com/truecharts/apps/issues/2337)) -* update helm general non-major helm releases ([#2354](https://github.com/truecharts/apps/issues/2354)) - - - - -### [traccar-5.0.8](https://github.com/truecharts/apps/compare/traccar-5.0.7...traccar-5.0.8) (2022-03-26) - -#### Chore - -* update helm general non-major helm releases ([#2290](https://github.com/truecharts/apps/issues/2290)) - - - - -### [traccar-5.0.7](https://github.com/truecharts/apps/compare/traccar-5.0.6...traccar-5.0.7) (2022-03-26) - -#### Chore - -* bump all apps to trigger ci - - - - -### [traccar-5.0.2](https://github.com/truecharts/apps/compare/traccar-5.0.1...traccar-5.0.2) (2022-03-08) - -#### Chore - -* update helm general non-major helm releases ([#2116](https://github.com/truecharts/apps/issues/2116)) - - - - -### [traccar-5.0.1](https://github.com/truecharts/apps/compare/traccar-5.0.0...traccar-5.0.1) (2022-03-07) - -#### Chore - -* update helm general non-major helm releases ([#2111](https://github.com/truecharts/apps/issues/2111)) -* Remove `-icon` string from icon png's ([#2040](https://github.com/truecharts/apps/issues/2040)) - - - - -### [traccar-5.0.0](https://github.com/truecharts/apps/compare/traccar-4.0.35...traccar-5.0.0) (2022-03-03) - -#### Chore - -* remove fixed env from questions.yaml -* update helm general major helm releases ([#2021](https://github.com/truecharts/apps/issues/2021)) - -#### Fix - -* BREAKING CHANGE Move some env-vars outside of env section ([#2010](https://github.com/truecharts/apps/issues/2010)) - - - - -### [traccar-4.0.35](https://github.com/truecharts/apps/compare/traccar-4.0.34...traccar-4.0.35) (2022-03-02) - -#### Chore - -* rename `web_portal` to `open` ([#1957](https://github.com/truecharts/apps/issues/1957)) -* update helm general non-major helm releases ([#1999](https://github.com/truecharts/apps/issues/1999)) - - - - -### [traccar-4.0.34](https://github.com/truecharts/apps/compare/traccar-4.0.33...traccar-4.0.34) (2022-02-21) - -#### Chore - -* update helm general non-major helm releases ([#1927](https://github.com/truecharts/apps/issues/1927)) - - - - -### [traccar-4.0.33](https://github.com/truecharts/apps/compare/traccar-4.0.32...traccar-4.0.33) (2022-02-15) - -#### Chore - -* update helm general non-major helm releases ([#1901](https://github.com/truecharts/apps/issues/1901)) - - - - -### [traccar-4.0.32](https://github.com/truecharts/apps/compare/traccar-4.0.31...traccar-4.0.32) (2022-02-08) - -#### Chore - -* update helm general non-major helm releases ([#1871](https://github.com/truecharts/apps/issues/1871)) - - - - -### [traccar-4.0.31](https://github.com/truecharts/apps/compare/traccar-4.0.30...traccar-4.0.31) (2022-02-06) - -#### Chore - -* update helm chart common to v8.15.0 ([#1859](https://github.com/truecharts/apps/issues/1859)) - - - - -### [traccar-4.0.30](https://github.com/truecharts/apps/compare/traccar-4.0.29...traccar-4.0.30) (2022-02-05) - -#### Chore - -* update helm general non-major helm releases ([#1852](https://github.com/truecharts/apps/issues/1852)) - - - - -### [traccar-4.0.29](https://github.com/truecharts/apps/compare/traccar-4.0.28...traccar-4.0.29) (2022-02-03) - -#### Chore - -* update docker general non-major ([#1836](https://github.com/truecharts/apps/issues/1836)) - - - - -### [traccar-4.0.28](https://github.com/truecharts/apps/compare/traccar-4.0.27...traccar-4.0.28) (2022-02-02) - -#### Chore - -* update helm general non-major helm releases ([#1828](https://github.com/truecharts/apps/issues/1828)) - - - - -### [traccar-4.0.27](https://github.com/truecharts/apps/compare/traccar-4.0.26...traccar-4.0.27) (2022-01-25) - -#### Chore - -* update helm general non-major helm releases ([#1791](https://github.com/truecharts/apps/issues/1791)) - - - - -### [traccar-4.0.26](https://github.com/truecharts/apps/compare/traccar-4.0.25...traccar-4.0.26) (2022-01-22) - -#### Chore - -* update helm general non-major helm releases ([#1766](https://github.com/truecharts/apps/issues/1766)) - - - - -### [traccar-4.0.25](https://github.com/truecharts/apps/compare/traccar-4.0.24...traccar-4.0.25) (2022-01-22) - -#### Chore - -* update helm general non-major helm releases ([#1763](https://github.com/truecharts/apps/issues/1763)) - - - - -### [traccar-4.0.24](https://github.com/truecharts/apps/compare/traccar-4.0.23...traccar-4.0.24) (2022-01-21) - -#### Chore - -* update helm general non-major helm releases ([#1759](https://github.com/truecharts/apps/issues/1759)) - -#### Fix - -* set additional_attrs: true on all dicts ([#1750](https://github.com/truecharts/apps/issues/1750)) - - - - -### [traccar-4.0.23](https://github.com/truecharts/apps/compare/traccar-4.0.22...traccar-4.0.23) (2022-01-18) - -#### Chore - -* update helm general non-major helm releases ([#1732](https://github.com/truecharts/apps/issues/1732)) - - - - -### [traccar-4.0.22](https://github.com/truecharts/apps/compare/traccar-4.0.21...traccar-4.0.22) (2022-01-13) - -#### Chore - -* update helm general non-major helm releases ([#1712](https://github.com/truecharts/apps/issues/1712)) - -#### Feat - -* expose capabilities in GUI ([#1709](https://github.com/truecharts/apps/issues/1709)) - - - - -### [traccar-4.0.21](https://github.com/truecharts/apps/compare/traccar-4.0.20...traccar-4.0.21) (2022-01-12) - -#### Chore - -* update helm general non-major helm releases ([#1704](https://github.com/truecharts/apps/issues/1704)) - - - - -### [traccar-4.0.20](https://github.com/truecharts/apps/compare/traccar-4.0.19...traccar-4.0.20) (2022-01-11) - -#### Chore - -* update helm general non-major helm releases ([#1693](https://github.com/truecharts/apps/issues/1693)) - - - - -### [traccar-4.0.19](https://github.com/truecharts/apps/compare/traccar-4.0.18...traccar-4.0.19) (2022-01-04) - -#### Chore - -* update helm general non-major helm releases - - - - -### [traccar-4.0.18](https://github.com/truecharts/apps/compare/traccar-4.0.17...traccar-4.0.18) (2021-12-28) - -#### Chore - -* update helm general non-major helm releases ([#1623](https://github.com/truecharts/apps/issues/1623)) - - - - -### [traccar-4.0.17](https://github.com/truecharts/apps/compare/traccar-4.0.16...traccar-4.0.17) (2021-12-21) - -#### Chore - -* update helm general non-major helm releases ([#1596](https://github.com/truecharts/apps/issues/1596)) - - - - -### [traccar-4.0.16](https://github.com/truecharts/apps/compare/traccar-4.0.15...traccar-4.0.16) (2021-12-19) - -#### Chore - -* Last patch bump before RC2 branch-off -* move `envTpl` to `env` ([#1578](https://github.com/truecharts/apps/issues/1578)) -* remove `editable: true` as this is the default ([#1576](https://github.com/truecharts/apps/issues/1576)) - - - - -### [traccar-4.0.15](https://github.com/truecharts/apps/compare/traccar-4.0.14...traccar-4.0.15) (2021-12-19) - -#### Chore - -* completely remove mountPath reference from GUI ([#1572](https://github.com/truecharts/apps/issues/1572)) -* update helm general non-major helm releases ([#1571](https://github.com/truecharts/apps/issues/1571)) - - - - -### [traccar-4.0.14](https://github.com/truecharts/apps/compare/traccar-4.0.13...traccar-4.0.14) (2021-12-18) - -#### Chore - -* cleanup questions by removing hidden dicts ([#1558](https://github.com/truecharts/apps/issues/1558)) -* App-Icon Organization ([#1539](https://github.com/truecharts/apps/issues/1539)) - - - - -### [traccar-4.0.13](https://github.com/truecharts/apps/compare/traccar-4.0.12...traccar-4.0.13) (2021-12-14) - -#### Chore - -* update helm general non-major helm releases ([#1535](https://github.com/truecharts/apps/issues/1535)) - - - - -### [traccar-4.0.12](https://github.com/truecharts/apps/compare/traccar-4.0.11...traccar-4.0.12) (2021-12-13) - -#### Chore - -* move incubator apps to stable and bump everything - - - - -### [traccar-4.0.11](https://github.com/truecharts/apps/compare/traccar-4.0.10...traccar-4.0.11) (2021-12-11) - -#### Chore - -* update general helm non-major helm releases ([#1509](https://github.com/truecharts/apps/issues/1509)) - - - - -### [traccar-4.0.10](https://github.com/truecharts/apps/compare/traccar-4.0.9...traccar-4.0.10) (2021-12-07) - -#### Chore - -* update non-major deps helm releases ([#1481](https://github.com/truecharts/apps/issues/1481)) - - - - -### traccar-4.0.9 (2021-12-05) - -#### Chore - -* bump apps to generate security page -* move all container references to TCCR ([#1448](https://github.com/truecharts/apps/issues/1448)) -* ensure container references are prefixed with v -* update non-major deps helm releases ([#1468](https://github.com/truecharts/apps/issues/1468)) -* update non-major deps helm releases ([#1453](https://github.com/truecharts/apps/issues/1453)) -* update non-major ([#1449](https://github.com/truecharts/apps/issues/1449)) -* update non-major deps helm releases ([#1471](https://github.com/truecharts/apps/issues/1471)) -* update non-major deps helm releases ([#1432](https://github.com/truecharts/apps/issues/1432)) - -#### Fix - -* fix typo in theme selection ([#1428](https://github.com/truecharts/apps/issues/1428)) - - - - -### [traccar-4.0.8](https://github.com/truecharts/apps/compare/traccar-4.0.7...traccar-4.0.8) (2021-12-05) - -#### Chore - -* update non-major deps helm releases ([#1468](https://github.com/truecharts/apps/issues/1468)) - - - - -### [traccar-4.0.7](https://github.com/truecharts/apps/compare/traccar-4.0.6...traccar-4.0.7) (2021-12-04) - -#### Chore - -* bump apps to generate security page - - - - -### [traccar-4.0.6](https://github.com/truecharts/apps/compare/traccar-4.0.5...traccar-4.0.6) (2021-12-04) - -#### Chore - -* update non-major deps helm releases ([#1453](https://github.com/truecharts/apps/issues/1453)) - - - - -### [traccar-4.0.5](https://github.com/truecharts/apps/compare/traccar-4.0.4...traccar-4.0.5) (2021-12-03) - -#### Chore - -* ensure container references are prefixed with v -* move all container references to TCCR ([#1448](https://github.com/truecharts/apps/issues/1448)) -* update non-major ([#1449](https://github.com/truecharts/apps/issues/1449)) - - - - -### [traccar-4.0.4](https://github.com/truecharts/apps/compare/traccar-4.0.3...traccar-4.0.4) (2021-11-30) - -#### Chore - -* update non-major deps helm releases ([#1432](https://github.com/truecharts/apps/issues/1432)) - - - - -### [traccar-4.0.3](https://github.com/truecharts/apps/compare/traccar-4.0.2...traccar-4.0.3) (2021-11-23) - -#### Chore - -* update non-major deps helm releases ([#1386](https://github.com/truecharts/apps/issues/1386)) - - - - -### [traccar-4.0.2](https://github.com/truecharts/apps/compare/traccar-4.0.1...traccar-4.0.2) (2021-11-22) - -#### Chore - -* update non-major deps helm releases ([#1383](https://github.com/truecharts/apps/issues/1383)) - -#### Fix - -* Default enable all services ([#1361](https://github.com/truecharts/apps/issues/1361)) - - - - -### [traccar-4.0.1](https://github.com/truecharts/apps/compare/traccar-4.0.0...traccar-4.0.1) (2021-11-16) - -#### Chore - -* update non-major deps helm releases ([#1345](https://github.com/truecharts/apps/issues/1345)) - - - - -### [traccar-4.0.0](https://github.com/truecharts/apps/compare/traccar-3.0.10...traccar-4.0.0) (2021-11-16) - -#### Chore - -* update helm chart postgresql to v6 ([#1343](https://github.com/truecharts/apps/issues/1343)) - - - - -### [traccar-3.0.10](https://github.com/truecharts/apps/compare/traccar-3.0.9...traccar-3.0.10) (2021-11-15) - -#### Chore - -* persistence cleanup and small bugfixes ([#1329](https://github.com/truecharts/apps/issues/1329)) -* update non-major deps helm releases ([#1338](https://github.com/truecharts/apps/issues/1338)) - - - - -### [traccar-3.0.9](https://github.com/truecharts/apps/compare/traccar-3.0.8...traccar-3.0.9) (2021-11-14) - -#### Chore - -* fixes around the GUI refactor ([#1316](https://github.com/truecharts/apps/issues/1316)) -* move port above advanced in GUI ([#1326](https://github.com/truecharts/apps/issues/1326)) -* clean up Chart.yaml ([#1322](https://github.com/truecharts/apps/issues/1322)) -* update non-major deps helm releases ([#1328](https://github.com/truecharts/apps/issues/1328)) - -#### Fix - -* split udp and tcp ports ([#1321](https://github.com/truecharts/apps/issues/1321)) -* sync securityContext from values to questions ([#1323](https://github.com/truecharts/apps/issues/1323)) - - - - -### [traccar-3.0.8](https://github.com/truecharts/apps/compare/traccar-3.0.7...traccar-3.0.8) (2021-11-09) - -#### Chore - -* update non-major deps helm releases ([#1297](https://github.com/truecharts/apps/issues/1297)) - - - - -### [traccar-3.0.7](https://github.com/truecharts/apps/compare/traccar-3.0.6...traccar-3.0.7) (2021-11-07) - -#### Chore - -* update non-major deps helm releases ([#1295](https://github.com/truecharts/apps/issues/1295)) - - - - -### [traccar-3.0.6](https://github.com/truecharts/apps/compare/traccar-3.0.5...traccar-3.0.6) (2021-11-07) - -#### Chore - -* update non-major deps helm releases ([#1291](https://github.com/truecharts/apps/issues/1291)) - -#### Chore - -* Simplify GUI for deployment, persistence and securityContext ([#1289](https://github.com/truecharts/apps/issues/1289)) - -#### Feat - -* Simplify the Services GUI ([#1290](https://github.com/truecharts/apps/issues/1290)) - - - - -### [traccar-3.0.5](https://github.com/truecharts/apps/compare/traccar-3.0.4...traccar-3.0.5) (2021-11-02) - -#### Chore - -* update non-major deps helm releases ([#1267](https://github.com/truecharts/apps/issues/1267)) - - - - -### [traccar-3.0.4](https://github.com/truecharts/apps/compare/traccar-3.0.3...traccar-3.0.4) (2021-11-01) - -#### Chore - -* update non-major deps helm releases ([#1264](https://github.com/truecharts/apps/issues/1264)) - - - - -### [traccar-3.0.3](https://github.com/truecharts/apps/compare/traccar-3.0.2...traccar-3.0.3) (2021-10-26) - -#### Chore - -* update helm chart postgresql to v5.1.4 ([#1249](https://github.com/truecharts/apps/issues/1249)) - - - - -### [traccar-3.0.2](https://github.com/truecharts/apps/compare/traccar-3.0.1...traccar-3.0.2) (2021-10-26) - -#### Chore - -* update non-major deps helm releases ([#1245](https://github.com/truecharts/apps/issues/1245)) - - - - -### [traccar-3.0.1](https://github.com/truecharts/apps/compare/traccar-3.0.0...traccar-3.0.1) (2021-10-26) - -#### Chore - -* update helm chart common to v8.3.15 ([#1240](https://github.com/truecharts/apps/issues/1240)) - - - - -### [traccar-3.0.0](https://github.com/truecharts/apps/compare/traccar-2.0.0...traccar-3.0.0) (2021-10-26) - -#### Chore - -* update helm chart postgresql to v5 ([#1234](https://github.com/truecharts/apps/issues/1234)) -* update helm chart postgresql to v4.1.0 ([#1237](https://github.com/truecharts/apps/issues/1237)) - - - - -### [traccar-2.0.0](https://github.com/truecharts/apps/compare/traccar-1.0.3...traccar-2.0.0) (2021-10-25) - -#### Chore - -* Adapt for TrueNAS SCALE RC1 - - - - -### [traccar-1.0.3](https://github.com/truecharts/apps/compare/traccar-1.0.0...traccar-1.0.3) (2021-10-20) - -#### Chore - -* bump apps, remove duplicates and move incubator to stable for RC1 - - - - -### [traccar-1.0.0](https://github.com/truecharts/apps/compare/traccar-0.0.4...traccar-1.0.0) (2021-10-20) - -#### Chore - -* update helm chart postgresql to v4 ([#1214](https://github.com/truecharts/apps/issues/1214)) - -#### Fix - -* use correct PVC storageClass when using postgresql as a dependency on SCALE ([#1212](https://github.com/truecharts/apps/issues/1212)) - - - - -### [traccar-0.0.4](https://github.com/truecharts/apps/compare/traccar-0.0.3...traccar-0.0.4) (2021-10-20) - -#### Chore - -* bump versions to rerelease and fix icons - - - - -### [traccar-0.0.3](https://github.com/truecharts/apps/compare/traccar-0.0.2...traccar-0.0.3) (2021-10-19) - -#### Change - -* Project-Eclipse 3, Automatically generate item.yaml ([#1178](https://github.com/truecharts/apps/issues/1178)) - -#### Chore - -* Project-Eclipse 5, move app-readme to automatic generation script ([#1181](https://github.com/truecharts/apps/issues/1181)) -* update helm chart common to v8.3.13 ([#1184](https://github.com/truecharts/apps/issues/1184)) - -#### Feat - -* Project-Eclipse 4, Add App grading annotations to Chart.yaml ([#1180](https://github.com/truecharts/apps/issues/1180)) - -#### Refactor - -* Project Eclipse Part 6, move questions.yaml to root App folder ([#1182](https://github.com/truecharts/apps/issues/1182)) - - - - -### [traccar-0.0.2](https://github.com/truecharts/apps/compare/traccar-0.0.1...traccar-0.0.2) (2021-10-19) - -#### Chore - -* Project-Eclipse part 2, adapting and cleaning changelog ([#1173](https://github.com/truecharts/apps/issues/1173)) -* update helm chart postgresql to v3.0.20 ([#1177](https://github.com/truecharts/apps/issues/1177)) - - - - -### traccar-0.0.1 (2021-10-19) - -#### Feat - -* Add more Apps using postgresql ([#1136](https://github.com/truecharts/apps/issues/1136)) - - - - -### traccar-0.0.1 (2021-10-16) - -#### Feat - -* Add more Apps using postgresql diff --git a/charts/enterprise/traefik/Chart.yaml b/charts/enterprise/traefik/Chart.yaml deleted file mode 100644 index 7be25144f82..00000000000 --- a/charts/enterprise/traefik/Chart.yaml +++ /dev/null @@ -1,31 +0,0 @@ -apiVersion: v2 -appVersion: "2.8.7" -dependencies: - - name: common - repository: https://library-charts.truecharts.org - version: 10.6.0 -deprecated: false -description: Traefik is a flexible reverse proxy and Ingress Provider. -home: https://truecharts.org/docs/charts/enterprise/traefik -icon: https://truecharts.org/img/hotlink-ok/chart-icons/traefik.png -keywords: - - traefik - - ingress -kubeVersion: ">=1.16.0-0" -maintainers: - - email: info@truecharts.org - name: TrueCharts - url: https://truecharts.org -name: traefik -sources: - - https://github.com/truecharts/charts/tree/master/charts/enterprise/traefik - - https://github.com/traefik/traefik - - https://github.com/traefik/traefik-helm-chart - - https://traefik.io/ -type: application -version: 14.0.0 -annotations: - truecharts.org/catagories: | - - network - truecharts.org/SCALE-support: "true" - truecharts.org/grade: U diff --git a/charts/enterprise/traefik/README.md b/charts/enterprise/traefik/README.md deleted file mode 100644 index 1c03cf0951c..00000000000 --- a/charts/enterprise/traefik/README.md +++ /dev/null @@ -1,108 +0,0 @@ -# traefik - -Traefik is a flexible reverse proxy and Ingress Provider. - -TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. - -This readme is just an automatically generated general guide on installing our Helm Charts and Apps. -For more information, please click here: [traefik](https://truecharts.org/docs/charts/enterprise/traefik) - -**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)** - -## Source Code - -* -* -* -* - -## Requirements - -Kubernetes: `>=1.16.0-0` - -## Dependencies - -| Repository | Name | Version | -|------------|------|---------| -| https://library-charts.truecharts.org | common | 10.6.0 | - -## Installing the Chart - -### TrueNAS SCALE - -To install this Chart on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Installing-an-App). - -### Helm - -To install the chart with the release name `traefik` - -```console -helm repo add TrueCharts https://charts.truecharts.org -helm repo update -helm install traefik TrueCharts/traefik -``` - -## Uninstall - -### TrueNAS SCALE - -**Upgrading, Rolling Back and Uninstalling the Chart** - -To upgrade, rollback or delete this Chart from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Upgrade-rollback-delete-an-App). - -### Helm - -To uninstall the `traefik` deployment - -```console -helm uninstall traefik -``` - -## Configuration - -### Helm - -#### Available Settings - -Read through the values.yaml file. It has several commented out suggested values. -Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common). - -#### Configure using the command line - -Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. - -```console -helm install traefik \ - --set env.TZ="America/New York" \ - TrueCharts/traefik -``` - -#### Configure using a yaml file - -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. - -```console -helm install traefik TrueCharts/traefik -f values.yaml -``` - -#### Connecting to other charts - -If you need to connect this Chart to other Charts on TrueNAS SCALE, please refer to our [Linking Charts Internally](https://truecharts.org/docs/manual/SCALE%20Apps/linking-apps) quick-start guide. - -## Support - -- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Important-MUST-READ). -- See the [Website](https://truecharts.org) -- Check our [Discord](https://discord.gg/tVsPTHWTtr) -- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - ---- - -## Sponsor TrueCharts - -TrueCharts can only exist due to the incredible effort of our staff. -Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! - ---- - -All Rights Reserved - The TrueCharts Project diff --git a/charts/enterprise/traefik/crds/ingressroute.yaml b/charts/enterprise/traefik/crds/ingressroute.yaml deleted file mode 100644 index 572adae5f00..00000000000 --- a/charts/enterprise/traefik/crds/ingressroute.yaml +++ /dev/null @@ -1,209 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - "helm.sh/hook": pre-install,pre-upgrade,pre-rollback - controller-gen.kubebuilder.io/version: v0.4.1 - creationTimestamp: null - name: ingressroutes.traefik.containo.us -spec: - group: traefik.containo.us - names: - kind: IngressRoute - listKind: IngressRouteList - plural: ingressroutes - singular: ingressroute - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: IngressRoute is an Ingress CRD specification. - properties: - apiVersion: - description: - "APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" - type: string - kind: - description: - "Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" - type: string - metadata: - type: object - spec: - description: - IngressRouteSpec is a specification for a IngressRouteSpec - resource. - properties: - entryPoints: - items: - type: string - type: array - routes: - items: - description: Route contains the set of routes. - properties: - kind: - enum: - - Rule - type: string - match: - type: string - middlewares: - items: - description: MiddlewareRef is a ref to the Middleware resources. - properties: - name: - type: string - namespace: - type: string - required: - - name - type: object - type: array - priority: - type: integer - services: - items: - description: Service defines an upstream to proxy traffic. - properties: - kind: - enum: - - Service - - TraefikService - type: string - name: - description: - Name is a reference to a Kubernetes Service - object (for a load-balancer of servers), or to a TraefikService - object (service load-balancer, mirroring, etc). The - differentiation between the two is specified in the - Kind field. - type: string - namespace: - type: string - passHostHeader: - type: boolean - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - responseForwarding: - description: - ResponseForwarding holds configuration for - the forward of the response. - properties: - flushInterval: - type: string - type: object - scheme: - type: string - serversTransport: - type: string - sticky: - description: Sticky holds the sticky configuration. - properties: - cookie: - description: - Cookie holds the sticky configuration - based on cookie. - properties: - httpOnly: - type: boolean - name: - type: string - sameSite: - type: string - secure: - type: boolean - type: object - type: object - strategy: - type: string - weight: - description: - Weight should only be specified when Name - references a TraefikService object (and to be precise, - one that embeds a Weighted Round Robin). - type: integer - required: - - name - type: object - type: array - required: - - kind - - match - type: object - type: array - tls: - description: - "TLS contains the TLS certificates configuration of the - routes. To enable Let's Encrypt, use an empty TLS struct, e.g. in - YAML: \n \t tls: {} # inline format \n \t tls: \t secretName: - # block format" - properties: - certResolver: - type: string - domains: - items: - description: Domain holds a domain name with SANs. - properties: - main: - type: string - sans: - items: - type: string - type: array - type: object - type: array - options: - description: - Options is a reference to a TLSOption, that specifies - the parameters of the TLS connection. - properties: - name: - type: string - namespace: - type: string - required: - - name - type: object - secretName: - description: - SecretName is the name of the referenced Kubernetes - Secret to specify the certificate details. - type: string - store: - description: - Store is a reference to a TLSStore, that specifies - the parameters of the TLS store. - properties: - name: - type: string - namespace: - type: string - required: - - name - type: object - type: object - required: - - routes - type: object - required: - - metadata - - spec - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/enterprise/traefik/crds/ingressroutetcp.yaml b/charts/enterprise/traefik/crds/ingressroutetcp.yaml deleted file mode 100644 index 127a41767e1..00000000000 --- a/charts/enterprise/traefik/crds/ingressroutetcp.yaml +++ /dev/null @@ -1,169 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - "helm.sh/hook": pre-install,pre-upgrade,pre-rollback - controller-gen.kubebuilder.io/version: v0.4.1 - creationTimestamp: null - name: ingressroutetcps.traefik.containo.us -spec: - group: traefik.containo.us - names: - kind: IngressRouteTCP - listKind: IngressRouteTCPList - plural: ingressroutetcps - singular: ingressroutetcp - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: IngressRouteTCP is an Ingress CRD specification. - properties: - apiVersion: - description: - "APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" - type: string - kind: - description: - "Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" - type: string - metadata: - type: object - spec: - description: - IngressRouteTCPSpec is a specification for a IngressRouteTCPSpec - resource. - properties: - entryPoints: - items: - type: string - type: array - routes: - items: - description: RouteTCP contains the set of routes. - properties: - match: - type: string - middlewares: - description: - Middlewares contains references to MiddlewareTCP - resources. - items: - description: - ObjectReference is a generic reference to a Traefik - resource. - properties: - name: - type: string - namespace: - type: string - required: - - name - type: object - type: array - services: - items: - description: ServiceTCP defines an upstream to proxy traffic. - properties: - name: - type: string - namespace: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - proxyProtocol: - description: ProxyProtocol holds the ProxyProtocol configuration. - properties: - version: - type: integer - type: object - terminationDelay: - type: integer - weight: - type: integer - required: - - name - - port - type: object - type: array - required: - - match - type: object - type: array - tls: - description: - "TLSTCP contains the TLS certificates configuration of - the routes. To enable Let's Encrypt, use an empty TLS struct, e.g. - in YAML: \n \t tls: {} # inline format \n \t tls: \t secretName: - # block format" - properties: - certResolver: - type: string - domains: - items: - description: Domain holds a domain name with SANs. - properties: - main: - type: string - sans: - items: - type: string - type: array - type: object - type: array - options: - description: - Options is a reference to a TLSOption, that specifies - the parameters of the TLS connection. - properties: - name: - type: string - namespace: - type: string - required: - - name - type: object - passthrough: - type: boolean - secretName: - description: - SecretName is the name of the referenced Kubernetes - Secret to specify the certificate details. - type: string - store: - description: - Store is a reference to a TLSStore, that specifies - the parameters of the TLS store. - properties: - name: - type: string - namespace: - type: string - required: - - name - type: object - type: object - required: - - routes - type: object - required: - - metadata - - spec - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/enterprise/traefik/crds/ingressrouteudp.yaml b/charts/enterprise/traefik/crds/ingressrouteudp.yaml deleted file mode 100644 index 2ed2b6969b2..00000000000 --- a/charts/enterprise/traefik/crds/ingressrouteudp.yaml +++ /dev/null @@ -1,87 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - "helm.sh/hook": pre-install,pre-upgrade,pre-rollback - controller-gen.kubebuilder.io/version: v0.4.1 - creationTimestamp: null - name: ingressrouteudps.traefik.containo.us -spec: - group: traefik.containo.us - names: - kind: IngressRouteUDP - listKind: IngressRouteUDPList - plural: ingressrouteudps - singular: ingressrouteudp - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: IngressRouteUDP is an Ingress CRD specification. - properties: - apiVersion: - description: - "APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" - type: string - kind: - description: - "Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" - type: string - metadata: - type: object - spec: - description: - IngressRouteUDPSpec is a specification for a IngressRouteUDPSpec - resource. - properties: - entryPoints: - items: - type: string - type: array - routes: - items: - description: RouteUDP contains the set of routes. - properties: - services: - items: - description: ServiceUDP defines an upstream to proxy traffic. - properties: - name: - type: string - namespace: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - weight: - type: integer - required: - - name - - port - type: object - type: array - type: object - type: array - required: - - routes - type: object - required: - - metadata - - spec - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/enterprise/traefik/crds/middlewares.yaml b/charts/enterprise/traefik/crds/middlewares.yaml deleted file mode 100644 index 714d151151f..00000000000 --- a/charts/enterprise/traefik/crds/middlewares.yaml +++ /dev/null @@ -1,587 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - "helm.sh/hook": pre-install,pre-upgrade,pre-rollback - controller-gen.kubebuilder.io/version: v0.4.1 - creationTimestamp: null - name: middlewares.traefik.containo.us -spec: - group: traefik.containo.us - names: - kind: Middleware - listKind: MiddlewareList - plural: middlewares - singular: middleware - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: Middleware is a specification for a Middleware resource. - properties: - apiVersion: - description: - "APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" - type: string - kind: - description: - "Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" - type: string - metadata: - type: object - spec: - description: MiddlewareSpec holds the Middleware configuration. - properties: - addPrefix: - description: AddPrefix holds the AddPrefix configuration. - properties: - prefix: - type: string - type: object - basicAuth: - description: BasicAuth holds the HTTP basic authentication configuration. - properties: - headerField: - type: string - realm: - type: string - removeHeader: - type: boolean - secret: - type: string - type: object - buffering: - description: Buffering holds the request/response buffering configuration. - properties: - maxRequestBodyBytes: - format: int64 - type: integer - maxResponseBodyBytes: - format: int64 - type: integer - memRequestBodyBytes: - format: int64 - type: integer - memResponseBodyBytes: - format: int64 - type: integer - retryExpression: - type: string - type: object - chain: - description: Chain holds a chain of middlewares. - properties: - middlewares: - items: - description: MiddlewareRef is a ref to the Middleware resources. - properties: - name: - type: string - namespace: - type: string - required: - - name - type: object - type: array - type: object - circuitBreaker: - description: CircuitBreaker holds the circuit breaker configuration. - properties: - expression: - type: string - type: object - compress: - description: Compress holds the compress configuration. - properties: - excludedContentTypes: - items: - type: string - type: array - type: object - contentType: - description: - ContentType middleware - or rather its unique `autoDetect` - option - specifies whether to let the `Content-Type` header, if - it has not been set by the backend, be automatically set to a value - derived from the contents of the response. As a proxy, the default - behavior should be to leave the header alone, regardless of what - the backend did with it. However, the historic default was to always - auto-detect and set the header if it was nil, and it is going to - be kept that way in order to support users currently relying on - it. This middleware exists to enable the correct behavior until - at least the default one can be changed in a future version. - properties: - autoDetect: - type: boolean - type: object - digestAuth: - description: DigestAuth holds the Digest HTTP authentication configuration. - properties: - headerField: - type: string - realm: - type: string - removeHeader: - type: boolean - secret: - type: string - type: object - errors: - description: ErrorPage holds the custom error page configuration. - properties: - query: - type: string - service: - description: Service defines an upstream to proxy traffic. - properties: - kind: - enum: - - Service - - TraefikService - type: string - name: - description: - Name is a reference to a Kubernetes Service object - (for a load-balancer of servers), or to a TraefikService - object (service load-balancer, mirroring, etc). The differentiation - between the two is specified in the Kind field. - type: string - namespace: - type: string - passHostHeader: - type: boolean - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - responseForwarding: - description: - ResponseForwarding holds configuration for the - forward of the response. - properties: - flushInterval: - type: string - type: object - scheme: - type: string - serversTransport: - type: string - sticky: - description: Sticky holds the sticky configuration. - properties: - cookie: - description: - Cookie holds the sticky configuration based - on cookie. - properties: - httpOnly: - type: boolean - name: - type: string - sameSite: - type: string - secure: - type: boolean - type: object - type: object - strategy: - type: string - weight: - description: - Weight should only be specified when Name references - a TraefikService object (and to be precise, one that embeds - a Weighted Round Robin). - type: integer - required: - - name - type: object - status: - items: - type: string - type: array - type: object - forwardAuth: - description: ForwardAuth holds the http forward authentication configuration. - properties: - address: - type: string - authRequestHeaders: - items: - type: string - type: array - authResponseHeaders: - items: - type: string - type: array - authResponseHeadersRegex: - type: string - tls: - description: ClientTLS holds TLS specific configurations as client. - properties: - caOptional: - type: boolean - caSecret: - type: string - certSecret: - type: string - insecureSkipVerify: - type: boolean - type: object - trustForwardHeader: - type: boolean - type: object - headers: - description: Headers holds the custom header configuration. - properties: - accessControlAllowCredentials: - description: - AccessControlAllowCredentials is only valid if true. - false is ignored. - type: boolean - accessControlAllowHeaders: - description: - AccessControlAllowHeaders must be used in response - to a preflight request with Access-Control-Request-Headers set. - items: - type: string - type: array - accessControlAllowMethods: - description: - AccessControlAllowMethods must be used in response - to a preflight request with Access-Control-Request-Method set. - items: - type: string - type: array - accessControlAllowOriginList: - description: - AccessControlAllowOriginList is a list of allowable - origins. Can also be a wildcard origin "*". - items: - type: string - type: array - accessControlAllowOriginListRegex: - description: - AccessControlAllowOriginListRegex is a list of allowable - origins written following the Regular Expression syntax (https://golang.org/pkg/regexp/). - items: - type: string - type: array - accessControlExposeHeaders: - description: - AccessControlExposeHeaders sets valid headers for - the response. - items: - type: string - type: array - accessControlMaxAge: - description: - AccessControlMaxAge sets the time that a preflight - request may be cached. - format: int64 - type: integer - addVaryHeader: - description: - AddVaryHeader controls if the Vary header is automatically - added/updated when the AccessControlAllowOriginList is set. - type: boolean - allowedHosts: - items: - type: string - type: array - browserXssFilter: - type: boolean - contentSecurityPolicy: - type: string - contentTypeNosniff: - type: boolean - customBrowserXSSValue: - type: string - customFrameOptionsValue: - type: string - customRequestHeaders: - additionalProperties: - type: string - type: object - customResponseHeaders: - additionalProperties: - type: string - type: object - featurePolicy: - type: string - forceSTSHeader: - type: boolean - frameDeny: - type: boolean - hostsProxyHeaders: - items: - type: string - type: array - isDevelopment: - type: boolean - publicKey: - type: string - referrerPolicy: - type: string - sslForceHost: - description: "Deprecated: use RedirectRegex instead." - type: boolean - sslHost: - description: "Deprecated: use RedirectRegex instead." - type: string - sslProxyHeaders: - additionalProperties: - type: string - type: object - sslRedirect: - description: - "Deprecated: use EntryPoint redirection or RedirectScheme - instead." - type: boolean - sslTemporaryRedirect: - description: - "Deprecated: use EntryPoint redirection or RedirectScheme - instead." - type: boolean - stsIncludeSubdomains: - type: boolean - stsPreload: - type: boolean - stsSeconds: - format: int64 - type: integer - type: object - inFlightReq: - description: - InFlightReq limits the number of requests being processed - and served concurrently. - properties: - amount: - format: int64 - type: integer - sourceCriterion: - description: - SourceCriterion defines what criterion is used to - group requests as originating from a common source. If none - are set, the default is to use the request's remote address - field. All fields are mutually exclusive. - properties: - ipStrategy: - description: IPStrategy holds the ip strategy configuration. - properties: - depth: - type: integer - excludedIPs: - items: - type: string - type: array - type: object - requestHeaderName: - type: string - requestHost: - type: boolean - type: object - type: object - ipWhiteList: - description: IPWhiteList holds the ip white list configuration. - properties: - ipStrategy: - description: IPStrategy holds the ip strategy configuration. - properties: - depth: - type: integer - excludedIPs: - items: - type: string - type: array - type: object - sourceRange: - items: - type: string - type: array - type: object - passTLSClientCert: - description: PassTLSClientCert holds the TLS client cert headers configuration. - properties: - info: - description: - TLSClientCertificateInfo holds the client TLS certificate - info configuration. - properties: - issuer: - description: - TLSCLientCertificateDNInfo holds the client TLS - certificate distinguished name info configuration. cf https://tools.ietf.org/html/rfc3739 - properties: - commonName: - type: boolean - country: - type: boolean - domainComponent: - type: boolean - locality: - type: boolean - organization: - type: boolean - province: - type: boolean - serialNumber: - type: boolean - type: object - notAfter: - type: boolean - notBefore: - type: boolean - sans: - type: boolean - serialNumber: - type: boolean - subject: - description: - TLSCLientCertificateDNInfo holds the client TLS - certificate distinguished name info configuration. cf https://tools.ietf.org/html/rfc3739 - properties: - commonName: - type: boolean - country: - type: boolean - domainComponent: - type: boolean - locality: - type: boolean - organization: - type: boolean - province: - type: boolean - serialNumber: - type: boolean - type: object - type: object - pem: - type: boolean - type: object - plugin: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - rateLimit: - description: - RateLimit holds the rate limiting configuration for a - given router. - properties: - average: - format: int64 - type: integer - burst: - format: int64 - type: integer - period: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - sourceCriterion: - description: - SourceCriterion defines what criterion is used to - group requests as originating from a common source. If none - are set, the default is to use the request's remote address - field. All fields are mutually exclusive. - properties: - ipStrategy: - description: IPStrategy holds the ip strategy configuration. - properties: - depth: - type: integer - excludedIPs: - items: - type: string - type: array - type: object - requestHeaderName: - type: string - requestHost: - type: boolean - type: object - type: object - redirectRegex: - description: RedirectRegex holds the redirection configuration. - properties: - permanent: - type: boolean - regex: - type: string - replacement: - type: string - type: object - redirectScheme: - description: RedirectScheme holds the scheme redirection configuration. - properties: - permanent: - type: boolean - port: - type: string - scheme: - type: string - type: object - replacePath: - description: ReplacePath holds the ReplacePath configuration. - properties: - path: - type: string - type: object - replacePathRegex: - description: ReplacePathRegex holds the ReplacePathRegex configuration. - properties: - regex: - type: string - replacement: - type: string - type: object - retry: - description: Retry holds the retry configuration. - properties: - attempts: - type: integer - initialInterval: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - type: object - stripPrefix: - description: StripPrefix holds the StripPrefix configuration. - properties: - forceSlash: - type: boolean - prefixes: - items: - type: string - type: array - type: object - stripPrefixRegex: - description: StripPrefixRegex holds the StripPrefixRegex configuration. - properties: - regex: - items: - type: string - type: array - type: object - type: object - required: - - metadata - - spec - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/enterprise/traefik/crds/middlewarestcp.yaml b/charts/enterprise/traefik/crds/middlewarestcp.yaml deleted file mode 100644 index 32c41e532de..00000000000 --- a/charts/enterprise/traefik/crds/middlewarestcp.yaml +++ /dev/null @@ -1,61 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - "helm.sh/hook": pre-install,pre-upgrade,pre-rollback - controller-gen.kubebuilder.io/version: v0.4.1 - creationTimestamp: null - name: middlewaretcps.traefik.containo.us -spec: - group: traefik.containo.us - names: - kind: MiddlewareTCP - listKind: MiddlewareTCPList - plural: middlewaretcps - singular: middlewaretcp - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: MiddlewareTCP is a specification for a MiddlewareTCP resource. - properties: - apiVersion: - description: - "APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" - type: string - kind: - description: - "Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" - type: string - metadata: - type: object - spec: - description: MiddlewareTCPSpec holds the MiddlewareTCP configuration. - properties: - ipWhiteList: - description: TCPIPWhiteList holds the TCP ip white list configuration. - properties: - sourceRange: - items: - type: string - type: array - type: object - type: object - required: - - metadata - - spec - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/enterprise/traefik/crds/serverstransports.yaml b/charts/enterprise/traefik/crds/serverstransports.yaml deleted file mode 100644 index a5f5206abad..00000000000 --- a/charts/enterprise/traefik/crds/serverstransports.yaml +++ /dev/null @@ -1,108 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - "helm.sh/hook": pre-install,pre-upgrade,pre-rollback - controller-gen.kubebuilder.io/version: v0.4.1 - creationTimestamp: null - name: serverstransports.traefik.containo.us -spec: - group: traefik.containo.us - names: - kind: ServersTransport - listKind: ServersTransportList - plural: serverstransports - singular: serverstransport - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: ServersTransport is a specification for a ServersTransport resource. - properties: - apiVersion: - description: - "APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" - type: string - kind: - description: - "Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" - type: string - metadata: - type: object - spec: - description: - ServersTransportSpec options to configure communication between - Traefik and the servers. - properties: - certificatesSecrets: - description: Certificates for mTLS. - items: - type: string - type: array - disableHTTP2: - description: Disable HTTP/2 for connections with backend servers. - type: boolean - forwardingTimeouts: - description: Timeouts for requests forwarded to the backend servers. - properties: - dialTimeout: - anyOf: - - type: integer - - type: string - description: - The amount of time to wait until a connection to - a backend server can be established. If zero, no timeout exists. - x-kubernetes-int-or-string: true - idleConnTimeout: - anyOf: - - type: integer - - type: string - description: - The maximum period for which an idle HTTP keep-alive - connection will remain open before closing itself. - x-kubernetes-int-or-string: true - responseHeaderTimeout: - anyOf: - - type: integer - - type: string - description: - The amount of time to wait for a server's response - headers after fully writing the request (including its body, - if any). If zero, no timeout exists. - x-kubernetes-int-or-string: true - type: object - insecureSkipVerify: - description: Disable SSL certificate verification. - type: boolean - maxIdleConnsPerHost: - description: - If non-zero, controls the maximum idle (keep-alive) to - keep per-host. If zero, DefaultMaxIdleConnsPerHost is used. - type: integer - rootCAsSecrets: - description: Add cert file for self-signed certificate. - items: - type: string - type: array - serverName: - description: ServerName used to contact the server. - type: string - type: object - required: - - metadata - - spec - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/enterprise/traefik/crds/tlsoptions.yaml b/charts/enterprise/traefik/crds/tlsoptions.yaml deleted file mode 100644 index 054ffe6cf5a..00000000000 --- a/charts/enterprise/traefik/crds/tlsoptions.yaml +++ /dev/null @@ -1,92 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - "helm.sh/hook": pre-install,pre-upgrade,pre-rollback - controller-gen.kubebuilder.io/version: v0.4.1 - creationTimestamp: null - name: tlsoptions.traefik.containo.us -spec: - group: traefik.containo.us - names: - kind: TLSOption - listKind: TLSOptionList - plural: tlsoptions - singular: tlsoption - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: TLSOption is a specification for a TLSOption resource. - properties: - apiVersion: - description: - "APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" - type: string - kind: - description: - "Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" - type: string - metadata: - type: object - spec: - description: TLSOptionSpec configures TLS for an entry point. - properties: - cipherSuites: - items: - type: string - type: array - clientAuth: - description: - ClientAuth defines the parameters of the client authentication - part of the TLS connection, if any. - properties: - clientAuthType: - description: - ClientAuthType defines the client authentication - type to apply. - enum: - - NoClientCert - - RequestClientCert - - VerifyClientCertIfGiven - - RequireAndVerifyClientCert - type: string - secretNames: - description: - SecretName is the name of the referenced Kubernetes - Secret to specify the certificate details. - items: - type: string - type: array - type: object - curvePreferences: - items: - type: string - type: array - maxVersion: - type: string - minVersion: - type: string - preferServerCipherSuites: - type: boolean - sniStrict: - type: boolean - type: object - required: - - metadata - - spec - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/enterprise/traefik/crds/tlsstores.yaml b/charts/enterprise/traefik/crds/tlsstores.yaml deleted file mode 100644 index 0fd2501746c..00000000000 --- a/charts/enterprise/traefik/crds/tlsstores.yaml +++ /dev/null @@ -1,68 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - "helm.sh/hook": pre-install,pre-upgrade,pre-rollback - controller-gen.kubebuilder.io/version: v0.4.1 - creationTimestamp: null - name: tlsstores.traefik.containo.us -spec: - group: traefik.containo.us - names: - kind: TLSStore - listKind: TLSStoreList - plural: tlsstores - singular: tlsstore - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: TLSStore is a specification for a TLSStore resource. - properties: - apiVersion: - description: - "APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" - type: string - kind: - description: - "Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" - type: string - metadata: - type: object - spec: - description: TLSStoreSpec configures a TLSStore resource. - properties: - defaultCertificate: - description: - DefaultCertificate holds a secret name for the TLSOption - resource. - properties: - secretName: - description: - SecretName is the name of the referenced Kubernetes - Secret to specify the certificate details. - type: string - required: - - secretName - type: object - required: - - defaultCertificate - type: object - required: - - metadata - - spec - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/enterprise/traefik/crds/traefikservices.yaml b/charts/enterprise/traefik/crds/traefikservices.yaml deleted file mode 100644 index c96892c41e0..00000000000 --- a/charts/enterprise/traefik/crds/traefikservices.yaml +++ /dev/null @@ -1,289 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - "helm.sh/hook": pre-install,pre-upgrade,pre-rollback - controller-gen.kubebuilder.io/version: v0.4.1 - creationTimestamp: null - name: traefikservices.traefik.containo.us -spec: - group: traefik.containo.us - names: - kind: TraefikService - listKind: TraefikServiceList - plural: traefikservices - singular: traefikservice - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: - TraefikService is the specification for a service (that an IngressRoute - refers to) that is usually not a terminal service (i.e. not a pod of servers), - as opposed to a Kubernetes Service. That is to say, it usually refers to - other (children) services, which themselves can be TraefikServices or Services. - properties: - apiVersion: - description: - "APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" - type: string - kind: - description: - "Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" - type: string - metadata: - type: object - spec: - description: - ServiceSpec defines whether a TraefikService is a load-balancer - of services or a mirroring service. - properties: - mirroring: - description: - Mirroring defines a mirroring service, which is composed - of a main load-balancer, and a list of mirrors. - properties: - kind: - enum: - - Service - - TraefikService - type: string - maxBodySize: - format: int64 - type: integer - mirrors: - items: - description: - MirrorService defines one of the mirrors of a Mirroring - service. - properties: - kind: - enum: - - Service - - TraefikService - type: string - name: - description: - Name is a reference to a Kubernetes Service - object (for a load-balancer of servers), or to a TraefikService - object (service load-balancer, mirroring, etc). The differentiation - between the two is specified in the Kind field. - type: string - namespace: - type: string - passHostHeader: - type: boolean - percent: - type: integer - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - responseForwarding: - description: - ResponseForwarding holds configuration for - the forward of the response. - properties: - flushInterval: - type: string - type: object - scheme: - type: string - serversTransport: - type: string - sticky: - description: Sticky holds the sticky configuration. - properties: - cookie: - description: - Cookie holds the sticky configuration based - on cookie. - properties: - httpOnly: - type: boolean - name: - type: string - sameSite: - type: string - secure: - type: boolean - type: object - type: object - strategy: - type: string - weight: - description: - Weight should only be specified when Name references - a TraefikService object (and to be precise, one that embeds - a Weighted Round Robin). - type: integer - required: - - name - type: object - type: array - name: - description: - Name is a reference to a Kubernetes Service object - (for a load-balancer of servers), or to a TraefikService object - (service load-balancer, mirroring, etc). The differentiation - between the two is specified in the Kind field. - type: string - namespace: - type: string - passHostHeader: - type: boolean - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - responseForwarding: - description: - ResponseForwarding holds configuration for the forward - of the response. - properties: - flushInterval: - type: string - type: object - scheme: - type: string - serversTransport: - type: string - sticky: - description: Sticky holds the sticky configuration. - properties: - cookie: - description: - Cookie holds the sticky configuration based on - cookie. - properties: - httpOnly: - type: boolean - name: - type: string - sameSite: - type: string - secure: - type: boolean - type: object - type: object - strategy: - type: string - weight: - description: - Weight should only be specified when Name references - a TraefikService object (and to be precise, one that embeds - a Weighted Round Robin). - type: integer - required: - - name - type: object - weighted: - description: WeightedRoundRobin defines a load-balancer of services. - properties: - services: - items: - description: Service defines an upstream to proxy traffic. - properties: - kind: - enum: - - Service - - TraefikService - type: string - name: - description: - Name is a reference to a Kubernetes Service - object (for a load-balancer of servers), or to a TraefikService - object (service load-balancer, mirroring, etc). The differentiation - between the two is specified in the Kind field. - type: string - namespace: - type: string - passHostHeader: - type: boolean - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - responseForwarding: - description: - ResponseForwarding holds configuration for - the forward of the response. - properties: - flushInterval: - type: string - type: object - scheme: - type: string - serversTransport: - type: string - sticky: - description: Sticky holds the sticky configuration. - properties: - cookie: - description: - Cookie holds the sticky configuration based - on cookie. - properties: - httpOnly: - type: boolean - name: - type: string - sameSite: - type: string - secure: - type: boolean - type: object - type: object - strategy: - type: string - weight: - description: - Weight should only be specified when Name references - a TraefikService object (and to be precise, one that embeds - a Weighted Round Robin). - type: integer - required: - - name - type: object - type: array - sticky: - description: Sticky holds the sticky configuration. - properties: - cookie: - description: - Cookie holds the sticky configuration based on - cookie. - properties: - httpOnly: - type: boolean - name: - type: string - sameSite: - type: string - secure: - type: boolean - type: object - type: object - type: object - type: object - required: - - metadata - - spec - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/enterprise/traefik/docs/how-to.md b/charts/enterprise/traefik/docs/how-to.md deleted file mode 100644 index dbfa5a3198e..00000000000 --- a/charts/enterprise/traefik/docs/how-to.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Installing Traefik - -Within TrueCharts, our aim is to make it as easy as possible to secure your Apps. -To support this, we supply a separate Traefik "ingress" app, which has been pre-configured to provide secure and fast connections. - -## How-To - -### TrueNAS WebUI - -In order to set up Traefik, you will be required to change the default TrueNAS WebUI access ports. -These ports are by default set to port `80` for HTTP and port `443` for HTTPS. -This is necessary as we will be setting Traefik up to function as a reverse proxy, and receive traffic on these host ports. - -In the TrueNAS Menu, navigate to **System** > **General**. Click the **Settings** button at the top right of the GUI component. -Under these **GUI Settings**, change: - -- Web Interface HTTP Port to port `81` -- Web Interface HTTPS Port to port `444`. - -Click **Save** to save your changes. The WebUI will now prompt you to restart the web server service, -after which you will be automatically redirected to your dashboard through one of the new ports. -If you are not prompted to restart the web server service, you may restart the machine and manually navigate -to the WebUI address followed by one of the new ports eg. `truenas.local:81`. - -:::info - -These are the recommended ports for this procedure. Using different ports may require some -changes to your configuration that are not covered in this tutorial. - -::: - -:::warning - -Do not skip this step. Neglecting to change the default ports active may cause your WebUI to become inaccessible after the following step. -Ensure you are accessing your WebUI from the new ports before proceeding. - -::: - -### Installing the Traefik Scale App - -In the TrueNAS Menu, navigate to **Apps** > **Available Applications**. Use the search bar to search for or manually -find the Traefik app in the list of apps, and click **Install** - -The setup of Traefik is relatively straight-forward. Most of the settings remain unchanged from default, except for these two: - -- **Application Name**: Enter a name for your app. You may use simply _traefik_ for this field. -- **Networking and Services**: Under TCP Services, find and change: - - **web Entrypoint Configuration** > **Entrypoints port:** - Change port `9080` to port `80` - - **websecure Entrypoint Configuration** > **Entrypoints port:** - Change port `9433` to port `433` - -Continue to section 12, and select **Next**. Traefik will now be installed. -After installation you can access the Traefik dashboard using your host IP address followed by `:9000`, or by simply clicking "Web Portal" on the application's entry under **Apps** > **Installed Applications**. - -:::note - -Traefik is part of the `stable` train, so make sure you have it enabled as specified in [Step 1](https://truecharts.org/manual/Quick-Start%20Guides/01-Adding-TrueCharts/) of our Quick Start Guides - -::: - -## Video Guide - - diff --git a/charts/enterprise/traefik/docs/img/traefik-theme-after.png b/charts/enterprise/traefik/docs/img/traefik-theme-after.png deleted file mode 100644 index c71c9ee8fa99e65d92fd5342b5deac2296be6fc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65968 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

T== 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 Lv8_CF<-z{}XN~=R diff --git a/charts/enterprise/traefik/docs/img/traefik-theme-app.png b/charts/enterprise/traefik/docs/img/traefik-theme-app.png deleted file mode 100644 index a04abe92fe23368af3ed9f0f6db817a8d7af0eb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14618 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 E0WKbFNB{r; diff --git a/charts/enterprise/traefik/docs/img/traefik-theme-before.png b/charts/enterprise/traefik/docs/img/traefik-theme-before.png deleted file mode 100644 index efe42de1945f3b26ab7df754a1259d254f351d8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52201 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

B?Zl+jRX^~ciQ)3Z2jElx$2f!yY;b81tFV%a3Av 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%0AU@ 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 poV6aSjk5Mfjd*N1hW0Add -- Name: `guactheme` (Any name you want, remember it, you will need it later) -- App Name: `guacamole` (Replace with the name of the app you want to theme) -- Theme Name: `plex` (Replace wit the theme you want to apply) -- Base URL: (Leave the default, unless you plan to use a self hosted theme provider) -- Click Save - - ![traefik-theme-fields](img/traefik-theme-fields.png) - -> Keep in mind that if you decide to use a self hosted theme provider, it will need to have enabled ingress. -> Also use the external URL, not the internal, as the client will need to access that theme provider to fetch the -> stylesheets. - -## Applying the theme to the app - -Edit your existing _App_, in this example we will use `guacamole-client`. - -- Scroll down to `Treafik MIddlewares` (Remember, you need to have `ingress` enabled) -- Click Add -- Name: `guactheme` (Replace with the name you gave to your middleware on the previous step) -- Click Save - - ![traefik-theme-app](img/traefik-theme-app.png) - -You are ready! - -| Before | After | -| :---------------------------------------------------: | :-------------------------------------------------: | -| ![traefik-theme-before](img/traefik-theme-before.png) | ![traefik-theme-after](img/traefik-theme-after.png) | diff --git a/charts/enterprise/traefik/icon.png b/charts/enterprise/traefik/icon.png deleted file mode 100644 index 5d807a7e5d93664dafc3a0b38f067464514972e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20293 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 diff --git a/charts/enterprise/traefik/questions.yaml b/charts/enterprise/traefik/questions.yaml deleted file mode 100644 index 3e796255e36..00000000000 --- a/charts/enterprise/traefik/questions.yaml +++ /dev/null @@ -1,772 +0,0 @@ -# Include{groups} -portals: - open: - protocols: - - "http" - host: - - "$kubernetes-resource_configmap_portal_host" - ports: - - "$kubernetes-resource_configmap_portal_port" - path: "/dashboard/" -questions: -# Include{global} -# Include{controller} -# Include{controllerDeployment} -# Include{replicas} -# Include{replica1} -# Include{strategy} -# Include{recreate} -# Include{controllerExpert} -# Include{controllerExpertExtraArgs} -# Include{containerConfig} - - variable: ingressClass - label: "ingressClass" - group: "App Configuration" - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: "Enable" - description: "When enabled, ingressClass will match the entered name of this app" - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: isDefaultClass - label: "isDefaultClass" - schema: - type: boolean - default: false - - variable: logs - label: "Logs" - group: "App Configuration" - schema: - additional_attrs: true - type: dict - attrs: - - variable: general - label: "General Logs" - schema: - additional_attrs: true - type: dict - attrs: - - variable: level - label: "Log Level" - schema: - type: string - default: "ERROR" - enum: - - value: "INFO" - description: "Info" - - value: "WARN" - description: "Warnings" - - value: "ERROR" - description: "Errors" - - value: "FATAL" - description: "Fatal Errors" - - value: "PANIC" - description: "Panics" - - value: "DEBUG" - description: "Debug" - - variable: format - label: "General Log format" - schema: - type: string - default: "common" - enum: - - value: "common" - description: "Common Log Format" - - value: "json" - description: "JSON" - - variable: access - label: "Access Logs" - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: "Enable" - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: enabledFilters - label: "Enable Filters" - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: filters - label: "Filters" - schema: - additional_attrs: true - type: dict - attrs: - - variable: statuscodes - label: "Status codes" - schema: - type: string - default: "200,300-302" - - variable: retryattempts - label: "retryattempts" - schema: - type: boolean - default: true - - variable: minduration - label: "minduration" - schema: - type: string - default: "10ms" - - variable: fields - label: "Fields" - schema: - additional_attrs: true - type: dict - attrs: - - variable: general - label: "General" - schema: - additional_attrs: true - type: dict - attrs: - - variable: defaultmode - label: "Default Mode" - schema: - type: string - default: "keep" - enum: - - value: "keep" - description: "Keep" - - value: "drop" - description: "Drop" - - variable: headers - label: "Headers" - schema: - additional_attrs: true - type: dict - attrs: - - variable: defaultmode - label: "Default Mode" - schema: - type: string - default: "drop" - enum: - - value: "keep" - description: "Keep" - - value: "drop" - description: "Drop" - - variable: format - label: "Access Log format" - schema: - type: string - default: "common" - enum: - - value: "common" - description: "Common Log Format" - - value: "json" - description: "JSON" - - variable: middlewares - label: "" - group: "Middlewares" - schema: - additional_attrs: true - type: dict - attrs: - - variable: basicAuth - label: "basicAuth" - schema: - type: list - default: [] - items: - - variable: basicAuthEntry - label: "" - schema: - additional_attrs: true - type: dict - attrs: - - variable: name - label: "Name" - schema: - type: string - required: true - default: "" - - variable: users - label: "Users" - schema: - type: list - default: [] - items: - - variable: usersEntry - label: "" - schema: - additional_attrs: true - type: dict - attrs: - - variable: username - label: "Username" - schema: - type: string - required: true - default: "" - - variable: password - label: "Password" - schema: - type: string - required: true - default: "" - - variable: forwardAuth - label: "forwardAuth" - schema: - type: list - default: [] - items: - - variable: basicAuthEntry - label: "" - schema: - additional_attrs: true - type: dict - attrs: - - variable: name - label: "Name" - schema: - type: string - required: true - default: "" - - variable: address - label: "Address" - schema: - type: string - required: true - default: "" - - variable: trustForwardHeader - label: "trustForwardHeader" - schema: - type: boolean - default: false - - variable: authResponseHeadersRegex - label: "authResponseHeadersRegex" - schema: - type: string - default: "" - - variable: authResponseHeaders - label: "authResponseHeaders" - schema: - type: list - default: [] - items: - - variable: authResponseHeadersEntry - label: "" - schema: - type: string - default: "" - - variable: authRequestHeaders - label: "authRequestHeaders" - schema: - type: list - default: [] - items: - - variable: authRequestHeadersEntry - label: "" - schema: - type: string - default: "" - - variable: chain - label: "chain" - schema: - type: list - default: [] - items: - - variable: chainEntry - label: "" - schema: - additional_attrs: true - type: dict - attrs: - - variable: name - label: "Name" - schema: - type: string - required: true - - variable: middlewares - label: "Middlewares to Chain" - schema: - type: list - default: [] - items: - - variable: name - label: "Name" - schema: - type: string - required: true - default: "" - - variable: redirectScheme - label: "redirectScheme" - schema: - type: list - default: [] - items: - - variable: redirectSchemeEntry - label: "" - schema: - additional_attrs: true - type: dict - attrs: - - variable: name - label: "Name" - schema: - type: string - required: true - - variable: scheme - label: "Scheme" - schema: - type: string - required: true - default: "https" - enum: - - value: "https" - description: "https" - - value: "http" - description: "http" - - variable: permanent - label: "Permanent" - schema: - type: boolean - default: false - - variable: rateLimit - label: "rateLimit" - schema: - type: list - default: [] - items: - - variable: rateLimitEntry - label: "" - schema: - additional_attrs: true - type: dict - attrs: - - variable: name - label: "Name" - schema: - type: string - required: true - - variable: average - label: "Average" - schema: - type: int - required: true - default: 300 - - variable: burst - label: "Burst" - schema: - type: int - required: true - default: 200 - - variable: redirectRegex - label: "redirectRegex" - schema: - type: list - default: [] - items: - - variable: redirectRegexEntry - label: "" - schema: - additional_attrs: true - type: dict - attrs: - - variable: name - label: "Name" - schema: - type: string - required: true - - variable: regex - label: "Regex" - schema: - type: string - required: true - default: "" - - variable: replacement - label: "Replacement" - schema: - type: string - required: true - default: "" - - variable: permanent - label: "Permanent" - schema: - type: boolean - default: false - - variable: stripPrefixRegex - label: "stripPrefixRegex" - schema: - type: list - default: [] - items: - - variable: stripPrefixRegexEntry - label: "" - schema: - additional_attrs: true - type: dict - attrs: - - variable: name - label: "Name" - schema: - type: string - required: true - - variable: regex - label: "Regex" - schema: - type: list - default: [] - items: - - variable: regexEntry - label: "Regex" - schema: - type: string - required: true - default: "" - - variable: ipWhiteList - label: "ipWhiteList" - schema: - type: list - default: [] - items: - - variable: ipWhiteListEntry - label: "" - schema: - additional_attrs: true - type: dict - attrs: - - variable: name - label: "Name" - schema: - type: string - required: true - default: "" - - variable: sourceRange - label: "Source Range" - schema: - type: list - default: [] - items: - - variable: sourceRangeEntry - label: "" - schema: - type: string - required: true - default: "" - - variable: ipStrategy - label: "IP Strategy" - schema: - additional_attrs: true - type: dict - attrs: - - variable: depth - label: "Depth" - schema: - type: int - required: true - - variable: excludedIPs - label: "Excluded IPs" - schema: - type: list - default: [] - items: - - variable: excludedIPsEntry - label: "" - schema: - type: string - required: true - default: "" - - variable: themePark - label: "theme.park" - schema: - type: list - default: [] - items: - - variable: themeParkEntry - label: "" - schema: - additional_attrs: true - type: dict - attrs: - - variable: name - label: "Name" - description: This is a 3rd party plugin and not maintained by TrueCharts, - for more information go to traefik-themepark - schema: - type: string - required: true - - variable: appName - label: App Name - description: Lower case, name of the app to be themed. -
Go to https://docs.theme-park.dev/themes/ to see supported apps. - schema: - type: string - required: true - - variable: themeName - label: Theme Name - description: Lower case, name of the theme to be applied. -
Go to https://docs.theme-park.dev/theme-options/ to see supported themes. - schema: - type: string - required: true - - variable: baseUrl - label: Base URL - description: Replace `https://theme-park.dev` URL for self-hosting reference. - schema: - type: string - required: true - default: https://theme-park.dev - - variable: addons - label: Addons - schema: - type: list - default: [] - items: - - variable: addonEntry - label: "Addon" - description: Currently only supports 'darker' and '4k-logo' for *arr apps. -
Go to https://docs.theme-park.dev/themes/addons/ for Addon information. -
Go to https://github.com/packruler/traefik-themepark for more context on plugin - schema: - type: string - required: true - default: "" - - variable: service - group: "Networking and Services" - label: "Configure Service Entrypoint" - schema: - additional_attrs: true - type: dict - attrs: - - variable: main - label: "Main Service" - description: "The Primary service on which the healthcheck runs, often the webUI" - schema: - additional_attrs: true - type: dict - attrs: -# Include{serviceSelectorLoadBalancer} -# Include{serviceSelectorExtras} - - variable: main - label: "Main Entrypoint Configuration" - schema: - additional_attrs: true - type: dict - attrs: -# Include{advancedPortHTTP} - - variable: targetPort - label: "Target Port" - description: "The internal(!) port on the container the Application runs on" - schema: - type: int - default: 9000 - - variable: port - label: "Entrypoints Port" - schema: - type: int - default: 9000 - required: true - - variable: tcp - label: "TCP Service" - description: "The tcp Entrypoint service" - schema: - additional_attrs: true - type: dict - attrs: -# Include{serviceSelectorLoadBalancer} -# Include{serviceSelectorExtras} - - variable: web - label: "web Entrypoint Configuration" - schema: - additional_attrs: true - type: dict - attrs: - - variable: port - label: "Entrypoints Port" - schema: - type: int - default: 9080 - required: true -# Include{advancedPortHTTP} - - variable: targetPort - label: "Target Port" - description: "The internal(!) port on the container the Application runs on" - schema: - type: int - - variable: redirectPort - label: "Redirect to Port" - schema: - type: int - - variable: redirectTo - label: "Redirect to Entrypoint" - schema: - type: string - default: "websecure" -# Include{forwardedHeaders} -# Include{proxyProtocol} - - variable: websecure - label: "websecure Entrypoints Configuration" - schema: - additional_attrs: true - type: dict - attrs: - - variable: port - label: "Entrypoints Port" - schema: - type: int - default: 9443 - required: true -# Include{advancedPortHTTPS} - - variable: targetPort - label: "Target Port" - description: "The internal(!) port on the container the Application runs on" - schema: - type: int - - variable: redirectPort - label: "Redirect to Port" - schema: - type: int - - variable: redirectTo - label: "Redirect to Entrypoint" - schema: - type: string -# Include{forwardedHeaders} -# Include{proxyProtocol} - - variable: tls - label: "websecure Entrypoints Configuration" - schema: - type: dict - hidden: true - attrs: - - variable: enabled - label: "Enabled" - schema: - type: boolean - default: true - hidden: true - - variable: portsList - label: "Additional TCP Entrypoints" - schema: - type: list - default: [] - items: - - variable: portsListEntry - label: "Custom Entrypoints" - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: "Enable the port" - schema: - type: boolean - default: true - hidden: true - - variable: name - label: "Entrypoints Name" - schema: - type: string - default: "" - - variable: protocol - label: "Entrypoints Type" - schema: - type: string - default: "TCP" - enum: - - value: HTTP - description: "HTTP" - - value: "HTTPS" - description: "HTTPS" - - value: TCP - description: "TCP" - - variable: port - label: "Port" - description: "This port exposes the container port on the service" - schema: - type: int - required: true - - variable: tls - label: "websecure Entrypoints Configuration" - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: "Enabled" - schema: - type: boolean - default: true - - variable: redirectPort - label: "Redirect to Port" - schema: - type: int - - variable: redirectTo - label: "Redirect to Entrypoint" - schema: - type: string -# Include{forwardedHeaders} -# Include{proxyProtocol} -# Include{ingressRoot} - - variable: main - label: "Main Ingress" - schema: - additional_attrs: true - type: dict - attrs: -# Include{ingressDefault} -# Include{ingressTLS} -# Include{ingressTraefik} -# Include{ingressExpert} -# Include{ingressList} -# Include{security} -# Include{securityContextAdvancedRoot} - - variable: privileged - label: "Privileged mode" - schema: - type: boolean - default: false - - variable: readOnlyRootFilesystem - label: "ReadOnly Root Filesystem" - schema: - type: boolean - default: true - - variable: allowPrivilegeEscalation - label: "Allow Privilege Escalation" - schema: - type: boolean - default: false - - variable: runAsNonRoot - label: "runAsNonRoot" - schema: - type: boolean - default: true -# Include{securityContextAdvanced} -# Include{podSecurityContextRoot} - - variable: runAsUser - label: "runAsUser" - description: "The UserID of the user running the application" - schema: - type: int - default: 568 - - variable: runAsGroup - label: "runAsGroup" - description: "The groupID this App of the user running the application" - schema: - type: int - default: 568 - - variable: fsGroup - label: "fsGroup" - description: "The group that should own ALL storage." - schema: - type: int - default: 568 -# Include{podSecurityContextAdvanced} -# Include{resources} -# Include{advanced} -# Include{addons} -# Include{documentation} diff --git a/charts/enterprise/traefik/templates/_args.tpl b/charts/enterprise/traefik/templates/_args.tpl deleted file mode 100644 index 68c640bf0df..00000000000 --- a/charts/enterprise/traefik/templates/_args.tpl +++ /dev/null @@ -1,166 +0,0 @@ -{{/* Define the args */}} -{{- define "traefik.args" -}} -args: - {{/* merge all ports */}} - {{- $ports := dict }} - {{- range $.Values.service }} - {{- range $name, $value := .ports }} - {{- $_ := set $ports $name $value }} - {{- end }} - {{- end }} - {{/* start of actual arguments */}} - {{- with .Values.globalArguments }} - {{- range . }} - - {{ . | quote }} - {{- end }} - {{- end }} - {{- range $name, $config := $ports }} - {{- if $config }} - {{- if or ( eq $config.protocol "HTTP" ) ( eq $config.protocol "HTTPS" ) ( eq $config.protocol "TCP" ) }} - {{- $_ := set $config "protocol" "TCP" }} - {{- end }} - - "--entryPoints.{{$name}}.address=:{{ $config.port }}/{{ default "tcp" $config.protocol | lower }}" - {{- end }} - {{- end }} - - "--api.dashboard=true" - - "--ping=true" - {{- if .Values.metrics }} - {{- if .Values.metrics.datadog }} - - "--metrics.datadog=true" - - "--metrics.datadog.address={{ .Values.metrics.datadog.address }}" - {{- end }} - {{- if .Values.metrics.influxdb }} - - "--metrics.influxdb=true" - - "--metrics.influxdb.address={{ .Values.metrics.influxdb.address }}" - - "--metrics.influxdb.protocol={{ .Values.metrics.influxdb.protocol }}" - {{- end }} - {{- if .Values.metrics.prometheus }} - - "--metrics.prometheus=true" - - "--metrics.prometheus.entrypoint={{ .Values.metrics.prometheus.entryPoint }}" - {{- end }} - {{- if .Values.metrics.statsd }} - - "--metrics.statsd=true" - - "--metrics.statsd.address={{ .Values.metrics.statsd.address }}" - {{- end }} - {{- end }} - {{- if .Values.providers.kubernetesCRD.enabled }} - - "--providers.kubernetescrd" - {{- end }} - {{- if .Values.providers.kubernetesIngress.enabled }} - - "--providers.kubernetesingress" - {{- if .Values.providers.kubernetesIngress.publishedService.enabled }} - - "--providers.kubernetesingress.ingressendpoint.publishedservice={{ template "providers.kubernetesIngress.publishedServicePath" . }}" - {{- end }} - {{- if .Values.providers.kubernetesIngress.labelSelector }} - - "--providers.kubernetesingress.labelSelector={{ .Values.providers.kubernetesIngress.labelSelector }}" - {{- end }} - {{- end }} - {{- if and .Values.rbac.enabled .Values.rbac.namespaced }} - {{- if .Values.providers.kubernetesCRD.enabled }} - - "--providers.kubernetescrd.namespaces={{ template "providers.kubernetesCRD.namespaces" . }}" - {{- end }} - {{- if .Values.providers.kubernetesIngress.enabled }} - - "--providers.kubernetesingress.namespaces={{ template "providers.kubernetesIngress.namespaces" . }}" - {{- end }} - {{- end }} - {{- if .Values.ingressClass.enabled }} - - "--providers.kubernetesingress.ingressclass={{ .Release.Name }}" - {{- end }} - {{- range $entrypoint, $config := $ports }} - {{/* add args for proxyProtocol support */}} - {{- if $config.proxyProtocol }} - {{- if $config.proxyProtocol.enabled }} - {{- if $config.proxyProtocol.insecureMode }} - - "--entrypoints.{{ $entrypoint }}.proxyProtocol.insecure" - {{- end }} - {{- if not ( empty $config.proxyProtocol.trustedIPs ) }} - - "--entrypoints.{{ $entrypoint }}.proxyProtocol.trustedIPs={{ join "," $config.proxyProtocol.trustedIPs }}" - {{- end }} - {{- end }} - {{- end }} - {{/* add args for forwardedHeaders support */}} - {{- if $config.forwardedHeaders.enabled }} - {{- if not ( empty $config.forwardedHeaders.trustedIPs ) }} - - "--entrypoints.{{ $entrypoint }}.forwardedHeaders.trustedIPs={{ join "," $config.forwardedHeaders.trustedIPs }}" - {{- end }} - {{- if $config.forwardedHeaders.insecureMode }} - - "--entrypoints.{{ $entrypoint }}.forwardedHeaders.insecure" - {{- end }} - {{- end }} - {{/* end forwardedHeaders configuration */}} - {{- if $config.redirectTo }} - {{- $toPort := index $ports $config.redirectTo }} - - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.to=:{{ $toPort.port }}" - - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.scheme=https" - {{- else if $config.redirectPort }} - {{ if gt $config.redirectPort 0.0 }} - - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.to=:{{ $config.redirectPort }}" - - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.scheme=https" - {{- end }} - {{- end }} - {{- if or ( $config.tls ) ( eq $config.protocol "HTTPS" ) }} - {{- if or ( $config.tls.enabled ) ( eq $config.protocol "HTTPS" ) }} - - "--entrypoints.{{ $entrypoint }}.http.tls=true" - {{- if $config.tls.options }} - - "--entrypoints.{{ $entrypoint }}.http.tls.options={{ $config.tls.options }}" - {{- end }} - {{- if $config.tls.certResolver }} - - "--entrypoints.{{ $entrypoint }}.http.tls.certResolver={{ $config.tls.certResolver }}" - {{- end }} - {{- if $config.tls.domains }} - {{- range $index, $domain := $config.tls.domains }} - {{- if $domain.main }} - - "--entrypoints.{{ $entrypoint }}.http.tls.domains[{{ $index }}].main={{ $domain.main }}" - {{- end }} - {{- if $domain.sans }} - - "--entrypoints.{{ $entrypoint }}.http.tls.domains[{{ $index }}].sans={{ join "," $domain.sans }}" - {{- end }} - {{- end }} - {{- end }} - {{- end }} - {{- end }} - {{- end }} - {{- with .Values.logs }} - - "--log.format={{ .general.format }}" - {{- if ne .general.level "ERROR" }} - - "--log.level={{ .general.level | upper }}" - {{- end }} - {{- if .access.enabled }} - - "--accesslog=true" - - "--accesslog.format={{ .access.format }}" - {{- if .access.bufferingsize }} - - "--accesslog.bufferingsize={{ .access.bufferingsize }}" - {{- end }} - {{- if .access.filters }} - {{- if .access.filters.statuscodes }} - - "--accesslog.filters.statuscodes={{ .access.filters.statuscodes }}" - {{- end }} - {{- if .access.filters.retryattempts }} - - "--accesslog.filters.retryattempts" - {{- end }} - {{- if .access.filters.minduration }} - - "--accesslog.filters.minduration={{ .access.filters.minduration }}" - {{- end }} - {{- end }} - - "--accesslog.fields.defaultmode={{ .access.fields.general.defaultmode }}" - {{- range $fieldname, $fieldaction := .access.fields.general.names }} - - "--accesslog.fields.names.{{ $fieldname }}={{ $fieldaction }}" - {{- end }} - - "--accesslog.fields.headers.defaultmode={{ .access.fields.headers.defaultmode }}" - {{- range $fieldname, $fieldaction := .access.fields.headers.names }} - - "--accesslog.fields.headers.names.{{ $fieldname }}={{ $fieldaction }}" - {{- end }} - {{- end }} - {{- end }} - {{/* theme.park */}} - {{- if .Values.middlewares.themePark }} - - "--experimental.plugins.traefik-themepark.modulename=github.com/packruler/traefik-themepark" - - "--experimental.plugins.traefik-themepark.version={{ .Values.middlewares.themeParkVersion }}" - {{- end }} - {{/* End of theme.park */}} - {{- with .Values.additionalArguments }} - {{- range . }} - - {{ . | quote }} - {{- end }} - {{- end }} -{{- end -}} diff --git a/charts/enterprise/traefik/templates/_helpers.tpl b/charts/enterprise/traefik/templates/_helpers.tpl deleted file mode 100644 index ab55e4e7ec6..00000000000 --- a/charts/enterprise/traefik/templates/_helpers.tpl +++ /dev/null @@ -1,22 +0,0 @@ -{{/* -Construct the path for the providers.kubernetesingress.ingressendpoint.publishedservice. -By convention this will simply use the / to match the name of the -service generated. -Users can provide an override for an explicit service they want bound via `.Values.providers.kubernetesIngress.publishedService.pathOverride` -*/}} -{{- define "providers.kubernetesIngress.publishedServicePath" -}} -{{- $fullName := include "tc.common.names.fullname" . -}} -{{- $defServiceName := printf "%s/%s-tcp" .Release.Namespace $fullName -}} -{{- $servicePath := default $defServiceName .Values.providers.kubernetesIngress.publishedService.pathOverride }} -{{- print $servicePath | trimSuffix "-" -}} -{{- end -}} - -{{/* -Construct a comma-separated list of whitelisted namespaces -*/}} -{{- define "providers.kubernetesIngress.namespaces" -}} -{{- default .Release.Namespace (join "," .Values.providers.kubernetesIngress.namespaces) }} -{{- end -}} -{{- define "providers.kubernetesCRD.namespaces" -}} -{{- default .Release.Namespace (join "," .Values.providers.kubernetesCRD.namespaces) }} -{{- end -}} diff --git a/charts/enterprise/traefik/templates/_ingressclass.tpl b/charts/enterprise/traefik/templates/_ingressclass.tpl deleted file mode 100644 index 909e249d6a5..00000000000 --- a/charts/enterprise/traefik/templates/_ingressclass.tpl +++ /dev/null @@ -1,24 +0,0 @@ -{{/* Define the ingressClass */}} -{{- define "traefik.ingressClass" -}} ---- -{{ if .Values.ingressClass.enabled }} - {{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1/IngressClass" }} -apiVersion: networking.k8s.io/v1 - {{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/IngressClass" }} -apiVersion: networking.k8s.io/v1beta1 - {{- else if or (eq .Values.ingressClass.fallbackApiVersion "v1beta1") (eq .Values.ingressClass.fallbackApiVersion "v1") }} -apiVersion: {{ printf "networking.k8s.io/%s" .Values.ingressClass.fallbackApiVersion }} - {{- else }} - {{- fail "\n\n ERROR: You must have at least networking.k8s.io/v1beta1 to use ingressClass" }} - {{- end }} -kind: IngressClass -metadata: - annotations: - ingressclass.kubernetes.io/is-default-class: {{ .Values.ingressClass.isDefaultClass | quote }} - labels: - {{- include "tc.common.labels" . | nindent 4 }} - name: {{ .Release.Name }} -spec: - controller: traefik.io/ingress-controller -{{- end }} -{{- end }} diff --git a/charts/enterprise/traefik/templates/_ingressroute.tpl b/charts/enterprise/traefik/templates/_ingressroute.tpl deleted file mode 100644 index 7f012c92350..00000000000 --- a/charts/enterprise/traefik/templates/_ingressroute.tpl +++ /dev/null @@ -1,25 +0,0 @@ -{{/* Define the ingressRoute */}} -{{- define "traefik.ingressRoute" -}} -{{ if .Values.ingressRoute.dashboard.enabled }} ---- -apiVersion: traefik.containo.us/v1alpha1 -kind: IngressRoute -metadata: - name: {{ include "tc.common.names.fullname" . }}-dashboard - annotations: - {{- with .Values.ingressRoute.dashboard.annotations }} - {{- toYaml . | nindent 4 }} - {{- end }} - labels: - {{- include "tc.common.labels" . | nindent 4 }} -spec: - entryPoints: - - main - routes: - - match: PathPrefix(`/dashboard`) || PathPrefix(`/api`) - kind: Rule - services: - - name: api@internal - kind: TraefikService -{{ end }} -{{- end -}} diff --git a/charts/enterprise/traefik/templates/_portalhook.tpl b/charts/enterprise/traefik/templates/_portalhook.tpl deleted file mode 100644 index e3586c5d4e9..00000000000 --- a/charts/enterprise/traefik/templates/_portalhook.tpl +++ /dev/null @@ -1,26 +0,0 @@ -{{/* Define the portalHook */}} -{{- define "traefik.portalhook" -}} -{{- if .Values.portalhook.enabled }} -{{- $namespace := ( printf "ix-%s" .Release.Name ) }} -{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} -{{- $namespace = "default" }} -{{- end }} ---- - -apiVersion: v1 -kind: ConfigMap -metadata: - name: portalhook - namespace: {{ $namespace }} -data: - {{- $ports := dict }} - {{- range $.Values.service }} - {{- range $name, $value := .ports }} - {{- $_ := set $ports $name $value }} - {{- end }} - {{- end }} - {{- range $name, $value := $ports }} - {{ $name }}: {{ $value.port | quote }} - {{- end }} -{{- end }} -{{- end -}} diff --git a/charts/enterprise/traefik/templates/_tlsoptions.tpl b/charts/enterprise/traefik/templates/_tlsoptions.tpl deleted file mode 100644 index 3e5aad3bee9..00000000000 --- a/charts/enterprise/traefik/templates/_tlsoptions.tpl +++ /dev/null @@ -1,12 +0,0 @@ -{{/* Define the tlsOptions */}} -{{- define "traefik.tlsOptions" -}} -{{- range $name, $config := .Values.tlsOptions }} ---- -apiVersion: traefik.containo.us/v1alpha1 -kind: TLSOption -metadata: - name: {{ $name }} -spec: - {{- toYaml $config | nindent 2 }} -{{- end }} -{{- end -}} diff --git a/charts/enterprise/traefik/templates/common.yaml b/charts/enterprise/traefik/templates/common.yaml deleted file mode 100644 index c933a3d08e0..00000000000 --- a/charts/enterprise/traefik/templates/common.yaml +++ /dev/null @@ -1,24 +0,0 @@ -{{/* Make sure all variables are set properly */}} -{{- include "tc.common.loader.init" . }} - -{{- if .Values.metrics }} -{{- if .Values.metrics.prometheus }} -{{- $_ := set .Values.podAnnotations "prometheus.io/scrape" "true" -}} -{{- $_ := set .Values.podAnnotations "prometheus.io/path" "/metrics" -}} -{{- $_ := set .Values.podAnnotations "prometheus.io/port" "9180" -}} -{{- end }} -{{- end }} - -{{- $newArgs := (include "traefik.args" . | fromYaml) }} -{{- $_ := set .Values "newArgs" $newArgs -}} -{{- $mergedargs := concat .Values.args .Values.newArgs.args }} -{{- $_ := set .Values "args" $mergedargs -}} - -{{- include "traefik.portalhook" . }} -{{- include "traefik.tlsOptions" . }} -{{- include "traefik.ingressRoute" . }} -{{- include "traefik.ingressClass" . }} - - -{{/* Render the templates */}} -{{ include "tc.common.loader.apply" . }} diff --git a/charts/enterprise/traefik/templates/middlewares/basic-middleware.yaml b/charts/enterprise/traefik/templates/middlewares/basic-middleware.yaml deleted file mode 100644 index 9ba8e5c5d93..00000000000 --- a/charts/enterprise/traefik/templates/middlewares/basic-middleware.yaml +++ /dev/null @@ -1,62 +0,0 @@ -{{- $values := .Values }} -{{- $namespace := ( printf "ix-%s" .Release.Name ) }} -{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} -{{- $namespace = "default" }} -{{- end }} ---- -apiVersion: traefik.containo.us/v1alpha1 -kind: Middleware -metadata: - name: compress - namespace: {{ $namespace }} -spec: - compress: {} ---- -# Here, an average of 300 requests per second is allowed. -# In addition, a burst of 200 requests is allowed. -apiVersion: traefik.containo.us/v1alpha1 -kind: Middleware -metadata: - name: basic-ratelimit - namespace: {{ $namespace }} -spec: - rateLimit: - average: 600 - burst: 400 ---- -apiVersion: traefik.containo.us/v1alpha1 -kind: Middleware -metadata: - name: basic-secure-headers - namespace: {{ $namespace }} -spec: - headers: - accessControlAllowMethods: - - GET - - OPTIONS - - HEAD - - PUT - accessControlMaxAge: 100 - stsSeconds: 63072000 - # stsIncludeSubdomains: false - # stsPreload: false - forceSTSHeader: true - contentTypeNosniff: true - browserXssFilter: true - referrerPolicy: same-origin - customRequestHeaders: - X-Forwarded-Proto: "https" - customResponseHeaders: - server: '' ---- -apiVersion: traefik.containo.us/v1alpha1 -kind: Middleware -metadata: - name: chain-basic - namespace: {{ $namespace }} -spec: - chain: - middlewares: - - name: basic-ratelimit - - name: basic-secure-headers - - name: compress diff --git a/charts/enterprise/traefik/templates/middlewares/basicauth.yaml b/charts/enterprise/traefik/templates/middlewares/basicauth.yaml deleted file mode 100644 index ccb541742f0..00000000000 --- a/charts/enterprise/traefik/templates/middlewares/basicauth.yaml +++ /dev/null @@ -1,34 +0,0 @@ -{{- $values := .Values }} -{{- $namespace := ( printf "ix-%s" .Release.Name ) }} -{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} -{{- $namespace = "default" }} -{{- end }} -{{ range $index, $middlewareData := .Values.middlewares.basicAuth }} ---- -{{- $users := list }} -{{ range $index, $userdata := $middlewareData.users }} - {{ $users = append $users ( htpasswd $userdata.username $userdata.password ) }} -{{ end }} - -apiVersion: v1 -kind: Secret -metadata: - name: {{printf "%v-%v" $middlewareData.name "secret" }} - namespace: {{ $namespace }} -type: Opaque -stringData: - users: | - {{- range $index, $user := $users }} - {{ printf "%s" $user }} - {{- end }} ---- -# Declaring the user list -apiVersion: traefik.containo.us/v1alpha1 -kind: Middleware -metadata: - name: {{ $middlewareData.name }} - namespace: {{ $namespace }} -spec: - basicAuth: - secret: {{printf "%v-%v" $middlewareData.name "secret" }} -{{ end }} diff --git a/charts/enterprise/traefik/templates/middlewares/chain.yaml b/charts/enterprise/traefik/templates/middlewares/chain.yaml deleted file mode 100644 index f87994f7956..00000000000 --- a/charts/enterprise/traefik/templates/middlewares/chain.yaml +++ /dev/null @@ -1,21 +0,0 @@ -{{- $values := .Values }} -{{- $namespace := ( printf "ix-%s" .Release.Name ) }} -{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} -{{- $namespace = "default" }} -{{- end }} -{{ range $index, $middlewareData := .Values.middlewares.chain }} - ---- -# Declaring the user list -apiVersion: traefik.containo.us/v1alpha1 -kind: Middleware -metadata: - name: {{ $middlewareData.name }} - namespace: {{ $namespace }} -spec: - chain: - middlewares: - {{ range $index, $middleware := .middlewares }} - - name: {{ printf "%v-%v@%v" $namespace $middleware "kubernetescrd" }} - {{ end }} -{{ end }} diff --git a/charts/enterprise/traefik/templates/middlewares/forwardauth.yaml b/charts/enterprise/traefik/templates/middlewares/forwardauth.yaml deleted file mode 100644 index 7a3e32fdbf7..00000000000 --- a/charts/enterprise/traefik/templates/middlewares/forwardauth.yaml +++ /dev/null @@ -1,30 +0,0 @@ -{{- $values := .Values }} -{{- $namespace := ( printf "ix-%s" .Release.Name ) }} -{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} -{{- $namespace = "default" }} -{{- end }} -{{ range $index, $middlewareData := .Values.middlewares.forwardAuth }} ---- -apiVersion: traefik.containo.us/v1alpha1 -kind: Middleware -metadata: - name: {{ $middlewareData.name }} - namespace: {{ $namespace }} -spec: - forwardAuth: - address: {{ $middlewareData.address }} - {{- with $middlewareData.authResponseHeaders }} - authResponseHeaders: - {{- toYaml . | nindent 4 }} - {{- end }} - {{- with $middlewareData.authRequestHeaders }} - authRequestHeaders: - {{- toYaml . | nindent 4 }} - {{- end }} - {{- if $middlewareData.authResponseHeadersRegex }} - authResponseHeadersRegex: {{ $middlewareData.authResponseHeadersRegex }} - {{- end }} - {{- if $middlewareData.trustForwardHeader }} - trustForwardHeader: true - {{- end }} -{{ end }} diff --git a/charts/enterprise/traefik/templates/middlewares/ipwhitelist.yaml b/charts/enterprise/traefik/templates/middlewares/ipwhitelist.yaml deleted file mode 100644 index 1179245017e..00000000000 --- a/charts/enterprise/traefik/templates/middlewares/ipwhitelist.yaml +++ /dev/null @@ -1,33 +0,0 @@ -{{- $values := .Values }} -{{- $namespace := ( printf "ix-%s" .Release.Name ) }} -{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} -{{- $namespace = "default" }} -{{- end }} -{{ range $index, $middlewareData := .Values.middlewares.ipWhiteList }} - ---- -# Declaring the user list -apiVersion: traefik.containo.us/v1alpha1 -kind: Middleware -metadata: - name: {{ $middlewareData.name }} - namespace: {{ $namespace }} -spec: - ipWhiteList: - sourceRange: - {{- range $middlewareData.sourceRange }} - - {{ . }} - {{- end }} - {{- if $middlewareData.ipStrategy }} - ipStrategy: - {{- if $middlewareData.ipStrategy.depth }} - depth: {{ $middlewareData.ipStrategy.depth }} - {{- end }} - {{- if $middlewareData.ipStrategy.excludedIPs }} - excludedIPs: - {{- range $middlewareData.ipStrategy.excludedIPs }} - - {{ . }} - {{- end }} - {{- end }} - {{- end }} -{{ end }} diff --git a/charts/enterprise/traefik/templates/middlewares/ratelimit.yaml b/charts/enterprise/traefik/templates/middlewares/ratelimit.yaml deleted file mode 100644 index 144b9d8bf38..00000000000 --- a/charts/enterprise/traefik/templates/middlewares/ratelimit.yaml +++ /dev/null @@ -1,19 +0,0 @@ -{{- $values := .Values }} -{{- $namespace := ( printf "ix-%s" .Release.Name ) }} -{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} -{{- $namespace = "default" }} -{{- end }} -{{ range $index, $middlewareData := .Values.middlewares.rateLimit }} - ---- -# Declaring the user list -apiVersion: traefik.containo.us/v1alpha1 -kind: Middleware -metadata: - name: {{ $middlewareData.name }} - namespace: {{ $namespace }} -spec: - rateLimit: - average: {{ $middlewareData.average }} - burst: {{ $middlewareData.burst }} -{{ end }} diff --git a/charts/enterprise/traefik/templates/middlewares/redirectScheme.yaml b/charts/enterprise/traefik/templates/middlewares/redirectScheme.yaml deleted file mode 100644 index f2413f84e19..00000000000 --- a/charts/enterprise/traefik/templates/middlewares/redirectScheme.yaml +++ /dev/null @@ -1,19 +0,0 @@ -{{- $values := .Values }} -{{- $namespace := ( printf "ix-%s" .Release.Name ) }} -{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} -{{- $namespace = "default" }} -{{- end }} -{{ range $index, $middlewareData := .Values.middlewares.redirectScheme }} - ---- -# Declaring the user list -apiVersion: traefik.containo.us/v1alpha1 -kind: Middleware -metadata: - name: {{ $middlewareData.name }} - namespace: {{ $namespace }} -spec: - redirectScheme: - scheme: {{ $middlewareData.scheme }} - permanent: {{ $middlewareData.permanent }} -{{ end }} diff --git a/charts/enterprise/traefik/templates/middlewares/redirectregex.yaml b/charts/enterprise/traefik/templates/middlewares/redirectregex.yaml deleted file mode 100644 index 46e3e724dd6..00000000000 --- a/charts/enterprise/traefik/templates/middlewares/redirectregex.yaml +++ /dev/null @@ -1,20 +0,0 @@ -{{- $values := .Values }} -{{- $namespace := ( printf "ix-%s" .Release.Name ) }} -{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} -{{- $namespace = "default" }} -{{- end }} -{{ range $index, $middlewareData := .Values.middlewares.redirectRegex }} - ---- -# Declaring the user list -apiVersion: traefik.containo.us/v1alpha1 -kind: Middleware -metadata: - name: {{ $middlewareData.name }} - namespace: {{ $namespace }} -spec: - redirectRegex: - regex: {{ $middlewareData.regex | quote }} - replacement: {{ $middlewareData.replacement | quote }} - permanent: {{ $middlewareData.permanent }} -{{ end }} diff --git a/charts/enterprise/traefik/templates/middlewares/stripPrefixRegex.yaml b/charts/enterprise/traefik/templates/middlewares/stripPrefixRegex.yaml deleted file mode 100644 index 007c166ff39..00000000000 --- a/charts/enterprise/traefik/templates/middlewares/stripPrefixRegex.yaml +++ /dev/null @@ -1,20 +0,0 @@ -{{- $values := .Values }} -{{- $namespace := ( printf "ix-%s" .Release.Name ) }} -{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} -{{- $namespace = "default" }} -{{- end }} - -{{ range $index, $middlewareData := .Values.middlewares.stripPrefixRegex }} ---- -apiVersion: traefik.containo.us/v1alpha1 -kind: Middleware -metadata: - name: {{ $middlewareData.name }} - namespace: {{ $namespace }} -spec: - stripPrefixRegex: - regex: - {{- range $middlewareData.regex }} - - {{ . | quote }} - {{- end }} -{{ end }} diff --git a/charts/enterprise/traefik/templates/middlewares/tc-chains.yaml b/charts/enterprise/traefik/templates/middlewares/tc-chains.yaml deleted file mode 100644 index 409766daa89..00000000000 --- a/charts/enterprise/traefik/templates/middlewares/tc-chains.yaml +++ /dev/null @@ -1,29 +0,0 @@ -{{- $values := .Values }} -{{- $namespace := ( printf "ix-%s" .Release.Name ) }} -{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} -{{- $namespace = "default" }} -{{- end }} ---- -apiVersion: traefik.containo.us/v1alpha1 -kind: Middleware -metadata: - name: tc-opencors-chain - namespace: {{ $namespace }} -spec: - chain: - middlewares: - - name: basic-ratelimit - - name: tc-opencors-headers - - name: compress ---- -apiVersion: traefik.containo.us/v1alpha1 -kind: Middleware -metadata: - name: tc-closedcors-chain - namespace: {{ $namespace }} -spec: - chain: - middlewares: - - name: basic-ratelimit - - name: tc-closedcors-headers - - name: compress diff --git a/charts/enterprise/traefik/templates/middlewares/tc-headers.yaml b/charts/enterprise/traefik/templates/middlewares/tc-headers.yaml deleted file mode 100644 index a0462f1fd73..00000000000 --- a/charts/enterprise/traefik/templates/middlewares/tc-headers.yaml +++ /dev/null @@ -1,62 +0,0 @@ -{{- $values := .Values }} -{{- $namespace := ( printf "ix-%s" .Release.Name ) }} -{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} -{{- $namespace = "default" }} -{{- end }} ---- -apiVersion: traefik.containo.us/v1alpha1 -kind: Middleware -metadata: - name: tc-opencors-headers - namespace: {{ $namespace }} -spec: - headers: - accessControlAllowHeaders: - - '*' - accessControlAllowMethods: - - GET - - OPTIONS - - HEAD - - PUT - - POST - accessControlAllowOriginList: - - '*' - accessControlMaxAge: 100 - browserXssFilter: true - contentTypeNosniff: true - customRequestHeaders: - X-Forwarded-Proto: https - customResponseHeaders: - server: "" - forceSTSHeader: true - referrerPolicy: same-origin - sslForceHost: true - sslRedirect: true - stsSeconds: 63072000 ---- -apiVersion: traefik.containo.us/v1alpha1 -kind: Middleware -metadata: - name: tc-closedcors-headers - namespace: {{ $namespace }} -spec: - headers: - accessControlAllowMethods: - - GET - - OPTIONS - - HEAD - - PUT - accessControlMaxAge: 100 - sslRedirect: true - stsSeconds: 63072000 - # stsIncludeSubdomains: false - # stsPreload: false - forceSTSHeader: true - contentTypeNosniff: true - browserXssFilter: true - sslForceHost: true - referrerPolicy: same-origin - customRequestHeaders: - X-Forwarded-Proto: "https" - customResponseHeaders: - server: '' diff --git a/charts/enterprise/traefik/templates/middlewares/tc-nextcloud.yaml b/charts/enterprise/traefik/templates/middlewares/tc-nextcloud.yaml deleted file mode 100644 index 6a3019d56c5..00000000000 --- a/charts/enterprise/traefik/templates/middlewares/tc-nextcloud.yaml +++ /dev/null @@ -1,25 +0,0 @@ -{{- $values := .Values }} -{{- $namespace := ( printf "ix-%s" .Release.Name ) }} -{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} -{{- $namespace = "default" }} -{{- end }} ---- -apiVersion: traefik.containo.us/v1alpha1 -kind: Middleware -metadata: - name: tc-nextcloud-redirectregex-dav - namespace: {{ $namespace }} -spec: - redirectRegex: - regex: "https://(.*)/.well-known/(card|cal)dav" - replacement: "https://${1}/remote.php/dav/" ---- -apiVersion: traefik.containo.us/v1alpha1 -kind: Middleware -metadata: - name: tc-nextcloud-chain - namespace: {{ $namespace }} -spec: - chain: - middlewares: - - name: tc-nextcloud-redirectregex-dav diff --git a/charts/enterprise/traefik/templates/middlewares/theme-park.yaml b/charts/enterprise/traefik/templates/middlewares/theme-park.yaml deleted file mode 100644 index 92a4257e279..00000000000 --- a/charts/enterprise/traefik/templates/middlewares/theme-park.yaml +++ /dev/null @@ -1,26 +0,0 @@ -{{- $values := .Values }} -{{- $namespace := ( printf "ix-%s" .Release.Name ) }} -{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} -{{- $namespace = "default" }} -{{- end }} -{{- range $index, $middlewareData := .Values.middlewares.themePark }} - ---- -apiVersion: traefik.containo.us/v1alpha1 -kind: Middleware -metadata: - name: {{ $middlewareData.name }} - namespace: {{ $namespace }} -spec: - plugin: - traefik-themepark: - app: {{ $middlewareData.appName }} - theme: {{ $middlewareData.themeName }} - baseUrl: {{ $middlewareData.baseUrl }} - {{- if $middlewareData.addons }} - addons: - {{- range $middlewareData.addons }} - - {{ . | quote }} - {{- end }} - {{- end }} -{{- end }} diff --git a/charts/enterprise/traefik/values.yaml b/charts/enterprise/traefik/values.yaml deleted file mode 100644 index c980da8e168..00000000000 --- a/charts/enterprise/traefik/values.yaml +++ /dev/null @@ -1,387 +0,0 @@ -image: - repository: tccr.io/truecharts/traefik - # defaults to appVersion - tag: 2.8.7@sha256:6aed036bb4faf8fa769f94b5eff931b73885043f870509344620098b9220f13c - pullPolicy: IfNotPresent - -# -- Use ingressClass. Ignored if Traefik version < 2.3 / kubernetes < 1.18.x -ingressClass: - # true is not unit-testable yet, pending https://github.com/rancher/helm-unittest/pull/12 - enabled: false - isDefaultClass: false - # Use to force a networking.k8s.io API Version for certain CI/CD applications. E.g. "v1beta1" - fallbackApiVersion: "" - -# -- Deprecated (will be removed later) -# -- Activate Pilot integration -pilot: - enabled: false - token: "" - # Toggle Pilot Dashboard - # dashboard: false - -# -- Create an IngressRoute for the dashboard -ingressRoute: - dashboard: - enabled: true - # Additional ingressRoute annotations (e.g. for kubernetes.io/ingress.class) - annotations: {} - # Additional ingressRoute labels (e.g. for filtering IngressRoute by custom labels) - labels: {} - -podAnnotations: - prometheus.io/scrape: "true" - prometheus.io/path: "/metrics" - prometheus.io/port: "9180" - -# -# -- Configure providers -providers: - kubernetesCRD: - enabled: true - namespaces: - [] - # - "default" - kubernetesIngress: - enabled: true - # labelSelector: environment=production,method=traefik - namespaces: - [] - # - "default" - # IP used for Kubernetes Ingress endpoints - publishedService: - enabled: true - # Published Kubernetes Service to copy status from. Format: namespace/servicename - # By default this Traefik service - # pathOverride: "" - -# -- Logs -# https://docs.traefik.io/observability/logs/ -logs: - # Traefik logs concern everything that happens to Traefik itself (startup, configuration, events, shutdown, and so on). - general: - # By default, the level is set to ERROR. Alternative logging levels are DEBUG, PANIC, FATAL, ERROR, WARN, and INFO. - level: ERROR - # -- Set the format of General Logs to be either Common Log Format or JSON. For more information: https://doc.traefik.io/traefik/observability/logs/#format - format: common - access: - # To enable access logs - enabled: false - # To write the logs in an asynchronous fashion, specify a bufferingSize option. - # This option represents the number of log lines Traefik will keep in memory before writing - # them to the selected output. In some cases, this option can greatly help performances. - # bufferingSize: 100 - # Filtering https://docs.traefik.io/observability/access-logs/#filtering - filters: - {} - # statuscodes: "200,300-302" - # retryattempts: true - # minduration: 10ms - # Fields - # https://docs.traefik.io/observability/access-logs/#limiting-the-fieldsincluding-headers - fields: - general: - defaultmode: keep - names: - {} - # Examples: - # ClientUsername: drop - headers: - defaultmode: drop - names: - {} - # Examples: - # User-Agent: redact - # Authorization: drop - # Content-Type: keep - # -- Set the format of Access Logs to be either Common Log Format or JSON. For more information: https://doc.traefik.io/traefik/observability/access-logs/#format - format: common - -metrics: - # datadog: - # address: 127.0.0.1:8125 - # influxdb: - # address: localhost:8089 - # protocol: udp - prometheus: - entryPoint: metrics - # statsd: - # address: localhost:8125 - -globalArguments: - - "--global.checknewversion" - -## -# -- Additional arguments to be passed at Traefik's binary -# All available options available on https://docs.traefik.io/reference/static-configuration/cli/ -## Use curly braces to pass values: `helm install --set="additionalArguments={--providers.kubernetesingress.ingressclass=traefik-internal,--log.level=DEBUG}"` -additionalArguments: - - "--metrics.prometheus" - - "--ping" - - "--serverstransport.insecureskipverify=true" - - "--providers.kubernetesingress.allowexternalnameservices=true" - -# -- TLS Options to be created as TLSOption CRDs -# https://doc.traefik.io/tccr.io/truecharts/https/tls/#tls-options -# Example: -tlsOptions: - default: - sniStrict: false - minVersion: VersionTLS12 - curvePreferences: - - CurveP521 - - CurveP384 - cipherSuites: - - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305 - - TLS_AES_128_GCM_SHA256 - - TLS_AES_256_GCM_SHA384 - - TLS_CHACHA20_POLY1305_SHA256 - -# -- Options for the main traefik service, where the entrypoints traffic comes from -# from. -service: - main: - type: LoadBalancer - ports: - main: - port: 9000 - targetPort: 9000 - protocol: HTTP - # -- Forwarded Headers should never be enabled on Main entrypoint - forwardedHeaders: - enabled: false - # -- Proxy Protocol should never be enabled on Main entrypoint - proxyProtocol: - enabled: false - tcp: - enabled: true - type: LoadBalancer - ports: - web: - enabled: true - port: 9080 - protocol: HTTP - redirectTo: websecure - # Options: Empty, 0 (ingore), or positive int - # redirectPort: - # -- Configure (Forwarded Headers)[https://doc.traefik.io/traefik/routing/entrypoints/#forwarded-headers] Support - forwardedHeaders: - enabled: false - # -- List of trusted IP and CIDR references - trustedIPs: [] - # -- Trust all forwarded headers - insecureMode: false - # -- Configure (Proxy Protocol Headers)[https://doc.traefik.io/traefik/routing/entrypoints/#proxyprotocol] Support - proxyProtocol: - enabled: false - # -- Only IPs in trustedIPs will lead to remote client address replacement - trustedIPs: [] - # -- Trust every incoming connection - insecureMode: false - websecure: - enabled: true - port: 9443 - protocol: HTTPS - # -- Configure (Forwarded Headers)[https://doc.traefik.io/traefik/routing/entrypoints/#forwarded-headers] Support - forwardedHeaders: - enabled: false - # -- List of trusted IP and CIDR references - trustedIPs: [] - # -- Trust all forwarded headers - insecureMode: false - # -- Configure (Proxy Protocol Headers)[https://doc.traefik.io/traefik/routing/entrypoints/#proxyprotocol] Support - proxyProtocol: - enabled: false - # -- Only IPs in trustedIPs will lead to remote client address replacement - trustedIPs: [] - # -- Trust every incoming connection - insecureMode: false - # tcpexample: - # enabled: true - # targetPort: 9443 - # protocol: TCP - # tls: - # enabled: false - # # this is the name of a TLSOption definition - # options: "" - # certResolver: "" - # domains: [] - # # - main: example.com - # # sans: - # # - foo.example.com - # # - bar.example.com - metrics: - enabled: true - type: ClusterIP - ports: - metrics: - enabled: true - port: 9180 - targetPort: 9180 - protocol: HTTP - # -- Forwarded Headers should never be enabled on Metrics entrypoint - forwardedHeaders: - enabled: false - # -- Proxy Protocol should never be enabled on Metrics entrypoint - proxyProtocol: - enabled: false - udp: - enabled: false - -# probes: -# # -- Liveness probe configuration -# # @default -- See below -# liveness: -# # -- sets the probe type when not using a custom probe -# # @default -- "TCP" -# type: HTTP -# # -- If a HTTP probe is used (default for HTTP/HTTPS services) this path is used -# # @default -- "/" -# path: "/ping" - -# # -- Redainess probe configuration -# # @default -- See below -# readiness: -# # -- sets the probe type when not using a custom probe -# # @default -- "TCP" -# type: HTTP -# # -- If a HTTP probe is used (default for HTTP/HTTPS services) this path is used -# # @default -- "/" -# path: "/ping" - -# # -- Startup probe configuration -# # @default -- See below -# startup: -# # -- sets the probe type when not using a custom probe -# # @default -- "TCP" -# type: HTTP -# # -- If a HTTP probe is used (default for HTTP/HTTPS services) this path is used -# # @default -- "/" -# path: "/ping" - -# -- Whether Role Based Access Control objects like roles and rolebindings should be created -rbac: - main: - enabled: true - rules: - - apiGroups: - - "" - resources: - - services - - endpoints - - secrets - verbs: - - get - - list - - watch - - apiGroups: - - extensions - - networking.k8s.io - resources: - - ingresses - - ingressclasses - verbs: - - get - - list - - watch - - apiGroups: - - extensions - - networking.k8s.io - resources: - - ingresses/status - verbs: - - update - - apiGroups: - - traefik.containo.us - resources: - - ingressroutes - - ingressroutetcps - - ingressrouteudps - - middlewares - - middlewaretcps - - tlsoptions - - tlsstores - - traefikservices - - serverstransports - verbs: - - get - - list - - watch - -# -- The service account the pods will use to interact with the Kubernetes API -serviceAccount: - main: - enabled: true - -# -- SCALE Middleware Handlers -middlewares: - basicAuth: [] - # - name: basicauthexample - # users: - # - username: testuser - # password: testpassword - forwardAuth: [] - # - name: forwardAuthexample - # address: https://auth.example.com/ - # authResponseHeaders: - # - X-Secret - # - X-Auth-User - # authRequestHeaders: - # - "Accept" - # - "X-CustomHeader" - # authResponseHeadersRegex: "^X-" - # trustForwardHeader: true - chain: [] - # - name: chainname - # middlewares: - # - name: compress - redirectScheme: [] - # - name: redirectSchemeName - # scheme: https - # permanent: true - rateLimit: [] - # - name: rateLimitName - # average: 300 - # burst: 200 - redirectRegex: [] - # - name: redirectRegexName - # regex: putregexhere - # replacement: replacementurlhere - # permanent: false - stripPrefixRegex: [] - # - name: stripPrefixRegexName - # regex: [] - ipWhiteList: [] - # - name: ipWhiteListName - # sourceRange: [] - # ipStrategy: - # depth: 2 - # excludedIPs: [] - # -- Currently requires to enable Traefik Pilot. - # -- Until it's deprecated. - themePark: [] - # - name: themeParkName - # -- Supported apps, lower case name - # -- https://docs.theme-park.dev/themes - # app: appnamehere - # -- Supported themes, lower case name - # -- https://docs.theme-park.dev/themes/APPNAMEHERE - # -- https://docs.theme-park.dev/community-themes - # theme: themenamehere - # -- https://theme-park.dev or a self hosted url - # baseUrl: https://theme-park.dev - themeParkVersion: v1.2.1 - -portalhook: - enabled: true - -persistence: - plugins: - enabled: true - mountPath: "/plugins-storage" - type: emptyDir - -portal: - enabled: true diff --git a/charts/enterprise/truecommand/.helmignore b/charts/enterprise/truecommand/.helmignore deleted file mode 100644 index 77ca5567b26..00000000000 --- a/charts/enterprise/truecommand/.helmignore +++ /dev/null @@ -1,30 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ -# OWNERS file for Kubernetes -OWNERS -# helm-docs templates -*.gotmpl -# docs folder -/docs -# icon -icon.png diff --git a/charts/enterprise/truecommand/CHANGELOG.md b/charts/enterprise/truecommand/CHANGELOG.md deleted file mode 100644 index 88876b8f1e5..00000000000 --- a/charts/enterprise/truecommand/CHANGELOG.md +++ /dev/null @@ -1,1415 +0,0 @@ -# Changelog - - - -## [truecommand-12.0.0](https://github.com/truecharts/charts/compare/truecommand-11.0.32...truecommand-12.0.0) (2022-09-24) - -### Chore - -- Auto-update chart README [skip ci] - - bump major on new enterprise app to seperate helm updates - - Add a copy of Initial Apps selected for Enterprise Train ([#3749](https://github.com/truecharts/charts/issues/3749)) - - - - -## [truecommand-11.0.32](https://github.com/truecharts/charts/compare/truecommand-11.0.31...truecommand-11.0.32) (2022-09-22) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [truecommand-11.0.32](https://github.com/truecharts/charts/compare/truecommand-11.0.31...truecommand-11.0.32) (2022-09-21) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [truecommand-11.0.32](https://github.com/truecharts/charts/compare/truecommand-11.0.31...truecommand-11.0.32) (2022-09-21) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [truecommand-11.0.32](https://github.com/truecharts/charts/compare/truecommand-11.0.31...truecommand-11.0.32) (2022-09-20) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [truecommand-11.0.32](https://github.com/truecharts/charts/compare/truecommand-11.0.31...truecommand-11.0.32) (2022-09-20) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [truecommand-11.0.32](https://github.com/truecharts/charts/compare/truecommand-11.0.31...truecommand-11.0.32) (2022-09-19) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [truecommand-11.0.32](https://github.com/truecharts/charts/compare/truecommand-11.0.31...truecommand-11.0.32) (2022-09-19) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [truecommand-11.0.32](https://github.com/truecharts/charts/compare/truecommand-11.0.31...truecommand-11.0.32) (2022-09-19) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [truecommand-11.0.32](https://github.com/truecharts/charts/compare/truecommand-11.0.31...truecommand-11.0.32) (2022-09-17) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [truecommand-11.0.32](https://github.com/truecharts/charts/compare/truecommand-11.0.31...truecommand-11.0.32) (2022-09-18) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [truecommand-11.0.32](https://github.com/truecharts/charts/compare/truecommand-11.0.31...truecommand-11.0.32) (2022-09-16) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [truecommand-11.0.32](https://github.com/truecharts/charts/compare/truecommand-11.0.31...truecommand-11.0.32) (2022-09-16) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [truecommand-11.0.32](https://github.com/truecharts/charts/compare/truecommand-11.0.31...truecommand-11.0.32) (2022-09-15) - -### Chore - -- Auto-update chart README [skip ci] - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [truecommand-11.0.32](https://github.com/truecharts/charts/compare/truecommand-11.0.31...truecommand-11.0.32) (2022-09-15) - -### Chore - -- update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - - - -## [truecommand-11.0.31](https://github.com/truecharts/charts/compare/truecommand-11.0.30...truecommand-11.0.31) (2022-09-12) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - - - -## [truecommand-11.0.31](https://github.com/truecharts/charts/compare/truecommand-11.0.30...truecommand-11.0.31) (2022-09-12) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - - - -## [truecommand-11.0.31](https://github.com/truecharts/charts/compare/truecommand-11.0.30...truecommand-11.0.31) (2022-09-11) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - - - -## [truecommand-11.0.31](https://github.com/truecharts/charts/compare/truecommand-11.0.30...truecommand-11.0.31) (2022-09-11) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - - - -## [truecommand-11.0.31](https://github.com/truecharts/charts/compare/truecommand-11.0.30...truecommand-11.0.31) (2022-09-11) - -### Chore - -- Auto-update chart README [skip ci] - - update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - - - -## [truecommand-11.0.31](https://github.com/truecharts/charts/compare/truecommand-11.0.30...truecommand-11.0.31) (2022-09-11) - -### Chore - -- update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - - - -## [truecommand-11.0.30](https://github.com/truecharts/charts/compare/truecommand-11.0.28...truecommand-11.0.30) (2022-08-30) - -### Chore - -- Auto-update chart README [skip ci] - - update helm general non-major ([#3639](https://github.com/truecharts/charts/issues/3639)) - - update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) - - - - -## [truecommand-11.0.29](https://github.com/truecharts/charts/compare/truecommand-11.0.28...truecommand-11.0.29) (2022-08-30) - -### Chore - -- update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) - - - - -## [truecommand-11.0.28](https://github.com/truecharts/charts/compare/truecommand-11.0.27...truecommand-11.0.28) (2022-08-29) - -### Chore - -- update helm general non-major ([#3619](https://github.com/truecharts/charts/issues/3619)) - - - - -## [truecommand-11.0.27](https://github.com/truecharts/charts/compare/truecommand-11.0.26...truecommand-11.0.27) (2022-08-23) - -### Chore - -- update helm general non-major helm releases ([#3545](https://github.com/truecharts/charts/issues/3545)) - - - - -## [truecommand-11.0.26](https://github.com/truecharts/charts/compare/truecommand-11.0.25...truecommand-11.0.26) (2022-08-12) - -### Chore - -- add documentation checkbox/section to all SCALE Apps - - update helm general non-major helm releases ([#3456](https://github.com/truecharts/charts/issues/3456)) - - ### Fix - -- move extraArgs from .Values.controller to .Values ([#3447](https://github.com/truecharts/charts/issues/3447)) - - - - -## [truecommand-11.0.25](https://github.com/truecharts/charts/compare/truecommand-11.0.24...truecommand-11.0.25) (2022-08-10) - -### Chore - -- update docker general non-major ([#3421](https://github.com/truecharts/charts/issues/3421)) - - - - -## [truecommand-11.0.24](https://github.com/truecharts/charts/compare/truecommand-11.0.23...truecommand-11.0.24) (2022-08-08) - -### Chore - -- update helm general non-major helm releases ([#3376](https://github.com/truecharts/charts/issues/3376)) - - replace questions parts with templates ([#3402](https://github.com/truecharts/charts/issues/3402)) - - - - -## [truecommand-11.0.23](https://github.com/truecharts/apps/compare/truecommand-11.0.22...truecommand-11.0.23) (2022-07-26) - -### Chore - -- update home links ([#3291](https://github.com/truecharts/apps/issues/3291)) - - update helm general non-major helm releases ([#3302](https://github.com/truecharts/apps/issues/3302)) - - - - -## [truecommand-11.0.22](https://github.com/truecharts/apps/compare/truecommand-11.0.21...truecommand-11.0.22) (2022-07-25) - -### Chore - -- Auto-update chart README [skip ci] - - update docker general non-major ([#3295](https://github.com/truecharts/apps/issues/3295)) - - - - -## [truecommand-11.0.22](https://github.com/truecharts/apps/compare/truecommand-11.0.21...truecommand-11.0.22) (2022-07-25) - -### Chore - -- update docker general non-major ([#3295](https://github.com/truecharts/apps/issues/3295)) - - - - -## [truecommand-11.0.21](https://github.com/truecharts/apps/compare/truecommand-11.0.20...truecommand-11.0.21) (2022-07-23) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280)) - - - - -## [truecommand-11.0.21](https://github.com/truecharts/apps/compare/truecommand-11.0.20...truecommand-11.0.21) (2022-07-23) - -### Chore - -- Auto-update chart README [skip ci] - - update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280)) - - - - -## [truecommand-11.0.21](https://github.com/truecharts/apps/compare/truecommand-11.0.20...truecommand-11.0.21) (2022-07-23) - -### Chore - -- update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280)) - - - - -## [truecommand-11.0.20](https://github.com/truecharts/apps/compare/truecommand-11.0.18...truecommand-11.0.20) (2022-07-22) - -### Chore - -- Bump all charts to generate config and container references due to huge increase of repository - - update helm general non-major helm releases ([#3268](https://github.com/truecharts/apps/issues/3268)) - - - -## [truecommand-11.0.18](https://github.com/truecharts/apps/compare/truecommand-11.0.17...truecommand-11.0.18) (2022-07-19) - -### Chore - -- Update Readme and Description on SCALE - - - -## [truecommand-11.0.17](https://github.com/truecharts/apps/compare/truecommand-11.0.16...truecommand-11.0.17) (2022-07-14) - -### Fix - -- regenerate catalog and update template - - - -## [truecommand-11.0.16](https://github.com/truecharts/apps/compare/truecommand-11.0.14...truecommand-11.0.16) (2022-07-14) - -### Fix - -- bump to ensure .helmignore is present on all Charts - - - -## [truecommand-11.0.14](https://github.com/truecharts/apps/compare/truecommand-11.0.12...truecommand-11.0.14) (2022-07-12) - -### Chore - -- update icons ([#3156](https://github.com/truecharts/apps/issues/3156)) -- bump to cleanup old docs and use correct icon urls - - - -## [truecommand-11.0.12](https://github.com/truecharts/apps/compare/truecommand-11.0.11...truecommand-11.0.12) (2022-07-12) - -### Chore - -- bump to regenerate documentation - - - - -### [truecommand-11.0.11](https://github.com/truecharts/apps/compare/truecommand-11.0.10...truecommand-11.0.11) (2022-07-12) - -#### Chore - -* update helm general non-major helm releases ([#3147](https://github.com/truecharts/apps/issues/3147)) - - - - -### [truecommand-11.0.10](https://github.com/truecharts/apps/compare/truecommand-11.0.9...truecommand-11.0.10) (2022-07-11) - -#### Chore - -* move icons into the apps folder ([#3139](https://github.com/truecharts/apps/issues/3139)) - - - - -### [truecommand-11.0.9](https://github.com/truecharts/apps/compare/truecommand-11.0.8...truecommand-11.0.9) (2022-07-09) - -#### Chore - -* update helm general non-major helm releases ([#3113](https://github.com/truecharts/apps/issues/3113)) - - - - -### [truecommand-11.0.8](https://github.com/truecharts/apps/compare/truecommand-11.0.7...truecommand-11.0.8) (2022-07-04) - -#### Chore - -* update helm general non-major helm releases ([#3066](https://github.com/truecharts/apps/issues/3066)) - - - - -### [truecommand-11.0.7](https://github.com/truecharts/apps/compare/truecommand-11.0.6...truecommand-11.0.7) (2022-06-25) - -#### Chore - -* update helm general non-major helm releases ([#2977](https://github.com/truecharts/apps/issues/2977)) - - - - -### [truecommand-11.0.6](https://github.com/truecharts/apps/compare/truecommand-11.0.5...truecommand-11.0.6) (2022-06-22) - -#### Chore - -* update helm general non-major helm releases ([#2948](https://github.com/truecharts/apps/issues/2948)) - - - - -### [truecommand-11.0.5](https://github.com/truecharts/apps/compare/truecommand-11.0.4...truecommand-11.0.5) (2022-06-21) - -#### Chore - -* update helm general non-major helm releases ([#2943](https://github.com/truecharts/apps/issues/2943)) - - - - -### [truecommand-11.0.4](https://github.com/truecharts/apps/compare/truecommand-11.0.3...truecommand-11.0.4) (2022-06-14) - -#### Chore - -* update helm general non-major helm releases ([#2886](https://github.com/truecharts/apps/issues/2886)) - - - - -### [truecommand-11.0.3](https://github.com/truecharts/apps/compare/truecommand-11.0.2...truecommand-11.0.3) (2022-06-11) - -#### Chore - -* update helm general non-major helm releases ([#2854](https://github.com/truecharts/apps/issues/2854)) - - - - -### [truecommand-11.0.2](https://github.com/truecharts/apps/compare/truecommand-11.0.1...truecommand-11.0.2) (2022-06-07) - -#### Fix - -* hotpatch to disable HPA and networkPolicy in SCALE interface, due to incompatible format. - - - - -### [truecommand-11.0.1](https://github.com/truecharts/apps/compare/truecommand-10.0.20...truecommand-11.0.1) (2022-06-07) - -#### Chore - -* Auto-update chart README [skip ci] -* sync all apps persistence configuration and always default to PVC - -#### Fix - -* remove malfunctioning SCALE migration script - -#### Refactor - -* BREAKING CHANGE ([#2836](https://github.com/truecharts/apps/issues/2836)) - - - - -### [truecommand-11.0.0](https://github.com/truecharts/apps/compare/truecommand-10.0.20...truecommand-11.0.0) (2022-06-07) - -#### Chore - -* sync all apps persistence configuration and always default to PVC - -#### Refactor - -* BREAKING CHANGE ([#2836](https://github.com/truecharts/apps/issues/2836)) - - - - -### [truecommand-10.0.20](https://github.com/truecharts/apps/compare/truecommand-10.0.19...truecommand-10.0.20) (2022-05-31) - -#### Chore - -* update helm general non-major helm releases ([#2803](https://github.com/truecharts/apps/issues/2803)) - - - - -### [truecommand-10.0.19](https://github.com/truecharts/apps/compare/truecommand-10.0.18...truecommand-10.0.19) (2022-05-26) - -#### Chore - -* Auto-update chart README [skip ci] -* update helm general non-major helm releases ([#2759](https://github.com/truecharts/apps/issues/2759)) - - - - -### [truecommand-10.0.19](https://github.com/truecharts/apps/compare/truecommand-10.0.18...truecommand-10.0.19) (2022-05-26) - -#### Chore - -* update helm general non-major helm releases ([#2759](https://github.com/truecharts/apps/issues/2759)) - - - - -### [truecommand-10.0.18](https://github.com/truecharts/apps/compare/truecommand-10.0.17...truecommand-10.0.18) (2022-05-24) - -#### Chore - -* update helm general non-major helm releases - - - - -### [truecommand-10.0.17](https://github.com/truecharts/apps/compare/truecommand-10.0.16...truecommand-10.0.17) (2022-05-17) - -#### Chore - -* Auto-update chart README [skip ci] -* update helm general non-major helm releases - - - - -### [truecommand-10.0.17](https://github.com/truecharts/apps/compare/truecommand-10.0.16...truecommand-10.0.17) (2022-05-17) - -#### Chore - -* update helm general non-major helm releases - - - - -### [truecommand-10.0.16](https://github.com/truecharts/apps/compare/truecommand-10.0.15...truecommand-10.0.16) (2022-05-17) - -#### Chore - -* update helm general non-major helm releases - - - - -### [truecommand-10.0.15](https://github.com/truecharts/apps/compare/truecommand-10.0.14...truecommand-10.0.15) (2022-05-10) - -#### Chore - -* update helm general non-major helm releases ([#2649](https://github.com/truecharts/apps/issues/2649)) - - - - -### [truecommand-10.0.14](https://github.com/truecharts/apps/compare/truecommand-10.0.13...truecommand-10.0.14) (2022-05-05) - -#### Chore - -* update helm general non-major helm releases ([#2612](https://github.com/truecharts/apps/issues/2612)) - - - - -### [truecommand-10.0.13](https://github.com/truecharts/apps/compare/truecommand-10.0.12...truecommand-10.0.13) (2022-04-26) - -#### Chore - -* update helm general non-major helm releases ([#2573](https://github.com/truecharts/apps/issues/2573)) - - - - -### [truecommand-10.0.12](https://github.com/truecharts/apps/compare/truecommand-10.0.11...truecommand-10.0.12) (2022-04-20) - -#### Chore - -* add missing quote on description ([#2515](https://github.com/truecharts/apps/issues/2515)) -* update helm general non-major helm releases ([#2524](https://github.com/truecharts/apps/issues/2524)) - - - - -### [truecommand-10.0.11](https://github.com/truecharts/apps/compare/truecommand-10.0.10...truecommand-10.0.11) (2022-04-12) - -#### Chore - -* update helm general non-major helm releases ([#2480](https://github.com/truecharts/apps/issues/2480)) - - - - -### [truecommand-10.0.10](https://github.com/truecharts/apps/compare/truecommand-10.0.9...truecommand-10.0.10) (2022-04-03) - -#### Chore - -* update helm general non-major helm releases ([#2410](https://github.com/truecharts/apps/issues/2410)) - - - - -### [truecommand-10.0.9](https://github.com/truecharts/apps/compare/truecommand-10.0.8...truecommand-10.0.9) (2022-03-31) - -#### Chore - -* update helm general non-major helm releases ([#2361](https://github.com/truecharts/apps/issues/2361)) - - - - -### [truecommand-10.0.8](https://github.com/truecharts/apps/compare/truecommand-10.0.7...truecommand-10.0.8) (2022-03-30) - -#### Chore - -* Auto-update chart README [skip ci] -* update helm general non-major helm releases ([#2354](https://github.com/truecharts/apps/issues/2354)) - - - - -### [truecommand-10.0.7](https://github.com/truecharts/apps/compare/truecommand-10.0.6...truecommand-10.0.7) (2022-03-30) - -#### Chore - -* update docker general non-major ([#2349](https://github.com/truecharts/apps/issues/2349)) - - - - -### [truecommand-10.0.6](https://github.com/truecharts/apps/compare/truecommand-10.0.5...truecommand-10.0.6) (2022-03-26) - -#### Chore - -* bump all apps to trigger ci - - - - -### [truecommand-10.0.1](https://github.com/truecharts/apps/compare/truecommand-10.0.0...truecommand-10.0.1) (2022-03-07) - -#### Chore - -* update helm general non-major helm releases ([#2111](https://github.com/truecharts/apps/issues/2111)) -* Remove `-icon` string from icon png's ([#2040](https://github.com/truecharts/apps/issues/2040)) - - - - -### [truecommand-10.0.0](https://github.com/truecharts/apps/compare/truecommand-9.0.44...truecommand-10.0.0) (2022-03-03) - -#### Chore - -* remove fixed env from questions.yaml -* remove empty env var declaration from questions.yaml -* remove TZ from values. ([#1945](https://github.com/truecharts/apps/issues/1945)) -* update helm general major helm releases ([#2021](https://github.com/truecharts/apps/issues/2021)) - -#### Fix - -* BREAKING CHANGE Move some env-vars outside of env section ([#2010](https://github.com/truecharts/apps/issues/2010)) - - - - -### [truecommand-9.0.44](https://github.com/truecharts/apps/compare/truecommand-9.0.43...truecommand-9.0.44) (2022-03-02) - -#### Chore - -* rename `web_portal` to `open` ([#1957](https://github.com/truecharts/apps/issues/1957)) -* update helm general non-major helm releases ([#1999](https://github.com/truecharts/apps/issues/1999)) - - - - -### [truecommand-9.0.43](https://github.com/truecharts/apps/compare/truecommand-9.0.42...truecommand-9.0.43) (2022-02-21) - -#### Chore - -* update helm general non-major helm releases ([#1927](https://github.com/truecharts/apps/issues/1927)) - - - - -### [truecommand-9.0.42](https://github.com/truecharts/apps/compare/truecommand-9.0.41...truecommand-9.0.42) (2022-02-15) - - - - -### [truecommand-9.0.41](https://github.com/truecharts/apps/compare/truecommand-9.0.40...truecommand-9.0.41) (2022-02-15) - -#### Chore - -* update helm general non-major helm releases ([#1901](https://github.com/truecharts/apps/issues/1901)) - - - - -### [truecommand-9.0.40](https://github.com/truecharts/apps/compare/truecommand-9.0.39...truecommand-9.0.40) (2022-02-08) - -#### Chore - -* update helm general non-major helm releases ([#1871](https://github.com/truecharts/apps/issues/1871)) - - - - -### [truecommand-9.0.39](https://github.com/truecharts/apps/compare/truecommand-9.0.38...truecommand-9.0.39) (2022-02-06) - -#### Chore - -* update helm chart common to v8.15.0 ([#1859](https://github.com/truecharts/apps/issues/1859)) - - - - -### [truecommand-9.0.38](https://github.com/truecharts/apps/compare/truecommand-9.0.37...truecommand-9.0.38) (2022-02-05) - -#### Chore - -* update helm general non-major helm releases ([#1852](https://github.com/truecharts/apps/issues/1852)) - - - - -### [truecommand-9.0.37](https://github.com/truecharts/apps/compare/truecommand-9.0.36...truecommand-9.0.37) (2022-02-02) - -#### Chore - -* update helm general non-major helm releases ([#1828](https://github.com/truecharts/apps/issues/1828)) - - - - -### [truecommand-9.0.36](https://github.com/truecharts/apps/compare/truecommand-9.0.35...truecommand-9.0.36) (2022-01-25) - -#### Chore - -* update helm general non-major helm releases ([#1791](https://github.com/truecharts/apps/issues/1791)) - - - - -### [truecommand-9.0.35](https://github.com/truecharts/apps/compare/truecommand-9.0.34...truecommand-9.0.35) (2022-01-22) - -#### Chore - -* update helm general non-major helm releases ([#1766](https://github.com/truecharts/apps/issues/1766)) - - - - -### [truecommand-9.0.34](https://github.com/truecharts/apps/compare/truecommand-9.0.33...truecommand-9.0.34) (2022-01-21) - -#### Chore - -* update helm general non-major helm releases ([#1759](https://github.com/truecharts/apps/issues/1759)) - -#### Fix - -* set additional_attrs: true on all dicts ([#1750](https://github.com/truecharts/apps/issues/1750)) - - - - -### [truecommand-9.0.33](https://github.com/truecharts/apps/compare/truecommand-9.0.32...truecommand-9.0.33) (2022-01-18) - -#### Chore - -* update helm general non-major helm releases ([#1732](https://github.com/truecharts/apps/issues/1732)) - - - - -### [truecommand-9.0.32](https://github.com/truecharts/apps/compare/truecommand-9.0.31...truecommand-9.0.32) (2022-01-13) - -#### Chore - -* update helm general non-major helm releases ([#1712](https://github.com/truecharts/apps/issues/1712)) - -#### Feat - -* expose capabilities in GUI ([#1709](https://github.com/truecharts/apps/issues/1709)) - - - - -### [truecommand-9.0.31](https://github.com/truecharts/apps/compare/truecommand-9.0.30...truecommand-9.0.31) (2022-01-12) - -#### Chore - -* update helm general non-major helm releases ([#1704](https://github.com/truecharts/apps/issues/1704)) - - - - -### [truecommand-9.0.30](https://github.com/truecharts/apps/compare/truecommand-9.0.29...truecommand-9.0.30) (2022-01-11) - -#### Chore - -* update helm general non-major helm releases ([#1693](https://github.com/truecharts/apps/issues/1693)) - - - - -### [truecommand-9.0.29](https://github.com/truecharts/apps/compare/truecommand-9.0.28...truecommand-9.0.29) (2022-01-04) - -#### Chore - -* update helm general non-major helm releases - - - - -### [truecommand-9.0.28](https://github.com/truecharts/apps/compare/truecommand-9.0.27...truecommand-9.0.28) (2021-12-28) - -#### Chore - -* update helm general non-major helm releases ([#1623](https://github.com/truecharts/apps/issues/1623)) - - - - -### [truecommand-9.0.27](https://github.com/truecharts/apps/compare/truecommand-9.0.26...truecommand-9.0.27) (2021-12-21) - -#### Chore - -* update helm general non-major helm releases ([#1596](https://github.com/truecharts/apps/issues/1596)) - - - - -### [truecommand-9.0.26](https://github.com/truecharts/apps/compare/truecommand-9.0.25...truecommand-9.0.26) (2021-12-19) - -#### Chore - -* Last patch bump before RC2 branch-off -* remove `editable: true` as this is the default ([#1576](https://github.com/truecharts/apps/issues/1576)) - - - - -### [truecommand-9.0.25](https://github.com/truecharts/apps/compare/truecommand-9.0.24...truecommand-9.0.25) (2021-12-19) - -#### Chore - -* completely remove mountPath reference from GUI ([#1572](https://github.com/truecharts/apps/issues/1572)) -* update helm general non-major helm releases ([#1571](https://github.com/truecharts/apps/issues/1571)) - - - - -### [truecommand-9.0.24](https://github.com/truecharts/apps/compare/truecommand-9.0.23...truecommand-9.0.24) (2021-12-18) - -#### Chore - -* cleanup questions by removing hidden dicts ([#1558](https://github.com/truecharts/apps/issues/1558)) -* App-Icon Organization ([#1539](https://github.com/truecharts/apps/issues/1539)) - - - - -### [truecommand-9.0.23](https://github.com/truecharts/apps/compare/truecommand-9.0.22...truecommand-9.0.23) (2021-12-14) - -#### Chore - -* update helm general non-major helm releases ([#1535](https://github.com/truecharts/apps/issues/1535)) - - - - -### [truecommand-9.0.22](https://github.com/truecharts/apps/compare/truecommand-9.0.21...truecommand-9.0.22) (2021-12-13) - -#### Chore - -* move incubator apps to stable and bump everything - - - - -### [truecommand-9.0.21](https://github.com/truecharts/apps/compare/truecommand-9.0.20...truecommand-9.0.21) (2021-12-11) - -#### Chore - -* update general helm non-major helm releases ([#1509](https://github.com/truecharts/apps/issues/1509)) - - - - -### [truecommand-9.0.20](https://github.com/truecharts/apps/compare/truecommand-9.0.19...truecommand-9.0.20) (2021-12-11) - -#### Chore - -* update non-major docker ([#1507](https://github.com/truecharts/apps/issues/1507)) - - - - -### [truecommand-9.0.19](https://github.com/truecharts/apps/compare/truecommand-9.0.18...truecommand-9.0.19) (2021-12-07) - -#### Chore - -* update non-major deps helm releases ([#1481](https://github.com/truecharts/apps/issues/1481)) - - - - -### truecommand-9.0.18 (2021-12-05) - -#### Chore - -* bump apps to generate security page -* move all container references to TCCR ([#1448](https://github.com/truecharts/apps/issues/1448)) -* update non-major deps helm releases ([#1471](https://github.com/truecharts/apps/issues/1471)) -* update non-major deps helm releases ([#1468](https://github.com/truecharts/apps/issues/1468)) -* update non-major deps helm releases ([#1453](https://github.com/truecharts/apps/issues/1453)) -* update non-major ([#1449](https://github.com/truecharts/apps/issues/1449)) -* update non-major deps helm releases ([#1432](https://github.com/truecharts/apps/issues/1432)) - -#### Fix - -* fix typo in theme selection ([#1428](https://github.com/truecharts/apps/issues/1428)) - - - - -### [truecommand-9.0.17](https://github.com/truecharts/apps/compare/truecommand-9.0.16...truecommand-9.0.17) (2021-12-05) - -#### Chore - -* update non-major deps helm releases ([#1468](https://github.com/truecharts/apps/issues/1468)) - - - - -### [truecommand-9.0.16](https://github.com/truecharts/apps/compare/truecommand-9.0.15...truecommand-9.0.16) (2021-12-04) - -#### Chore - -* bump apps to generate security page - - - - -### [truecommand-9.0.15](https://github.com/truecharts/apps/compare/truecommand-9.0.14...truecommand-9.0.15) (2021-12-04) - -#### Chore - -* update non-major deps helm releases ([#1453](https://github.com/truecharts/apps/issues/1453)) - - - - -### [truecommand-9.0.14](https://github.com/truecharts/apps/compare/truecommand-9.0.13...truecommand-9.0.14) (2021-12-03) - -#### Chore - -* move all container references to TCCR ([#1448](https://github.com/truecharts/apps/issues/1448)) -* update non-major ([#1449](https://github.com/truecharts/apps/issues/1449)) - - - - -### [truecommand-9.0.13](https://github.com/truecharts/apps/compare/truecommand-9.0.12...truecommand-9.0.13) (2021-11-30) - -#### Chore - -* update non-major deps helm releases ([#1432](https://github.com/truecharts/apps/issues/1432)) - -#### Fix - -* move conflicting ports to 10xxx range ([#1415](https://github.com/truecharts/apps/issues/1415)) - - - - -### [truecommand-9.0.12](https://github.com/truecharts/apps/compare/truecommand-9.0.11...truecommand-9.0.12) (2021-11-23) - -#### Chore - -* update non-major deps helm releases ([#1386](https://github.com/truecharts/apps/issues/1386)) - - - - -### [truecommand-9.0.11](https://github.com/truecharts/apps/compare/truecommand-9.0.10...truecommand-9.0.11) (2021-11-22) - -#### Chore - -* update non-major deps helm releases ([#1383](https://github.com/truecharts/apps/issues/1383)) - - - - -### [truecommand-9.0.10](https://github.com/truecharts/apps/compare/truecommand-9.0.9...truecommand-9.0.10) (2021-11-16) - -#### Chore - -* update non-major deps helm releases ([#1345](https://github.com/truecharts/apps/issues/1345)) - - - - -### [truecommand-9.0.9](https://github.com/truecharts/apps/compare/truecommand-9.0.8...truecommand-9.0.9) (2021-11-15) - -#### Chore - -* persistence cleanup and small bugfixes ([#1329](https://github.com/truecharts/apps/issues/1329)) -* update non-major deps helm releases ([#1338](https://github.com/truecharts/apps/issues/1338)) - - - - -### [truecommand-9.0.8](https://github.com/truecharts/apps/compare/truecommand-9.0.7...truecommand-9.0.8) (2021-11-14) - -#### Chore - -* fixes around the GUI refactor ([#1316](https://github.com/truecharts/apps/issues/1316)) -* move port above advanced in GUI ([#1326](https://github.com/truecharts/apps/issues/1326)) -* clean up Chart.yaml ([#1322](https://github.com/truecharts/apps/issues/1322)) -* update non-major deps helm releases ([#1328](https://github.com/truecharts/apps/issues/1328)) - -#### Fix - -* split udp and tcp ports ([#1321](https://github.com/truecharts/apps/issues/1321)) -* Allow spaces in paths ([#1306](https://github.com/truecharts/apps/issues/1306)) - - - - -### [truecommand-9.0.7](https://github.com/truecharts/apps/compare/truecommand-9.0.6...truecommand-9.0.7) (2021-11-09) - -#### Chore - -* update non-major deps helm releases ([#1297](https://github.com/truecharts/apps/issues/1297)) - - - - -### [truecommand-9.0.6](https://github.com/truecharts/apps/compare/truecommand-9.0.5...truecommand-9.0.6) (2021-11-07) - -#### Chore - -* update non-major deps helm releases ([#1295](https://github.com/truecharts/apps/issues/1295)) - - - - -### [truecommand-9.0.5](https://github.com/truecharts/apps/compare/truecommand-9.0.4...truecommand-9.0.5) (2021-11-07) - -#### Chore - -* update non-major deps helm releases ([#1291](https://github.com/truecharts/apps/issues/1291)) - -#### Chore - -* Simplify GUI for deployment, persistence and securityContext ([#1289](https://github.com/truecharts/apps/issues/1289)) - -#### Feat - -* Simplify the Services GUI ([#1290](https://github.com/truecharts/apps/issues/1290)) - - - - -### [truecommand-9.0.4](https://github.com/truecharts/apps/compare/truecommand-9.0.3...truecommand-9.0.4) (2021-11-02) - -#### Chore - -* update non-major deps helm releases ([#1267](https://github.com/truecharts/apps/issues/1267)) - - - - -### [truecommand-9.0.3](https://github.com/truecharts/apps/compare/truecommand-9.0.2...truecommand-9.0.3) (2021-11-01) - -#### Chore - -* update non-major deps helm releases ([#1264](https://github.com/truecharts/apps/issues/1264)) - - - - -### [truecommand-9.0.2](https://github.com/truecharts/apps/compare/truecommand-9.0.1...truecommand-9.0.2) (2021-10-26) - -#### Chore - -* update non-major deps helm releases ([#1245](https://github.com/truecharts/apps/issues/1245)) - - - - -### [truecommand-9.0.1](https://github.com/truecharts/apps/compare/truecommand-9.0.0...truecommand-9.0.1) (2021-10-26) - -#### Chore - -* update helm chart common to v8.3.15 ([#1240](https://github.com/truecharts/apps/issues/1240)) - - - - -### [truecommand-9.0.0](https://github.com/truecharts/apps/compare/truecommand-8.0.16...truecommand-9.0.0) (2021-10-25) - -#### Chore - -* Adapt for TrueNAS SCALE RC1 - - - - -### [truecommand-8.0.16](https://github.com/truecharts/apps/compare/truecommand-8.0.13...truecommand-8.0.16) (2021-10-20) - -#### Chore - -* bump apps, remove duplicates and move incubator to stable for RC1 -* update non-major deps helm releases ([#1213](https://github.com/truecharts/apps/issues/1213)) - -#### Fix - -* reenable postgresql migration scripting and bump all to force update -* use correct PVC storageClass when using postgresql as a dependency on SCALE ([#1212](https://github.com/truecharts/apps/issues/1212)) - - - - -### [truecommand-8.0.13](https://github.com/truecharts/apps/compare/truecommand-8.0.12...truecommand-8.0.13) (2021-10-20) - -#### Chore - -* bump versions to rerelease and fix icons - - - - -### [truecommand-8.0.12](https://github.com/truecharts/apps/compare/truecommand-8.0.11...truecommand-8.0.12) (2021-10-19) - -#### Change - -* Project-Eclipse 3, Automatically generate item.yaml ([#1178](https://github.com/truecharts/apps/issues/1178)) - -#### Chore - -* Project-Eclipse 5, move app-readme to automatic generation script ([#1181](https://github.com/truecharts/apps/issues/1181)) -* Project-Eclipse part 2, adapting and cleaning changelog ([#1173](https://github.com/truecharts/apps/issues/1173)) -* update helm chart common to v8.3.13 ([#1184](https://github.com/truecharts/apps/issues/1184)) - -#### Feat - -* Project-Eclipse 4, Add App grading annotations to Chart.yaml ([#1180](https://github.com/truecharts/apps/issues/1180)) - -#### Refactor - -* Project Eclipse Part 6, move questions.yaml to root App folder ([#1182](https://github.com/truecharts/apps/issues/1182)) - - - - -### [truecommand-8.0.11](https://github.com/truecharts/apps/compare/truecommand-8.0.10...truecommand-8.0.11) (2021-10-19) - -#### Fix - -* fix previous SCALE bugfix not correctly being applied - - - - -### [truecommand-8.0.10](https://github.com/truecharts/apps/compare/truecommand-8.0.9...truecommand-8.0.10) (2021-10-19) - -#### Fix - -* Solve issues regarding ix_values.yaml not containing the image and tag definitions. ([#1176](https://github.com/truecharts/apps/issues/1176)) - - - - -### [truecommand-8.0.9](https://github.com/truecharts/apps/compare/truecommand-8.0.8...truecommand-8.0.9) (2021-10-18) - -#### Refactor - -* Project Eclipse - part 1 - remove ix_values.yaml ([#1168](https://github.com/truecharts/apps/issues/1168)) - - - - -### [truecommand-8.0.8](https://github.com/truecharts/apps/compare/truecommand-8.0.7...truecommand-8.0.8) (2021-10-17) - -#### Chore - -* update helm chart common to v8.3.10 ([#1160](https://github.com/truecharts/apps/issues/1160)) - -#### Fix - -* force users using correct / prefix for mounPath ([#1156](https://github.com/truecharts/apps/issues/1156)) - - - - -### [truecommand-8.0.7](https://github.com/truecharts/apps/compare/truecommand-8.0.6...truecommand-8.0.7) (2021-10-13) - -#### Chore - -* update non-major deps helm releases ([#1133](https://github.com/truecharts/apps/issues/1133)) - - - - -### [truecommand-8.0.6](https://github.com/truecharts/apps/compare/truecommand-8.0.5...truecommand-8.0.6) (2021-10-12) - -#### Chore - -* update non-major deps helm releases ([#1126](https://github.com/truecharts/apps/issues/1126)) - - - - -### [truecommand-8.0.5](https://github.com/truecharts/apps/compare/truecommand-8.0.4...truecommand-8.0.5) (2021-10-12) - -#### Chore - -* update non-major deps helm releases ([#1123](https://github.com/truecharts/apps/issues/1123)) - - - - -### [truecommand-8.0.4](https://github.com/truecharts/apps/compare/truecommand-8.0.3...truecommand-8.0.4) (2021-10-05) - -#### Chore - -* update non-major deps helm releases ([#1099](https://github.com/truecharts/apps/issues/1099)) - - - - -### [truecommand-8.0.3](https://github.com/truecharts/apps/compare/truecommand-8.0.2...truecommand-8.0.3) (2021-09-29) - -#### Chore - -* update helm chart common to v8.0.13 ([#1060](https://github.com/truecharts/apps/issues/1060)) - - - - -### [truecommand-8.0.1](https://github.com/truecharts/apps/compare/truecommand-8.0.0...truecommand-8.0.1) (2021-09-26) - - - - -### [truecommand-8.0.0](https://github.com/truecharts/apps/compare/truecommand-7.0.2...truecommand-8.0.0) (2021-09-26) - - - - -### [truecommand-7.0.2](https://github.com/truecharts/apps/compare/truecommand-7.0.1...truecommand-7.0.2) (2021-09-21) - -#### Chore - -* update non-major deps helm releases ([#1014](https://github.com/truecharts/apps/issues/1014)) - - - - -### [truecommand-7.0.1](https://github.com/truecharts/apps/compare/truecommand-6.11.16...truecommand-7.0.1) (2021-09-13) - -#### Chore - -* move more dockerhub containers to GHCR mirror ([#958](https://github.com/truecharts/apps/issues/958)) -* update non-major ([#962](https://github.com/truecharts/apps/issues/962)) - -#### Feat - -* add new GUI and VPN support to all Apps ([#977](https://github.com/truecharts/apps/issues/977)) -* Add VPN addon and move some config to includes ([#973](https://github.com/truecharts/apps/issues/973)) -* pin all container references to digests ([#963](https://github.com/truecharts/apps/issues/963)) -* Move some common containers to our own containers - -#### Fix - -* make sure podSecurityContext is included in both SCALE and Helm installs ([#956](https://github.com/truecharts/apps/issues/956)) - - -## [truecommand-6.11.16](https://github.com/truecharts/apps/compare/truecommand-6.11.15...truecommand-6.11.16) (2021-09-08) - -### Fix - -* repair Hyperion and some misplaced GUI elements ([#922](https://github.com/truecharts/apps/issues/922)) diff --git a/charts/enterprise/truecommand/Chart.yaml b/charts/enterprise/truecommand/Chart.yaml deleted file mode 100644 index 600994a787d..00000000000 --- a/charts/enterprise/truecommand/Chart.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: v2 -appVersion: "2.2" -dependencies: - - name: common - repository: https://library-charts.truecharts.org - version: 10.6.0 -deprecated: false -description: Aggregated management of TrueNAS devices -home: https://truecharts.org/docs/charts/enterprise/truecommand -icon: https://truecharts.org/img/hotlink-ok/chart-icons/truecommand.png -keywords: - - truecommand -kubeVersion: ">=1.16.0-0" -maintainers: - - email: info@truecharts.org - name: TrueCharts - url: https://truecharts.org -name: truecommand -sources: - - https://github.com/truecharts/charts/tree/master/charts/enterprise/truecommand - - https://hub.docker.com/r/ixsystems/truecommand -type: application -version: 12.0.0 -annotations: - truecharts.org/catagories: | - - Administration - truecharts.org/SCALE-support: "true" - truecharts.org/grade: U diff --git a/charts/enterprise/truecommand/README.md b/charts/enterprise/truecommand/README.md deleted file mode 100644 index 02a49633e76..00000000000 --- a/charts/enterprise/truecommand/README.md +++ /dev/null @@ -1,106 +0,0 @@ -# truecommand - -Aggregated management of TrueNAS devices - -TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. - -This readme is just an automatically generated general guide on installing our Helm Charts and Apps. -For more information, please click here: [truecommand](https://truecharts.org/docs/charts/enterprise/truecommand) - -**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)** - -## Source Code - -* -* - -## Requirements - -Kubernetes: `>=1.16.0-0` - -## Dependencies - -| Repository | Name | Version | -|------------|------|---------| -| https://library-charts.truecharts.org | common | 10.6.0 | - -## Installing the Chart - -### TrueNAS SCALE - -To install this Chart on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Installing-an-App). - -### Helm - -To install the chart with the release name `truecommand` - -```console -helm repo add TrueCharts https://charts.truecharts.org -helm repo update -helm install truecommand TrueCharts/truecommand -``` - -## Uninstall - -### TrueNAS SCALE - -**Upgrading, Rolling Back and Uninstalling the Chart** - -To upgrade, rollback or delete this Chart from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Upgrade-rollback-delete-an-App). - -### Helm - -To uninstall the `truecommand` deployment - -```console -helm uninstall truecommand -``` - -## Configuration - -### Helm - -#### Available Settings - -Read through the values.yaml file. It has several commented out suggested values. -Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common). - -#### Configure using the command line - -Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. - -```console -helm install truecommand \ - --set env.TZ="America/New York" \ - TrueCharts/truecommand -``` - -#### Configure using a yaml file - -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. - -```console -helm install truecommand TrueCharts/truecommand -f values.yaml -``` - -#### Connecting to other charts - -If you need to connect this Chart to other Charts on TrueNAS SCALE, please refer to our [Linking Charts Internally](https://truecharts.org/docs/manual/SCALE%20Apps/linking-apps) quick-start guide. - -## Support - -- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Important-MUST-READ). -- See the [Website](https://truecharts.org) -- Check our [Discord](https://discord.gg/tVsPTHWTtr) -- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - ---- - -## Sponsor TrueCharts - -TrueCharts can only exist due to the incredible effort of our staff. -Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! - ---- - -All Rights Reserved - The TrueCharts Project diff --git a/charts/enterprise/truecommand/icon.png b/charts/enterprise/truecommand/icon.png deleted file mode 100644 index bb019d9b34430834ee17007a809cb184943080f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20815 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 diff --git a/charts/enterprise/truecommand/questions.yaml b/charts/enterprise/truecommand/questions.yaml deleted file mode 100644 index 3e1309deece..00000000000 --- a/charts/enterprise/truecommand/questions.yaml +++ /dev/null @@ -1,119 +0,0 @@ -# Include{groups} -portals: - open: -# Include{portalLink} -questions: -# Include{global} -# Include{controller} -# Include{controllerDeployment} -# Include{replicas} -# Include{replica1} -# Include{strategy} -# Include{recreate} -# Include{controllerExpert} -# Include{controllerExpertExtraArgs} -# Include{containerConfig} -# Include{serviceRoot} - - variable: main - label: "Main Service" - description: "The Primary service on which the healthcheck runs, often the webUI" - schema: - additional_attrs: true - type: dict - attrs: -# Include{serviceSelectorLoadBalancer} -# Include{serviceSelectorExtras} - - variable: main - label: "Main Service Port Configuration" - schema: - additional_attrs: true - type: dict - attrs: - - variable: port - label: "Port" - description: "This port exposes the container port on the service" - schema: - type: int - default: 10031 - required: true -# Include{advancedPortHTTP} - - variable: targetPort - label: "Target Port" - description: "The internal(!) port on the container the Application runs on" - schema: - type: int - default: 80 -# Include{serviceExpertRoot} - default: false -# Include{serviceExpert} -# Include{serviceList} -# Include{persistenceRoot} - - variable: data - label: "App Config Storage" - description: "Stores the Application Configuration." - schema: - additional_attrs: true - type: dict - attrs: -# Include{persistenceBasic} -# Include{persistenceAdvanced} -# Include{persistenceList} -# Include{ingressRoot} - - variable: main - label: "Main Ingress" - schema: - additional_attrs: true - type: dict - attrs: -# Include{ingressDefault} -# Include{ingressTLS} -# Include{ingressTraefik} -# Include{ingressExpert} -# Include{ingressList} -# Include{security} -# Include{securityContextAdvancedRoot} - - 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 -# Include{securityContextAdvanced} -# Include{podSecurityContextRoot} - - 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 -# Include{podSecurityContextAdvanced} -# Include{resources} -# Include{advanced} -# Include{addons} -# Include{documentation} diff --git a/charts/enterprise/truecommand/templates/common.yaml b/charts/enterprise/truecommand/templates/common.yaml deleted file mode 100644 index c1a366e1cf0..00000000000 --- a/charts/enterprise/truecommand/templates/common.yaml +++ /dev/null @@ -1 +0,0 @@ -{{ include "tc.common.loader.all" . }} diff --git a/charts/enterprise/truecommand/values.yaml b/charts/enterprise/truecommand/values.yaml deleted file mode 100644 index 524872271ab..00000000000 --- a/charts/enterprise/truecommand/values.yaml +++ /dev/null @@ -1,27 +0,0 @@ -image: - repository: tccr.io/truecharts/truecommand - pullPolicy: IfNotPresent - tag: 2.2@sha256:e1e97b3a75948def0616e8b6032c7bab50b805ff33f1383d0ad55cb88ef7dd88 - -securityContext: - readOnlyRootFilesystem: false - runAsNonRoot: false - -podSecurityContext: - runAsUser: 0 - runAsGroup: 0 - -service: - main: - ports: - main: - port: 10031 - targetPort: 80 - -persistence: - data: - enabled: true - mountPath: "/data" - -portal: - enabled: true diff --git a/charts/enterprise/vaultwarden/.helmignore b/charts/enterprise/vaultwarden/.helmignore deleted file mode 100644 index 77ca5567b26..00000000000 --- a/charts/enterprise/vaultwarden/.helmignore +++ /dev/null @@ -1,30 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ -# OWNERS file for Kubernetes -OWNERS -# helm-docs templates -*.gotmpl -# docs folder -/docs -# icon -icon.png diff --git a/charts/enterprise/vaultwarden/CHANGELOG.md b/charts/enterprise/vaultwarden/CHANGELOG.md deleted file mode 100644 index 83e9528a222..00000000000 --- a/charts/enterprise/vaultwarden/CHANGELOG.md +++ /dev/null @@ -1,1852 +0,0 @@ -# Changelog - - - -## [vaultwarden-17.0.0](https://github.com/truecharts/charts/compare/vaultwarden-16.0.37...vaultwarden-17.0.0) (2022-09-24) - -### Chore - -- Auto-update chart README [skip ci] - - bump major on new enterprise app to seperate helm updates - - - - -## [vaultwarden-16.0.39](https://github.com/truecharts/charts/compare/vaultwarden-16.0.38...vaultwarden-16.0.39) (2022-09-22) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [vaultwarden-16.0.39](https://github.com/truecharts/charts/compare/vaultwarden-16.0.38...vaultwarden-16.0.39) (2022-09-21) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [vaultwarden-16.0.39](https://github.com/truecharts/charts/compare/vaultwarden-16.0.38...vaultwarden-16.0.39) (2022-09-21) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [vaultwarden-16.0.39](https://github.com/truecharts/charts/compare/vaultwarden-16.0.38...vaultwarden-16.0.39) (2022-09-20) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [vaultwarden-16.0.39](https://github.com/truecharts/charts/compare/vaultwarden-16.0.38...vaultwarden-16.0.39) (2022-09-20) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [vaultwarden-16.0.39](https://github.com/truecharts/charts/compare/vaultwarden-16.0.38...vaultwarden-16.0.39) (2022-09-19) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [vaultwarden-16.0.39](https://github.com/truecharts/charts/compare/vaultwarden-16.0.38...vaultwarden-16.0.39) (2022-09-19) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [vaultwarden-16.0.39](https://github.com/truecharts/charts/compare/vaultwarden-16.0.38...vaultwarden-16.0.39) (2022-09-19) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [vaultwarden-16.0.39](https://github.com/truecharts/charts/compare/vaultwarden-16.0.38...vaultwarden-16.0.39) (2022-09-17) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - refactor Services SCALE GUI - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [vaultwarden-16.0.39](https://github.com/truecharts/charts/compare/vaultwarden-16.0.38...vaultwarden-16.0.39) (2022-09-18) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [vaultwarden-16.0.39](https://github.com/truecharts/charts/compare/vaultwarden-16.0.38...vaultwarden-16.0.39) (2022-09-16) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [vaultwarden-16.0.39](https://github.com/truecharts/charts/compare/vaultwarden-16.0.38...vaultwarden-16.0.39) (2022-09-16) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [vaultwarden-16.0.39](https://github.com/truecharts/charts/compare/vaultwarden-16.0.38...vaultwarden-16.0.39) (2022-09-15) - -### Chore - -- Auto-update chart README [skip ci] - - update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [vaultwarden-16.0.39](https://github.com/truecharts/charts/compare/vaultwarden-16.0.38...vaultwarden-16.0.39) (2022-09-15) - -### Chore - -- update helm general non-major ([#3767](https://github.com/truecharts/charts/issues/3767)) - - split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751)) - - - - -## [vaultwarden-16.0.38](https://github.com/truecharts/charts/compare/vaultwarden-16.0.36...vaultwarden-16.0.38) (2022-09-13) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3756](https://github.com/truecharts/charts/issues/3756)) - - update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - - - -## [vaultwarden-16.0.37](https://github.com/truecharts/charts/compare/vaultwarden-16.0.36...vaultwarden-16.0.37) (2022-09-12) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - - - -## [vaultwarden-16.0.37](https://github.com/truecharts/charts/compare/vaultwarden-16.0.36...vaultwarden-16.0.37) (2022-09-12) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - - - -## [vaultwarden-16.0.37](https://github.com/truecharts/charts/compare/vaultwarden-16.0.36...vaultwarden-16.0.37) (2022-09-11) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - - - -## [vaultwarden-16.0.37](https://github.com/truecharts/charts/compare/vaultwarden-16.0.36...vaultwarden-16.0.37) (2022-09-11) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - - - -## [vaultwarden-16.0.37](https://github.com/truecharts/charts/compare/vaultwarden-16.0.36...vaultwarden-16.0.37) (2022-09-11) - -### Chore - -- Auto-update chart README [skip ci] - - update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - - - -## [vaultwarden-16.0.37](https://github.com/truecharts/charts/compare/vaultwarden-16.0.36...vaultwarden-16.0.37) (2022-09-11) - -### Chore - -- update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711)) - - - - -## [vaultwarden-16.0.36](https://github.com/truecharts/charts/compare/vaultwarden-16.0.34...vaultwarden-16.0.36) (2022-08-30) - -### Chore - -- Auto-update chart README [skip ci] - - update helm general non-major ([#3639](https://github.com/truecharts/charts/issues/3639)) - - update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) - - - - -## [vaultwarden-16.0.35](https://github.com/truecharts/charts/compare/vaultwarden-16.0.34...vaultwarden-16.0.35) (2022-08-30) - -### Chore - -- update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) - - - - -## [vaultwarden-16.0.34](https://github.com/truecharts/charts/compare/vaultwarden-16.0.32...vaultwarden-16.0.34) (2022-08-29) - -### Chore - -- update helm general non-major ([#3621](https://github.com/truecharts/charts/issues/3621)) - - update helm general non-major ([#3619](https://github.com/truecharts/charts/issues/3619)) - - - - -## [vaultwarden-16.0.32](https://github.com/truecharts/charts/compare/vaultwarden-16.0.31...vaultwarden-16.0.32) (2022-08-23) - -### Chore - -- update helm general non-major helm releases ([#3545](https://github.com/truecharts/charts/issues/3545)) - - - - -## [vaultwarden-16.0.31](https://github.com/truecharts/charts/compare/vaultwarden-16.0.30...vaultwarden-16.0.31) (2022-08-17) - -### Chore - -- update helm general non-major helm releases ([#3484](https://github.com/truecharts/charts/issues/3484)) - - - - -## [vaultwarden-16.0.30](https://github.com/truecharts/charts/compare/vaultwarden-16.0.29...vaultwarden-16.0.30) (2022-08-12) - -### Chore - -- add documentation checkbox/section to all SCALE Apps - - update helm general non-major helm releases ([#3456](https://github.com/truecharts/charts/issues/3456)) - - ### Fix - -- move extraArgs from .Values.controller to .Values ([#3447](https://github.com/truecharts/charts/issues/3447)) - - - - -## [vaultwarden-16.0.29](https://github.com/truecharts/charts/compare/vaultwarden-16.0.28...vaultwarden-16.0.29) (2022-08-09) - -### Chore - -- update helm general non-major helm releases to v10.4.9 ([#3413](https://github.com/truecharts/charts/issues/3413)) - - - - -## [vaultwarden-16.0.28](https://github.com/truecharts/charts/compare/vaultwarden-16.0.27...vaultwarden-16.0.28) (2022-08-08) - -### Chore - -- update helm general non-major helm releases ([#3376](https://github.com/truecharts/charts/issues/3376)) - - replace questions parts with templates ([#3402](https://github.com/truecharts/charts/issues/3402)) - - - - -## [vaultwarden-16.0.27](https://github.com/truecharts/apps/compare/vaultwarden-16.0.26...vaultwarden-16.0.27) (2022-07-28) - -### Chore - -- update docker general non-major ([#3326](https://github.com/truecharts/apps/issues/3326)) - - - - -## [vaultwarden-16.0.26](https://github.com/truecharts/apps/compare/vaultwarden-16.0.25...vaultwarden-16.0.26) (2022-07-26) - -### Chore - -- update home links ([#3291](https://github.com/truecharts/apps/issues/3291)) - - update helm general non-major helm releases ([#3302](https://github.com/truecharts/apps/issues/3302)) - - ### Fix - -- Fix inline comments that break linting ([#3305](https://github.com/truecharts/apps/issues/3305)) - - - - -## [vaultwarden-16.0.25](https://github.com/truecharts/apps/compare/vaultwarden-16.0.24...vaultwarden-16.0.25) (2022-07-25) - -### Chore - -- Auto-update chart README [skip ci] - - update docker general non-major ([#3295](https://github.com/truecharts/apps/issues/3295)) - - - - -## [vaultwarden-16.0.25](https://github.com/truecharts/apps/compare/vaultwarden-16.0.24...vaultwarden-16.0.25) (2022-07-25) - -### Chore - -- update docker general non-major ([#3295](https://github.com/truecharts/apps/issues/3295)) - - - - -## [vaultwarden-16.0.24](https://github.com/truecharts/apps/compare/vaultwarden-16.0.23...vaultwarden-16.0.24) (2022-07-23) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280)) - - - - -## [vaultwarden-16.0.24](https://github.com/truecharts/apps/compare/vaultwarden-16.0.23...vaultwarden-16.0.24) (2022-07-23) - -### Chore - -- Auto-update chart README [skip ci] - - update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280)) - - - - -## [vaultwarden-16.0.24](https://github.com/truecharts/apps/compare/vaultwarden-16.0.23...vaultwarden-16.0.24) (2022-07-23) - -### Chore - -- update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280)) - - - - -## [vaultwarden-16.0.23](https://github.com/truecharts/apps/compare/vaultwarden-16.0.22...vaultwarden-16.0.23) (2022-07-23) - -### Chore - -- update helm general non-major helm releases ([#3274](https://github.com/truecharts/apps/issues/3274)) - - - - -## [vaultwarden-16.0.22](https://github.com/truecharts/apps/compare/vaultwarden-16.0.20...vaultwarden-16.0.22) (2022-07-22) - -### Chore - -- Bump all charts to generate config and container references due to huge increase of repository - - update helm general non-major helm releases ([#3268](https://github.com/truecharts/apps/issues/3268)) - - - -## [vaultwarden-16.0.20](https://github.com/truecharts/apps/compare/vaultwarden-16.0.19...vaultwarden-16.0.20) (2022-07-19) - -### Chore - -- Update Readme and Description on SCALE - - - -## [vaultwarden-16.0.19](https://github.com/truecharts/apps/compare/vaultwarden-16.0.18...vaultwarden-16.0.19) (2022-07-17) - -### Chore - -- update docker general non-major ([#3198](https://github.com/truecharts/apps/issues/3198)) - - - -## [vaultwarden-16.0.18](https://github.com/truecharts/apps/compare/vaultwarden-16.0.17...vaultwarden-16.0.18) (2022-07-14) - -### Fix - -- regenerate catalog and update template - - - -## [vaultwarden-16.0.17](https://github.com/truecharts/apps/compare/vaultwarden-16.0.15...vaultwarden-16.0.17) (2022-07-14) - -### Fix - -- bump to ensure .helmignore is present on all Charts - - - -## [vaultwarden-16.0.15](https://github.com/truecharts/apps/compare/vaultwarden-16.0.13...vaultwarden-16.0.15) (2022-07-12) - -### Chore - -- update icons ([#3156](https://github.com/truecharts/apps/issues/3156)) -- bump to cleanup old docs and use correct icon urls - - - -## [vaultwarden-16.0.13](https://github.com/truecharts/apps/compare/vaultwarden-16.0.12...vaultwarden-16.0.13) (2022-07-12) - -### Chore - -- bump to regenerate documentation - - - - -### [vaultwarden-16.0.12](https://github.com/truecharts/apps/compare/vaultwarden-16.0.11...vaultwarden-16.0.12) (2022-07-12) - -#### Chore - -* update helm general non-major helm releases ([#3147](https://github.com/truecharts/apps/issues/3147)) - - - - -### [vaultwarden-16.0.11](https://github.com/truecharts/apps/compare/vaultwarden-16.0.10...vaultwarden-16.0.11) (2022-07-11) - -#### Chore - -* move icons into the apps folder ([#3139](https://github.com/truecharts/apps/issues/3139)) - - - - -### [vaultwarden-16.0.10](https://github.com/truecharts/apps/compare/vaultwarden-16.0.9...vaultwarden-16.0.10) (2022-07-09) - -#### Chore - -* update helm general non-major helm releases ([#3113](https://github.com/truecharts/apps/issues/3113)) - - - - -### [vaultwarden-16.0.9](https://github.com/truecharts/apps/compare/vaultwarden-16.0.8...vaultwarden-16.0.9) (2022-07-05) - -#### Chore - -* update helm general non-major helm releases ([#3075](https://github.com/truecharts/apps/issues/3075)) - - - - -### [vaultwarden-16.0.8](https://github.com/truecharts/apps/compare/vaultwarden-16.0.7...vaultwarden-16.0.8) (2022-07-04) - -#### Chore - -* update helm general non-major helm releases ([#3066](https://github.com/truecharts/apps/issues/3066)) - - - - -### [vaultwarden-16.0.7](https://github.com/truecharts/apps/compare/vaultwarden-16.0.6...vaultwarden-16.0.7) (2022-06-25) - -#### Chore - -* update helm general non-major helm releases ([#2977](https://github.com/truecharts/apps/issues/2977)) - - - - -### [vaultwarden-16.0.6](https://github.com/truecharts/apps/compare/vaultwarden-16.0.5...vaultwarden-16.0.6) (2022-06-22) - -#### Chore - -* update helm general non-major helm releases ([#2948](https://github.com/truecharts/apps/issues/2948)) - - - - -### [vaultwarden-16.0.5](https://github.com/truecharts/apps/compare/vaultwarden-16.0.4...vaultwarden-16.0.5) (2022-06-21) - -#### Chore - -* update helm general non-major helm releases ([#2943](https://github.com/truecharts/apps/issues/2943)) - - - - -### [vaultwarden-16.0.4](https://github.com/truecharts/apps/compare/vaultwarden-16.0.3...vaultwarden-16.0.4) (2022-06-14) - -#### Chore - -* update helm general non-major helm releases ([#2887](https://github.com/truecharts/apps/issues/2887)) - - - - -### [vaultwarden-16.0.3](https://github.com/truecharts/apps/compare/vaultwarden-16.0.2...vaultwarden-16.0.3) (2022-06-14) - -#### Chore - -* update helm general non-major helm releases ([#2886](https://github.com/truecharts/apps/issues/2886)) - - - - -### [vaultwarden-16.0.2](https://github.com/truecharts/apps/compare/vaultwarden-16.0.1...vaultwarden-16.0.2) (2022-06-11) - -#### Chore - -* update helm general non-major helm releases ([#2854](https://github.com/truecharts/apps/issues/2854)) - - - - -### [vaultwarden-16.0.1](https://github.com/truecharts/apps/compare/vaultwarden-16.0.0...vaultwarden-16.0.1) (2022-06-08) - -#### Chore - -* Auto-update chart README [skip ci] -* Auto-update chart README [skip ci] - -#### Fix - -* fix yubico questions.yaml variable name - - - - -### [vaultwarden-16.0.1](https://github.com/truecharts/apps/compare/vaultwarden-16.0.0...vaultwarden-16.0.1) (2022-06-08) - -#### Chore - -* Auto-update chart README [skip ci] - -#### Fix - -* fix yubico questions.yaml variable name - - - - -### [vaultwarden-16.0.1](https://github.com/truecharts/apps/compare/vaultwarden-16.0.0...vaultwarden-16.0.1) (2022-06-08) - -#### Fix - -* fix yubico questions.yaml variable name - - - - -### [vaultwarden-16.0.0](https://github.com/truecharts/apps/compare/vaultwarden-15.0.1...vaultwarden-16.0.0) (2022-06-07) - -#### Chore - -* update helm general major helm releases ([#2804](https://github.com/truecharts/apps/issues/2804)) - -#### Fix - -* hotpatch to disable HPA and networkPolicy in SCALE interface, due to incompatible format. - - - - -### [vaultwarden-15.0.1](https://github.com/truecharts/apps/compare/vaultwarden-14.0.26...vaultwarden-15.0.1) (2022-06-07) - -#### Chore - -* Auto-update chart README [skip ci] -* sync all apps persistence configuration and always default to PVC -* update helm general non-major helm releases ([#2838](https://github.com/truecharts/apps/issues/2838)) - -#### Fix - -* remove malfunctioning SCALE migration script - -#### Refactor - -* BREAKING CHANGE ([#2836](https://github.com/truecharts/apps/issues/2836)) - - - - -### [vaultwarden-15.0.0](https://github.com/truecharts/apps/compare/vaultwarden-14.0.26...vaultwarden-15.0.0) (2022-06-07) - -#### Chore - -* sync all apps persistence configuration and always default to PVC - -#### Refactor - -* BREAKING CHANGE ([#2836](https://github.com/truecharts/apps/issues/2836)) - - - - -### [vaultwarden-14.0.26](https://github.com/truecharts/apps/compare/vaultwarden-14.0.25...vaultwarden-14.0.26) (2022-05-31) - -#### Chore - -* update helm general non-major helm releases ([#2803](https://github.com/truecharts/apps/issues/2803)) - - - - -### [vaultwarden-14.0.25](https://github.com/truecharts/apps/compare/vaultwarden-14.0.24...vaultwarden-14.0.25) (2022-05-26) - -#### Chore - -* Auto-update chart README [skip ci] -* update helm general non-major helm releases ([#2759](https://github.com/truecharts/apps/issues/2759)) - - - - -### [vaultwarden-14.0.25](https://github.com/truecharts/apps/compare/vaultwarden-14.0.24...vaultwarden-14.0.25) (2022-05-26) - -#### Chore - -* update helm general non-major helm releases ([#2759](https://github.com/truecharts/apps/issues/2759)) - - - - -### [vaultwarden-14.0.24](https://github.com/truecharts/apps/compare/vaultwarden-14.0.23...vaultwarden-14.0.24) (2022-05-24) - -#### Chore - -* update docker general non-major ([#2744](https://github.com/truecharts/apps/issues/2744)) - - - - -### [vaultwarden-14.0.23](https://github.com/truecharts/apps/compare/vaultwarden-14.0.22...vaultwarden-14.0.23) (2022-05-24) - -#### Chore - -* update helm general non-major helm releases - - - - -### [vaultwarden-14.0.22](https://github.com/truecharts/apps/compare/vaultwarden-14.0.21...vaultwarden-14.0.22) (2022-05-17) - -#### Chore - -* Auto-update chart README [skip ci] -* update helm general non-major helm releases - - - - -### [vaultwarden-14.0.22](https://github.com/truecharts/apps/compare/vaultwarden-14.0.21...vaultwarden-14.0.22) (2022-05-17) - -#### Chore - -* update helm general non-major helm releases - - - - -### [vaultwarden-14.0.21](https://github.com/truecharts/apps/compare/vaultwarden-14.0.20...vaultwarden-14.0.21) (2022-05-17) - -#### Chore - -* update helm general non-major helm releases - - - - -### [vaultwarden-14.0.20](https://github.com/truecharts/apps/compare/vaultwarden-14.0.19...vaultwarden-14.0.20) (2022-05-10) - -#### Chore - -* update helm general non-major helm releases ([#2649](https://github.com/truecharts/apps/issues/2649)) - - - - -### [vaultwarden-14.0.19](https://github.com/truecharts/apps/compare/vaultwarden-14.0.18...vaultwarden-14.0.19) (2022-05-05) - -#### Chore - -* update helm general non-major helm releases ([#2612](https://github.com/truecharts/apps/issues/2612)) - - - - -### [vaultwarden-14.0.18](https://github.com/truecharts/apps/compare/vaultwarden-14.0.17...vaultwarden-14.0.18) (2022-05-04) - -#### Chore - -* update helm general non-major helm releases ([#2605](https://github.com/truecharts/apps/issues/2605)) - - - - -### [vaultwarden-14.0.17](https://github.com/truecharts/apps/compare/vaultwarden-14.0.16...vaultwarden-14.0.17) (2022-05-01) - -#### Fix - -* correct ws service definition ([#2593](https://github.com/truecharts/apps/issues/2593)) - - - - -### [vaultwarden-14.0.16](https://github.com/truecharts/apps/compare/vaultwarden-14.0.15...vaultwarden-14.0.16) (2022-04-26) - -#### Chore - -* update helm general non-major helm releases ([#2573](https://github.com/truecharts/apps/issues/2573)) - - - - -### [vaultwarden-14.0.15](https://github.com/truecharts/apps/compare/vaultwarden-14.0.14...vaultwarden-14.0.15) (2022-04-20) - -#### Chore - -* add missing quote on description ([#2515](https://github.com/truecharts/apps/issues/2515)) -* update helm general non-major helm releases ([#2524](https://github.com/truecharts/apps/issues/2524)) - - - - -### [vaultwarden-14.0.14](https://github.com/truecharts/apps/compare/vaultwarden-14.0.13...vaultwarden-14.0.14) (2022-04-17) - -#### Chore - -* replace UI code with tempalte (advanced) ([#2499](https://github.com/truecharts/apps/issues/2499)) - - - - -### [vaultwarden-14.0.13](https://github.com/truecharts/apps/compare/vaultwarden-14.0.12...vaultwarden-14.0.13) (2022-04-12) - -#### Chore - -* update helm general non-major helm releases ([#2480](https://github.com/truecharts/apps/issues/2480)) - - - - -### [vaultwarden-14.0.12](https://github.com/truecharts/apps/compare/vaultwarden-14.0.11...vaultwarden-14.0.12) (2022-04-03) - -#### Chore - -* update helm general non-major helm releases ([#2410](https://github.com/truecharts/apps/issues/2410)) - - - - -### [vaultwarden-14.0.11](https://github.com/truecharts/apps/compare/vaultwarden-14.0.10...vaultwarden-14.0.11) (2022-03-31) - -#### Chore - -* update helm general non-major helm releases ([#2362](https://github.com/truecharts/apps/issues/2362)) - - - - -### [vaultwarden-14.0.10](https://github.com/truecharts/apps/compare/vaultwarden-14.0.9...vaultwarden-14.0.10) (2022-03-31) - -#### Chore - -* update helm general non-major helm releases ([#2361](https://github.com/truecharts/apps/issues/2361)) - - - - -### [vaultwarden-14.0.9](https://github.com/truecharts/apps/compare/vaultwarden-14.0.8...vaultwarden-14.0.9) (2022-03-30) - -#### Chore - -* Use new repo ([#2337](https://github.com/truecharts/apps/issues/2337)) -* update helm general non-major helm releases ([#2354](https://github.com/truecharts/apps/issues/2354)) - - - - -### [vaultwarden-14.0.8](https://github.com/truecharts/apps/compare/vaultwarden-14.0.7...vaultwarden-14.0.8) (2022-03-26) - -#### Chore - -* update helm general non-major helm releases ([#2290](https://github.com/truecharts/apps/issues/2290)) - - - - -### [vaultwarden-14.0.7](https://github.com/truecharts/apps/compare/vaultwarden-14.0.6...vaultwarden-14.0.7) (2022-03-26) - -#### Chore - -* bump all apps to trigger ci - - - - -### [vaultwarden-14.0.2](https://github.com/truecharts/apps/compare/vaultwarden-14.0.1...vaultwarden-14.0.2) (2022-03-08) - -#### Chore - -* update helm general non-major helm releases ([#2116](https://github.com/truecharts/apps/issues/2116)) - - - - -### [vaultwarden-14.0.1](https://github.com/truecharts/apps/compare/vaultwarden-14.0.0...vaultwarden-14.0.1) (2022-03-07) - -#### Chore - -* update helm general non-major helm releases ([#2111](https://github.com/truecharts/apps/issues/2111)) -* Remove `-icon` string from icon png's ([#2040](https://github.com/truecharts/apps/issues/2040)) - - - - -### [vaultwarden-14.0.0](https://github.com/truecharts/apps/compare/vaultwarden-13.0.37...vaultwarden-14.0.0) (2022-03-03) - -#### Chore - -* remove fixed env from questions.yaml -* remove empty env var declaration from questions.yaml -* update helm general major helm releases ([#2021](https://github.com/truecharts/apps/issues/2021)) - -#### Fix - -* BREAKING CHANGE Move some env-vars outside of env section ([#2010](https://github.com/truecharts/apps/issues/2010)) - - - - -### [vaultwarden-13.0.37](https://github.com/truecharts/apps/compare/vaultwarden-13.0.36...vaultwarden-13.0.37) (2022-03-02) - -#### Chore - -* rename `web_portal` to `open` ([#1957](https://github.com/truecharts/apps/issues/1957)) -* update helm general non-major helm releases ([#1999](https://github.com/truecharts/apps/issues/1999)) - - - - -### [vaultwarden-13.0.36](https://github.com/truecharts/apps/compare/vaultwarden-13.0.35...vaultwarden-13.0.36) (2022-02-21) - -#### Chore - -* update helm general non-major helm releases ([#1927](https://github.com/truecharts/apps/issues/1927)) - - - - -### [vaultwarden-13.0.35](https://github.com/truecharts/apps/compare/vaultwarden-13.0.34...vaultwarden-13.0.35) (2022-02-15) - -#### Chore - -* update helm general non-major helm releases ([#1901](https://github.com/truecharts/apps/issues/1901)) - - - - -### [vaultwarden-13.0.34](https://github.com/truecharts/apps/compare/vaultwarden-13.0.33...vaultwarden-13.0.34) (2022-02-08) - -#### Chore - -* update helm general non-major helm releases ([#1871](https://github.com/truecharts/apps/issues/1871)) - - - - -### [vaultwarden-13.0.33](https://github.com/truecharts/apps/compare/vaultwarden-13.0.32...vaultwarden-13.0.33) (2022-02-06) - -#### Chore - -* update helm chart common to v8.15.0 ([#1859](https://github.com/truecharts/apps/issues/1859)) - - - - -### [vaultwarden-13.0.32](https://github.com/truecharts/apps/compare/vaultwarden-13.0.31...vaultwarden-13.0.32) (2022-02-05) - -#### Chore - -* update helm general non-major helm releases ([#1852](https://github.com/truecharts/apps/issues/1852)) - - - - -### [vaultwarden-13.0.31](https://github.com/truecharts/apps/compare/vaultwarden-13.0.30...vaultwarden-13.0.31) (2022-02-02) - -#### Chore - -* update helm general non-major helm releases ([#1828](https://github.com/truecharts/apps/issues/1828)) - - - - -### [vaultwarden-13.0.30](https://github.com/truecharts/apps/compare/vaultwarden-13.0.29...vaultwarden-13.0.30) (2022-01-31) - -#### Chore - -* update docker general non-major docker tags ([#1823](https://github.com/truecharts/apps/issues/1823)) - - - - -### [vaultwarden-13.0.29](https://github.com/truecharts/apps/compare/vaultwarden-13.0.28...vaultwarden-13.0.29) (2022-01-25) - -#### Chore - -* update helm general non-major helm releases ([#1791](https://github.com/truecharts/apps/issues/1791)) - - - - -### [vaultwarden-13.0.28](https://github.com/truecharts/apps/compare/vaultwarden-13.0.27...vaultwarden-13.0.28) (2022-01-22) - -#### Chore - -* update helm general non-major helm releases ([#1766](https://github.com/truecharts/apps/issues/1766)) - - - - -### [vaultwarden-13.0.27](https://github.com/truecharts/apps/compare/vaultwarden-13.0.26...vaultwarden-13.0.27) (2022-01-22) - -#### Chore - -* update helm general non-major helm releases ([#1763](https://github.com/truecharts/apps/issues/1763)) - - - - -### [vaultwarden-13.0.26](https://github.com/truecharts/apps/compare/vaultwarden-13.0.25...vaultwarden-13.0.26) (2022-01-21) - -#### Chore - -* update helm general non-major helm releases ([#1759](https://github.com/truecharts/apps/issues/1759)) - -#### Fix - -* set additional_attrs: true on all dicts ([#1750](https://github.com/truecharts/apps/issues/1750)) - - - - -### [vaultwarden-13.0.25](https://github.com/truecharts/apps/compare/vaultwarden-13.0.24...vaultwarden-13.0.25) (2022-01-18) - -#### Chore - -* update helm general non-major helm releases ([#1732](https://github.com/truecharts/apps/issues/1732)) - - - - -### [vaultwarden-13.0.24](https://github.com/truecharts/apps/compare/vaultwarden-13.0.23...vaultwarden-13.0.24) (2022-01-13) - -#### Chore - -* update helm general non-major helm releases ([#1712](https://github.com/truecharts/apps/issues/1712)) - -#### Feat - -* expose capabilities in GUI ([#1709](https://github.com/truecharts/apps/issues/1709)) - - - - -### [vaultwarden-13.0.23](https://github.com/truecharts/apps/compare/vaultwarden-13.0.22...vaultwarden-13.0.23) (2022-01-12) - -#### Chore - -* update helm general non-major helm releases ([#1704](https://github.com/truecharts/apps/issues/1704)) - - - - -### [vaultwarden-13.0.22](https://github.com/truecharts/apps/compare/vaultwarden-13.0.21...vaultwarden-13.0.22) (2022-01-11) - -#### Chore - -* update helm general non-major helm releases ([#1693](https://github.com/truecharts/apps/issues/1693)) - - - - -### [vaultwarden-13.0.21](https://github.com/truecharts/apps/compare/vaultwarden-13.0.20...vaultwarden-13.0.21) (2022-01-10) - -#### Feat - -* Add admin portal button ([#1673](https://github.com/truecharts/apps/issues/1673)) - - - - -### [vaultwarden-13.0.20](https://github.com/truecharts/apps/compare/vaultwarden-13.0.19...vaultwarden-13.0.20) (2022-01-04) - -#### Chore - -* update helm general non-major helm releases - - - - -### [vaultwarden-13.0.19](https://github.com/truecharts/apps/compare/vaultwarden-13.0.18...vaultwarden-13.0.19) (2021-12-28) - -#### Chore - -* update helm general non-major helm releases ([#1623](https://github.com/truecharts/apps/issues/1623)) - - - - -### [vaultwarden-13.0.18](https://github.com/truecharts/apps/compare/vaultwarden-13.0.17...vaultwarden-13.0.18) (2021-12-21) - -#### Chore - -* update helm general non-major helm releases ([#1596](https://github.com/truecharts/apps/issues/1596)) - - - - -### [vaultwarden-13.0.17](https://github.com/truecharts/apps/compare/vaultwarden-13.0.16...vaultwarden-13.0.17) (2021-12-19) - -#### Chore - -* Last patch bump before RC2 branch-off -* move `envTpl` to `env` ([#1578](https://github.com/truecharts/apps/issues/1578)) -* remove hidden vars/configs from `questions.yaml` after making sure they are defined in `values.yaml` ([#1577](https://github.com/truecharts/apps/issues/1577)) -* remove `editable: true` as this is the default ([#1576](https://github.com/truecharts/apps/issues/1576)) -* remove `Enable the port` button from `questions.yaml` as it was already hidden and defined in `values.yaml` ([#1575](https://github.com/truecharts/apps/issues/1575)) - - - - -### [vaultwarden-13.0.16](https://github.com/truecharts/apps/compare/vaultwarden-13.0.15...vaultwarden-13.0.16) (2021-12-19) - -#### Chore - -* completely remove mountPath reference from GUI ([#1572](https://github.com/truecharts/apps/issues/1572)) -* update helm general non-major helm releases ([#1571](https://github.com/truecharts/apps/issues/1571)) - - - - -### [vaultwarden-13.0.15](https://github.com/truecharts/apps/compare/vaultwarden-13.0.14...vaultwarden-13.0.15) (2021-12-18) - -#### Chore - -* cleanup questions by removing hidden dicts ([#1558](https://github.com/truecharts/apps/issues/1558)) -* App-Icon Organization ([#1539](https://github.com/truecharts/apps/issues/1539)) -* update docker general non-major - - - - -### [vaultwarden-13.0.14](https://github.com/truecharts/apps/compare/vaultwarden-13.0.13...vaultwarden-13.0.14) (2021-12-14) - -#### Chore - -* update helm general non-major helm releases ([#1535](https://github.com/truecharts/apps/issues/1535)) - - - - -### [vaultwarden-13.0.13](https://github.com/truecharts/apps/compare/vaultwarden-13.0.12...vaultwarden-13.0.13) (2021-12-13) - -#### Chore - -* move incubator apps to stable and bump everything - - - - -### [vaultwarden-13.0.12](https://github.com/truecharts/apps/compare/vaultwarden-13.0.11...vaultwarden-13.0.12) (2021-12-11) - -#### Chore - -* update general helm non-major helm releases ([#1509](https://github.com/truecharts/apps/issues/1509)) - - - - -### [vaultwarden-13.0.11](https://github.com/truecharts/apps/compare/vaultwarden-13.0.10...vaultwarden-13.0.11) (2021-12-11) - -#### Chore - -* update non-major docker ([#1507](https://github.com/truecharts/apps/issues/1507)) - - - - -### [vaultwarden-13.0.10](https://github.com/truecharts/apps/compare/vaultwarden-13.0.9...vaultwarden-13.0.10) (2021-12-07) - -#### Chore - -* update non-major deps helm releases ([#1481](https://github.com/truecharts/apps/issues/1481)) - - - - -### vaultwarden-13.0.9 (2021-12-05) - -#### Chore - -* bump apps to generate security page -* move all container references to TCCR ([#1448](https://github.com/truecharts/apps/issues/1448)) -* update non-major deps helm releases ([#1471](https://github.com/truecharts/apps/issues/1471)) -* update non-major deps helm releases ([#1468](https://github.com/truecharts/apps/issues/1468)) -* update non-major deps helm releases ([#1453](https://github.com/truecharts/apps/issues/1453)) -* update non-major deps helm releases ([#1432](https://github.com/truecharts/apps/issues/1432)) - -#### Fix - -* fix typo in theme selection ([#1428](https://github.com/truecharts/apps/issues/1428)) - - - - -### [vaultwarden-13.0.8](https://github.com/truecharts/apps/compare/vaultwarden-13.0.7...vaultwarden-13.0.8) (2021-12-05) - -#### Chore - -* update non-major deps helm releases ([#1468](https://github.com/truecharts/apps/issues/1468)) - - - - -### [vaultwarden-13.0.7](https://github.com/truecharts/apps/compare/vaultwarden-13.0.6...vaultwarden-13.0.7) (2021-12-04) - -#### Chore - -* bump apps to generate security page - - - - -### [vaultwarden-13.0.6](https://github.com/truecharts/apps/compare/vaultwarden-13.0.5...vaultwarden-13.0.6) (2021-12-04) - -#### Chore - -* move all container references to TCCR ([#1448](https://github.com/truecharts/apps/issues/1448)) -* update non-major deps helm releases ([#1453](https://github.com/truecharts/apps/issues/1453)) - - - - -### [vaultwarden-13.0.5](https://github.com/truecharts/apps/compare/vaultwarden-13.0.4...vaultwarden-13.0.5) (2021-11-30) - -#### Chore - -* update non-major deps helm releases ([#1432](https://github.com/truecharts/apps/issues/1432)) - -#### Fix - -* move conflicting ports to 10xxx range ([#1415](https://github.com/truecharts/apps/issues/1415)) - - - - -### [vaultwarden-13.0.4](https://github.com/truecharts/apps/compare/vaultwarden-13.0.3...vaultwarden-13.0.4) (2021-11-23) - -#### Chore - -* update non-major deps helm releases ([#1386](https://github.com/truecharts/apps/issues/1386)) - - - - -### [vaultwarden-13.0.3](https://github.com/truecharts/apps/compare/vaultwarden-13.0.2...vaultwarden-13.0.3) (2021-11-22) - -#### Chore - -* update non-major deps helm releases ([#1383](https://github.com/truecharts/apps/issues/1383)) - -#### Fix - -* Default enable all services ([#1361](https://github.com/truecharts/apps/issues/1361)) - - - - -### [vaultwarden-13.0.2](https://github.com/truecharts/apps/compare/vaultwarden-13.0.1...vaultwarden-13.0.2) (2021-11-16) - -#### Chore - -* update non-major deps helm releases ([#1345](https://github.com/truecharts/apps/issues/1345)) - - - - -### [vaultwarden-13.0.1](https://github.com/truecharts/apps/compare/vaultwarden-13.0.0...vaultwarden-13.0.1) (2021-11-16) - -#### Chore - -* bump postgresql again - - - - -### [vaultwarden-13.0.0](https://github.com/truecharts/apps/compare/vaultwarden-12.0.11...vaultwarden-13.0.0) (2021-11-16) - -#### Chore - -* bump postgresql on some Apps - - - - -### [vaultwarden-12.0.11](https://github.com/truecharts/apps/compare/vaultwarden-12.0.10...vaultwarden-12.0.11) (2021-11-15) - -#### Chore - -* persistence cleanup and small bugfixes ([#1329](https://github.com/truecharts/apps/issues/1329)) -* update non-major deps helm releases ([#1338](https://github.com/truecharts/apps/issues/1338)) - - - - -### [vaultwarden-12.0.10](https://github.com/truecharts/apps/compare/vaultwarden-12.0.9...vaultwarden-12.0.10) (2021-11-14) - -#### Chore - -* fixes around the GUI refactor ([#1316](https://github.com/truecharts/apps/issues/1316)) -* move port above advanced in GUI ([#1326](https://github.com/truecharts/apps/issues/1326)) -* clean up Chart.yaml ([#1322](https://github.com/truecharts/apps/issues/1322)) -* update non-major deps helm releases ([#1328](https://github.com/truecharts/apps/issues/1328)) - -#### Fix - -* split udp and tcp ports ([#1321](https://github.com/truecharts/apps/issues/1321)) -* Allow spaces in paths ([#1306](https://github.com/truecharts/apps/issues/1306)) - - - - -### [vaultwarden-12.0.9](https://github.com/truecharts/apps/compare/vaultwarden-12.0.8...vaultwarden-12.0.9) (2021-11-09) - -#### Chore - -* update non-major deps helm releases ([#1297](https://github.com/truecharts/apps/issues/1297)) - - - - -### [vaultwarden-12.0.8](https://github.com/truecharts/apps/compare/vaultwarden-12.0.7...vaultwarden-12.0.8) (2021-11-07) - -#### Chore - -* update non-major deps helm releases ([#1295](https://github.com/truecharts/apps/issues/1295)) - - - - -### [vaultwarden-12.0.7](https://github.com/truecharts/apps/compare/vaultwarden-12.0.6...vaultwarden-12.0.7) (2021-11-07) - -#### Chore - -* update non-major deps helm releases ([#1291](https://github.com/truecharts/apps/issues/1291)) - -#### Chore - -* Simplify GUI for deployment, persistence and securityContext ([#1289](https://github.com/truecharts/apps/issues/1289)) - -#### Feat - -* Simplify the Services GUI ([#1290](https://github.com/truecharts/apps/issues/1290)) - -#### Fix - -* prevent duplicate port use and fix some questions.yaml mistakes - - - - -### [vaultwarden-12.0.6](https://github.com/truecharts/apps/compare/vaultwarden-12.0.5...vaultwarden-12.0.6) (2021-11-04) - -#### Fix - -* correctly define ingress ([#1283](https://github.com/truecharts/apps/issues/1283)) - - - - -### [vaultwarden-12.0.5](https://github.com/truecharts/apps/compare/vaultwarden-12.0.4...vaultwarden-12.0.5) (2021-11-02) - -#### Chore - -* update non-major deps helm releases ([#1267](https://github.com/truecharts/apps/issues/1267)) - - - - -### [vaultwarden-12.0.4](https://github.com/truecharts/apps/compare/vaultwarden-12.0.3...vaultwarden-12.0.4) (2021-11-01) - -#### Chore - -* update non-major deps helm releases ([#1264](https://github.com/truecharts/apps/issues/1264)) - - - - -### [vaultwarden-12.0.3](https://github.com/truecharts/apps/compare/vaultwarden-12.0.2...vaultwarden-12.0.3) (2021-10-26) - -#### Chore - -* update helm chart postgresql to v5.1.4 ([#1249](https://github.com/truecharts/apps/issues/1249)) - - - - -### [vaultwarden-12.0.2](https://github.com/truecharts/apps/compare/vaultwarden-12.0.1...vaultwarden-12.0.2) (2021-10-26) - -#### Chore - -* update non-major deps helm releases ([#1245](https://github.com/truecharts/apps/issues/1245)) - - - - -### [vaultwarden-12.0.1](https://github.com/truecharts/apps/compare/vaultwarden-12.0.0...vaultwarden-12.0.1) (2021-10-26) - -#### Chore - -* update helm chart common to v8.3.15 ([#1240](https://github.com/truecharts/apps/issues/1240)) - - - - -### [vaultwarden-12.0.0](https://github.com/truecharts/apps/compare/vaultwarden-11.0.5...vaultwarden-12.0.0) (2021-10-26) - -#### Chore - -* update helm chart postgresql to v5 ([#1234](https://github.com/truecharts/apps/issues/1234)) -* update non-major ([#1232](https://github.com/truecharts/apps/issues/1232)) - - - - -### [vaultwarden-11.0.5](https://github.com/truecharts/apps/compare/vaultwarden-10.1.0...vaultwarden-11.0.5) (2021-10-26) - - - - -### [vaultwarden-10.1.0](https://github.com/truecharts/apps/compare/vaultwarden-11.0.0...vaultwarden-10.1.0) (2021-10-26) - -#### Fix - -* fix patch for important postgresql consumping apps - - - - -### [vaultwarden-11.0.0](https://github.com/truecharts/apps/compare/vaultwarden-10.0.3...vaultwarden-11.0.0) (2021-10-25) - -#### Chore - -* Adapt for TrueNAS SCALE RC1 - - - - -### [vaultwarden-10.0.3](https://github.com/truecharts/apps/compare/vaultwarden-10.0.0...vaultwarden-10.0.3) (2021-10-20) - -#### Chore - -* bump apps, remove duplicates and move incubator to stable for RC1 -* update non-major deps helm releases ([#1213](https://github.com/truecharts/apps/issues/1213)) - -#### Fix - -* reenable postgresql migration scripting and bump all to force update - - - - -### [vaultwarden-10.0.0](https://github.com/truecharts/apps/compare/vaultwarden-9.0.23...vaultwarden-10.0.0) (2021-10-20) - -#### Chore - -* update helm chart postgresql to v4 ([#1214](https://github.com/truecharts/apps/issues/1214)) - -#### Fix - -* use correct PVC storageClass when using postgresql as a dependency on SCALE ([#1212](https://github.com/truecharts/apps/issues/1212)) - - - - -### [vaultwarden-9.0.23](https://github.com/truecharts/apps/compare/vaultwarden-9.0.22...vaultwarden-9.0.23) (2021-10-20) - -#### Chore - -* bump versions to rerelease and fix icons - - - - -### [vaultwarden-9.0.22](https://github.com/truecharts/apps/compare/vaultwarden-9.0.21...vaultwarden-9.0.22) (2021-10-19) - -#### Change - -* Project-Eclipse 3, Automatically generate item.yaml ([#1178](https://github.com/truecharts/apps/issues/1178)) - -#### Chore - -* Project-Eclipse 5, move app-readme to automatic generation script ([#1181](https://github.com/truecharts/apps/issues/1181)) -* update helm chart common to v8.3.13 ([#1184](https://github.com/truecharts/apps/issues/1184)) - -#### Feat - -* Project-Eclipse 4, Add App grading annotations to Chart.yaml ([#1180](https://github.com/truecharts/apps/issues/1180)) - -#### Refactor - -* Project Eclipse Part 6, move questions.yaml to root App folder ([#1182](https://github.com/truecharts/apps/issues/1182)) - - - - -### [vaultwarden-9.0.21](https://github.com/truecharts/apps/compare/vaultwarden-9.0.20...vaultwarden-9.0.21) (2021-10-19) - -#### Chore - -* Project-Eclipse part 2, adapting and cleaning changelog ([#1173](https://github.com/truecharts/apps/issues/1173)) -* update helm chart postgresql to v3.0.20 ([#1177](https://github.com/truecharts/apps/issues/1177)) - - - - -### [vaultwarden-9.0.20](https://github.com/truecharts/apps/compare/vaultwarden-9.0.19...vaultwarden-9.0.20) (2021-10-19) - -#### Fix - -* fix previous SCALE bugfix not correctly being applied - - - - -### [vaultwarden-9.0.19](https://github.com/truecharts/apps/compare/vaultwarden-9.0.18...vaultwarden-9.0.19) (2021-10-19) - -#### Fix - -* Solve issues regarding ix_values.yaml not containing the image and tag definitions. ([#1176](https://github.com/truecharts/apps/issues/1176)) - - - - -### [vaultwarden-9.0.18](https://github.com/truecharts/apps/compare/vaultwarden-9.0.17...vaultwarden-9.0.18) (2021-10-18) - -#### Refactor - -* Project Eclipse - part 1 - remove ix_values.yaml ([#1168](https://github.com/truecharts/apps/issues/1168)) - - - - -### [vaultwarden-9.0.17](https://github.com/truecharts/apps/compare/vaultwarden-9.0.16...vaultwarden-9.0.17) (2021-10-17) - -#### Chore - -* update helm chart common to v8.3.10 ([#1160](https://github.com/truecharts/apps/issues/1160)) - -#### Fix - -* force users using correct / prefix for mounPath ([#1156](https://github.com/truecharts/apps/issues/1156)) - - - - -### [vaultwarden-9.0.16](https://github.com/truecharts/apps/compare/vaultwarden-9.0.15...vaultwarden-9.0.16) (2021-10-13) - -#### Chore - -* update non-major deps helm releases ([#1133](https://github.com/truecharts/apps/issues/1133)) - - - - -### [vaultwarden-9.0.15](https://github.com/truecharts/apps/compare/vaultwarden-9.0.14...vaultwarden-9.0.15) (2021-10-12) - -#### Chore - -* update helm chart postgresql to v3.0.15 ([#1127](https://github.com/truecharts/apps/issues/1127)) - - - - -### [vaultwarden-9.0.14](https://github.com/truecharts/apps/compare/vaultwarden-9.0.13...vaultwarden-9.0.14) (2021-10-12) - -#### Chore - -* update non-major deps helm releases ([#1126](https://github.com/truecharts/apps/issues/1126)) - - - - -### [vaultwarden-9.0.13](https://github.com/truecharts/apps/compare/vaultwarden-9.0.12...vaultwarden-9.0.13) (2021-10-12) - -#### Chore - -* update non-major deps helm releases ([#1123](https://github.com/truecharts/apps/issues/1123)) - - - - -### [vaultwarden-9.0.12](https://github.com/truecharts/apps/compare/vaultwarden-9.0.11...vaultwarden-9.0.12) (2021-10-09) - - - - -### [vaultwarden-9.0.11](https://github.com/truecharts/apps/compare/vaultwarden-9.0.10...vaultwarden-9.0.11) (2021-10-05) - -#### Chore - -* update non-major deps helm releases ([#1099](https://github.com/truecharts/apps/issues/1099)) - - - - -### [vaultwarden-9.0.10](https://github.com/truecharts/apps/compare/vaultwarden-9.0.9...vaultwarden-9.0.10) (2021-10-05) - -#### Chore - -* update non-major ([#1098](https://github.com/truecharts/apps/issues/1098)) - - - - -### [vaultwarden-9.0.9](https://github.com/truecharts/apps/compare/vaultwarden-9.0.8...vaultwarden-9.0.9) (2021-09-29) - -#### Chore - -* update helm chart common to v8.0.13 ([#1060](https://github.com/truecharts/apps/issues/1060)) - - - - -### [vaultwarden-9.0.7](https://github.com/truecharts/apps/compare/vaultwarden-9.0.6...vaultwarden-9.0.7) (2021-09-29) - -#### Chore - -* update bitnami/postgresql:13.4.0 docker digest to 33c276d ([#1055](https://github.com/truecharts/apps/issues/1055)) - - - - -### [vaultwarden-9.0.6](https://github.com/truecharts/apps/compare/vaultwarden-9.0.5...vaultwarden-9.0.6) (2021-09-28) - -#### Chore - -* update helm chart postgresql to v3.0.3 ([#1050](https://github.com/truecharts/apps/issues/1050)) - - - - -### [vaultwarden-9.0.5](https://github.com/truecharts/apps/compare/vaultwarden-9.0.4...vaultwarden-9.0.5) (2021-09-28) - -#### Chore - -* update helm chart postgresql to v3.0.2 ([#1049](https://github.com/truecharts/apps/issues/1049)) - - - - -### [vaultwarden-9.0.4](https://github.com/truecharts/apps/compare/vaultwarden-9.0.3...vaultwarden-9.0.4) (2021-09-28) - -#### Chore - -* update non-major ([#1048](https://github.com/truecharts/apps/issues/1048)) - - - - -### [vaultwarden-9.0.3](https://github.com/truecharts/apps/compare/vaultwarden-9.0.2...vaultwarden-9.0.3) (2021-09-28) - -#### Chore - -* update non-major ([#1046](https://github.com/truecharts/apps/issues/1046)) - - - - -### [vaultwarden-9.0.2](https://github.com/truecharts/apps/compare/vaultwarden-9.0.1...vaultwarden-9.0.2) (2021-09-27) - -#### Chore - -* update helm chart postgresql to v3 ([#1041](https://github.com/truecharts/apps/issues/1041)) - - - - -### [vaultwarden-9.0.1](https://github.com/truecharts/apps/compare/vaultwarden-9.0.0...vaultwarden-9.0.1) (2021-09-26) - - - - -### [vaultwarden-9.0.0](https://github.com/truecharts/apps/compare/vaultwarden-8.0.6...vaultwarden-9.0.0) (2021-09-26) - - - - -### [vaultwarden-8.0.6](https://github.com/truecharts/apps/compare/vaultwarden-8.0.5...vaultwarden-8.0.6) (2021-09-21) - -#### Chore - -* update helm chart postgresql to v2.2.5 ([#1017](https://github.com/truecharts/apps/issues/1017)) - - - - -### [vaultwarden-8.0.5](https://github.com/truecharts/apps/compare/vaultwarden-8.0.4...vaultwarden-8.0.5) (2021-09-21) - -#### Chore - -* update non-major deps helm releases ([#1014](https://github.com/truecharts/apps/issues/1014)) - - - - -### [vaultwarden-8.0.4](https://github.com/truecharts/apps/compare/vaultwarden-8.0.3...vaultwarden-8.0.4) (2021-09-21) - -#### Chore - -* update non-major ([#1015](https://github.com/truecharts/apps/issues/1015)) - - - - -### [vaultwarden-8.0.3](https://github.com/truecharts/apps/compare/vaultwarden-8.0.2...vaultwarden-8.0.3) (2021-09-21) - -#### Chore - -* update non-major ([#1013](https://github.com/truecharts/apps/issues/1013)) - - - - -### [vaultwarden-8.0.2](https://github.com/truecharts/apps/compare/vaultwarden-8.0.1...vaultwarden-8.0.2) (2021-09-14) - -#### Chore - -* update non-major ([#987](https://github.com/truecharts/apps/issues/987)) - - - - -### [vaultwarden-8.0.1](https://github.com/truecharts/apps/compare/vaultwarden-7.0.2...vaultwarden-8.0.1) (2021-09-13) - -#### Chore - -* Use bitnami instead of stock postgresql container ([#960](https://github.com/truecharts/apps/issues/960)) -* move more dockerhub containers to GHCR mirror ([#958](https://github.com/truecharts/apps/issues/958)) -* update non-major -* update non-major ([#962](https://github.com/truecharts/apps/issues/962)) - -#### Feat - -* add new GUI and VPN support to all Apps ([#977](https://github.com/truecharts/apps/issues/977)) -* Add VPN addon and move some config to includes ([#973](https://github.com/truecharts/apps/issues/973)) -* pin all container references to digests ([#963](https://github.com/truecharts/apps/issues/963)) -* Move some common containers to our own containers - -#### Fix - -* make sure podSecurityContext is included in both SCALE and Helm installs ([#956](https://github.com/truecharts/apps/issues/956)) - - - - -### [vaultwarden-7.0.2](https://github.com/truecharts/apps/compare/vaultwarden-7.0.1...vaultwarden-7.0.2) (2021-09-10) - -#### Fix - -* update common to ensure initcontainer can always be run as root - - - - -### [vaultwarden-7.0.1](https://github.com/truecharts/apps/compare/vaultwarden-7.0.0...vaultwarden-7.0.1) (2021-09-10) - -#### Fix - -* move runAsNonRoot to container securityContext to allow root sidecarts ([#954](https://github.com/truecharts/apps/issues/954)) - - - - -### [vaultwarden-7.0.0](https://github.com/truecharts/apps/compare/vaultwarden-6.1.12...vaultwarden-7.0.0) (2021-09-09) - -#### Chore - -* update Apps containing initcontainers -not breaking on SCALE- ([#952](https://github.com/truecharts/apps/issues/952)) - -#### Feat - -* Add regex validation to resources CPU and RAM for all apps ([#935](https://github.com/truecharts/apps/issues/935)) -* Pre-commit and tag-appversion syncing ([#926](https://github.com/truecharts/apps/issues/926)) - -#### Fix - -* Inject vaultwarden websocket part into ingress ([#946](https://github.com/truecharts/apps/issues/946)) - - -## [vaultwarden-6.1.12](https://github.com/truecharts/apps/compare/vaultwarden-6.1.11...vaultwarden-6.1.12) (2021-09-08) - -### Fix - -* repair Hyperion and some misplaced GUI elements ([#922](https://github.com/truecharts/apps/issues/922)) diff --git a/charts/enterprise/vaultwarden/Chart.yaml b/charts/enterprise/vaultwarden/Chart.yaml deleted file mode 100644 index b75e5c26a74..00000000000 --- a/charts/enterprise/vaultwarden/Chart.yaml +++ /dev/null @@ -1,37 +0,0 @@ -apiVersion: v2 -appVersion: "1.25.2" -dependencies: - - name: common - repository: https://library-charts.truecharts.org - version: 10.6.0 - - condition: postgresql.enabled - name: postgresql - repository: https://charts.truecharts.org/ - version: 8.0.78 -deprecated: false -description: Unofficial Bitwarden compatible server written in Rust -home: https://truecharts.org/docs/charts/enterprise/vaultwarden -icon: https://truecharts.org/img/hotlink-ok/chart-icons/vaultwarden.png -keywords: - - bitwarden - - bitwardenrs - - bitwarden_rs - - vaultwarden - - password - - rust -kubeVersion: ">=1.16.0-0" -maintainers: - - email: info@truecharts.org - name: TrueCharts - url: https://truecharts.org -name: vaultwarden -sources: - - https://github.com/truecharts/charts/tree/master/charts/enterprise/vaultwarden - - https://github.com/dani-garcia/vaultwarden -type: application -version: 17.0.0 -annotations: - truecharts.org/catagories: | - - security - truecharts.org/SCALE-support: "true" - truecharts.org/grade: U diff --git a/charts/enterprise/vaultwarden/README.md b/charts/enterprise/vaultwarden/README.md deleted file mode 100644 index bbb0f8bc0e1..00000000000 --- a/charts/enterprise/vaultwarden/README.md +++ /dev/null @@ -1,107 +0,0 @@ -# vaultwarden - -Unofficial Bitwarden compatible server written in Rust - -TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. - -This readme is just an automatically generated general guide on installing our Helm Charts and Apps. -For more information, please click here: [vaultwarden](https://truecharts.org/docs/charts/enterprise/vaultwarden) - -**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)** - -## Source Code - -* -* - -## Requirements - -Kubernetes: `>=1.16.0-0` - -## Dependencies - -| Repository | Name | Version | -|------------|------|---------| -| https://charts.truecharts.org/ | postgresql | 8.0.78 | -| https://library-charts.truecharts.org | common | 10.6.0 | - -## Installing the Chart - -### TrueNAS SCALE - -To install this Chart on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Installing-an-App). - -### Helm - -To install the chart with the release name `vaultwarden` - -```console -helm repo add TrueCharts https://charts.truecharts.org -helm repo update -helm install vaultwarden TrueCharts/vaultwarden -``` - -## Uninstall - -### TrueNAS SCALE - -**Upgrading, Rolling Back and Uninstalling the Chart** - -To upgrade, rollback or delete this Chart from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Upgrade-rollback-delete-an-App). - -### Helm - -To uninstall the `vaultwarden` deployment - -```console -helm uninstall vaultwarden -``` - -## Configuration - -### Helm - -#### Available Settings - -Read through the values.yaml file. It has several commented out suggested values. -Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common). - -#### Configure using the command line - -Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. - -```console -helm install vaultwarden \ - --set env.TZ="America/New York" \ - TrueCharts/vaultwarden -``` - -#### Configure using a yaml file - -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. - -```console -helm install vaultwarden TrueCharts/vaultwarden -f values.yaml -``` - -#### Connecting to other charts - -If you need to connect this Chart to other Charts on TrueNAS SCALE, please refer to our [Linking Charts Internally](https://truecharts.org/docs/manual/SCALE%20Apps/linking-apps) quick-start guide. - -## Support - -- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Important-MUST-READ). -- See the [Website](https://truecharts.org) -- Check our [Discord](https://discord.gg/tVsPTHWTtr) -- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - ---- - -## Sponsor TrueCharts - -TrueCharts can only exist due to the incredible effort of our staff. -Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! - ---- - -All Rights Reserved - The TrueCharts Project diff --git a/charts/enterprise/vaultwarden/ci/default-values.yaml b/charts/enterprise/vaultwarden/ci/default-values.yaml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/charts/enterprise/vaultwarden/ci/ingress-values.yaml b/charts/enterprise/vaultwarden/ci/ingress-values.yaml deleted file mode 100644 index 961f466bd75..00000000000 --- a/charts/enterprise/vaultwarden/ci/ingress-values.yaml +++ /dev/null @@ -1,7 +0,0 @@ -# -- Configure the ingresses for the chart here. -# Additional ingresses can be added by adding a dictionary key similar to the 'main' ingress. -# @default -- See below -ingress: - main: - # -- Enables or disables the ingress - enabled: true diff --git a/charts/enterprise/vaultwarden/icon.png b/charts/enterprise/vaultwarden/icon.png deleted file mode 100644 index 78bf16a37e2d89ed8e8ee6758e315659d212f0c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6851 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θ(EJ7CNELg;?-*$i0(=1^G^Jl-4$uS?~KHGoUW7 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 diff --git a/charts/enterprise/vaultwarden/questions.yaml b/charts/enterprise/vaultwarden/questions.yaml deleted file mode 100644 index 69c87ac60e1..00000000000 --- a/charts/enterprise/vaultwarden/questions.yaml +++ /dev/null @@ -1,443 +0,0 @@ -# Include{groups} -portals: - open: -# Include{portalLink} - admin: -# Include{portalLink} - path: "/admin/" -questions: -# Include{global} -# Include{controller} -# Include{controllerDeployment} -# Include{replicas} -# Include{replica1} -# Include{strategy} -# Include{recreate} -# Include{controllerExpert} -# Include{controllerExpertExtraArgs} -# Include{containerConfig} - - variable: vaultwarden - label: "" - group: "App Configuration" - schema: - additional_attrs: true - type: dict - attrs: - - variable: yubico - label: "Yubico OTP authentication" - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: "Enable Yubico OTP authentication" - description: "Please refer to the manual at: https://github.com/dani-garcia/vaultwarden/wiki/Enabling-Yubikey-OTP-authentication" - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: server - label: "Yubico server" - description: "Defaults to YubiCloud" - schema: - type: string - default: "" - - variable: clientId - label: "Yubico ID" - schema: - type: string - default: "" - - variable: secretKey - label: "Yubico Secret Key" - schema: - type: string - default: "" - - variable: admin - label: "Admin Portal" - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: "Enable Admin Portal" - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: disableAdminToken - label: "Make Accessible Without Password/Token" - schema: - type: boolean - default: false - - variable: token - label: "Admin Portal Password/Token" - description: "Will be automatically generated if not defined" - schema: - type: string - default: "" - - variable: icons - label: "Icon Download Settings" - schema: - additional_attrs: true - type: dict - attrs: - - variable: disableDownload - label: "Disable Icon Download" - description: "Disables download of external icons. Setting to true will still serve icons from cache (/data/icon_cache)" - schema: - type: boolean - default: false - - variable: cache - label: "Cache time-to-live" - description: "Cache time-to-live for icons fetched. 0 means no purging" - schema: - type: int - default: 2592000 - - variable: token - label: "Failed Downloads Cache time-to-live" - description: "Cache time-to-live for icons that were not available. 0 means no purging." - schema: - type: int - default: 2592000 - - variable: log - label: "Logging" - schema: - additional_attrs: true - type: dict - attrs: - - variable: level - label: "Log level" - schema: - type: string - default: "info" - required: true - enum: - - value: "trace" - description: "trace" - - value: "debug" - description: "debug" - - value: "info" - description: "info" - - value: "warn" - description: "warn" - - value: "error" - description: "error" - - value: "off" - description: "off" - - variable: file - label: "Log-File Location" - schema: - type: string - default: "" - - variable: smtp - label: "SMTP Settings (Email)" - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: "Enable SMTP Support" - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: host - label: "SMTP hostname" - schema: - type: string - required: true - default: "" - - variable: from - label: "SMTP sender e-mail address" - schema: - type: string - required: true - default: "" - - variable: fromName - label: "SMTP sender name" - schema: - type: string - required: true - default: "" - - variable: user - label: "SMTP username" - schema: - type: string - required: true - default: "" - - variable: password - label: "SMTP password" - description: "Required is user is specified, ignored if no user provided" - schema: - type: string - default: "" - - variable: ssl - label: "Enable SSL connection" - schema: - type: boolean - default: true - - variable: port - label: "SMTP port" - description: "Usually: 25 without SSL, 587 with SSL" - schema: - type: int - default: 587 - - variable: authMechanism - label: "SMTP Authentication Mechanisms" - description: "Comma-separated options: Plain, Login and Xoauth2" - schema: - type: string - default: "Plain" - - variable: heloName - label: "SMTP HELO - Hostname" - description: "Hostname to be sent for SMTP HELO. Defaults to pod name" - schema: - type: string - default: "" - - variable: timeout - label: "SMTP timeout" - schema: - type: int - default: 15 - - variable: invalidHostname - label: "Accept Invalid Hostname" - description: "Accept SSL session if certificate is valid but hostname doesn't match. DANGEROUS, vulnerable to men-in-the-middle attacks!" - schema: - type: boolean - default: false - - variable: invalidCertificate - label: "Accept Invalid Certificate" - description: "Accept invalid certificates. DANGEROUS, vulnerable to men-in-the-middle attacks!" - schema: - type: boolean - default: false - - variable: allowSignups - label: "Allow Signup" - description: "Allow any user to sign-up: https://github.com/dani-garcia/vaultwarden/wiki/Disable-registration-of-new-users" - schema: - type: boolean - default: true - - variable: allowInvitation - label: "Always allow Invitation" - description: "Allow invited users to sign-up even feature is disabled: https://github.com/dani-garcia/vaultwarden/wiki/Disable-invitations" - schema: - type: boolean - default: true - - variable: defaultInviteName - label: "Default Invite Organisation Name" - description: "Default organization name in invitation e-mails that are not coming from a specific organization." - schema: - type: string - default: "" - - variable: showPasswordHint - label: "Show password hints" - description: "https://github.com/dani-garcia/vaultwarden/wiki/Password-hint-display" - schema: - type: boolean - default: true - - variable: signupwhitelistenable - label: "Enable Signup Whitelist" - description: "allowSignups is ignored if set" - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: signupDomains - label: "Signup Whitelist Domains" - schema: - type: list - default: [] - items: - - variable: domain - label: "Domain" - schema: - type: string - default: "" - - variable: verifySignup - label: "Verifiy Signup" - description: "Verify e-mail before login is enabled. SMTP must be enabled" - schema: - type: boolean - default: false - - variable: requireEmail - label: "Block Login if email fails" - description: "When a user logs in an email is required to be sent. If sending the email fails the login attempt will fail. SMTP must be enabled" - schema: - type: boolean - default: false - - variable: emailAttempts - label: "Email token reset attempts" - description: "Maximum attempts before an email token is reset and a new email will need to be sent" - schema: - type: int - default: 3 - - variable: emailTokenExpiration - label: "Email token validity in seconds" - schema: - type: int - default: 600 - - variable: enableWebVault - label: "Enable Webvault" - description: "Enable Web Vault (static content). https://github.com/dani-garcia/vaultwarden/wiki/Disabling-or-overriding-the-Vault-interface-hosting" - schema: - type: boolean - default: true - - variable: orgCreationUsers - label: "Limit Organisation Creation to (users)" - description: "Restrict creation of orgs. Options are: 'all', 'none' or a comma-separated list of users." - schema: - type: string - default: "all" - - variable: attachmentLimitOrg - label: "Limit Attachment Disk Usage per Organisation" - schema: - type: string - default: "" - - variable: attachmentLimitUser - label: "Limit Attachment Disk Usage per User" - schema: - type: string - default: "" - - variable: hibpApiKey - label: "HaveIBeenPwned API Key" - description: "Can be purchased at https://haveibeenpwned.com/API/Key" - schema: - type: string - default: "" -# Include{serviceRoot} - - variable: main - label: "Main Service" - description: "The Primary service on which the healthcheck runs, often the webUI" - schema: - additional_attrs: true - type: dict - attrs: -# Include{serviceSelectorLoadBalancer} -# Include{serviceSelectorExtras} - - variable: main - label: "Main Service Port Configuration" - schema: - additional_attrs: true - type: dict - attrs: - - variable: port - label: "Port" - description: "This port exposes the container port on the service" - schema: - type: int - default: 10102 - required: true -# Include{advancedPortHTTP} - - variable: targetPort - label: "Target Port" - description: "The internal(!) port on the container the Application runs on" - schema: - type: int - default: 8080 - - variable: ws - label: "WebSocket Service" - description: "WebSocket Service" - schema: - additional_attrs: true - type: dict - attrs: -# Include{serviceSelectorLoadBalancer} -# Include{serviceSelectorExtras} - - variable: ws - label: "WebSocket Service Port Configuration" - schema: - additional_attrs: true - type: dict - attrs: - - variable: port - label: "Port" - description: "This port exposes the container port on the service" - schema: - type: int - default: 3012 - required: true -# Include{advancedPortHTTP} - - variable: targetPort - label: "Target Port" - description: "The internal(!) port on the container the Application runs on" - schema: - type: int - default: 3012 -# Include{serviceExpertRoot} - default: false -# Include{serviceExpert} -# Include{serviceList} -# Include{persistenceRoot} - - variable: data - label: "App Config Storage" - description: "Stores the Application Configuration." - schema: - additional_attrs: true - type: dict - attrs: -# Include{persistenceBasic} -# Include{persistenceAdvanced} -# Include{persistenceList} -# Include{ingressRoot} - - variable: main - label: "Main Ingress" - schema: - additional_attrs: true - type: dict - attrs: -# Include{ingressDefault} -# Include{ingressTLS} -# Include{ingressTraefik} -# Include{ingressExpert} -# Include{ingressList} -# Include{security} -# Include{securityContextAdvancedRoot} - - variable: privileged - label: "Privileged mode" - schema: - type: boolean - default: false - - variable: readOnlyRootFilesystem - label: "ReadOnly Root Filesystem" - schema: - type: boolean - default: true - - variable: allowPrivilegeEscalation - label: "Allow Privilege Escalation" - schema: - type: boolean - default: false - - variable: runAsNonRoot - label: "runAsNonRoot" - schema: - type: boolean - default: true -# Include{securityContextAdvanced} -# Include{podSecurityContextRoot} - - variable: runAsUser - label: "runAsUser" - description: "The UserID of the user running the application" - schema: - type: int - default: 568 - - variable: runAsGroup - label: "runAsGroup" - description: "The groupID this App of the user running the application" - schema: - type: int - default: 568 - - variable: fsGroup - label: "fsGroup" - description: "The group that should own ALL storage." - schema: - type: int - default: 568 -# Include{podSecurityContextAdvanced} -# Include{resources} -# Include{advanced} -# Include{addons} -# Include{documentation} diff --git a/charts/enterprise/vaultwarden/templates/_configmap.tpl b/charts/enterprise/vaultwarden/templates/_configmap.tpl deleted file mode 100644 index 8809925abdf..00000000000 --- a/charts/enterprise/vaultwarden/templates/_configmap.tpl +++ /dev/null @@ -1,116 +0,0 @@ -{{/* Define the configmap */}} -{{- define "vaultwarden.configmap" -}} ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: vaultwardenconfig -data: - ROCKET_PORT: "8080" - SIGNUPS_ALLOWED: {{ .Values.vaultwarden.allowSignups | quote }} - {{- if .Values.vaultwarden.signupDomains }} - SIGNUPS_DOMAINS_WHITELIST: {{ join "," .Values.vaultwarden.signupDomains | quote }} - {{- end }} - {{- if and (eq .Values.vaultwarden.verifySignup true) (eq .Values.vaultwarden.smtp.enabled false) }}{{ required "Signup verification requires SMTP to be enabled" nil}}{{end}} - SIGNUPS_VERIFY: {{ .Values.vaultwarden.verifySignup | quote }} - {{- if and (eq .Values.vaultwarden.requireEmail true) (eq .Values.vaultwarden.smtp.enabled false) }}{{ required "Requiring emails for login depends on SMTP" nil}}{{end}} - REQUIRE_DEVICE_EMAIL: {{ .Values.vaultwarden.requireEmail | quote }} - {{- if .Values.vaultwarden.emailAttempts }} - EMAIL_ATTEMPTS_LIMIT: {{ .Values.vaultwarden.emailAttempts | quote }} - {{- end }} - {{- if .Values.vaultwarden.emailTokenExpiration }} - EMAIL_EXPIRATION_TIME: {{ .Values.vaultwarden.emailTokenExpiration | quote }} - {{- end }} - INVITATIONS_ALLOWED: {{ .Values.vaultwarden.allowInvitation | quote }} - {{- if .Values.vaultwarden.defaultInviteName }} - INVITATION_ORG_NAME: {{ .Values.vaultwarden.defaultInviteName | quote }} - {{- end }} - SHOW_PASSWORD_HINT: {{ .Values.vaultwarden.showPasswordHint | quote }} - WEBSOCKET_ENABLED: {{ .Values.vaultwarden.enableWebsockets | quote }} - WEB_VAULT_ENABLED: {{ .Values.vaultwarden.enableWebVault | quote }} - ORG_CREATION_USERS: {{ .Values.vaultwarden.orgCreationUsers | quote }} - {{- if .Values.vaultwarden.attachmentLimitOrg }} - ORG_ATTACHMENT_LIMIT: {{ .Values.vaultwarden.attachmentLimitOrg | quote }} - {{- end }} - {{- if .Values.vaultwarden.attachmentLimitUser }} - USER_ATTACHMENT_LIMIT: {{ .Values.vaultwarden.attachmentLimitUser | quote }} - {{- end }} - {{- if .Values.vaultwarden.hibpApiKey }} - HIBP_API_KEY: {{ .Values.vaultwarden.hibpApiKey | quote }} - {{- end }} - {{- include "vaultwarden.dbTypeValid" . }} - {{- if .Values.database.retries }} - DB_CONNECTION_RETRIES: {{ .Values.database.retries | quote }} - {{- end }} - {{- if .Values.database.maxConnections }} - DATABASE_MAX_CONNS: {{ .Values.database.maxConnections | quote }} - {{- end }} - {{- if eq .Values.vaultwarden.smtp.enabled true }} - SMTP_HOST: {{ required "SMTP host is required to enable SMTP" .Values.vaultwarden.smtp.host | quote }} - SMTP_FROM: {{ required "SMTP sender address ('from') is required to enable SMTP" .Values.vaultwarden.smtp.from | quote }} - {{- if .Values.vaultwarden.smtp.fromName }} - SMTP_FROM_NAME: {{ .Values.vaultwarden.smtp.fromName | quote }} - {{- end }} - {{- if .Values.vaultwarden.smtp.ssl }} - SMTP_SSL: {{ .Values.vaultwarden.smtp.ssl | quote }} - {{- end }} - {{- if .Values.vaultwarden.smtp.port }} - SMTP_PORT: {{ .Values.vaultwarden.smtp.port | quote }} - {{- end }} - {{- if .Values.vaultwarden.smtp.authMechanism }} - SMTP_AUTH_MECHANISM: {{ .Values.vaultwarden.smtp.authMechanism | quote }} - {{- end }} - {{- if .Values.vaultwarden.smtp.heloName }} - HELO_NAME: {{ .Values.vaultwarden.smtp.heloName | quote }} - {{- end }} - {{- if .Values.vaultwarden.smtp.timeout }} - SMTP_TIMEOUT: {{ .Values.vaultwarden.smtp.timeout | quote }} - {{- end }} - {{- if .Values.vaultwarden.smtp.invalidHostname }} - SMTP_ACCEPT_INVALID_HOSTNAMES: {{ .Values.vaultwarden.smtp.invalidHostname | quote }} - {{- end }} - {{- if .Values.vaultwarden.smtp.invalidCertificate }} - SMTP_ACCEPT_INVALID_CERTS: {{ .Values.vaultwarden.smtp.invalidCertificate | quote }} - {{- end }} - {{- end }} - {{- if .Values.vaultwarden.log.file }} - LOG_FILE: {{ .Values.vaultwarden.log.file | quote }} - {{- end }} - {{- if or .Values.vaultwarden.log.level .Values.vaultwarden.log.timeFormat }} - EXTENDED_LOGGING: "true" - {{- end }} - {{- if .Values.vaultwarden.log.level }} - {{- include "vaultwarden.logLevelValid" . }} - LOG_LEVEL: {{ .Values.vaultwarden.log.level | quote }} - {{- end }} - {{- if .Values.vaultwarden.log.timeFormat }} - LOG_TIMESTAMP_FORMAT: {{ .Values.vaultwarden.log.timeFormat | quote }} - {{- end }} - {{- if .Values.vaultwarden.icons.disableDownload }} - DISABLE_ICON_DOWNLOAD: {{ .Values.vaultwarden.icons.disableDownload | quote }} - {{- if and (not .Values.vaultwarden.icons.cache) (eq .Values.vaultwarden.icons.disableDownload "true") }} - ICON_CACHE_TTL: "0" - {{- end }} - {{- end }} - {{- if .Values.vaultwarden.icons.cache }} - ICON_CACHE_TTL: {{ .Values.vaultwarden.icons.cache | quote }} - {{- end }} - {{- if .Values.vaultwarden.icons.cacheFailed }} - ICON_CACHE_NEGTTL: {{ .Values.vaultwarden.icons.cacheFailed | quote }} - {{- end }} - {{- if eq .Values.vaultwarden.admin.enabled true }} - {{- if eq .Values.vaultwarden.admin.disableAdminToken true }} - DISABLE_ADMIN_TOKEN: "true" - {{- end }} - {{- end }} - {{- if eq .Values.vaultwarden.yubico.enabled true }} - {{- if .Values.vaultwarden.yubico.server }} - YUBICO_SERVER: {{ .Values.vaultwarden.yubico.server | quote }} - {{- end }} - {{- end }} - {{- if eq .Values.database.type "sqlite" }} - ENABLE_DB_WAL: {{ .Values.database.wal | quote }} - {{- else }} - ENABLE_DB_WAL: "false" - {{- end }} -{{- end -}} diff --git a/charts/enterprise/vaultwarden/templates/_secrets.tpl b/charts/enterprise/vaultwarden/templates/_secrets.tpl deleted file mode 100644 index ca5ec74b0af..00000000000 --- a/charts/enterprise/vaultwarden/templates/_secrets.tpl +++ /dev/null @@ -1,36 +0,0 @@ -{{/* Define the secrets */}} -{{- define "vaultwarden.secrets" -}} - -{{- $adminToken := "" }} -{{- if eq .Values.vaultwarden.admin.enabled true }} -{{- $adminToken = .Values.vaultwarden.admin.token | default (randAlphaNum 48) | b64enc | quote }} -{{- end -}} - -{{- $smtpUser := "" }} -{{- if and (eq .Values.vaultwarden.smtp.enabled true ) (.Values.vaultwarden.smtp.user) }} -{{- $smtpUser = .Values.vaultwarden.smtp.user | b64enc | quote }} -{{- end -}} - -{{- $yubicoClientId := "" }} -{{- if eq .Values.vaultwarden.yubico.enabled true }} -{{- $yubicoClientId = required "Yubico Client ID required" .Values.vaultwarden.yubico.clientId | toString | b64enc | quote }} -{{- end -}} ---- - -apiVersion: v1 -kind: Secret -metadata: - name: vaultwardensecret -data: - {{- if ne $adminToken "" }} - ADMIN_TOKEN: {{ $adminToken }} - {{- end }} - {{- if ne $smtpUser "" }} - SMTP_USERNAME: {{ $smtpUser }} - SMTP_PASSWORD: {{ required "Must specify SMTP password" .Values.vaultwarden.smtp.password | b64enc | quote }} - {{- end }} - {{- if ne $yubicoClientId "" }} - YUBICO_CLIENT_ID: {{ $yubicoClientId }} - YUBICO_SECRET_KEY: {{ required "Yubico Secret Key required" .Values.vaultwarden.yubico.secretKey | b64enc | quote }} - {{- end }} -{{- end -}} diff --git a/charts/enterprise/vaultwarden/templates/_validate.tpl b/charts/enterprise/vaultwarden/templates/_validate.tpl deleted file mode 100644 index e4832c2f6e5..00000000000 --- a/charts/enterprise/vaultwarden/templates/_validate.tpl +++ /dev/null @@ -1,17 +0,0 @@ -{{/* -Ensure valid DB type is select, defaults to SQLite -*/}} -{{- define "vaultwarden.dbTypeValid" -}} -{{- if not (or (eq .Values.database.type "postgresql") (eq .Values.database.type "mysql") (eq .Values.database.type "sqlite")) }} -{{- required "Invalid database type" nil }} -{{- end -}} -{{- end -}} - -{{/* -Ensure log type is valid -*/}} -{{- define "vaultwarden.logLevelValid" -}} -{{- if not (or (eq .Values.vaultwarden.log.level "trace") (eq .Values.vaultwarden.log.level "debug") (eq .Values.vaultwarden.log.level "info") (eq .Values.vaultwarden.log.level "warn") (eq .Values.vaultwarden.log.level "error") (eq .Values.vaultwarden.log.level "off")) }} -{{- required "Invalid log level" nil }} -{{- end }} -{{- end }} diff --git a/charts/enterprise/vaultwarden/templates/common.yaml b/charts/enterprise/vaultwarden/templates/common.yaml deleted file mode 100644 index 577816b14ce..00000000000 --- a/charts/enterprise/vaultwarden/templates/common.yaml +++ /dev/null @@ -1,39 +0,0 @@ -{{/* Make sure all variables are set properly */}} -{{- include "tc.common.loader.init" . }} - - -{{/* Render configmap for vaultwarden */}} -{{- include "vaultwarden.configmap" . }} - -{{/* Render secrets for vaultwarden */}} -{{- include "vaultwarden.secrets" . }} - -{{/* Define path for websocket */}} -{{- define "vaultwarden.websocket" -}} -{{- $fullname := include "tc.common.names.fullname" . -}} -path: "/notifications/hub" -# -- Ignored if not kubeVersion >= 1.14-0 -pathType: Prefix -service: - # -- Overrides the service name reference for this path - name: {{ printf "%s-ws" $fullname }} - port: {{ .Values.service.ws.ports.ws.port }} -{{- end -}} - -{{/* inject websocket path to all main ingress hosts*/}} -{{- define "vaultwarden.websocketinjector" -}} -{{- $path := list (include "vaultwarden.websocket" . | fromYaml) -}} -{{- if .Values.ingress.main.enabled }} -{{- range .Values.ingress.main.hosts }} -{{- $newpaths := list }} -{{- $newpaths := concat .paths $path }} -{{- $_ := set . "paths" ( deepCopy $newpaths ) -}} -{{- end }} -{{- end }} -{{- end -}} - -{{/* inject websocket paths in ingress */}} -{{- include "vaultwarden.websocketinjector" . }} - -{{/* Render the templates */}} -{{ include "tc.common.loader.apply" . }} diff --git a/charts/enterprise/vaultwarden/values.yaml b/charts/enterprise/vaultwarden/values.yaml deleted file mode 100644 index 66fcab86267..00000000000 --- a/charts/enterprise/vaultwarden/values.yaml +++ /dev/null @@ -1,159 +0,0 @@ -image: - repository: tccr.io/truecharts/vaultwarden - pullPolicy: IfNotPresent - tag: 1.25.2@sha256:ec34588ef04cfdf79cdbb0f90882b3073d8baa39d9aaf8aa86abbb263049f8eb - -service: - main: - ports: - main: - port: 10102 - targetPort: 8080 - ws: - enabled: true - ports: - ws: - enabled: true - port: 3012 - targetPort: 3012 - -env: - DOMAIN: "https://{{ if .Values.ingress }}{{ if .Values.ingress.main.enabled }}{{ ( index .Values.ingress.main.hosts 0 ).host }}{{ else }}placeholder.com{{ end }}{{ else }}placeholder.com{{ end }}" - DATABASE_URL: - secretKeyRef: - name: dbcreds - key: url - -envFrom: - - configMapRef: - name: vaultwardenconfig - - secretRef: - name: vaultwardensecret - -database: - # -- Database type, - # must be one of: 'sqlite', 'mysql' or 'postgresql'. - type: postgresql - # -- Enable DB Write-Ahead-Log for SQLite, - # disabled for other databases. https://github.com/dani-garcia/bitwarden_rs/wiki/Running-without-WAL-enabled - wal: true - ## URL for external databases (mysql://user:pass@host:port or postgresql://user:pass@host:port). - # url: "" - ## Set the size of the database connection pool. - # maxConnections: 10 - ## Connection retries during startup, 0 for infinite. 1 second between retries. - # retries: 15 - -# Set Bitwarden_rs application variables -vaultwarden: - # -- Allow any user to sign-up - # see: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-registration-of-new-users - allowSignups: true - ## Whitelist domains allowed to sign-up. 'allowSignups' is ignored if set. - # signupDomains: - # - domain.tld - # -- Verify e-mail before login is enabled. - # SMTP must be enabled. - verifySignup: false - # When a user logs in an email is required to be sent. If sending the email fails the login attempt will fail. SMTP must be enabled. - requireEmail: false - ## Maximum attempts before an email token is reset and a new email will need to be sent. - # emailAttempts: 3 - ## Email token validity in seconds. - # emailTokenExpiration: 600 - # Allow invited users to sign-up even feature is disabled: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-invitations - allowInvitation: true - # Show password hints: https://github.com/dani-garcia/bitwarden_rs/wiki/Password-hint-display - ## Default organization name in invitation e-mails that are not coming from a specific organization. - # defaultInviteName: "" - showPasswordHint: true - # Enable Websockets for notification. https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-WebSocket-notifications - # Redirect HTTP path "/notifications/hub" to port 3012. Ingress/IngressRoute controllers are automatically configured. - enableWebsockets: true - # Enable Web Vault (static content). https://github.com/dani-garcia/bitwarden_rs/wiki/Disabling-or-overriding-the-Vault-interface-hosting - enableWebVault: true - # Restrict creation of orgs. Options are: 'all', 'none' or a comma-separated list of users. - orgCreationUsers: all - ## Limit attachment disk usage per organization. - # attachmentLimitOrg: - ## Limit attachment disk usage per user. - # attachmentLimitUser: - ## HaveIBeenPwned API Key. Can be purchased at https://haveibeenpwned.com/API/Key. - # hibpApiKey: - - admin: - # Enable admin portal. - enabled: false - # Disabling the admin token will make the admin portal accessible to anyone, use carefully: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-admin-token - disableAdminToken: false - ## Token for admin login, will be generated if not defined. https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-admin-page - # token: - - # Enable SMTP. https://github.com/dani-garcia/bitwarden_rs/wiki/SMTP-configuration - smtp: - enabled: false - # SMTP hostname, required if SMTP is enabled. - host: "" - # SMTP sender e-mail address, required if SMTP is enabled. - from: "" - ## SMTP sender name, defaults to 'Bitwarden_RS'. - # fromName: "" - ## Enable SSL connection. - # ssl: true - ## SMTP port. Defaults to 25 without SSL, 587 with SSL. - # port: 587 - ## SMTP Authentication Mechanisms. Comma-separated options: 'Plain', 'Login' and 'Xoauth2'. Defaults to 'Plain'. - # authMechanism: Plain - ## Hostname to be sent for SMTP HELO. Defaults to pod name. - # heloName: "" - ## SMTP timeout. - # timeout: 15 - ## Accept SSL session if certificate is valid but hostname doesn't match. DANGEROUS, vulnerable to men-in-the-middle attacks! - # invalidHostname: false - ## Accept invalid certificates. DANGEROUS, vulnerable to men-in-the-middle attacks! - # invalidCertificate: false - ## SMTP username. - # user: "" - ## SMTP password. Required is user is specified, ignored if no user provided. - # password: "" - - ## Enable Yubico OTP authentication. https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-Yubikey-OTP-authentication - yubico: - enabled: false - ## Yubico server. Defaults to YubiCloud. - # server: - ## Yubico ID and Secret Key. - # clientId: - # secretKey: - - ## Logging options. https://github.com/dani-garcia/bitwarden_rs/wiki/Logging - log: - # Log to file. - file: "" - # Log level. Options are "trace", "debug", "info", "warn", "error" or "off". - level: "trace" - ## Log timestamp format. See https://docs.rs/chrono/0.4.15/chrono/format/strftime/index.html. Defaults to time in milliseconds. - # timeFormat: "" - - icons: - # Disables download of external icons. Setting to true will still serve icons from cache (/data/icon_cache). TTL will default to zero. - disableDownload: false - ## Cache time-to-live for icons fetched. 0 means no purging. - # cache: 2592000 - ## Cache time-to-live for icons that were not available. 0 means no purging. - # cacheFailed: 259200 - -persistence: - data: - enabled: true - mountPath: "/data" - -# Enabled postgres -postgresql: - enabled: true - existingSecret: "dbcreds" - postgresqlUsername: vaultwarden - postgresqlDatabase: vaultwarden - -portal: - enabled: true