diff --git a/.github/ct-install.yaml b/.github/ct-install.yaml index 1d637002..83107f9f 100644 --- a/.github/ct-install.yaml +++ b/.github/ct-install.yaml @@ -4,8 +4,10 @@ helm-extra-args: --timeout 600s chart-dirs: - charts excluded-charts: -- common-test +- alertmanager-bot - dnsmadeeasy-webhook +- zigbee2mqtt chart-repos: - bitnami=https://charts.bitnami.com/bitnami +- k8s-at-home-libraries=https://library-charts.k8s-at-home.com - k8s-at-home=https://k8s-at-home.com/charts diff --git a/.github/ct-lint.yaml b/.github/ct-lint.yaml index 9fda8101..a520ca31 100644 --- a/.github/ct-lint.yaml +++ b/.github/ct-lint.yaml @@ -6,4 +6,5 @@ chart-dirs: excluded-charts: chart-repos: - bitnami=https://charts.bitnami.com/bitnami +- k8s-at-home-libraries=https://library-charts.k8s-at-home.com - k8s-at-home=https://k8s-at-home.com/charts diff --git a/.github/workflows/charts-lint-test.yaml b/.github/workflows/charts-lint-test.yaml index 627c6866..3fc0ee34 100644 --- a/.github/workflows/charts-lint-test.yaml +++ b/.github/workflows/charts-lint-test.yaml @@ -15,7 +15,6 @@ jobs: runs-on: ubuntu-20.04 outputs: changed: ${{ steps.list-changed.outputs.changed }} - common: ${{ steps.list-changed.outputs.common }} steps: - name: Checkout uses: actions/checkout@v2 @@ -42,15 +41,10 @@ jobs: echo "::set-output name=changed::true" fi - changed_unfiltered=$(ct list-changed --config .github/ct-lint.yaml --excluded-charts "") - if [[ $(grep -E "^charts/common(-test)?$" <<< "$changed_unfiltered") ]]; then - echo "::set-output name=common::true" - fi - - name: Run chart-testing (lint) id: lint - run: ct lint --config .github/ct-lint.yaml --excluded-charts "" - if: steps.list-changed.outputs.changed == 'true' || steps.list-changed.outputs.common == 'true' + run: ct lint --config .github/ct-lint.yaml + if: steps.list-changed.outputs.changed == 'true' unittest: if: "!contains(github.event.head_commit.message, '[ci-skip]')" @@ -106,15 +100,12 @@ jobs: - name: Set up chart-testing uses: helm/chart-testing-action@v2.0.1 - - name: Create kind cluster - uses: helm/kind-action@v1.1.0 - if: needs.lint.outputs.changed == 'true' || needs.lint.outputs.common == 'true' + - name: Create k3d cluster + uses: nolar/setup-k3d-k3s@v1 + with: + version: v1.19 + if: needs.lint.outputs.changed == 'true' - name: Run chart-testing (install) run: ct install --config .github/ct-install.yaml if: needs.lint.outputs.changed == 'true' - - - name: Run chart-testing (common-test) - run: | - ct install --config .github/ct-install.yaml --charts 'charts/common-test' - if: needs.lint.outputs.common == 'true' diff --git a/charts/airsonic/Chart.yaml b/charts/airsonic/Chart.yaml index cb1a7fe3..2130c021 100644 --- a/charts/airsonic/Chart.yaml +++ b/charts/airsonic/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 10.6.2 description: Airsonic is a Free and Open Source community driven media server name: airsonic -version: 1.1.0 +version: 1.2.0 kubeVersion: ">=1.16.0-0" keywords: - airsonic @@ -17,5 +17,5 @@ maintainers: url: https://patricol.co/ dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/alertmanager-bot/Chart.yaml b/charts/alertmanager-bot/Chart.yaml index 09568c8a..e681e664 100644 --- a/charts/alertmanager-bot/Chart.yaml +++ b/charts/alertmanager-bot/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 0.4.2 description: Bot for Prometheus Alertmanager name: alertmanager-bot -version: 3.1.0 +version: 3.2.0 kubeVersion: ">=1.16.0-0" keywords: - alertmanager @@ -18,5 +18,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/alertmanager-bot/values.yaml b/charts/alertmanager-bot/values.yaml index 864b89bb..bc03c97a 100644 --- a/charts/alertmanager-bot/values.yaml +++ b/charts/alertmanager-bot/values.yaml @@ -28,6 +28,14 @@ service: ingress: enabled: false +probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false + persistence: data: enabled: false diff --git a/charts/appdaemon/Chart.yaml b/charts/appdaemon/Chart.yaml index 1bcbc812..df40d64e 100644 --- a/charts/appdaemon/Chart.yaml +++ b/charts/appdaemon/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 4.0.5 description: AppDaemon is a loosely coupled, multi-threaded, sandboxed python execution environment for writing automation apps for various types of Home Automation Software including Home Assistant and MQTT. name: appdaemon -version: 3.1.0 +version: 3.2.0 kubeVersion: ">=1.16.0-0" keywords: - appdaemon @@ -17,5 +17,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/bazarr/Chart.yaml b/charts/bazarr/Chart.yaml index a8df9308..1995d693 100644 --- a/charts/bazarr/Chart.yaml +++ b/charts/bazarr/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: v0.9.0.5 description: Bazarr is a companion application to Sonarr and Radarr. It manages and downloads subtitles based on your requirements name: bazarr -version: 6.1.0 +version: 6.2.0 kubeVersion: ">=1.16.0-0" keywords: - bazarr @@ -21,5 +21,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/booksonic-air/Chart.yaml b/charts/booksonic-air/Chart.yaml index e255f74b..543e41b5 100644 --- a/charts/booksonic-air/Chart.yaml +++ b/charts/booksonic-air/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: v2009.1.0 description: Booksonic is a platform for accessing the audibooks you own wherever you are name: booksonic-air -version: 3.1.0 +version: 3.2.0 kubeVersion: ">=1.16.0-0" keywords: - booksonic @@ -17,5 +17,5 @@ maintainers: email: wojoinc@pm.me dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/calibre-web/Chart.yaml b/charts/calibre-web/Chart.yaml index 33d29c59..4993eaae 100644 --- a/charts/calibre-web/Chart.yaml +++ b/charts/calibre-web/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 0.6.9 description: Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. name: calibre-web -version: 5.1.0 +version: 5.2.0 kubeVersion: ">=1.16.0-0" keywords: - calibre @@ -17,5 +17,5 @@ maintainers: email: wojoinc@pm.me dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/common-test/.helmignore b/charts/common-test/.helmignore deleted file mode 100644 index 4379e2b3..00000000 --- a/charts/common-test/.helmignore +++ /dev/null @@ -1,26 +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 diff --git a/charts/common-test/Chart.yaml b/charts/common-test/Chart.yaml deleted file mode 100644 index 2b142104..00000000 --- a/charts/common-test/Chart.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v2 -name: common-test -description: Helper chart to test different use cases of the common library -version: 1.0.5 -kubeVersion: ">=1.16.0-0" -keywords: -- k8s-at-home -- common -home: https://github.com/k8s-at-home/charts/tree/master/charts/common-test -maintainers: -- name: bjw-s - email: me@bjw-s.dev -dependencies: -- name: common - repository: file://../common - version: n/a diff --git a/charts/common-test/README.md b/charts/common-test/README.md deleted file mode 100644 index bd0c056e..00000000 --- a/charts/common-test/README.md +++ /dev/null @@ -1,110 +0,0 @@ -# common-test - -![Version: 1.0.5](https://img.shields.io/badge/Version-1.0.5-informational?style=flat-square) - -Helper chart to test different use cases of the common library - -**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)** - -## Requirements - -Kubernetes: `>=1.16.0-0` - -## Dependencies - -| Repository | Name | Version | -|------------|------|---------| -| file://../common | common | n/a | - -## TL;DR - -```console -helm repo add k8s-at-home https://k8s-at-home.com/charts/ -helm repo update -helm install common-test k8s-at-home/common-test -``` - -## Installing the Chart - -To install the chart with the release name `common-test` - -```console -helm install common-test k8s-at-home/common-test -``` - -## Uninstalling the Chart - -To uninstall the `common-test` deployment - -```console -helm uninstall common-test -``` - -The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release. - -## Configuration - -Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values. -Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common). - -Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. - -```console -helm install common-test \ - --set env.TZ="America/New York" \ - k8s-at-home/common-test -``` - -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. - -```console -helm install common-test k8s-at-home/common-test -f values.yaml -``` - -## Custom configuration - -N/A - -## Values - -**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/) - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| image.pullPolicy | string | `"IfNotPresent"` | | -| image.repository | string | `"b4bz/homer"` | | -| image.tag | string | `"latest"` | | -| ingress.enabled | bool | `true` | | -| service.port.port | int | `8080` | | - -## Changelog - -All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog). - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -### [1.0.5] - -#### Added - -- N/A - -#### Changed - -- use helm-docs - -#### Removed - -- N/A - -[1.0.5]: #1.0.5 - -## Support - -- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/) -- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose) -- Ask a [question](https://github.com/k8s-at-home/organization/discussions) -- Join our [Discord](https://discord.gg/sTMX7Vh) community - ----------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) \ No newline at end of file diff --git a/charts/common-test/README.md.gotmpl b/charts/common-test/README.md.gotmpl deleted file mode 100644 index 8b868671..00000000 --- a/charts/common-test/README.md.gotmpl +++ /dev/null @@ -1,145 +0,0 @@ -{{- define "custom.repository.organization" -}} -k8s-at-home -{{- end -}} - -{{- define "custom.repository.url" -}} -https://github.com/k8s-at-home/charts -{{- end -}} - -{{- define "custom.helm.url" -}} -https://k8s-at-home.com/charts/ -{{- end -}} - -{{- define "custom.helm.path" -}} -{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }} -{{- end -}} - -{{- define "custom.notes" -}} -**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)** -{{- end -}} - -{{- define "custom.requirements" -}} -## Requirements - -{{ template "chart.kubeVersionLine" . }} -{{- end -}} - -{{- define "custom.dependencies" -}} -## Dependencies - -{{ template "chart.requirementsTable" . }} -{{- end -}} - -{{- define "custom.install.tldr" -}} -## TL;DR - -```console -helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }} -helm repo update -helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -``` -{{- end -}} - -{{- define "custom.install" -}} -## Installing the Chart - -To install the chart with the release name `{{ template "chart.name" . }}` - -```console -helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -``` -{{- end -}} - -{{- define "custom.uninstall" -}} -## Uninstalling the Chart - -To uninstall the `{{ template "chart.name" . }}` deployment - -```console -helm uninstall {{ template "chart.name" . }} -``` - -The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release. -{{- end -}} - -{{- define "custom.configuration.header" -}} -## Configuration -{{- end -}} - -{{- define "custom.configuration.readValues" -}} -Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values. -Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common). -{{- end -}} - -{{- define "custom.configuration.example.set" -}} -Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. - -```console -helm install {{ template "chart.name" . }} \ - --set env.TZ="America/New York" \ - {{ template "custom.helm.path" . }} -``` -{{- end -}} - -{{- define "custom.configuration.example.file" -}} -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. - -```console -helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml -``` -{{- end -}} - -{{- define "custom.valuesSection" -}} -## Values - -**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/) - -{{ template "chart.valuesTable" . }} -{{- end -}} - -{{- define "custom.support" -}} -## Support - -- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/) -- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose) -- Ask a [question](https://github.com/k8s-at-home/organization/discussions) -- Join our [Discord](https://discord.gg/sTMX7Vh) community -{{- end -}} - -{{ template "chart.header" . }} - -{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }} - -{{ template "chart.description" . }} - -{{ template "custom.notes" . }} - -{{ template "chart.sourcesSection" . }} - -{{ template "custom.requirements" . }} - -{{ template "custom.dependencies" . }} - -{{ template "custom.install.tldr" . }} - -{{ template "custom.install" . }} - -{{ template "custom.uninstall" . }} - -{{ template "custom.configuration.header" . }} - -{{ template "custom.configuration.readValues" . }} - -{{ template "custom.configuration.example.set" . }} - -{{ template "custom.configuration.example.file" . }} - -{{ template "custom.custom.configuration" . }} - -{{ template "custom.valuesSection" . }} - -{{ template "custom.changelog" . }} - -{{ template "custom.support" . }} - -{{ template "helm-docs.versionFooter" . }} diff --git a/charts/common-test/README_CHANGELOG.md.gotmpl b/charts/common-test/README_CHANGELOG.md.gotmpl deleted file mode 100644 index 2738dc96..00000000 --- a/charts/common-test/README_CHANGELOG.md.gotmpl +++ /dev/null @@ -1,27 +0,0 @@ -{{- define "custom.changelog.header" -}} -## Changelog -{{- end -}} - -{{- define "custom.changelog" -}} -{{ template "custom.changelog.header" . }} - -All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog). - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -### [1.0.5] - -#### Added - -- N/A - -#### Changed - -- use helm-docs - -#### Removed - -- N/A - -[1.0.5]: #1.0.5 -{{- end -}} diff --git a/charts/common-test/README_CONFIG.md.gotmpl b/charts/common-test/README_CONFIG.md.gotmpl deleted file mode 100644 index e93d80bf..00000000 --- a/charts/common-test/README_CONFIG.md.gotmpl +++ /dev/null @@ -1,9 +0,0 @@ -{{- define "custom.custom.configuration.header" -}} -## Custom configuration -{{- end -}} - -{{- define "custom.custom.configuration" -}} -{{ template "custom.custom.configuration.header" . }} - -N/A -{{- end -}} diff --git a/charts/common-test/ci/basic-values.yaml b/charts/common-test/ci/basic-values.yaml deleted file mode 100644 index 8a6f19fd..00000000 --- a/charts/common-test/ci/basic-values.yaml +++ /dev/null @@ -1,19 +0,0 @@ -image: - repository: b4bz/homer - tag: latest - pullPolicy: IfNotPresent - -service: - port: - port: 8080 - -ingress: - enabled: true - -probes: - liveness: - enabled: true - readiness: - enabled: true - startup: - enabled: true diff --git a/charts/common-test/ci/codeserver-values.yaml b/charts/common-test/ci/codeserver-values.yaml deleted file mode 100644 index 3034f367..00000000 --- a/charts/common-test/ci/codeserver-values.yaml +++ /dev/null @@ -1,27 +0,0 @@ -image: - repository: b4bz/homer - tag: latest - pullPolicy: IfNotPresent - -service: - port: - port: 8080 - -ingress: - enabled: true - -persistence: - config: - enabled: true - emptyDir: true - mountPath: /www/assets - -addons: - codeserver: - enabled: true - workingDir: "/www/assets" - ingress: - enabled: true - volumeMounts: - - name: config - mountPath: /www/assets diff --git a/charts/common-test/templates/common.yaml b/charts/common-test/templates/common.yaml deleted file mode 100644 index a6613c2c..00000000 --- a/charts/common-test/templates/common.yaml +++ /dev/null @@ -1 +0,0 @@ -{{ include "common.all" . }} diff --git a/charts/common-test/values.yaml b/charts/common-test/values.yaml deleted file mode 100644 index 55d4876a..00000000 --- a/charts/common-test/values.yaml +++ /dev/null @@ -1,11 +0,0 @@ -image: - repository: b4bz/homer - tag: latest - pullPolicy: IfNotPresent - -service: - port: - port: 8080 - -ingress: - enabled: true diff --git a/charts/common/.helmignore b/charts/common/.helmignore deleted file mode 100644 index 0e8a0eb3..00000000 --- a/charts/common/.helmignore +++ /dev/null @@ -1,23 +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 -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/common/Chart.yaml b/charts/common/Chart.yaml deleted file mode 100644 index e8a0d365..00000000 --- a/charts/common/Chart.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v2 -name: common -description: Function library for k8s-at-home charts -type: library -version: 3.1.0 -kubeVersion: ">=1.16.0-0" -keywords: -- k8s-at-home -- common -home: https://github.com/k8s-at-home/charts/tree/master/charts/common -maintainers: -- name: bjw-s - email: me@bjw-s.dev -- name: nicholaswilde - email: ncwilde43@gmail.com diff --git a/charts/common/README.md b/charts/common/README.md deleted file mode 100644 index a4b760f4..00000000 --- a/charts/common/README.md +++ /dev/null @@ -1,433 +0,0 @@ -# common - -![Version: 3.1.0](https://img.shields.io/badge/Version-3.1.0-informational?style=flat-square) ![Type: library](https://img.shields.io/badge/Type-library-informational?style=flat-square) - -Function library for k8s-at-home charts - -**WARNING: THIS CHART IS NOT MEANT TO BE INSTALLED DIRECTLY** - -This is a [Helm Library Chart](https://helm.sh/docs/topics/library_charts/#helm). It's purpose is for grouping common logic between the k8s@home charts. - -Since a lot of charts follow the same pattern this library was built to reduce maintenance cost between the charts that use it and try achieve a goal of being DRY. - -## Requirements - -Kubernetes: `>=1.16.0-0` - -## Dependencies - -| Repository | Name | Version | -|------------|------|---------| - -## TL;DR - -```console -helm repo add k8s-at-home https://k8s-at-home.com/charts/ -helm repo update -helm install common k8s-at-home/common -``` - -## Installing the Chart - -To install the chart with the release name `common` - -```console -helm install common k8s-at-home/common -``` - -## Uninstalling the Chart - -To uninstall the `common` deployment - -```console -helm uninstall common -``` - -The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release. - -## Configuration - -Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values. -Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common). - -Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. - -```console -helm install common \ - --set env.TZ="America/New York" \ - k8s-at-home/common -``` - -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. - -```console -helm install common k8s-at-home/common -f values.yaml -``` - -## Creating a new chart - -First be sure to checkout the many charts that already use this like [qBittorrent](../qbittorrent/), [node-red](../node-red/) or the many others in this repository. - -Include this chart as a dependency in your `Chart.yaml` e.g. - -```yaml -# Chart.yaml -dependencies: -- name: common - version: 3.1.0 - repository: https://k8s-at-home.com/charts/ -``` -Write a `values.yaml` with some basic defaults you want to present to the user e.g. - -```yaml -# -# IMPORTANT NOTE -# -# This chart inherits from our common library chart. You can check the default values/options here: -# https://github.com/k8s-at-home/charts/tree/master/charts/common/values.yaml -# - -image: - repository: nodered/node-red - pullPolicy: IfNotPresent - tag: 1.2.5 - -strategy: - type: Recreate - -# See more environment variables in the node-red documentation -# https://nodered.org/docs/getting-started/docker -env: {} - # TZ: - # NODE_OPTIONS: - # NODE_RED_ENABLE_PROJECTS: - # NODE_RED_ENABLE_SAFE_MODE: - # FLOWS: - -service: - port: - port: 1880 - -ingress: - enabled: false - -persistence: - data: - enabled: false - emptyDir: false - mountPath: /data -``` - -If not using a service, set the `service.enabled` to `false`. -```yaml -... -service: - enabled: false -... -``` - -Add files to the `templates` folder. -```yaml -# templates/common.yaml -{{ include "common.all . }} - -# templates/NOTES.txt -{{ include "common.notes.defaultNotes" . }} -``` - -If testing locally make sure you update the dependencies with: - -```bash -helm dependency update -``` - -## Values - -**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/) - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| additionalContainers | list | `[]` | | -| additionalVolumeMounts | list | `[]` | | -| additionalVolumes | list | `[]` | | -| addons.codeserver.args[0] | string | `"--auth"` | | -| addons.codeserver.args[1] | string | `"none"` | | -| addons.codeserver.enabled | bool | `false` | | -| addons.codeserver.env | object | `{}` | | -| addons.codeserver.image.pullPolicy | string | `"IfNotPresent"` | | -| addons.codeserver.image.repository | string | `"codercom/code-server"` | | -| addons.codeserver.image.tag | string | `"3.7.4"` | | -| addons.codeserver.ingress.annotations | object | `{}` | | -| addons.codeserver.ingress.enabled | bool | `false` | | -| addons.codeserver.ingress.hosts[0].host | string | `"code.chart-example.local"` | | -| addons.codeserver.ingress.hosts[0].paths[0].path | string | `"/"` | | -| addons.codeserver.ingress.hosts[0].paths[0].pathType | string | `"Prefix"` | | -| addons.codeserver.ingress.labels | object | `{}` | | -| addons.codeserver.ingress.nameSuffix | string | `"codeserver"` | | -| addons.codeserver.ingress.tls | list | `[]` | | -| addons.codeserver.securityContext.runAsUser | int | `0` | | -| addons.codeserver.service.annotations | object | `{}` | | -| addons.codeserver.service.enabled | bool | `true` | | -| addons.codeserver.service.labels | object | `{}` | | -| addons.codeserver.service.port.name | string | `"codeserver"` | | -| addons.codeserver.service.port.port | int | `12321` | | -| addons.codeserver.service.port.protocol | string | `"TCP"` | | -| addons.codeserver.service.port.targetPort | string | `"codeserver"` | | -| addons.codeserver.service.type | string | `"ClusterIP"` | | -| addons.codeserver.volumeMounts | list | `[]` | | -| addons.codeserver.workingDir | string | `""` | | -| addons.vpn.additionalVolumeMounts | list | `[]` | | -| addons.vpn.configFile | string | `nil` | | -| addons.vpn.enabled | bool | `false` | | -| addons.vpn.env | object | `{}` | | -| addons.vpn.livenessProbe | object | `{}` | | -| addons.vpn.networkPolicy.egress | string | `nil` | | -| addons.vpn.networkPolicy.enabled | bool | `false` | | -| addons.vpn.openvpn.auth | string | `nil` | | -| addons.vpn.openvpn.authSecret | string | `nil` | | -| addons.vpn.openvpn.image.pullPolicy | string | `"IfNotPresent"` | | -| addons.vpn.openvpn.image.repository | string | `"dperson/openvpn-client"` | | -| addons.vpn.openvpn.image.tag | string | `"latest"` | | -| addons.vpn.scripts.down | string | `nil` | | -| addons.vpn.scripts.up | string | `nil` | | -| addons.vpn.securityContext.capabilities.add[0] | string | `"NET_ADMIN"` | | -| addons.vpn.securityContext.capabilities.add[1] | string | `"SYS_MODULE"` | | -| addons.vpn.type | string | `"openvpn"` | | -| addons.vpn.wireguard.image.pullPolicy | string | `"IfNotPresent"` | | -| addons.vpn.wireguard.image.repository | string | `"k8sathome/wireguard"` | | -| addons.vpn.wireguard.image.tag | string | `"1.0.20200827"` | | -| affinity | object | `{}` | | -| args | list | `[]` | | -| command | list | `[]` | | -| controllerAnnotations | object | `{}` | | -| controllerLabels | object | `{}` | | -| controllerType | string | `"deployment"` | | -| dnsPolicy | string | `"ClusterFirst"` | | -| enableServiceLinks | bool | `true` | | -| env | object | `{}` | | -| envFrom | list | `[]` | | -| envTpl | object | `{}` | | -| envValueFrom | object | `{}` | | -| fullnameOverride | string | `""` | | -| hostAliases | list | `[]` | | -| hostNetwork | bool | `false` | | -| ingress.additionalIngresses | list | `[]` | | -| ingress.annotations | object | `{}` | | -| ingress.enabled | bool | `false` | | -| ingress.hosts[0].host | string | `"chart-example.local"` | | -| ingress.hosts[0].paths[0].path | string | `"/"` | | -| ingress.hosts[0].paths[0].pathType | string | `"Prefix"` | | -| ingress.labels | object | `{}` | | -| ingress.tls | list | `[]` | | -| initContainers | list | `[]` | | -| nameOverride | string | `""` | | -| nodeSelector | object | `{}` | | -| persistence.config.accessMode | string | `"ReadWriteOnce"` | | -| persistence.config.enabled | bool | `false` | | -| persistence.config.mountPath | string | `"/config"` | | -| persistence.config.size | string | `"1Gi"` | | -| persistence.config.skipuninstall | bool | `false` | | -| persistence.shared.emptyDir | bool | `true` | | -| persistence.shared.enabled | bool | `false` | | -| persistence.shared.mountPath | string | `"/shared"` | | -| podAnnotations | object | `{}` | | -| podSecurityContext | object | `{}` | | -| probes.liveness.custom | bool | `false` | | -| probes.liveness.enabled | bool | `true` | | -| probes.liveness.spec.failureThreshold | int | `3` | | -| probes.liveness.spec.initialDelaySeconds | int | `0` | | -| probes.liveness.spec.periodSeconds | int | `10` | | -| probes.liveness.spec.timeoutSeconds | int | `1` | | -| probes.readiness.custom | bool | `false` | | -| probes.readiness.enabled | bool | `true` | | -| probes.readiness.spec.failureThreshold | int | `3` | | -| probes.readiness.spec.initialDelaySeconds | int | `0` | | -| probes.readiness.spec.periodSeconds | int | `10` | | -| probes.readiness.spec.timeoutSeconds | int | `1` | | -| probes.startup.custom | bool | `false` | | -| probes.startup.enabled | bool | `true` | | -| probes.startup.spec.failureThreshold | int | `30` | | -| probes.startup.spec.initialDelaySeconds | int | `0` | | -| probes.startup.spec.periodSeconds | int | `5` | | -| probes.startup.spec.timeoutSeconds | int | `1` | | -| replicas | int | `1` | | -| resources | object | `{}` | | -| secret | object | `{}` | | -| securityContext | object | `{}` | | -| service.additionalPorts | list | `[]` | | -| service.additionalServices | list | `[]` | | -| service.annotations | object | `{}` | | -| service.enabled | bool | `true` | | -| service.labels | object | `{}` | | -| service.port.name | string | `nil` | | -| service.port.port | string | `nil` | | -| service.port.protocol | string | `"TCP"` | | -| service.port.targetPort | string | `nil` | | -| service.type | string | `"ClusterIP"` | | -| serviceAccount.annotations | object | `{}` | | -| serviceAccount.create | bool | `false` | | -| serviceAccount.name | string | `""` | | -| strategy.type | string | `"RollingUpdate"` | | -| tolerations | list | `[]` | | -| volumeClaimTemplates | list | `[]` | | - -## Changelog - -All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](../common/README.md). - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -### [3.1.0] - -#### Added - -- Allow setting secret values through Helm values file. - -### [3.0.1] - -#### Fixed - -- Fixed `kubeVersion` in `Chart.yaml` not working with people running k8s pre-releases -- Added `ingressClassName` to `values.yaml` - -### [3.0.0] - -#### Changed - -- `probes.startupProbe` is now enabled by default. This will allow for quicker `Ready` states on Pods. It will precede the liveness and readiness Probes. *Note:* This requires that you are running [Kubernetes 1.16](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) -- Aligned our default values for liveness and readiness Probes with the Kubernetes defaults: - - `initialDelaySeconds` is now `0` - - `timeoutSeconds` is now `1` - - `failureThreshold` is now `3` - -### [2.5.1] - -#### Added - -- Fixed a small typo in `values.yaml`: `ingress.tls.hostTpl` -> `ingress.tls.hostsTpl` - -### [2.5.0] - -#### Added - -- Allow setting ingress values through Helm templates: - - `ingress.hosts.hostTpl` - - `ingress.tls.secretNameTpl` - - `ingress.tls.hostsTpl` - -### [2.4.0] - -#### Added - -- Allow setting environment variables from Downward API via `envValueFrom`. See [the Kubernetes docs](https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/) for more information. - -### [2.3.0] - -#### Added - -- Allow overriding the main container command. -- Allow setting Helm templates as environment variables via `envTpl`. The given value is parsed through Helm's `tpl` function, allowing for powerful variable substitution. -- Support for defining volumeClaimTemplates for StatefulSet. -- Allow the following Pod spec fields to be configurable: - - `priorityClassName` - - `schedulerName` - - `hostname` - -#### Fixed - -- `values.yaml` now contains the following sections, these were already functional but were previously undocumented: - - `podSecurityContext` - - `securityContext` - - `resources` - -### [2.2.1] - -#### Fixed - -- Made explicit that `service.port.targetPort` cannot be a named port. - -### [2.2.0] - -#### Added - -- Allow serviceLinks to be enabled/disabled. -- Support for ingressClassName on apiVersion `networking.k8s.io/v1` by setting `ingress.ingressClassName`. -- Added some initial proper unit tests for the `common` chart. - -#### Changed - -- `service.port.targetPort` is now used in the container spec instead of `service.port.port` if specified. This allows for different service and container ports. (Implements [#465](https://github.com/k8s-at-home/charts/issues/465)). - -#### Fixed - -- Document setting environment variables for code-server add-on in `values.yaml` (Fixes [#436](https://github.com/k8s-at-home/charts/issues/436)). -- Set service targetPort to the service port name first if no `targetPort` value is given. - -### [2.1.0] - -#### Added - -- Allow for additional arguments to be added to code-server runtime via `addons.codeserver.args` - -### [2.0.4] - -#### Fixed - -- `periodSeconds` now works for all probe types. - -### [2.0.0] - -#### Changed - -- :warning: Updated `probes` logic to support custom probes, it is now possible to set your own custom probes by setting the `probes.[liveness|readiness|startup].custom` value to `true` and configuring them. Default is `false`. -- :warning: `addon.vpn.imagePullPolicy` is now `addon.vpn.[openvpn|wireguard].image.pullPolicy`. Default is `IfNotPresent` -- [code-server](https://github.com/cdr/code-server) is now an `addon` like `vpn`. This enables a code-server container inside the pod which allows you to modify a configuration in a volume attached to the pod. Default for `addons.codeserver.enabled` is `false` -- Added `envFrom` for more configuration with environment variables -- Added `dnsConfig` to be configurable -- Added support for 1.19+ ingress spec -- Added this [CHANGELOG.md](CHANGELOG.md) - -#### Fixed - -- `nameOverride` and `fullNameOverride` not in `values.yaml` - -### [1.7.0] - -This is the last version before starting this changelog. All sorts of cool stuff was changed, but only `git log` remembers what that was :slightly_frowning_face: - -[3.1.0]: #3.1.0 - -[3.0.1]: #3.0.1 - -[3.0.0]: #3.0.0 - -[2.5.1]: #2.5.1 - -[2.5.0]: #2.5.0 - -[2.4.0]: #2.4.0 - -[2.3.0]: #2.3.0 - -[2.2.1]: #2.2.1 - -[2.2.0]: #2.2.0 - -[2.1.0]: #2.1.0 - -[2.0.4]: #2.0.4 - -[2.0.0]: #2.0.0 - -[1.7.0]: #1.7.0 - -## Support - -- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/). -- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose) -- Ask a [question](https://github.com/k8s-at-home/organization/discussions) -- Join our [Discord](https://discord.gg/sTMX7Vh) community - ----------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) diff --git a/charts/common/README.md.gotmpl b/charts/common/README.md.gotmpl deleted file mode 100644 index 1454546b..00000000 --- a/charts/common/README.md.gotmpl +++ /dev/null @@ -1,147 +0,0 @@ -{{- define "custom.repository.organization" -}} -k8s-at-home -{{- end -}} - -{{- define "custom.repository.url" -}} -https://github.com/k8s-at-home/charts -{{- end -}} - -{{- define "custom.helm.url" -}} -https://k8s-at-home.com/charts/ -{{- end -}} - -{{- define "custom.helm.path" -}} -{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }} -{{- end -}} - -{{- define "custom.notes" -}} -**WARNING: THIS CHART IS NOT MEANT TO BE INSTALLED DIRECTLY** - -This is a [Helm Library Chart](https://helm.sh/docs/topics/library_charts/#helm). It's purpose is for grouping common logic between the k8s@home charts. - -Since a lot of charts follow the same pattern this library was built to reduce maintenance cost between the charts that use it and try achieve a goal of being DRY. -{{- end -}} - -{{- define "custom.requirements" -}} -## Requirements - -{{ template "chart.kubeVersionLine" . }} -{{- end -}} - -{{- define "custom.dependencies" -}} -## Dependencies - -{{ template "chart.requirementsTable" . }} -{{- end -}} - -{{- define "custom.install.tldr" -}} -## TL;DR - -```console -helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }} -helm repo update -helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -``` -{{- end -}} - -{{- define "custom.install" -}} -## Installing the Chart - -To install the chart with the release name `{{ template "chart.name" . }}` - -```console -helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -``` -{{- end -}} - -{{- define "custom.uninstall" -}} -## Uninstalling the Chart - -To uninstall the `{{ template "chart.name" . }}` deployment - -```console -helm uninstall {{ template "chart.name" . }} -``` - -The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release. -{{- end -}} - -{{- define "custom.configuration.header" -}} -## Configuration -{{- end -}} - -{{- define "custom.configuration.readValues" -}} -Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values. -Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common). -{{- end -}} - -{{- define "custom.configuration.example.set" -}} -Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. - -```console -helm install {{ template "chart.name" . }} \ - --set env.TZ="America/New York" \ - {{ template "custom.helm.path" . }} -``` -{{- end -}} - -{{- define "custom.configuration.example.file" -}} -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. - -```console -helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml -``` -{{- end -}} - -{{- define "custom.valuesSection" -}} -## Values - -**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/) - -{{ template "chart.valuesTable" . }} -{{- end -}} - -{{- define "custom.support" -}} -## Support - -- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/). -- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose) -- Ask a [question](https://github.com/k8s-at-home/organization/discussions) -- Join our [Discord](https://discord.gg/sTMX7Vh) community -{{- end -}} - -{{ template "chart.header" . }} - -{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }} - -{{ template "chart.description" . }} - -{{ template "custom.notes" . }} - -{{ template "custom.requirements" . }} - -{{ template "custom.dependencies" . }} - -{{ template "custom.install.tldr" . }} - -{{ template "custom.install" . }} - -{{ template "custom.uninstall" . }} - -{{ template "custom.configuration.header" . }} - -{{ template "custom.configuration.readValues" . }} - -{{ template "custom.configuration.example.set" . }} - -{{ template "custom.configuration.example.file" . }} - -{{ template "custom.custom.configuration" . }} - -{{ template "custom.valuesSection" . }} - -{{ template "custom.changelog" . }} - -{{ template "custom.support" . }} - -{{ template "helm-docs.versionFooter" . }} diff --git a/charts/common/README_CHANGELOG.md.gotmpl b/charts/common/README_CHANGELOG.md.gotmpl deleted file mode 100644 index 2d71b8dc..00000000 --- a/charts/common/README_CHANGELOG.md.gotmpl +++ /dev/null @@ -1,156 +0,0 @@ -{{- define "custom.changelog.header" -}} -## Changelog -{{- end -}} - -{{- define "custom.changelog" -}} -{{ template "custom.changelog.header" . }} - -All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](../common/README.md). - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -### [3.1.0] - -#### Added - -- Allow setting secret values through Helm values file. - -### [3.0.1] - -#### Fixed - -- Fixed `kubeVersion` in `Chart.yaml` not working with people running k8s pre-releases -- Added `ingressClassName` to `values.yaml` - -### [3.0.0] - -#### Changed - -- `probes.startupProbe` is now enabled by default. This will allow for quicker `Ready` states on Pods. It will precede the liveness and readiness Probes. *Note:* This requires that you are running [Kubernetes 1.16](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) -- Aligned our default values for liveness and readiness Probes with the Kubernetes defaults: - - `initialDelaySeconds` is now `0` - - `timeoutSeconds` is now `1` - - `failureThreshold` is now `3` - -### [2.5.1] - -#### Added - -- Fixed a small typo in `values.yaml`: `ingress.tls.hostTpl` -> `ingress.tls.hostsTpl` - -### [2.5.0] - -#### Added - -- Allow setting ingress values through Helm templates: - - `ingress.hosts.hostTpl` - - `ingress.tls.secretNameTpl` - - `ingress.tls.hostsTpl` - -### [2.4.0] - -#### Added - -- Allow setting environment variables from Downward API via `envValueFrom`. See [the Kubernetes docs](https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/) for more information. - -### [2.3.0] - -#### Added - -- Allow overriding the main container command. -- Allow setting Helm templates as environment variables via `envTpl`. The given value is parsed through Helm's `tpl` function, allowing for powerful variable substitution. -- Support for defining volumeClaimTemplates for StatefulSet. -- Allow the following Pod spec fields to be configurable: - - `priorityClassName` - - `schedulerName` - - `hostname` - -#### Fixed - -- `values.yaml` now contains the following sections, these were already functional but were previously undocumented: - - `podSecurityContext` - - `securityContext` - - `resources` - -### [2.2.1] - -#### Fixed - -- Made explicit that `service.port.targetPort` cannot be a named port. - -### [2.2.0] - -#### Added - -- Allow serviceLinks to be enabled/disabled. -- Support for ingressClassName on apiVersion `networking.k8s.io/v1` by setting `ingress.ingressClassName`. -- Added some initial proper unit tests for the `common` chart. - -#### Changed - -- `service.port.targetPort` is now used in the container spec instead of `service.port.port` if specified. This allows for different service and container ports. (Implements [#465](https://github.com/k8s-at-home/charts/issues/465)). - -#### Fixed - -- Document setting environment variables for code-server add-on in `values.yaml` (Fixes [#436](https://github.com/k8s-at-home/charts/issues/436)). -- Set service targetPort to the service port name first if no `targetPort` value is given. - -### [2.1.0] - -#### Added - -- Allow for additional arguments to be added to code-server runtime via `addons.codeserver.args` - -### [2.0.4] - -#### Fixed - -- `periodSeconds` now works for all probe types. - -### [2.0.0] - -#### Changed - -- :warning: Updated `probes` logic to support custom probes, it is now possible to set your own custom probes by setting the `probes.[liveness|readiness|startup].custom` value to `true` and configuring them. Default is `false`. -- :warning: `addon.vpn.imagePullPolicy` is now `addon.vpn.[openvpn|wireguard].image.pullPolicy`. Default is `IfNotPresent` -- [code-server](https://github.com/cdr/code-server) is now an `addon` like `vpn`. This enables a code-server container inside the pod which allows you to modify a configuration in a volume attached to the pod. Default for `addons.codeserver.enabled` is `false` -- Added `envFrom` for more configuration with environment variables -- Added `dnsConfig` to be configurable -- Added support for 1.19+ ingress spec -- Added this [CHANGELOG.md](CHANGELOG.md) - -#### Fixed - -- `nameOverride` and `fullNameOverride` not in `values.yaml` - -### [1.7.0] - -This is the last version before starting this changelog. All sorts of cool stuff was changed, but only `git log` remembers what that was :slightly_frowning_face: - -[3.1.0]: #3.1.0 - -[3.0.1]: #3.0.1 - -[3.0.0]: #3.0.0 - -[2.5.1]: #2.5.1 - -[2.5.0]: #2.5.0 - -[2.4.0]: #2.4.0 - -[2.3.0]: #2.3.0 - -[2.2.1]: #2.2.1 - -[2.2.0]: #2.2.0 - -[2.1.0]: #2.1.0 - -[2.0.4]: #2.0.4 - -[2.0.0]: #2.0.0 - -[1.7.0]: #1.7.0 -{{- end -}} diff --git a/charts/common/README_CONFIG.md.gotmpl b/charts/common/README_CONFIG.md.gotmpl deleted file mode 100644 index 4d921964..00000000 --- a/charts/common/README_CONFIG.md.gotmpl +++ /dev/null @@ -1,82 +0,0 @@ -{{- define "custom.custom.configuration.header" -}} -## Creating a new chart -{{- end -}} - -{{- define "custom.custom.configuration" -}} -{{ template "custom.custom.configuration.header" . }} - -First be sure to checkout the many charts that already use this like [qBittorrent](../qbittorrent/), [node-red](../node-red/) or the many others in this repository. - -Include this chart as a dependency in your `Chart.yaml` e.g. - -```yaml -# Chart.yaml -dependencies: -- name: common - version: {{ template "chart.version" . }} - repository: {{ template "custom.helm.url" . }} -``` -Write a `values.yaml` with some basic defaults you want to present to the user e.g. - -```yaml -# -# IMPORTANT NOTE -# -# This chart inherits from our common library chart. You can check the default values/options here: -# https://github.com/k8s-at-home/charts/tree/master/charts/common/values.yaml -# - -image: - repository: nodered/node-red - pullPolicy: IfNotPresent - tag: 1.2.5 - -strategy: - type: Recreate - -# See more environment variables in the node-red documentation -# https://nodered.org/docs/getting-started/docker -env: {} - # TZ: - # NODE_OPTIONS: - # NODE_RED_ENABLE_PROJECTS: - # NODE_RED_ENABLE_SAFE_MODE: - # FLOWS: - -service: - port: - port: 1880 - -ingress: - enabled: false - -persistence: - data: - enabled: false - emptyDir: false - mountPath: /data -``` - -If not using a service, set the `service.enabled` to `false`. -```yaml -... -service: - enabled: false -... -``` - -Add files to the `templates` folder. -```yaml -# templates/common.yaml -{{"{{"}} include "common.all . {{"}}"}} - -# templates/NOTES.txt -{{"{{"}} include "common.notes.defaultNotes" . {{"}}"}} -``` - -If testing locally make sure you update the dependencies with: - -```bash -helm dependency update -``` -{{- end -}} diff --git a/charts/common/templates/_all.tpl b/charts/common/templates/_all.tpl deleted file mode 100644 index 36d42fdf..00000000 --- a/charts/common/templates/_all.tpl +++ /dev/null @@ -1,40 +0,0 @@ -{{/* -Main entrypoint for the common library chart. It will render all underlying templates based on the provided values. -*/}} -{{- define "common.all" -}} - {{- /* Merge the local chart values and the common chart defaults */ -}} - {{- include "common.values.setup" . }} - - {{- /* Enable code-server add-on if required */ -}} - {{- if .Values.addons.codeserver.enabled }} - {{- include "common.addon.codeserver" . }} - {{- end -}} - - {{- /* Enable VPN add-on if required */ -}} - {{- if .Values.addons.vpn.enabled }} - {{- include "common.addon.vpn" . }} - {{- end -}} - - {{- /* Build the templates */ -}} - {{- include "common.pvc" . }} - {{- print "---" | nindent 0 -}} - {{- if .Values.serviceAccount.create -}} - {{- include "common.serviceAccount" . }} - {{- print "---" | nindent 0 -}} - {{- end -}} - {{- if eq .Values.controllerType "deployment" }} - {{- include "common.deployment" . | nindent 0 }} - {{ else if eq .Values.controllerType "daemonset" }} - {{- include "common.daemonset" . | nindent 0 }} - {{ else if eq .Values.controllerType "statefulset" }} - {{- include "common.statefulset" . | nindent 0 }} - {{- end -}} - {{- print "---" | nindent 0 -}} - {{ include "common.service" . | nindent 0 }} - {{- print "---" | nindent 0 -}} - {{ include "common.ingress" . | nindent 0 }} - {{- if .Values.secret -}} - {{- print "---" | nindent 0 -}} - {{ include "common.secret" . | nindent 0 }} - {{- end -}} -{{- end -}} diff --git a/charts/common/templates/_daemonset.tpl b/charts/common/templates/_daemonset.tpl deleted file mode 100644 index db624217..00000000 --- a/charts/common/templates/_daemonset.tpl +++ /dev/null @@ -1,33 +0,0 @@ -{{/* -This template serves as the blueprint for the DaemonSet objects that are created -within the common library. -*/}} -{{- define "common.daemonset" -}} -apiVersion: {{ include "common.capabilities.daemonset.apiVersion" . }} -kind: DaemonSet -metadata: - name: {{ include "common.names.fullname" . }} - labels: - {{- include "common.labels" . | nindent 4 }} - {{- with .Values.controllerLabels }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- with .Values.controllerAnnotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - selector: - matchLabels: - {{- include "common.labels.selectorLabels" . | nindent 6 }} - template: - metadata: - {{- with .Values.podAnnotations }} - annotations: - {{- toYaml . | nindent 8 }} - {{- end }} - labels: - {{- include "common.labels.selectorLabels" . | nindent 8 }} - spec: - {{- include "common.controller.pod" . | nindent 6 }} -{{- end }} diff --git a/charts/common/templates/_deployment.tpl b/charts/common/templates/_deployment.tpl deleted file mode 100644 index d93503e9..00000000 --- a/charts/common/templates/_deployment.tpl +++ /dev/null @@ -1,38 +0,0 @@ -{{/* -This template serves as the blueprint for the Deployment objects that are created -within the common library. -*/}} -{{- define "common.deployment" -}} -apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }} -kind: Deployment -metadata: - name: {{ include "common.names.fullname" . }} - labels: - {{- include "common.labels" . | nindent 4 }} - {{- with .Values.controllerLabels }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- with .Values.controllerAnnotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - replicas: {{ .Values.replicas }} - {{- with .Values.strategy }} - strategy: - {{- toYaml . | nindent 4 }} - {{- end }} - selector: - matchLabels: - {{- include "common.labels.selectorLabels" . | nindent 6 }} - template: - metadata: - {{- with .Values.podAnnotations }} - annotations: - {{- toYaml . | nindent 8 }} - {{- end }} - labels: - {{- include "common.labels.selectorLabels" . | nindent 8 }} - spec: - {{- include "common.controller.pod" . | nindent 6 }} -{{- end }} diff --git a/charts/common/templates/_ingress.tpl b/charts/common/templates/_ingress.tpl deleted file mode 100644 index d6ad879a..00000000 --- a/charts/common/templates/_ingress.tpl +++ /dev/null @@ -1,27 +0,0 @@ -{{/* -Renders the Ingress objects required by the chart by returning a concatinated list -of the main Ingress and any additionalIngresses. -*/}} -{{- define "common.ingress" -}} - {{- if .Values.ingress.enabled -}} - {{- $svcPort := .Values.service.port.port -}} - - {{- /* Generate primary ingress */ -}} - {{- $ingressValues := .Values.ingress -}} - {{- $_ := set . "ObjectValues" (dict "ingress" $ingressValues) -}} - {{- include "common.classes.ingress" . }} - - {{- /* Generate additional ingresses as required */ -}} - {{- range $index, $extraIngress := .Values.ingress.additionalIngresses }} - {{- if $extraIngress.enabled -}} - {{- print ("---") | nindent 0 -}} - {{- $ingressValues := $extraIngress -}} - {{- if not $ingressValues.nameSuffix -}} - {{- $_ := set $ingressValues "nameSuffix" $index -}} - {{ end -}} - {{- $_ := set $ "ObjectValues" (dict "ingress" $ingressValues) -}} - {{- include "common.classes.ingress" $ -}} - {{- end }} - {{- end }} - {{- end }} -{{- end }} diff --git a/charts/common/templates/_notes.tpl b/charts/common/templates/_notes.tpl deleted file mode 100644 index 4cba1996..00000000 --- a/charts/common/templates/_notes.tpl +++ /dev/null @@ -1,25 +0,0 @@ -{{/* -Default NOTES.txt content. -*/}} -{{- define "common.notes.defaultNotes" -}} -{{- $svcPort := .Values.service.port.port -}} -1. Get the application URL by running these commands: -{{- if .Values.ingress.enabled }} -{{- range .Values.ingress.hosts }} - http{{ if $.Values.ingress.tls }}s{{ end }}://{{- if .hostTpl }}{{ tpl .hostTpl $ }}{{ else }}{{ .host }}{{ end }}{{ (first .paths).path }} -{{- end }} -{{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.names.fullname" . }}) - export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") - echo http://$NODE_IP:$NODE_PORT -{{- else if contains "LoadBalancer" .Values.service.type }} - NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get svc -w {{ include "common.names.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "common.names.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') - echo http://$SERVICE_IP:{{ $svcPort }} -{{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "common.names.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") - echo "Visit http://127.0.0.1:8080 to use your application" - kubectl port-forward $POD_NAME 8080:{{ $svcPort }} -{{- end }} -{{- end }} diff --git a/charts/common/templates/_pvc.tpl b/charts/common/templates/_pvc.tpl deleted file mode 100644 index 7ad340ba..00000000 --- a/charts/common/templates/_pvc.tpl +++ /dev/null @@ -1,18 +0,0 @@ -{{/* -Renders the PersistentVolumeClaim objects required by the chart by returning a concatinated list -of all the entries of the persistence key. -*/}} -{{- define "common.pvc" -}} - {{- /* Generate pvc as required */ -}} - {{- range $index, $PVC := .Values.persistence }} - {{- if and $PVC.enabled (not (or $PVC.emptyDir $PVC.existingClaim)) -}} - {{- $persistenceValues := $PVC -}} - {{- if not $persistenceValues.nameSuffix -}} - {{- $_ := set $persistenceValues "nameSuffix" $index -}} - {{- end -}} - {{- $_ := set $ "ObjectValues" (dict "persistence" $persistenceValues) -}} - {{- print ("---") | nindent 0 -}} - {{- include "common.classes.pvc" $ -}} - {{- end }} - {{- end }} -{{- end }} diff --git a/charts/common/templates/_secret.tpl b/charts/common/templates/_secret.tpl deleted file mode 100644 index 34d10d9c..00000000 --- a/charts/common/templates/_secret.tpl +++ /dev/null @@ -1,16 +0,0 @@ -{{/* -The Secret object to be created. -*/}} -{{- define "common.secret" -}} -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "common.names.fullname" . }} - labels: - {{- include "common.labels" . | nindent 4 }} -type: Opaque -{{- with .Values.secret }} -stringData: - {{- toYaml . | nindent 2 }} -{{- end }} -{{- end }} diff --git a/charts/common/templates/_service.tpl b/charts/common/templates/_service.tpl deleted file mode 100644 index 2aba616d..00000000 --- a/charts/common/templates/_service.tpl +++ /dev/null @@ -1,23 +0,0 @@ -{{/* -Renders the Service objects required by the chart by returning a concatinated list -of the main Service and any additionalServices. -*/}} -{{- define "common.service" -}} - {{- if .Values.service.enabled -}} - {{- /* Generate primary service */ -}} - {{- include "common.classes.service" . }} - - {{- /* Generate additional services as required */ -}} - {{- range $index, $extraService := .Values.service.additionalServices }} - {{- if $extraService.enabled -}} - {{- print ("---") | nindent 0 -}} - {{- $serviceValues := $extraService -}} - {{- if not $serviceValues.nameSuffix -}} - {{- $_ := set $serviceValues "nameSuffix" $index -}} - {{ end -}} - {{- $_ := set $ "ObjectValues" (dict "service" $serviceValues) -}} - {{- include "common.classes.service" $ -}} - {{- end }} - {{- end }} - {{- end }} -{{- end }} diff --git a/charts/common/templates/_serviceaccount.tpl b/charts/common/templates/_serviceaccount.tpl deleted file mode 100644 index a8c0e790..00000000 --- a/charts/common/templates/_serviceaccount.tpl +++ /dev/null @@ -1,15 +0,0 @@ -{{/* -The ServiceAccount object to be created. -*/}} -{{- define "common.serviceAccount" -}} -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ include "common.names.serviceAccountName" . }} - labels: - {{- include "common.labels" . | nindent 4 }} - {{- with .Values.serviceAccount.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -{{- end }} diff --git a/charts/common/templates/_statefulset.tpl b/charts/common/templates/_statefulset.tpl deleted file mode 100644 index ef2ec2f6..00000000 --- a/charts/common/templates/_statefulset.tpl +++ /dev/null @@ -1,53 +0,0 @@ -{{/* -This template serves as the blueprint for the StatefulSet objects that are created -within the common library. -*/}} -{{- define "common.statefulset" -}} -apiVersion: {{ include "common.capabilities.statefulset.apiVersion" . }} -kind: StatefulSet -metadata: - name: {{ include "common.names.fullname" . }} - labels: - {{- include "common.labels" . | nindent 4 }} - {{- with .Values.controllerLabels }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- with .Values.controllerAnnotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - replicas: {{ .Values.replicas }} - {{- with .Values.strategy }} - updateStrategy: - {{- toYaml . | nindent 4 }} - {{- end }} - selector: - matchLabels: - {{- include "common.labels.selectorLabels" . | nindent 6 }} - serviceName: {{ include "common.names.fullname" . }} - template: - metadata: - {{- with .Values.podAnnotations }} - annotations: - {{- toYaml . | nindent 8 }} - {{- end }} - labels: - {{- include "common.labels.selectorLabels" . | nindent 8 }} - spec: - {{- include "common.controller.pod" . | nindent 6 }} - volumeClaimTemplates: - {{- range $index, $vct := .Values.volumeClaimTemplates }} - - metadata: - name: {{ $vct.name }} - spec: - accessModes: - - {{ required (printf "accessMode is required for vCT %v" $vct.name) $vct.accessMode | quote }} - resources: - requests: - storage: {{ required (printf "size is required for PVC %v" $vct.name) $vct.size | quote }} - {{- if $vct.storageClass }} - storageClassName: {{ if (eq "-" $vct.storageClass) }}""{{- else }}{{ $vct.storageClass | quote }}{{- end }} - {{- end }} -{{- end }} -{{- end }} diff --git a/charts/common/templates/addons/code-server/_codeserver.tpl b/charts/common/templates/addons/code-server/_codeserver.tpl deleted file mode 100644 index 8cbb4c54..00000000 --- a/charts/common/templates/addons/code-server/_codeserver.tpl +++ /dev/null @@ -1,44 +0,0 @@ -{{/* -Template to render code-server addon -It will include / inject the required templates based on the given values. -*/}} -{{- define "common.addon.codeserver" -}} -{{- if .Values.addons.codeserver.enabled -}} - {{/* Append the code-server container to the additionalContainers */}} - {{- $container := include "common.addon.codeserver.container" . | fromYaml -}} - {{- if $container -}} - {{- $additionalContainers := append .Values.additionalContainers $container -}} - {{- $_ := set .Values "additionalContainers" $additionalContainers -}} - {{- end -}} - - {{/* Add the code-server service */}} - {{- if .Values.addons.codeserver.service.enabled -}} - {{- print ("---") | nindent 0 -}} - {{- $serviceValues := .Values.addons.codeserver.service -}} - {{- if not $serviceValues.nameSuffix -}} - {{- $_ := set $serviceValues "nameSuffix" "codeserver" -}} - {{ end -}} - {{- $_ := set $ "ObjectValues" (dict "service" $serviceValues) -}} - {{- include "common.classes.service" $ -}} - {{- $_ := unset $ "ObjectValues" -}} - {{- end -}} - - {{/* Add the code-server ingress */}} - {{- if .Values.addons.codeserver.ingress.enabled -}} - {{- print ("---") | nindent 0 -}} - {{- $ingressValues := .Values.addons.codeserver.ingress -}} - {{- if not $ingressValues.nameSuffix -}} - {{- $_ := set $ingressValues "nameSuffix" "codeserver" -}} - {{ end -}} - - {{/* Determine the target service name & port */}} - {{- $svcName := printf "%v-%v" (include "common.names.fullname" .) .Values.addons.codeserver.service.nameSuffix -}} - {{- $_ := set $ingressValues "serviceName" $svcName -}} - {{- $_ := set $ingressValues "servicePort" .Values.addons.codeserver.service.port.port -}} - - {{- $_ := set $ "ObjectValues" (dict "ingress" $ingressValues) -}} - {{- include "common.classes.ingress" $ -}} - {{- $_ := unset $ "ObjectValues" -}} - {{- end -}} -{{- end -}} -{{- end -}} diff --git a/charts/common/templates/addons/code-server/_container.tpl b/charts/common/templates/addons/code-server/_container.tpl deleted file mode 100644 index 5d099a80..00000000 --- a/charts/common/templates/addons/code-server/_container.tpl +++ /dev/null @@ -1,41 +0,0 @@ -{{/* -The code-server sidecar container to be inserted. -*/}} -{{- define "common.addon.codeserver.container" -}} -{{- if lt (len .Values.addons.codeserver.volumeMounts) 1 }} -{{- fail "At least 1 volumeMount is required for codeserver container" }} -{{- end -}} -name: codeserver -image: "{{ .Values.addons.codeserver.image.repository }}:{{ .Values.addons.codeserver.image.tag }}" -imagePullPolicy: {{ .Values.addons.codeserver.pullPolicy }} -{{- with .Values.addons.codeserver.securityContext }} -securityContext: - {{- toYaml . | nindent 2 }} -{{- end }} -{{- with .Values.addons.codeserver.env }} -env: -{{- range $k, $v := . }} - - name: {{ $k }} - value: {{ $v | quote }} -{{- end }} -{{- end }} -ports: -- name: {{ .Values.addons.codeserver.service.port.name }} - containerPort: {{ .Values.addons.codeserver.service.port.port }} - protocol: TCP -args: -{{- range .Values.addons.codeserver.args }} -- {{ . | quote }} -{{- end }} -- "--port" -- "{{ .Values.addons.codeserver.service.port.port }}" -- {{ .Values.addons.codeserver.workingDir | default (first .Values.addons.codeserver.volumeMounts).mountPath }} -{{- with .Values.addons.codeserver.volumeMounts }} -volumeMounts: - {{- toYaml . | nindent 2 }} -{{- end }} -{{- with .Values.addons.codeserver.resources }} -resources: - {{- toYaml . | nindent 2 }} -{{- end }} -{{- end -}} diff --git a/charts/common/templates/addons/vpn/_configmap.tpl b/charts/common/templates/addons/vpn/_configmap.tpl deleted file mode 100644 index bc5f6902..00000000 --- a/charts/common/templates/addons/vpn/_configmap.tpl +++ /dev/null @@ -1,26 +0,0 @@ -{{/* -The VPN config and scripts to be included. -*/}} -{{- define "common.addon.vpn.configmap" -}} -{{- if or .Values.addons.vpn.configFile .Values.addons.vpn.scripts.up .Values.addons.vpn.scripts.down }} -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "common.names.fullname" . }}-vpn - labels: - {{- include "common.labels" . | nindent 4 }} -data: -{{- with .Values.addons.vpn.configFile }} - vpnConfigfile: |- - {{- . | nindent 4}} -{{- end }} -{{- with .Values.addons.vpn.scripts.up }} - up.sh: |- - {{- . | nindent 4}} -{{- end }} -{{- with .Values.addons.vpn.scripts.down }} - down.sh: |- - {{- . | nindent 4}} -{{- end }} -{{- end -}} -{{- end -}} diff --git a/charts/common/templates/addons/vpn/_networkpolicy.tpl b/charts/common/templates/addons/vpn/_networkpolicy.tpl deleted file mode 100644 index c707d593..00000000 --- a/charts/common/templates/addons/vpn/_networkpolicy.tpl +++ /dev/null @@ -1,21 +0,0 @@ -{{/* -Blueprint for the NetworkPolicy object that can be included in the addon. -*/}} -{{- define "common.addon.vpn.networkpolicy" -}} -{{- if .Values.addons.vpn.networkPolicy.enabled -}} -kind: NetworkPolicy -apiVersion: networking.k8s.io/v1 -metadata: - name: {{ include "common.names.fullname" . }} -spec: - podSelector: - matchLabels: - {{- include "common.labels.selectorLabels" . | nindent 6 }} - policyTypes: - - Egress - egress: - {{- with .Values.addons.vpn.networkPolicy.egress }} - {{- . | toYaml | nindent 4 }} - {{- end -}} -{{- end -}} -{{- end -}} diff --git a/charts/common/templates/addons/vpn/_volume.tpl b/charts/common/templates/addons/vpn/_volume.tpl deleted file mode 100644 index ac7f83cf..00000000 --- a/charts/common/templates/addons/vpn/_volume.tpl +++ /dev/null @@ -1,25 +0,0 @@ -{{/* -The volume (referencing VPN config and scripts) to be inserted into additionalVolumes. -*/}} -{{- define "common.addon.vpn.volume" -}} -{{- if or .Values.addons.vpn.configFile .Values.addons.vpn.scripts.up .Values.addons.vpn.scripts.down -}} -name: vpnconfig -configMap: - name: {{ include "common.names.fullname" . }}-vpn - items: - {{- if .Values.addons.vpn.configFile }} - - key: vpnConfigfile - path: vpnConfigfile - {{- end }} - {{- if .Values.addons.vpn.scripts.up }} - - key: up.sh - path: up.sh - mode: 0777 - {{- end }} - {{- if .Values.addons.vpn.scripts.down }} - - key: down.sh - path: down.sh - mode: 0777 - {{- end }} -{{- end -}} -{{- end -}} diff --git a/charts/common/templates/addons/vpn/_vpn.tpl b/charts/common/templates/addons/vpn/_vpn.tpl deleted file mode 100644 index e8f028d0..00000000 --- a/charts/common/templates/addons/vpn/_vpn.tpl +++ /dev/null @@ -1,36 +0,0 @@ -{{/* -Template to render VPN addon -It will include / inject the required templates based on the given values. -*/}} -{{- define "common.addon.vpn" -}} -{{- if .Values.addons.vpn.enabled -}} - {{- if eq "openvpn" .Values.addons.vpn.type -}} - {{- include "common.addon.openvpn" . }} - {{- end -}} - - {{- if eq "wireguard" .Values.addons.vpn.type -}} - {{- include "common.addon.wireguard" . }} - {{- end -}} - - {{/* Include the configmap if not empty */}} - {{- $configmap := include "common.addon.vpn.configmap" . -}} - {{- if $configmap -}} - {{- print "---" | nindent 0 -}} - {{- $configmap | nindent 0 -}} - {{- end -}} - - {{/* Append the vpn config volume to the additionalVolumes */}} - {{- $volume := include "common.addon.vpn.volume" . | fromYaml -}} - {{- if $volume -}} - {{- $additionalVolumes := append .Values.additionalVolumes $volume }} - {{- $_ := set .Values "additionalVolumes" $additionalVolumes -}} - {{- end -}} - - {{/* Include the networkpolicy if not empty */}} - {{- $networkpolicy := include "common.addon.vpn.networkpolicy" . -}} - {{- if $networkpolicy -}} - {{- print "---" | nindent 0 -}} - {{- $networkpolicy | nindent 0 -}} - {{- end -}} -{{- end -}} -{{- end -}} diff --git a/charts/common/templates/addons/vpn/openvpn/_addon.tpl b/charts/common/templates/addons/vpn/openvpn/_addon.tpl deleted file mode 100644 index 62005db4..00000000 --- a/charts/common/templates/addons/vpn/openvpn/_addon.tpl +++ /dev/null @@ -1,19 +0,0 @@ -{{/* -Template to render OpenVPN addon. It will add the container to the list of additionalContainers -and add a credentials secret if speciffied. -*/}} -{{- define "common.addon.openvpn" -}} - {{/* Append the openVPN container to the additionalContainers */}} - {{- $container := include "common.addon.openvpn.container" . | fromYaml -}} - {{- if $container -}} - {{- $additionalContainers := append .Values.additionalContainers $container -}} - {{- $_ := set .Values "additionalContainers" $additionalContainers -}} - {{- end -}} - - {{/* Include the secret if not empty */}} - {{- $secret := include "common.addon.openvpn.secret" . -}} - {{- if $secret -}} - {{- print "---" | nindent 0 -}} - {{- $secret | nindent 0 -}} - {{- end -}} -{{- end -}} diff --git a/charts/common/templates/addons/vpn/openvpn/_container.tpl b/charts/common/templates/addons/vpn/openvpn/_container.tpl deleted file mode 100644 index 9742a524..00000000 --- a/charts/common/templates/addons/vpn/openvpn/_container.tpl +++ /dev/null @@ -1,61 +0,0 @@ -{{/* -The OpenVPN sidecar container to be inserted. -*/}} -{{- define "common.addon.openvpn.container" -}} -name: openvpn -image: "{{ .Values.addons.vpn.openvpn.image.repository }}:{{ .Values.addons.vpn.openvpn.image.tag }}" -imagePullPolicy: {{ .Values.addons.vpn.openvpn.pullPolicy }} -{{- with .Values.addons.vpn.securityContext }} -securityContext: - {{- toYaml . | nindent 2 }} -{{- end }} -{{- with .Values.addons.vpn.env }} -env: -{{- range $k, $v := . }} - - name: {{ $k }} - value: {{ $v | quote }} -{{- end }} -{{- end }} -{{- if or .Values.addons.vpn.openvpn.auth .Values.addons.vpn.openvpn.authSecret }} -envFrom: - - secretRef: - {{- if .Values.addons.vpn.openvpn.authSecret }} - name: {{ .Values.addons.vpn.openvpn.authSecret }} - {{- else }} - name: {{ include "common.names.fullname" . }}-openvpn - {{- end }} -{{- end }} -{{- if or .Values.addons.vpn.configFile .Values.addons.vpn.scripts.up .Values.addons.vpn.scripts.down .Values.addons.vpn.additionalVolumeMounts .Values.persistence.shared.enabled }} -volumeMounts: -{{- if .Values.addons.vpn.configFile }} - - name: vpnconfig - mountPath: /vpn/vpn.conf - subPath: vpnConfigfile -{{- end }} -{{- if .Values.addons.vpn.scripts.up }} - - name: vpnconfig - mountPath: /vpn/up.sh - subPath: up.sh -{{- end }} -{{- if .Values.addons.vpn.scripts.down }} - - name: vpnconfig - mountPath: /vpn/down.sh - subPath: down.sh -{{- end }} -{{- if .Values.persistence.shared.enabled }} - - mountPath: {{ .Values.persistence.shared.mountPath }} - name: shared -{{- end }} -{{- with .Values.addons.vpn.additionalVolumeMounts }} - {{- toYaml . | nindent 2 }} -{{- end }} -{{- end }} -{{- with .Values.addons.vpn.livenessProbe }} -livenessProbe: - {{- toYaml . | nindent 2 }} -{{- end -}} -{{- with .Values.addons.vpn.resources }} -resources: - {{- toYaml . | nindent 2 }} -{{- end }} -{{- end -}} diff --git a/charts/common/templates/addons/vpn/openvpn/_secret.tpl b/charts/common/templates/addons/vpn/openvpn/_secret.tpl deleted file mode 100644 index 3a4deed7..00000000 --- a/charts/common/templates/addons/vpn/openvpn/_secret.tpl +++ /dev/null @@ -1,15 +0,0 @@ -{{/* -The OpenVPN credentials secrets to be included. -*/}} -{{- define "common.addon.openvpn.secret" -}} -{{- with .Values.addons.vpn.openvpn.auth -}} -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "common.names.fullname" $ }}-openvpn - labels: - {{- include "common.labels" $ | nindent 4 }} -data: - VPN_AUTH: {{ . | b64enc }} -{{- end -}} -{{- end -}} diff --git a/charts/common/templates/addons/vpn/wireguard/_addon.tpl b/charts/common/templates/addons/vpn/wireguard/_addon.tpl deleted file mode 100644 index 3213b5fa..00000000 --- a/charts/common/templates/addons/vpn/wireguard/_addon.tpl +++ /dev/null @@ -1,12 +0,0 @@ -{{/* -Template to render Wireguard addon. It will add the container to the list of additionalContainers. -*/}} -*/}} -{{- define "common.addon.wireguard" -}} - {{/* Append the Wireguard container to the additionalContainers */}} - {{- $container := fromYaml (include "common.addon.wireguard.container" .) -}} - {{- if $container -}} - {{- $additionalContainers := append .Values.additionalContainers $container -}} - {{- $_ := set .Values "additionalContainers" $additionalContainers -}} - {{- end -}} -{{- end -}} diff --git a/charts/common/templates/addons/vpn/wireguard/_container.tpl b/charts/common/templates/addons/vpn/wireguard/_container.tpl deleted file mode 100644 index 13154639..00000000 --- a/charts/common/templates/addons/vpn/wireguard/_container.tpl +++ /dev/null @@ -1,52 +0,0 @@ -{{/* -The Wireguard sidecar container to be inserted. -*/}} -{{- define "common.addon.wireguard.container" -}} -name: wireguard -image: "{{ .Values.addons.vpn.wireguard.image.repository }}:{{ .Values.addons.vpn.wireguard.image.tag }}" -imagePullPolicy: {{ .Values.addons.vpn.wireguard.pullPolicy }} -{{- with .Values.addons.vpn.securityContext }} -securityContext: - {{- toYaml . | nindent 2 }} -{{- end }} -{{- with .Values.addons.vpn.env }} -env: -{{- range $k, $v := . }} - - name: {{ $k }} - value: {{ $v | quote }} -{{- end }} -{{- end }} -{{- if or .Values.addons.vpn.configFile .Values.addons.vpn.scripts.up .Values.addons.vpn.scripts.down .Values.addons.vpn.additionalVolumeMounts .Values.persistence.shared.enabled }} -volumeMounts: -{{- if .Values.addons.vpn.configFile }} - - name: vpnconfig - mountPath: /etc/wireguard/wg0.conf - subPath: vpnConfigfile -{{- end }} -{{- if .Values.addons.vpn.scripts.up }} - - name: vpnconfig - mountPath: /config/up.sh - subPath: up.sh -{{- end }} -{{- if .Values.addons.vpn.scripts.down }} - - name: vpnconfig - mountPath: /config/down.sh - subPath: down.sh -{{- end }} -{{- if .Values.persistence.shared.enabled }} - - mountPath: {{ .Values.persistence.shared.mountPath }} - name: shared -{{- end }} -{{- with .Values.addons.vpn.additionalVolumeMounts }} - {{- toYaml . | nindent 2 }} -{{- end }} -{{- end }} -{{- with .Values.addons.vpn.livenessProbe }} -livenessProbe: - {{- toYaml . | nindent 2 }} -{{- end -}} -{{- with .Values.addons.vpn.resources }} -resources: - {{- toYaml . | nindent 2 }} -{{- end }} -{{- end -}} diff --git a/charts/common/templates/classes/_ingress.tpl b/charts/common/templates/classes/_ingress.tpl deleted file mode 100644 index 4f641c25..00000000 --- a/charts/common/templates/classes/_ingress.tpl +++ /dev/null @@ -1,77 +0,0 @@ -{{/* -This template serves as a blueprint for all Ingress objects that are created -within the common library. -*/}} -{{- define "common.classes.ingress" -}} -{{- $ingressName := include "common.names.fullname" . -}} -{{- $values := .Values.ingress -}} -{{- if hasKey . "ObjectValues" -}} - {{- with .ObjectValues.ingress -}} - {{- $values = . -}} - {{- end -}} -{{ end -}} -{{- if hasKey $values "nameSuffix" -}} - {{- $ingressName = printf "%v-%v" $ingressName $values.nameSuffix -}} -{{ end -}} -{{- $svcName := $values.serviceName | default (include "common.names.fullname" .) -}} -{{- $svcPort := $values.servicePort | default $.Values.service.port.port -}} -apiVersion: {{ include "common.capabilities.ingress.apiVersion" . }} -kind: Ingress -metadata: - name: {{ $ingressName }} - labels: - {{- include "common.labels" . | nindent 4 }} - {{- with $values.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - {{- if eq (include "common.capabilities.ingress.apiVersion" $) "networking.k8s.io/v1" }} - {{- if $values.ingressClassName }} - ingressClassName: {{ $values.ingressClassName }} - {{- end }} - {{- end }} - {{- if $values.tls }} - tls: - {{- range $values.tls }} - - hosts: - {{- range .hosts }} - - {{ . | quote }} - {{- end }} - {{- range .hostsTpl }} - - {{ tpl . $ | quote }} - {{- end }} - {{- if .secretNameTpl }} - secretName: {{ tpl .secretNameTpl $ | quote}} - {{- else }} - secretName: {{ .secretName }} - {{- end }} - {{- end }} - {{- end }} - rules: - {{- range $values.hosts }} - {{- if .hostTpl }} - - host: {{ tpl .hostTpl $ | quote }} - {{- else }} - - host: {{ .host | quote }} - {{- end }} - http: - paths: - {{- range .paths }} - - path: {{ .path }} - {{- if eq (include "common.capabilities.ingress.apiVersion" $) "networking.k8s.io/v1" }} - pathType: Prefix - {{- end }} - backend: - {{- if eq (include "common.capabilities.ingress.apiVersion" $) "networking.k8s.io/v1" }} - service: - name: {{ $svcName }} - port: - number: {{ $svcPort }} - {{- else }} - serviceName: {{ $svcName }} - servicePort: {{ $svcPort }} - {{- end }} - {{- end }} - {{- end }} -{{- end }} diff --git a/charts/common/templates/classes/_pvc.tpl b/charts/common/templates/classes/_pvc.tpl deleted file mode 100644 index 208e7405..00000000 --- a/charts/common/templates/classes/_pvc.tpl +++ /dev/null @@ -1,40 +0,0 @@ -{{/* -This template serves as a blueprint for all PersistentVolumeClaim objects that are created -within the common library. -*/}} -{{- define "common.classes.pvc" -}} -{{- $values := .Values.persistence -}} -{{- if hasKey . "ObjectValues" -}} - {{- with .ObjectValues.persistence -}} - {{- $values = . -}} - {{- end -}} -{{ end -}} -{{- $pvcName := include "common.names.fullname" . -}} -{{- if hasKey $values "nameSuffix" -}} - {{- $pvcName = printf "%v-%v" $pvcName $values.nameSuffix -}} -{{ end -}} -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: {{ $pvcName }} - {{- if or $values.skipuninstall $values.annotations }} - annotations: - {{- if $values.skipuninstall }} - "helm.sh/resource-policy": keep - {{- end }} - {{- with $values.annotations }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- end }} - labels: - {{- include "common.labels" . | nindent 4 }} -spec: - accessModes: - - {{ required (printf "accessMode is required for PVC %v" $pvcName) $values.accessMode | quote }} - resources: - requests: - storage: {{ required (printf "size is required for PVC %v" $pvcName) $values.size | quote }} - {{- if $values.storageClass }} - storageClassName: {{ if (eq "-" $values.storageClass) }}""{{- else }}{{ $values.storageClass | quote }}{{- end }} - {{- end }} -{{- end -}} diff --git a/charts/common/templates/classes/_service.tpl b/charts/common/templates/classes/_service.tpl deleted file mode 100644 index d6501457..00000000 --- a/charts/common/templates/classes/_service.tpl +++ /dev/null @@ -1,68 +0,0 @@ -{{/* -This template serves as a blueprint for all Service objects that are created -within the common library. -*/}} -{{- define "common.classes.service" -}} -{{- $values := .Values.service -}} -{{- if hasKey . "ObjectValues" -}} - {{- with .ObjectValues.service -}} - {{- $values = . -}} - {{- end -}} -{{ end -}} -{{- $serviceName := include "common.names.fullname" . -}} -{{- if hasKey $values "nameSuffix" -}} - {{- $serviceName = printf "%v-%v" $serviceName $values.nameSuffix -}} -{{ end -}} -{{- $svcType := $values.type | default "" -}} -apiVersion: v1 -kind: Service -metadata: - name: {{ $serviceName }} - labels: - {{- include "common.labels" . | nindent 4 }} - {{- if $values.labels }} - {{ toYaml $values.labels | nindent 4 }} - {{- end }} - {{- with $values.annotations }} - annotations: - {{ toYaml . | nindent 4 }} - {{- end }} -spec: - {{- if (or (eq $svcType "ClusterIP") (empty $svcType)) }} - type: ClusterIP - {{- if $values.clusterIP }} - clusterIP: {{ $values.clusterIP }} - {{end}} - {{- else if eq $svcType "LoadBalancer" }} - type: {{ $svcType }} - {{- if $values.loadBalancerIP }} - loadBalancerIP: {{ $values.loadBalancerIP }} - {{- end }} - {{- if $values.externalTrafficPolicy }} - externalTrafficPolicy: {{ $values.externalTrafficPolicy }} - {{- end }} - {{- if $values.loadBalancerSourceRanges }} - loadBalancerSourceRanges: - {{ toYaml $values.loadBalancerSourceRanges | nindent 4 }} - {{- end -}} - {{- else }} - type: {{ $svcType }} - {{- end }} - {{- if $values.sessionAffinity }} - sessionAffinity: {{ $values.sessionAffinity }} - {{- if $values.sessionAffinityConfig }} - sessionAffinityConfig: - {{ toYaml $values.sessionAffinityConfig | nindent 4 }} - {{- end -}} - {{- end }} - {{- with $values.externalIPs }} - externalIPs: - {{- toYaml . | nindent 4 }} - {{- end }} - {{- if $values.publishNotReadyAddresses }} - publishNotReadyAddresses: {{ $values.publishNotReadyAddresses }} - {{- end }} - {{- include "common.classes.service.ports" (dict "svcType" $svcType "values" $values ) | trim | nindent 2 }} - selector: - {{- include "common.labels.selectorLabels" . | nindent 4 }} -{{- end }} diff --git a/charts/common/templates/classes/_service_ports.tpl b/charts/common/templates/classes/_service_ports.tpl deleted file mode 100644 index 14832e6f..00000000 --- a/charts/common/templates/classes/_service_ports.tpl +++ /dev/null @@ -1,23 +0,0 @@ -{{/* -Render all the ports and additionalPorts for a Service object. -*/}} -{{- define "common.classes.service.ports" -}} - {{- $ports := list -}} - {{- $values := .values -}} - {{- $ports = mustAppend $ports $values.port -}} - {{- range $_ := $values.additionalPorts -}} - {{- $ports = mustAppend $ports . -}} - {{- end }} - {{- if $ports -}} - ports: - {{- range $_ := $ports }} - - port: {{ .port }} - targetPort: {{ .targetPort | default .name | default "http" }} - protocol: {{ .protocol | default "TCP" }} - name: {{ .name | default "http" }} - {{- if (and (eq $.svcType "NodePort") (not (empty .nodePort))) }} - nodePort: {{ .nodePort }} - {{ end }} - {{- end -}} - {{- end -}} -{{- end }} diff --git a/charts/common/templates/lib/chart/_capabilities.tpl b/charts/common/templates/lib/chart/_capabilities.tpl deleted file mode 100644 index 1db5849f..00000000 --- a/charts/common/templates/lib/chart/_capabilities.tpl +++ /dev/null @@ -1,92 +0,0 @@ -{{/* -Return the appropriate apiVersion for DaemonSet objects. -*/}} -{{- define "common.capabilities.daemonset.apiVersion" -}} -{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}} -{{- print "extensions/v1beta1" -}} -{{- else -}} -{{- print "apps/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Waiting on https://github.com/helm/helm/pull/8608 -{{- define "common.capabilities.daemonset.apiVersion" -}} -{{- if .Capabilities.APIVersions.Has "apps/v1/DaemonSet" -}} -{{- print "apps/v1" -}} -{{- else -}} -{{- print "extensions/v1beta1" -}} -{{- end -}} -{{- end -}} -*/}} - -{{/* -Return the appropriate apiVersion for Deployment objects. -*/}} -{{- define "common.capabilities.deployment.apiVersion" -}} -{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}} -{{- print "extensions/v1beta1" -}} -{{- else -}} -{{- print "apps/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Waiting on https://github.com/helm/helm/pull/8608 -{{- define "common.capabilities.deployment.apiVersion" -}} -{{- if .Capabilities.APIVersions.Has "apps/v1/Deployment" -}} -{{- print "apps/v1" -}} -{{- else -}} -{{- print "extensions/v1beta1" -}} -{{- end -}} -{{- end -}} -*/}} - -{{/* -Return the appropriate apiVersion for StatefulSet objects. -*/}} -{{- define "common.capabilities.statefulset.apiVersion" -}} -{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}} -{{- print "apps/v1beta1" -}} -{{- else -}} -{{- print "apps/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Waiting on https://github.com/helm/helm/pull/8608 -{{- define "common.capabilities.statefulset.apiVersion" -}} -{{- if .Capabilities.APIVersions.Has "apps/v1/StatefulSet" -}} -{{- print "apps/v1" -}} -{{- else -}} -{{- print "apps/v1beta1" -}} -{{- end -}} -{{- end -}} -*/}} - -{{/* -Return the appropriate apiVersion for Ingress objects. -*/}} - -{{- define "common.capabilities.ingress.apiVersion" -}} -{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}} -{{- print "extensions/v1beta1" -}} -{{- else if semverCompare "<1.19-0" .Capabilities.KubeVersion.GitVersion -}} -{{- print "networking.k8s.io/v1beta1" -}} -{{- else -}} -{{- print "networking.k8s.io/v1" -}} -{{- end }} -{{- end -}} - -{{/* -Waiting on https://github.com/helm/helm/pull/8608 -{{- define "common.capabilities.ingress.apiVersion" -}} -{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress" -}} -{{- print "networking.k8s.io/v1" -}} -{{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress" -}} -{{- print "networking.k8s.io/v1beta1" -}} -{{- else -}} -{{- print "extensions/v1beta1" -}} -{{- end }} -{{- end -}} -*/}} diff --git a/charts/common/templates/lib/chart/_labels.tpl b/charts/common/templates/lib/chart/_labels.tpl deleted file mode 100644 index 10981d9b..00000000 --- a/charts/common/templates/lib/chart/_labels.tpl +++ /dev/null @@ -1,19 +0,0 @@ -{{/* -Common labels shared across objects. -*/}} -{{- define "common.labels" -}} -helm.sh/chart: {{ include "common.names.chart" . }} -{{ include "common.labels.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* -Selector labels shared across objects. -*/}} -{{- define "common.labels.selectorLabels" -}} -app.kubernetes.io/name: {{ include "common.names.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} diff --git a/charts/common/templates/lib/chart/_names.tpl b/charts/common/templates/lib/chart/_names.tpl deleted file mode 100644 index 1dcd878a..00000000 --- a/charts/common/templates/lib/chart/_names.tpl +++ /dev/null @@ -1,42 +0,0 @@ -{{/* -Expand the name of the chart. -*/}} -{{- define "common.names.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Create a default fully qualified app name. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -If release name contains chart name it will be used as a full name. -*/}} -{{- define "common.names.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- $name := default .Chart.Name .Values.nameOverride }} -{{- if contains $name .Release.Name }} -{{- .Release.Name | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} -{{- end }} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "common.names.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Create the name of the ServiceAccount to use. -*/}} -{{- define "common.names.serviceAccountName" -}} -{{- if .Values.serviceAccount.create }} - {{- default (include "common.names.fullname" .) .Values.serviceAccount.name }} -{{- else }} - {{- default "default" .Values.serviceAccount.name }} -{{- end }} -{{- end }} diff --git a/charts/common/templates/lib/chart/_values.tpl b/charts/common/templates/lib/chart/_values.tpl deleted file mode 100644 index 712202a0..00000000 --- a/charts/common/templates/lib/chart/_values.tpl +++ /dev/null @@ -1,11 +0,0 @@ -{{/* -Merge the local chart values and the common chart defaults. -*/}} -{{- define "common.values.setup" -}} - {{- if .Values.common -}} - {{- $defaultValues := deepCopy .Values.common -}} - {{- $userValues := deepCopy (omit .Values "common") -}} - {{- $mergedValues := mustMergeOverwrite $defaultValues $userValues -}} - {{- $_ := set . "Values" (deepCopy $mergedValues) -}} - {{- end }} -{{- end }} diff --git a/charts/common/templates/lib/controller/_container.tpl b/charts/common/templates/lib/controller/_container.tpl deleted file mode 100644 index 921c8b4a..00000000 --- a/charts/common/templates/lib/controller/_container.tpl +++ /dev/null @@ -1,72 +0,0 @@ -{{- /* -The main container included in the controller. -*/ -}} -{{- define "common.controller.mainContainer" -}} -- name: {{ include "common.names.fullname" . }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - {{- with .Values.command }} - command: {{ . }} - {{- end }} - {{- with .Values.args }} - args: {{ . }} - {{- end }} - {{- with .Values.securityContext }} - securityContext: - {{- toYaml . | nindent 4 }} - {{- end }} - {{- if or .Values.env .Values.envTpl .Values.envValueFrom }} - env: - {{- range $key, $value := .Values.env }} - - name: {{ $key }} - value: {{ $value | quote }} - {{- end }} - {{- range $key, $value := .Values.envTpl }} - - name: {{ $key }} - value: {{ tpl $value $ | quote }} - {{- end }} - {{- range $key, $value := .Values.envValueFrom }} - - name: {{ $key }} - valueFrom: - {{- $value | toYaml | nindent 6 }} - {{- end }} - {{- end }} - {{- if or .Values.envFrom .Values.secret }} - envFrom: - {{- with .Values.envFrom }} - {{- toYaml . | nindent 2 }} - {{- end }} - {{- if or .Values.secret }} - - secretRef: - name: {{ include "common.names.fullname" . }} - {{- end }} - {{- end }} - {{- include "common.controller.ports" . | trim | nindent 2 }} - volumeMounts: - {{- range $index, $PVC := .Values.persistence }} - {{- if $PVC.enabled }} - - mountPath: {{ $PVC.mountPath }} - name: {{ $index }} - {{- if $PVC.subPath }} - subPath: {{ $PVC.subPath }} - {{- end }} - {{- end }} - {{- end }} - {{- if .Values.additionalVolumeMounts }} - {{- toYaml .Values.additionalVolumeMounts | nindent 2 }} - {{- end }} - {{- if eq .Values.controllerType "statefulset" }} - {{- range $index, $vct := .Values.volumeClaimTemplates }} - - mountPath: {{ $vct.mountPath }} - name: {{ $vct.name }} - {{- if $vct.subPath }} - subPath: {{ $vct.subPath }} - {{- end }} - {{- end }} - {{- end }} - {{- include "common.controller.probes" . | nindent 2 }} - {{- with .Values.resources }} - resources: - {{- toYaml . | nindent 4 }} - {{- end }} -{{- end -}} diff --git a/charts/common/templates/lib/controller/_pod.tpl b/charts/common/templates/lib/controller/_pod.tpl deleted file mode 100644 index ea66503f..00000000 --- a/charts/common/templates/lib/controller/_pod.tpl +++ /dev/null @@ -1,63 +0,0 @@ -{{- /* -The pod definition included in the controller. -*/ -}} -{{- define "common.controller.pod" -}} -{{- with .Values.imagePullSecrets }} -imagePullSecrets: - {{- toYaml . | nindent 2 }} -{{- end }} -serviceAccountName: {{ include "common.names.serviceAccountName" . }} -{{- with .Values.podSecurityContext }} -securityContext: - {{- toYaml . | nindent 2 }} -{{- end }} -{{- with .Values.priorityClassName }} -priorityClassName: {{ . }} -{{- end }} -{{- with .Values.schedulerName }} -schedulerName: {{ . }} -{{- end }} -{{- with .Values.hostNetwork }} -hostNetwork: {{ . }} -{{- end }} -{{- with .Values.hostname }} -hostname: {{ . }} -{{- end }} -{{- with .Values.dnsPolicy }} -dnsPolicy: {{ . }} -{{- end }} -{{- with .Values.dnsConfig }} -dnsConfig: - {{- toYaml . | nindent 2 }} -{{- end }} -enableServiceLinks: {{ .Values.enableServiceLinks }} -{{- with .Values.initContainers }} -initContainers: - {{- toYaml . | nindent 2 }} -{{- end }} -containers: - {{- include "common.controller.mainContainer" . | nindent 0 }} - {{- with .Values.additionalContainers }} - {{- toYaml . | nindent 0 }} - {{- end }} -{{- with (include "common.controller.volumes" . | trim) }} -volumes: - {{- . | nindent 0 }} -{{- end }} -{{- with .Values.hostAliases }} -hostAliases: -{{- toYaml . | nindent 2 }} -{{- end }} -{{- with .Values.nodeSelector }} -nodeSelector: - {{- toYaml . | nindent 2 }} -{{- end }} -{{- with .Values.affinity }} -affinity: - {{- toYaml . | nindent 2 }} -{{- end }} -{{- with .Values.tolerations }} -tolerations: - {{- toYaml . | nindent 2 }} -{{- end }} -{{- end -}} diff --git a/charts/common/templates/lib/controller/_ports.tpl b/charts/common/templates/lib/controller/_ports.tpl deleted file mode 100644 index 58daab31..00000000 --- a/charts/common/templates/lib/controller/_ports.tpl +++ /dev/null @@ -1,42 +0,0 @@ -{{/* -Ports included by the controller. -*/}} -{{- define "common.controller.ports" -}} - {{- $ports := list -}} - {{- with .Values.service -}} - {{- $serviceValues := deepCopy . -}} - {{/* append the ports for the main service */}} - {{- if .enabled -}} - {{- $_ := set .port "name" (default "http" .port.name) -}} - {{- $ports = mustAppend $ports .port -}} - {{- range $_ := .additionalPorts -}} - {{/* append the additonalPorts for the main service */}} - {{- $ports = mustAppend $ports . -}} - {{- end }} - {{- end }} - {{/* append the ports for each additional service */}} - {{- range $_ := .additionalServices }} - {{- if .enabled -}} - {{- $_ := set .port "name" (required "Missing port.name" .port.name) -}} - {{- $ports = mustAppend $ports .port -}} - {{- range $_ := .additionalPorts -}} - {{/* append the additonalPorts for each additional service */}} - {{- $ports = mustAppend $ports . -}} - {{- end }} - {{- end }} - {{- end }} - {{- end }} - -{{/* export/render the list of ports */}} -{{- if $ports -}} -ports: -{{- range $_ := $ports }} -- name: {{ .name }} - {{- if and .targetPort (kindIs "string" .targetPort) }} - {{- fail (printf "Our charts do not support named ports for targetPort. (port name %s, targetPort %s)" .name .targetPort) }} - {{- end }} - containerPort: {{ .targetPort | default .port }} - protocol: {{ .protocol | default "TCP" }} -{{- end -}} -{{- end -}} -{{- end -}} diff --git a/charts/common/templates/lib/controller/_probes.tpl b/charts/common/templates/lib/controller/_probes.tpl deleted file mode 100644 index 84c0fdf7..00000000 --- a/charts/common/templates/lib/controller/_probes.tpl +++ /dev/null @@ -1,22 +0,0 @@ -{{/* -Probes selection logic. -*/}} -{{- define "common.controller.probes" -}} -{{- $svcPort := .Values.service.port.name -}} -{{- range $probeName, $probe := .Values.probes }} - {{- if $probe.enabled -}} - {{- "" | nindent 0 }} - {{- $probeName }}Probe: - {{- if $probe.custom -}} - {{- $probe.spec | toYaml | nindent 2 }} - {{- else }} - {{- "tcpSocket:" | nindent 2 }} - {{- printf "port: %v" $svcPort | nindent 4 }} - {{- printf "initialDelaySeconds: %v" $probe.spec.initialDelaySeconds | nindent 2 }} - {{- printf "failureThreshold: %v" $probe.spec.failureThreshold | nindent 2 }} - {{- printf "timeoutSeconds: %v" $probe.spec.timeoutSeconds | nindent 2 }} - {{- printf "periodSeconds: %v" $probe.spec.periodSeconds | nindent 2 }} - {{- end }} - {{- end }} -{{- end }} -{{- end }} diff --git a/charts/common/templates/lib/controller/_volumes.tpl b/charts/common/templates/lib/controller/_volumes.tpl deleted file mode 100644 index fccab6df..00000000 --- a/charts/common/templates/lib/controller/_volumes.tpl +++ /dev/null @@ -1,31 +0,0 @@ -{{/* -Volumes included by the controller. -*/}} -{{- define "common.controller.volumes" -}} -{{- range $index, $persistence := .Values.persistence }} -{{- if $persistence.enabled }} -- name: {{ $index }} -{{- if $persistence.existingClaim }} -{{- /* Always prefer an existingClaim if that is set */}} - persistentVolumeClaim: - claimName: {{ $persistence.existingClaim }} -{{- else -}} - {{- if $persistence.emptyDir -}} - {{- /* Always prefer an emptyDir next if that is set */}} - emptyDir: {} - {{- else -}} - {{- /* Otherwise refer to the PVC name */}} - persistentVolumeClaim: - {{- if $persistence.nameSuffix }} - claimName: {{ printf "%s-%s" (include "common.names.fullname" $) $persistence.nameSuffix }} - {{- else }} - claimName: {{ printf "%s-%s" (include "common.names.fullname" $) $index }} - {{- end }} - {{- end }} -{{- end }} -{{- end }} -{{- end }} -{{- if .Values.additionalVolumes }} - {{- toYaml .Values.additionalVolumes | nindent 0 }} -{{- end }} -{{- end -}} diff --git a/charts/common/values.yaml b/charts/common/values.yaml deleted file mode 100644 index fceb32eb..00000000 --- a/charts/common/values.yaml +++ /dev/null @@ -1,455 +0,0 @@ -# type: options are deployment, daemonset or statefulset -controllerType: deployment -# Set annotations on the deployment/statefulset/daemonset -controllerAnnotations: {} -# Set labels on the deployment/statefulset/daemonset -controllerLabels: {} - -replicas: 1 -strategy: - ## For Deployments, valid values are Recreate and RollingUpdate - ## For StatefulSets, valid values are OnDelete and RollingUpdate - ## DaemonSets ignore this - type: RollingUpdate - -# Override the default command -command: [] -# Override the default args -args: [] - -nameOverride: "" -fullnameOverride: "" - -# Set annotations on the pod -podAnnotations: {} - -serviceAccount: - # Specifies whether a service account should be created - create: false - # Annotations to add to the service account - annotations: {} - # The name of the service account to use. - # If not set and create is true, a name is generated using the fullname template - name: "" - -## Use this to populate a secret with the values you specify. -## Be aware that these values are not encrypted by default, and could therefore visible -## to anybody with access to the values.yaml file. -secret: {} - # PASSWORD: my-password - -env: {} - # TZ: UTC - -## Variables with values set from templates, example -## With a release name of: demo, the example env value will be: demo-admin -envTpl: {} - # TEMPLATE_VALUE: "{{ .Release.Name }}-admin" - -## Variables with values from (for example) the Downward API -## See https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/ -envValueFrom: {} - # NODE_NAME: - # fieldRef: - # fieldPath: spec.nodeName - -envFrom: [] -# - configMapRef: -# name: config-map-name -# - secretRef: -# name: secret-name - -# Custom priority class for different treatment by the scheduler -# priorityClassName: system-node-critical - -# Allow specifying a custom scheduler name -# schedulerName: awkward-dangerous-scheduler - -# Allow specifying explicit hostname setting -# hostname: - -# When using hostNetwork make sure you set dnsPolicy to ClusterFirstWithHostNet -hostNetwork: false - -dnsPolicy: ClusterFirst - -# Optional DNS settings, configuring the ndots option may resolve -# nslookup issues on some Kubernetes setups. -# dnsConfig: -# options: -# - name: ndots -# value: "1" - -# Enable/disable the generation of environment variables for services. -# See https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/#accessing-the-service -# for more information. -enableServiceLinks: true - -# Configure the Security Context for the Pod -podSecurityContext: {} - -# Configure the Security Context for the main container -securityContext: {} - -initContainers: [] - -additionalContainers: [] - -## Probes configuration -probes: - liveness: - enabled: true - ## Set this to true if you wish to specify your own livenessProbe - custom: false - ## The spec field contains the values for the default livenessProbe. - ## If you selected custom: true, this field holds the definition of the livenessProbe. - spec: - initialDelaySeconds: 0 - periodSeconds: 10 - timeoutSeconds: 1 - failureThreshold: 3 - - readiness: - enabled: true - ## Set this to true if you wish to specify your own readinessProbe - custom: false - ## The spec field contains the values for the default readinessProbe. - ## If you selected custom: true, this field holds the definition of the readinessProbe. - spec: - initialDelaySeconds: 0 - periodSeconds: 10 - timeoutSeconds: 1 - failureThreshold: 3 - - startup: - enabled: true - ## Set this to true if you wish to specify your own startupProbe - custom: false - ## The spec field contains the values for the default startupProbe. - ## If you selected custom: true, this field holds the definition of the startupProbe. - spec: - initialDelaySeconds: 0 - timeoutSeconds: 1 - ## This means it has a maximum of 5*30=150 seconds to start up before it fails - periodSeconds: 5 - failureThreshold: 30 - -service: - enabled: true - type: ClusterIP - ## Specify the default port information - port: - port: - ## name defaults to http - name: - protocol: TCP - ## Specify a service targetPort if you wish to differ the service port from the application port. - ## If targetPort is specified, this port number is used in the container definition instead of - ## service.port.port. Therefore named ports are not supported for this field. - targetPort: - ## Specify the nodePort value for the LoadBalancer and NodePort service types. - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport - ## - # nodePort: - additionalPorts: [] - - ## Provide any additional annotations which may be required. This can be used to - ## set the LoadBalancer service type to internal only. - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer - ## - annotations: {} - labels: {} - - additionalServices: [] - # - enabled: false - # nameSuffix: api - # type: ClusterIP - # # Specify the default port information - # port: - # port: - # # name defaults to http - # name: - # protocol: TCP - # # targetPort defaults to http - # targetPort: - # # nodePort: - # additionalPorts: [] - # annotations: {} - # labels: {} - -ingress: - enabled: false - annotations: {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - labels: {} - # ingressClassName: "nginx" - hosts: - - host: chart-example.local - ## Or a tpl that is evaluated - # hostTpl: '{{ include "common.names.fullname" . }}.{{ .Release.Namespace }}.{{ .Values.ingress.domainname }}' - paths: - - path: / - # Ignored if not kubeVersion >= 1.14-0 - pathType: Prefix - tls: [] - # - secretName: chart-example-tls - ## Or if you need a dynamic secretname - # - secretNameTpl: '{{ include "common.names.fullname" . }}-ingress' - # hosts: - # - chart-example.local - ## Or a tpl that is evaluated - # hostsTpl: - # - '{{ include "common.names.fullname" . }}.{{ .Release.Namespace }}.{{ .Values.ingress.domainname }}' - additionalIngresses: [] - # - enabled: false - # nameSuffix: "api" - # annotations: {} - # # kubernetes.io/ingress.class: nginx - # # kubernetes.io/tls-acme: "true" - # labels: {} - # hosts: - # - host: chart-example.local - # paths: - # - path: /api - # # Ignored if not kubeVersion >= 1.14-0 - # pathType: Prefix - # tls: [] - # # - secretName: chart-example-tls - # # hosts: - # # - chart-example.local - -persistence: - config: - enabled: false - mountPath: /config - ## configuration data Persistent Volume Storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - # storageClass: "-" - ## - ## If you want to reuse an existing claim, you can pass the name of the PVC using - ## the existingClaim variable - # existingClaim: your-claim - # subPath: some-subpath - accessMode: ReadWriteOnce - size: 1Gi - ## Set to true to retain the PVC upon helm uninstall - skipuninstall: false - - # Create an emptyDir volume to share between all containers - shared: - enabled: false - emptyDir: true - mountPath: /shared - -additionalVolumes: [] - -additionalVolumeMounts: [] - -volumeClaimTemplates: [] -# Used in statefulset to create individual disks for each instance -# - name: data -# mountPath: /data -# accessMode: "ReadWriteOnce" -# size: 1Gi -# - name: backup -# mountPath: /backup -# subPath: theSubPath -# accessMode: "ReadWriteOnce" -# size: 2Gi -# storageClass: cheap-storage-class - -nodeSelector: {} - -affinity: {} - -tolerations: [] - -hostAliases: [] -# Use hostAliases to add custom entries to /etc/hosts - mapping IP addresses to hostnames. -# ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ -# - ip: "192.168.1.100" -# hostnames: -# - "example.com" -# - "www.example.com" - -resources: {} -# We usually recommend not to specify default resources and to leave this as a conscious -# choice for the user. This also increases chances charts run on environments with little -# resources, such as Minikube. If you do want to specify resources, uncomment the following -# lines, adjust them as necessary, and remove the curly braces after 'resources:'. -# limits: -# cpu: 100m -# memory: 128Mi -# requests: -# cpu: 100m -# memory: 128Mi - -addons: - - # Enable running a VPN in the pod to route traffic through a VPN - vpn: - enabled: false - - # VPN type: options are openvpn or wireguard - type: openvpn - - # OpenVPN specific configuration - openvpn: - image: - repository: dperson/openvpn-client - pullPolicy: IfNotPresent - tag: latest - - # Credentials to connect to the VPN Service (used with -a) - auth: # "user;password" - # OR specify an existing secret that contains the credentials. Credentials should be stored - # under the VPN_AUTH key - authSecret: # my-vpn-secret - - # WireGuard specific configuration - wireguard: - image: - repository: k8sathome/wireguard - pullPolicy: IfNotPresent - tag: 1.0.20200827 - - # Set the VPN container securityContext - securityContext: - capabilities: - add: - - NET_ADMIN - - SYS_MODULE - - # All variables specified here will be added to the vpn sidecar container - # See the documentation of the VPN image for all config values - env: {} - # TZ: UTC - - # Provide a customized vpn configuration file to be used by the VPN. - configFile: # |- - # Some Example Config - # remote greatvpnhost.com 8888 - # auth-user-pass - # Cipher AES - - # Provide custom up/down scripts that can be used by the vpnConf - scripts: - up: # |- - # #!/bin/bash - # echo "connected" > /shared/vpnstatus - down: # |- - # #!/bin/bash - # echo "disconnected" > /shared/vpnstatus - - additionalVolumeMounts: [] - - # Optionally specify a livenessProbe, e.g. to check if the connection is still - # being protected by the VPN - livenessProbe: {} - # exec: - # command: - # - sh - # - -c - # - if [ $(curl -s https://ipinfo.io/country) == 'US' ]; then exit 0; else exit $?; fi - # initialDelaySeconds: 30 - # periodSeconds: 60 - # failureThreshold: 1 - - # If set to true, will deploy a network policy that blocks all outbound - # traffic except traffic specified as allowed - networkPolicy: - enabled: false - - # The egress configuration for your network policy, All outbound traffic - # From the pod will be blocked unless specified here. Your cluster must - # have a CNI that supports network policies (Canal, Calico, etc...) - # https://kubernetes.io/docs/concepts/services-networking/network-policies/ - # https://github.com/ahmetb/kubernetes-network-policy-recipes - egress: - # - to: - # - ipBlock: - # cidr: 0.0.0.0/0 - # ports: - # - port: 53 - # protocol: UDP - # - port: 53 - # protocol: TCP - - # Enable running a code-server container in the pod to access files - codeserver: - enabled: false - - image: - repository: codercom/code-server - pullPolicy: IfNotPresent - tag: 3.7.4 - - # Set any environment variables for code-server here - env: {} - # TZ: UTC - - # Set codeserver command line arguments - # consider setting --user-data-dir to a persistent location to preserve code-server setting changes - args: - - --auth - - none - # - --user-data-dir - # - "/config/.vscode" - - # Specify a list of volumes that get mounted in the code-server container. - # At least 1 volumeMount is required! - volumeMounts: [] - # - name: config - # mountPath: /data/config - - # Specify the working dir that will be opened when code-server starts - # If not given, the app will default to the mountpah of the first specified volumeMount - workingDir: "" - - service: - enabled: true - type: ClusterIP - # Specify the default port information - port: - port: 12321 - name: codeserver - protocol: TCP - targetPort: codeserver - ## Specify the nodePort value for the LoadBalancer and NodePort service types. - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport - ## - # nodePort: - - ## Provide any additional annotations which may be required. This can be used to - ## set the LoadBalancer service type to internal only. - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer - ## - annotations: {} - labels: {} - - ingress: - enabled: false - nameSuffix: codeserver - annotations: {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - labels: {} - hosts: - - host: code.chart-example.local - paths: - - path: / - # Ignored if not kubeVersion >= 1.14-0 - pathType: Prefix - tls: [] - # - secretName: chart-example-tls - # hosts: - # - code.chart-example.local - - securityContext: - runAsUser: 0 diff --git a/charts/ddclient/Chart.yaml b/charts/ddclient/Chart.yaml index 19d7d0c9..e34d551c 100644 --- a/charts/ddclient/Chart.yaml +++ b/charts/ddclient/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 3.9.1 description: Perl client used to update dynamic DNS entries for accounts on Dynamic DNS Network Service Providers name: ddclient -version: 3.1.1 +version: 3.2.0 kubeVersion: ">=1.16.0-0" keywords: - ddclient @@ -17,5 +17,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/deluge/Chart.yaml b/charts/deluge/Chart.yaml index 07767003..1d11f3bf 100644 --- a/charts/deluge/Chart.yaml +++ b/charts/deluge/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: v2.0.3-2201906121747 description: Deluge is a torrent download client name: deluge -version: 2.1.0 +version: 2.2.0 kubeVersion: ">=1.16.0-0" keywords: - deluge @@ -17,5 +17,5 @@ maintainers: email: mark@markmcw.uk dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/dizquetv/Chart.yaml b/charts/dizquetv/Chart.yaml index 21f0289a..3a186b8b 100644 --- a/charts/dizquetv/Chart.yaml +++ b/charts/dizquetv/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 1.3.0 description: Create live TV channel streams from media on your Plex servers. name: dizquetv -version: 1.1.0 +version: 1.2.0 kubeVersion: ">=1.16.0-0" keywords: - dizqueTV @@ -17,5 +17,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/dnsmadeeasy-webhook/Chart.yaml b/charts/dnsmadeeasy-webhook/Chart.yaml index 13df8d69..4e868c70 100644 --- a/charts/dnsmadeeasy-webhook/Chart.yaml +++ b/charts/dnsmadeeasy-webhook/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 1.0.0 description: Cert-Manager Webhook for DNSMadeEasy name: dnsmadeeasy-webhook -version: 1.0.0 +version: 1.1.0 keywords: - cert-manager - dnsmadeeasy @@ -17,5 +17,5 @@ maintainers: email: git@angelnu.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/dsmr-reader/Chart.yaml b/charts/dsmr-reader/Chart.yaml index d908c25d..8cae8bb4 100644 --- a/charts/dsmr-reader/Chart.yaml +++ b/charts/dsmr-reader/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: v4.9.0 description: DSMR-protocol reader, telegram data storage and energy consumption visualizer. name: dsmr-reader -version: 2.2.0 +version: 2.3.0 kubeVersion: ">=1.16.0-0" keywords: - dsmr-reader @@ -17,8 +17,8 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 - name: postgresql version: 10.3.7 repository: https://charts.bitnami.com/bitnami diff --git a/charts/esphome/Chart.yaml b/charts/esphome/Chart.yaml index e3904f23..0e9444be 100644 --- a/charts/esphome/Chart.yaml +++ b/charts/esphome/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 1.15.3 description: ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems. name: esphome -version: 5.1.0 +version: 5.2.0 kubeVersion: ">=1.16.0-0" keywords: - esphome @@ -16,5 +16,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/flaresolverr/Chart.yaml b/charts/flaresolverr/Chart.yaml index 34d6449c..133e8270 100644 --- a/charts/flaresolverr/Chart.yaml +++ b/charts/flaresolverr/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: v1.2.3 description: FlareSolverr is a proxy server to bypass Cloudflare protection name: flaresolverr -version: 2.1.0 +version: 2.2.0 kubeVersion: ">=1.16.0-0" keywords: - flaresolverr @@ -16,5 +16,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/flood/Chart.yaml b/charts/flood/Chart.yaml index 0366438b..9cb55df8 100644 --- a/charts/flood/Chart.yaml +++ b/charts/flood/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 4.1.1 description: Flood is a monitoring service for various torrent clients name: flood -version: 3.1.0 +version: 3.2.0 kubeVersion: ">=1.16.0-0" keywords: - flood @@ -19,5 +19,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/freshrss/Chart.yaml b/charts/freshrss/Chart.yaml index 38c98944..15717963 100644 --- a/charts/freshrss/Chart.yaml +++ b/charts/freshrss/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 1.17.0 description: FreshRSS is a self-hosted RSS feed aggregator name: freshrss -version: 3.1.0 +version: 3.2.0 kubeVersion: ">=1.16.0-0" keywords: - freshrss @@ -17,5 +17,5 @@ maintainers: email: nathan@nathanpawelek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/gaps/Chart.yaml b/charts/gaps/Chart.yaml index 20c3b792..f5abeecb 100644 --- a/charts/gaps/Chart.yaml +++ b/charts/gaps/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: latest description: Gaps searches through your Plex Server or local folders for all movies, then queries for known movies in the same collection. name: gaps -version: 2.1.0 +version: 2.2.0 kubeVersion: ">=1.16.0-0" keywords: - plex @@ -16,5 +16,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/gonic/Chart.yaml b/charts/gonic/Chart.yaml index f4b531d2..b123f990 100644 --- a/charts/gonic/Chart.yaml +++ b/charts/gonic/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: v0.12.0 description: Music streaming server / subsonic server API implementation name: gonic -version: 3.1.0 +version: 3.2.0 kubeVersion: ">=1.16.0-0" keywords: - music @@ -17,5 +17,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/home-assistant/Chart.yaml b/charts/home-assistant/Chart.yaml index 1f64cf0d..a96a4181 100644 --- a/charts/home-assistant/Chart.yaml +++ b/charts/home-assistant/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 2021.1.5 description: Home Assistant name: home-assistant -version: 6.2.0 +version: 6.3.0 kubeVersion: ">=1.16.0-0" keywords: - home-assistant @@ -19,8 +19,8 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 - name: postgresql version: 10.3.7 repository: https://charts.bitnami.com/bitnami diff --git a/charts/hyperion-ng/Chart.yaml b/charts/hyperion-ng/Chart.yaml index b26b6dba..d036f10a 100644 --- a/charts/hyperion-ng/Chart.yaml +++ b/charts/hyperion-ng/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 2.0.0-alpha9 description: Hyperion is an opensource Bias or Ambient Lighting implementation name: hyperion-ng -version: 2.1.0 +version: 2.2.0 kubeVersion: ">=1.16.0-0" keywords: - hyperion-ng @@ -17,5 +17,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/icantbelieveitsnotvaletudo/Chart.yaml b/charts/icantbelieveitsnotvaletudo/Chart.yaml index 1f0be48f..612471fb 100644 --- a/charts/icantbelieveitsnotvaletudo/Chart.yaml +++ b/charts/icantbelieveitsnotvaletudo/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 2021.2.0 description: Create live map data from Valetudo powered robots name: icantbelieveitsnotvaletudo -version: 2.1.1 +version: 2.2.0 kubeVersion: ">=1.16.0-0" keywords: - icantbelieveitsnotvaletudo @@ -19,5 +19,5 @@ maintainers: email: helm@movishell.pl dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/jackett/Chart.yaml b/charts/jackett/Chart.yaml index 64f111a1..3a80eb51 100644 --- a/charts/jackett/Chart.yaml +++ b/charts/jackett/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: v0.17.591 description: API Support for your favorite torrent trackers name: jackett -version: 7.1.1 +version: 7.2.0 kubeVersion: ">=1.16.0-0" keywords: - jackett @@ -17,5 +17,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/jellyfin/Chart.yaml b/charts/jellyfin/Chart.yaml index c39ecb8b..0b9ee97a 100644 --- a/charts/jellyfin/Chart.yaml +++ b/charts/jellyfin/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 10.6.4 description: Jellyfin is a Free Software Media System name: jellyfin -version: 5.1.0 +version: 5.2.0 kubeVersion: ">=1.16.0-0" keywords: - jellyfin @@ -18,5 +18,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/lazylibrarian/Chart.yaml b/charts/lazylibrarian/Chart.yaml index 066abc1b..4fd46ec5 100644 --- a/charts/lazylibrarian/Chart.yaml +++ b/charts/lazylibrarian/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 1.7.2 name: lazylibrarian description: A Helm chart for deploying LazyLibrarian -version: 4.1.0 +version: 4.2.0 kubeVersion: ">=1.16.0-0" keywords: - lazylibrarian @@ -17,5 +17,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/lidarr/Chart.yaml b/charts/lidarr/Chart.yaml index 3f0c994a..503229c6 100644 --- a/charts/lidarr/Chart.yaml +++ b/charts/lidarr/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 0.8.0.1886 description: Looks and smells like Sonarr but made for music name: lidarr -version: 7.2.0 +version: 7.3.0 kubeVersion: ">=1.16.0-0" keywords: - lidarr @@ -18,5 +18,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/lychee/Chart.yaml b/charts/lychee/Chart.yaml index e07beb55..c1b1ae0b 100644 --- a/charts/lychee/Chart.yaml +++ b/charts/lychee/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 4.0.8 description: Lychee is a free photo-management tool, which runs on your server or web-space name: lychee -version: 3.1.0 +version: 3.2.0 kubeVersion: ">=1.16.0-0" keywords: - lychee @@ -18,5 +18,5 @@ maintainers: email: k8s-at-home@xpander.eml.cc dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/monica/Chart.yaml b/charts/monica/Chart.yaml index 9ca8dd01..d34cc8bf 100644 --- a/charts/monica/Chart.yaml +++ b/charts/monica/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: v2.19.1 description: A Personal Relationship Management tool to help you organize your social life name: monica -version: 3.2.0 +version: 3.3.0 kubeVersion: ">=1.16.0-0" keywords: - crm @@ -16,8 +16,8 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 - name: mariadb version: 9.3.4 repository: https://charts.bitnami.com/bitnami diff --git a/charts/mosquitto/Chart.yaml b/charts/mosquitto/Chart.yaml index 46cc70f6..e3f4141b 100644 --- a/charts/mosquitto/Chart.yaml +++ b/charts/mosquitto/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 2.0.7 description: Eclipse Mosquitto - An open source MQTT broker name: mosquitto -version: 1.1.1 +version: 1.2.0 kubeVersion: ">=1.16.0-0" keywords: - mosquitto @@ -17,5 +17,5 @@ maintainers: email: helm@movishell.pl dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/mylar/Chart.yaml b/charts/mylar/Chart.yaml index bc85bc05..4b08f6a8 100644 --- a/charts/mylar/Chart.yaml +++ b/charts/mylar/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 0.4.9.5 description: Mylar is the automated Comic Book downloader (cbr/cbz) for use with various download clients. name: mylar -version: 1.1.0 +version: 1.2.0 kubeVersion: ">=1.16.0-0" keywords: - mylar @@ -17,5 +17,5 @@ maintainers: url: https://patricol.co/ dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/navidrome/Chart.yaml b/charts/navidrome/Chart.yaml index 326d0a29..7944f28b 100644 --- a/charts/navidrome/Chart.yaml +++ b/charts/navidrome/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 0.39.0 description: Navidrome is an open source web-based music collection server and streamer name: navidrome -version: 3.1.0 +version: 3.2.0 kubeVersion: ">=1.16.0-0" keywords: - navidrome @@ -18,5 +18,5 @@ maintainers: email: k8s-at-home@xpander.eml.cc dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/neolink/Chart.yaml b/charts/neolink/Chart.yaml index e6b4fc5c..e6f282ef 100644 --- a/charts/neolink/Chart.yaml +++ b/charts/neolink/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 0.3.0 description: Neolink - RTSP bridge to Reolink IP cameras name: neolink -version: 2.1.0 +version: 2.2.0 kubeVersion: ">=1.16.0-0" keywords: - reolink @@ -14,5 +14,5 @@ maintainers: - name: mr-onion-2 dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/network-ups-tools/Chart.yaml b/charts/network-ups-tools/Chart.yaml index 74662446..dbfde5f9 100644 --- a/charts/network-ups-tools/Chart.yaml +++ b/charts/network-ups-tools/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: v2.7.4-2061-g46c7da76 description: Network UPS Tools is a collection of programs which provide a common interface for monitoring and administering UPS, PDU and SCD hardware. name: network-ups-tools -version: 2.1.0 +version: 2.2.0 kubeVersion: ">=1.16.0-0" keywords: - nut @@ -17,5 +17,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/node-red/Chart.yaml b/charts/node-red/Chart.yaml index e8a6f929..6725bd6c 100644 --- a/charts/node-red/Chart.yaml +++ b/charts/node-red/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 1.2.5 description: Node-RED is low-code programming for event-driven applications name: node-red -version: 6.1.0 +version: 6.2.0 kubeVersion: ">=1.16.0-0" keywords: - nodered @@ -17,5 +17,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/nzbget/Chart.yaml b/charts/nzbget/Chart.yaml index deaa89f4..53a6c4f6 100644 --- a/charts/nzbget/Chart.yaml +++ b/charts/nzbget/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: v21.0 description: NZBGet is a Usenet downloader client name: nzbget -version: 8.1.0 +version: 8.2.0 kubeVersion: ">=1.16.0-0" keywords: - nzbget @@ -17,5 +17,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/nzbhydra2/Chart.yaml b/charts/nzbhydra2/Chart.yaml index f14289b4..97f18d7a 100644 --- a/charts/nzbhydra2/Chart.yaml +++ b/charts/nzbhydra2/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: v3.8.1 description: Usenet meta search name: nzbhydra2 -version: 6.1.0 +version: 6.2.0 kubeVersion: ">=1.16.0-0" keywords: - nzbhydra2 @@ -17,5 +17,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/octoprint/Chart.yaml b/charts/octoprint/Chart.yaml index 5d3e964b..dae63318 100644 --- a/charts/octoprint/Chart.yaml +++ b/charts/octoprint/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 1.4.2 description: OctoPrint is the snappy web interface for your 3D printer name: octoprint -version: 3.1.0 +version: 3.2.0 kubeVersion: ">=1.16.0-0" keywords: - octoprint @@ -18,5 +18,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/omada-controller/Chart.yaml b/charts/omada-controller/Chart.yaml index 79a5a7d1..9f736d8b 100644 --- a/charts/omada-controller/Chart.yaml +++ b/charts/omada-controller/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 4.2.11 description: Omada enables the network administrators to monitor and manage all the Omada products in the network with a centralized management platform. name: omada-controller -version: 1.1.0 +version: 1.2.0 kubeVersion: ">=1.16.0-0" keywords: - omada-controller @@ -16,5 +16,5 @@ maintainers: email: charlie-haley@users.noreply.github.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/ombi/Chart.yaml b/charts/ombi/Chart.yaml index c5dd29b5..96aefa82 100644 --- a/charts/ombi/Chart.yaml +++ b/charts/ombi/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 4.0.681 description: Want a Movie or TV Show on Plex or Emby? Use Ombi! name: ombi -version: 8.1.0 +version: 8.2.0 kubeVersion: ">=1.16.0-0" keywords: - ombi @@ -21,5 +21,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/organizr/Chart.yaml b/charts/organizr/Chart.yaml index ed9da85c..a983970c 100644 --- a/charts/organizr/Chart.yaml +++ b/charts/organizr/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: latest description: HTPC/Homelab Services Organizer name: organizr -version: 4.1.0 +version: 4.2.0 kubeVersion: ">=1.16.0-0" keywords: - organizr @@ -16,5 +16,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/overseerr/Chart.yaml b/charts/overseerr/Chart.yaml index 2492669e..b938d447 100644 --- a/charts/overseerr/Chart.yaml +++ b/charts/overseerr/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 1.19.1 description: Overseerr is a free and open source software application for managing requests for your media library. It integrates with your existing services such as Sonarr, Radarr and Plex! name: overseerr -version: 2.1.0 +version: 2.2.0 kubeVersion: ">=1.16.0-0" keywords: - overseerr @@ -19,5 +19,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/paperless/Chart.yaml b/charts/paperless/Chart.yaml index a2bff71c..ff342e0c 100644 --- a/charts/paperless/Chart.yaml +++ b/charts/paperless/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 1.0.0 description: Paperless - Index and archive all of your scanned paper documents name: paperless -version: 4.1.0 +version: 4.2.0 kubeVersion: ">=1.16.0-0" keywords: - paperless @@ -14,5 +14,5 @@ maintainers: - name: mr-onion-2 dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/photoprism/Chart.yaml b/charts/photoprism/Chart.yaml index 30249029..a522c3e1 100644 --- a/charts/photoprism/Chart.yaml +++ b/charts/photoprism/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: "20201122" description: PhotoPrism® is a server-based application for browsing, organizing and sharing your personal photo collection name: photoprism -version: 3.1.0 +version: 3.2.0 kubeVersion: ">=1.16.0-0" keywords: - photos @@ -19,5 +19,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/piaware/Chart.yaml b/charts/piaware/Chart.yaml index 8e4a65e3..79643f14 100644 --- a/charts/piaware/Chart.yaml +++ b/charts/piaware/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: v4.0 description: Program for forwarding ADS-B data to FlightAware name: piaware -version: 5.1.0 +version: 5.2.0 kubeVersion: ">=1.16.0-0" keywords: - piaware @@ -17,5 +17,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/plex-media-server/Chart.yaml b/charts/plex-media-server/Chart.yaml index ac7e9bc3..1e8c99dc 100644 --- a/charts/plex-media-server/Chart.yaml +++ b/charts/plex-media-server/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: v1.21.3.4021-5a0a3e4b2 description: Plex Media Server name: plex-media-server -version: 2.1.0 +version: 2.2.0 kubeVersion: ">=1.16.0-0" keywords: - plex @@ -17,5 +17,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/protonmail-bridge/Chart.yaml b/charts/protonmail-bridge/Chart.yaml index e0dc1d58..d036d9a4 100644 --- a/charts/protonmail-bridge/Chart.yaml +++ b/charts/protonmail-bridge/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 1.5.7-1 description: Container for protonmail bridge to work on the network. name: protonmail-bridge -version: 2.1.0 +version: 2.2.0 kubeVersion: ">=1.16.0-0" keywords: - protonmail @@ -15,5 +15,5 @@ maintainers: email: my@email.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/pyload/Chart.yaml b/charts/pyload/Chart.yaml index de7b6ab0..b7673dbe 100644 --- a/charts/pyload/Chart.yaml +++ b/charts/pyload/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 0.4.20 description: pyLoad is a Free and Open Source download manager written in Python and designed to be extremely lightweight, easily extensible and fully manageable via web. name: pyload -version: 3.1.0 +version: 3.2.0 kubeVersion: ">=1.16.0-0" keywords: - pyload @@ -17,5 +17,5 @@ maintainers: email: k8s-at-home@xpander.eml.cc dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/qbittorrent/Chart.yaml b/charts/qbittorrent/Chart.yaml index c73c3b66..aadfb05e 100644 --- a/charts/qbittorrent/Chart.yaml +++ b/charts/qbittorrent/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 4.3.0 description: qBittorrent is a cross-platform free and open-source BitTorrent client name: qbittorrent -version: 8.1.0 +version: 8.2.0 kubeVersion: ">=1.16.0-0" keywords: - qbittorrent @@ -16,5 +16,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/radarr/Chart.yaml b/charts/radarr/Chart.yaml index df576791..cdea3f4b 100644 --- a/charts/radarr/Chart.yaml +++ b/charts/radarr/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 3.0.2.4552 description: A fork of Sonarr to work with movies à la Couchpotato name: radarr -version: 9.2.0 +version: 9.3.0 kubeVersion: ">=1.16.0-0" keywords: - radarr @@ -18,5 +18,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/readarr/Chart.yaml b/charts/readarr/Chart.yaml index 43aab3b9..1c842ebd 100644 --- a/charts/readarr/Chart.yaml +++ b/charts/readarr/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 0.1.0.351 description: A fork of Radarr to work with Books & AudioBooks name: readarr -version: 2.2.0 +version: 2.3.0 kubeVersion: ">=1.16.0-0" keywords: - readarr @@ -20,5 +20,5 @@ maintainers: email: mark@markmcw.uk dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/recipes/Chart.yaml b/charts/recipes/Chart.yaml index d1aad002..38582a4d 100644 --- a/charts/recipes/Chart.yaml +++ b/charts/recipes/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 0.13.0 description: Recipes is a Django application to manage, tag and search recipes using either built in models or external storage providers hosting PDF's, Images or other files. name: recipes -version: 3.1.0 +version: 3.2.0 kubeVersion: ">=1.16.0-0" keywords: - recipes @@ -16,5 +16,5 @@ maintainers: email: k8s-at-home@xpander.eml.cc dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/resilio-sync/Chart.yaml b/charts/resilio-sync/Chart.yaml index ed5b2125..455a10b5 100644 --- a/charts/resilio-sync/Chart.yaml +++ b/charts/resilio-sync/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 2.7.2 description: Resilio Sync is a fast, reliable, and simple file sync and share solution, powered by P2P technology name: resilio-sync -version: 2.1.0 +version: 2.2.0 kubeVersion: ">=1.16.0-0" keywords: - resilio @@ -18,5 +18,5 @@ maintainers: email: 100800+salekseev@users.noreply.github.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/sabnzbd/Chart.yaml b/charts/sabnzbd/Chart.yaml index 9a210404..c87252e6 100644 --- a/charts/sabnzbd/Chart.yaml +++ b/charts/sabnzbd/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 3.1.0 description: Free and easy binary newsreader name: sabnzbd -version: 5.1.0 +version: 5.2.0 kubeVersion: ">=1.16.0-0" keywords: - sabnzbd @@ -17,5 +17,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/samba/Chart.yaml b/charts/samba/Chart.yaml index c588e7f7..05a58d7f 100644 --- a/charts/samba/Chart.yaml +++ b/charts/samba/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: latest description: A simple in-cluster Samba server name: samba -version: 2.1.0 +version: 2.2.0 kubeVersion: ">=1.16.0-0" keywords: - samba @@ -15,5 +15,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/searx/Chart.yaml b/charts/searx/Chart.yaml index ffeaf862..2be0d15f 100644 --- a/charts/searx/Chart.yaml +++ b/charts/searx/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 0.18.0 description: Searx is a privacy-respecting, hackable metasearch engine name: searx -version: 2.2.0 +version: 2.3.0 kubeVersion: ">=1.16.0-0" keywords: - searx @@ -19,5 +19,5 @@ maintainers: email: k8s-at-home@xpander.eml.cc dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/smarter-device-manager/Chart.yaml b/charts/smarter-device-manager/Chart.yaml index e5b65819..bd0b456c 100644 --- a/charts/smarter-device-manager/Chart.yaml +++ b/charts/smarter-device-manager/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 1.1.2 description: Manage hardware resource allocation without a need for privileged containers name: smarter-device-manager -version: 2.1.0 +version: 2.2.0 kubeVersion: ">=1.16.0-0" keywords: - kubernetes @@ -19,5 +19,5 @@ maintainers: email: 19270832+lazyoldbear@users.noreply.github.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/sonarr/Chart.yaml b/charts/sonarr/Chart.yaml index 839f0c75..934cdb81 100644 --- a/charts/sonarr/Chart.yaml +++ b/charts/sonarr/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 3.0.4.993 description: Smart PVR for newsgroup and bittorrent users name: sonarr -version: 9.2.0 +version: 9.3.0 kubeVersion: ">=1.16.0-0" keywords: - sonarr @@ -18,5 +18,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/statping/Chart.yaml b/charts/statping/Chart.yaml index 4a6091cf..9279a3fd 100644 --- a/charts/statping/Chart.yaml +++ b/charts/statping/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: v0.90.65 description: Status page for monitoring your websites and applications name: statping -version: 2.0.0 +version: 2.1.0 kubeVersion: ">=1.16.0-0" keywords: - statping @@ -19,8 +19,8 @@ maintainers: email: git@angelnu.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 - name: postgresql version: 10.3.7 repository: https://charts.bitnami.com/bitnami diff --git a/charts/tautulli/Chart.yaml b/charts/tautulli/Chart.yaml index 6fcc2c44..dad7b298 100644 --- a/charts/tautulli/Chart.yaml +++ b/charts/tautulli/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: v2.6.6 description: A Python based monitoring and tracking tool for Plex Media Server name: tautulli -version: 7.1.0 +version: 7.2.0 kubeVersion: ">=1.16.0-0" keywords: - tautulli @@ -17,5 +17,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/teedy/Chart.yaml b/charts/teedy/Chart.yaml index 0a934183..86f4d4f4 100644 --- a/charts/teedy/Chart.yaml +++ b/charts/teedy/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: v1.9 description: Teedy is an open source, lightweight document management system for individuals and businesses. name: teedy -version: 2.2.0 +version: 2.3.0 kubeVersion: ">=1.16.0-0" keywords: - teedy @@ -18,8 +18,8 @@ maintainers: email: ryan@ryanholt.net dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 - name: postgresql version: 10.3.7 repository: https://charts.bitnami.com/bitnami diff --git a/charts/traccar/Chart.yaml b/charts/traccar/Chart.yaml index 87c4c290..134d3efb 100644 --- a/charts/traccar/Chart.yaml +++ b/charts/traccar/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: v4.11 description: Traccar is an open source GPS tracking system. name: traccar -version: 3.2.0 +version: 3.3.0 kubeVersion: ">=1.16.0-0" keywords: - traccar @@ -16,8 +16,8 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 - name: mariadb version: 9.3.4 repository: https://charts.bitnami.com/bitnami diff --git a/charts/transmission/Chart.yaml b/charts/transmission/Chart.yaml index 4496249d..c3d6bba7 100644 --- a/charts/transmission/Chart.yaml +++ b/charts/transmission/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 3.0.0 description: Transmission is a cross-platform BitTorrent client name: transmission -version: 2.1.0 +version: 2.2.0 kubeVersion: ">=1.16.0-0" keywords: - transmission @@ -17,5 +17,5 @@ maintainers: email: helm@movishell.pl dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/tt-rss/Chart.yaml b/charts/tt-rss/Chart.yaml index 8a4450c4..b68d0b78 100644 --- a/charts/tt-rss/Chart.yaml +++ b/charts/tt-rss/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 1.0.0 description: Tiny Tiny RSS is a free and open source web-based news feed (RSS/Atom) reader and aggregator name: tt-rss -version: 1.2.0 +version: 1.3.0 kubeVersion: ">=1.16.0-0" keywords: - tt-rss @@ -15,8 +15,8 @@ maintainers: email: git@angelnu.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 - name: postgresql version: 10.3.7 repository: https://charts.bitnami.com/bitnami diff --git a/charts/tvheadend/Chart.yaml b/charts/tvheadend/Chart.yaml index 668fc899..4278a39f 100644 --- a/charts/tvheadend/Chart.yaml +++ b/charts/tvheadend/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: latest description: TVheadend - a TV streaming server and digital video recorder name: tvheadend -version: 2.1.0 +version: 2.2.0 kubeVersion: ">=1.16.0-0" keywords: - tv @@ -15,5 +15,5 @@ maintainers: - name: mr-onion-2 dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/unifi-poller/Chart.yaml b/charts/unifi-poller/Chart.yaml index 662cc005..f739ecbb 100644 --- a/charts/unifi-poller/Chart.yaml +++ b/charts/unifi-poller/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 2.0.1 description: Collect ALL UniFi Controller, Site, Device & Client Data - Export to InfluxDB or Prometheus name: unifi-poller -version: 6.1.0 +version: 6.2.0 kubeVersion: ">=1.16.0-0" keywords: - unifi @@ -17,8 +17,8 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 - name: influxdb version: 1.1.9 repository: https://charts.bitnami.com/bitnami diff --git a/charts/unpackerr/Chart.yaml b/charts/unpackerr/Chart.yaml index b0f338f4..0932f03c 100644 --- a/charts/unpackerr/Chart.yaml +++ b/charts/unpackerr/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 0.7.2 description: This application runs as a daemon on your download host. It checks for completed downloads and extracts them so Radarr, Lidarr, Sonarr, and Readarr may import them. name: unpackerr -version: 2.1.0 +version: 2.2.0 kubeVersion: ">=1.16.0-0" keywords: - unpackerr @@ -20,5 +20,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/valheim/Chart.yaml b/charts/valheim/Chart.yaml index 1b6e5d9c..402c7a92 100644 --- a/charts/valheim/Chart.yaml +++ b/charts/valheim/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: latest description: Valheim dedicated gameserver with automatic update and world backup support name: valheim -version: 1.1.0 +version: 1.2.0 kubeVersion: ">=1.16.0-0" keywords: - valheim @@ -16,5 +16,5 @@ maintainers: email: owner@russellhall.co.uk dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/wallabag/Chart.yaml b/charts/wallabag/Chart.yaml index 97b23455..fe188254 100644 --- a/charts/wallabag/Chart.yaml +++ b/charts/wallabag/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 2.4.1 description: A self hostable application for saving web pages, freely. name: wallabag -version: 1.1.0 +version: 1.2.0 kubeVersion: ">=1.16.0-0" keywords: - wallabag @@ -15,5 +15,5 @@ maintainers: url: https://patricol.co/ dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/xbackbone/Chart.yaml b/charts/xbackbone/Chart.yaml index 5002ceed..68fe32eb 100644 --- a/charts/xbackbone/Chart.yaml +++ b/charts/xbackbone/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 3.3.3 description: XBackBone is a simple, self-hosted, lightweight PHP file manager that support the instant sharing tool ShareX and *NIX systems. It supports uploading and displaying images, GIF, video, code, formatted text, and file downloading and uploading. Also have a web UI with multi user management, past uploads history and search support. name: xbackbone -version: 2.1.0 +version: 2.2.0 kubeVersion: ">=1.16.0-0" keywords: - xbackbone @@ -17,5 +17,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/xteve/Chart.yaml b/charts/xteve/Chart.yaml index a6bfea25..f72cfa27 100644 --- a/charts/xteve/Chart.yaml +++ b/charts/xteve/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 2.1.2.0120 description: M3U Proxy for Plex DVR and Emby Live TV. name: xteve -version: 5.1.0 +version: 5.2.0 kubeVersion: ">=1.16.0-0" keywords: - xteve @@ -19,5 +19,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/youtubedl-material/Chart.yaml b/charts/youtubedl-material/Chart.yaml index e86f4848..a509f1f7 100644 --- a/charts/youtubedl-material/Chart.yaml +++ b/charts/youtubedl-material/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: "4.2" description: Self-hosted YouTube downloader built on Material Design name: youtubedl-material -version: 1.1.0 +version: 1.2.0 kubeVersion: ">=1.16.0-0" keywords: - youtubedl-material @@ -15,5 +15,5 @@ maintainers: url: https://patricol.co/ dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/zigbee2mqtt/Chart.yaml b/charts/zigbee2mqtt/Chart.yaml index 484d715e..27520dc5 100644 --- a/charts/zigbee2mqtt/Chart.yaml +++ b/charts/zigbee2mqtt/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 1.17.1 description: Bridges events and allows you to control your Zigbee devices via MQTT name: zigbee2mqtt -version: 6.1.0 +version: 6.2.0 kubeVersion: ">=1.16.0-0" keywords: - zigbee @@ -19,5 +19,5 @@ maintainers: email: miguelangel.santiago@hotmail.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/zwave2mqtt/Chart.yaml b/charts/zwave2mqtt/Chart.yaml index 2605f780..85109f95 100644 --- a/charts/zwave2mqtt/Chart.yaml +++ b/charts/zwave2mqtt/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 4.0.6 description: Fully configurable Zwave to MQTT gateway and Control Panel using NodeJS and Vue name: zwave2mqtt -version: 7.1.0 +version: 7.2.0 kubeVersion: ">=1.16.0-0" keywords: - zwave @@ -17,5 +17,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/charts/zwavejs2mqtt/Chart.yaml b/charts/zwavejs2mqtt/Chart.yaml index a5e6b94b..75ccaecb 100644 --- a/charts/zwavejs2mqtt/Chart.yaml +++ b/charts/zwavejs2mqtt/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 1.1.1 description: Fully configurable Zwave to MQTT Gateway and Control Panel name: zwavejs2mqtt -version: 2.1.0 +version: 2.2.0 kubeVersion: ">=1.16.0-0" keywords: - zwave @@ -18,5 +18,5 @@ maintainers: email: jeff@billimek.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/templates/chart/Chart.yaml b/templates/chart/Chart.yaml index 4a526430..39c2d81a 100644 --- a/templates/chart/Chart.yaml +++ b/templates/chart/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 1.0.0 description: ${CHARTNAME} helm package name: ${CHARTNAME} -version: 1.1.0 +version: 1.0.0 kubeVersion: ">=1.16.0-0" keywords: - ${CHARTNAME} @@ -15,5 +15,5 @@ maintainers: email: ${CHARTNAME}@${CHARTNAME}.com dependencies: - name: common - repository: https://k8s-at-home.com/charts/ - version: 3.1.0 + repository: https://library-charts.k8s-at-home.com + version: 1.0.0 diff --git a/test/charts/.gitkeep b/test/charts/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/test/charts/common-test_spec.rb b/test/charts/common-test_spec.rb deleted file mode 100644 index 40483b43..00000000 --- a/test/charts/common-test_spec.rb +++ /dev/null @@ -1,332 +0,0 @@ -# frozen_string_literal: true -require_relative '../test_helper' - -class Test < ChartTest - @@chart = Chart.new('charts/common-test') - - describe @@chart.name do - describe 'controller type' do - it 'defaults to "Deployment"' do - assert_nil(resource('StatefulSet')) - assert_nil(resource('DaemonSet')) - refute_nil(resource('Deployment')) - end - - it 'accepts "statefulset"' do - chart.value controllerType: 'statefulset' - assert_nil(resource('Deployment')) - assert_nil(resource('DaemonSet')) - refute_nil(resource('StatefulSet')) - end - - it 'accepts "daemonset"' do - chart.value controllerType: 'daemonset' - assert_nil(resource('Deployment')) - assert_nil(resource('StatefulSet')) - refute_nil(resource('DaemonSet')) - end - end - - describe 'pod replicas' do - it 'defaults to 1' do - jq('.spec.replicas', resource('Deployment')).must_equal 1 - end - - it 'accepts integer as value' do - chart.value replicas: 3 - jq('.spec.replicas', resource('Deployment')).must_equal 3 - end - end - - describe 'Environment settings' do - it 'Check no environment variables' do - values = {} - chart.value values - assert_nil(resource('Deployment')['spec']['template']['spec']['containers'][0]['env']) - end - - it 'set "static" environment variables' do - values = { - env: { - STATIC_ENV: 'value_of_env' - } - } - chart.value values - jq('.spec.template.spec.containers[0].env[0].name', resource('Deployment')).must_equal values[:env].keys[0].to_s - jq('.spec.template.spec.containers[0].env[0].value', resource('Deployment')).must_equal values[:env].values[0].to_s - end - - it 'set "valueFrom" environment variables' do - values = { - envValueFrom: { - NODE_NAME: { - fieldRef: { - fieldPath: "spec.nodeName" - } - } - } - } - chart.value values - jq('.spec.template.spec.containers[0].env[0].name', resource('Deployment')).must_equal values[:envValueFrom].keys[0].to_s - jq('.spec.template.spec.containers[0].env[0].valueFrom | keys[0]', resource('Deployment')).must_equal values[:envValueFrom].values[0].keys[0].to_s - end - - it 'set "static" and "Dynamic/Tpl" environment variables' do - values = { - env: { - STATIC_ENV: 'value_of_env' - }, - envTpl: { - DYN_ENV: "{{ .Release.Name }}-admin" - } - } - chart.value values - jq('.spec.template.spec.containers[0].env[0].name', resource('Deployment')).must_equal values[:env].keys[0].to_s - jq('.spec.template.spec.containers[0].env[0].value', resource('Deployment')).must_equal values[:env].values[0].to_s - jq('.spec.template.spec.containers[0].env[1].name', resource('Deployment')).must_equal values[:envTpl].keys[0].to_s - jq('.spec.template.spec.containers[0].env[1].value', resource('Deployment')).must_equal 'common-test-admin' - end - - it 'set "Dynamic/Tpl" environment variables' do - values = { - envTpl: { - DYN_ENV: "{{ .Release.Name }}-admin" - } - } - chart.value values - jq('.spec.template.spec.containers[0].env[0].name', resource('Deployment')).must_equal values[:envTpl].keys[0].to_s - jq('.spec.template.spec.containers[0].env[0].value', resource('Deployment')).must_equal 'common-test-admin' - end - - it 'set "static" secret variables' do - expectedSecretName = 'common-test' - values = { - secret: { - STATIC_SECRET: 'value_of_secret' - } - } - chart.value values - puts jq('.metadata', resource('Secret')) - jq('.spec.template.spec.containers[0].envFrom[0].secretRef.name', resource('Deployment')).must_equal expectedSecretName - jq('.metadata.name', resource('Secret')).must_equal expectedSecretName - jq('.stringData.STATIC_SECRET', resource('Secret')).must_equal values[:secret].values[0].to_s - end - end - - describe 'ports settings' do - default_name = 'http' - default_port = 8080 - - it 'defaults to name "http" on port 8080' do - jq('.spec.ports[0].port', resource('Service')).must_equal default_port - jq('.spec.ports[0].targetPort', resource('Service')).must_equal default_name - jq('.spec.ports[0].name', resource('Service')).must_equal default_name - jq('.spec.template.spec.containers[0].ports[0].containerPort', resource('Deployment')).must_equal default_port - jq('.spec.template.spec.containers[0].ports[0].name', resource('Deployment')).must_equal default_name - end - - it 'port name can be overridden' do - values = { - service: { - port: { - name: 'server' - } - } - } - chart.value values - jq('.spec.ports[0].port', resource('Service')).must_equal default_port - jq('.spec.ports[0].targetPort', resource('Service')).must_equal values[:service][:port][:name] - jq('.spec.ports[0].name', resource('Service')).must_equal values[:service][:port][:name] - jq('.spec.template.spec.containers[0].ports[0].containerPort', resource('Deployment')).must_equal default_port - jq('.spec.template.spec.containers[0].ports[0].name', resource('Deployment')).must_equal values[:service][:port][:name] - end - - it 'targetPort can be overridden' do - values = { - service: { - port: { - targetPort: 80 - } - } - } - chart.value values - jq('.spec.ports[0].port', resource('Service')).must_equal default_port - jq('.spec.ports[0].targetPort', resource('Service')).must_equal values[:service][:port][:targetPort] - jq('.spec.ports[0].name', resource('Service')).must_equal default_name - jq('.spec.template.spec.containers[0].ports[0].containerPort', resource('Deployment')).must_equal values[:service][:port][:targetPort] - jq('.spec.template.spec.containers[0].ports[0].name', resource('Deployment')).must_equal default_name - end - - it 'targetPort cannot be a named port' do - values = { - service: { - port: { - targetPort: 'test' - } - } - } - chart.value values - exception = assert_raises HelmCompileError do - chart.execute_helm_template! - end - assert_match("Our charts do not support named ports for targetPort. (port name #{default_name}, targetPort #{values[:service][:port][:targetPort]})", exception.message) - end - end - - describe 'statefulset volumeClaimTemplates' do - - it 'volumeClaimTemplates should be empty by default' do - chart.value controllerType: 'statefulset' - assert_nil(resource('StatefulSet')['spec']['volumeClaimTemplates']) - end - - it 'can set values for volumeClaimTemplates' do - values = { - controllerType: 'statefulset', - volumeClaimTemplates: [ - { - name: 'storage', - accessMode: 'ReadWriteOnce', - size: '10Gi', - storageClass: 'storage' - } - ] - } - - chart.value values - jq('.spec.volumeClaimTemplates[0].metadata.name', resource('StatefulSet')).must_equal values[:volumeClaimTemplates][0][:name] - jq('.spec.volumeClaimTemplates[0].spec.accessModes[0]', resource('StatefulSet')).must_equal values[:volumeClaimTemplates][0][:accessMode] - jq('.spec.volumeClaimTemplates[0].spec.resources.requests.storage', resource('StatefulSet')).must_equal values[:volumeClaimTemplates][0][:size] - jq('.spec.volumeClaimTemplates[0].spec.storageClassName', resource('StatefulSet')).must_equal values[:volumeClaimTemplates][0][:storageClass] - end - end - - describe 'ingress' do - it 'should be disabled when ingress.enabled: false' do - values = { - ingress: { - enabled: false - } - } - chart.value values - assert_nil(resource('Ingress')) - end - - it 'should be enabled when ingress.enabled: true' do - values = { - ingress: { - enabled: true - } - } - - chart.value values - refute_nil(resource('Ingress')) - end - - it 'ingress with hosts' do - values = { - ingress: { - hosts: [ - { - host: 'hostname', - paths: [ - { - path: '/' - } - ] - } - ] - } - } - - chart.value values - jq('.spec.rules[0].host', resource('Ingress')).must_equal values[:ingress][:hosts][0][:host] - jq('.spec.rules[0].http.paths[0].path', resource('Ingress')).must_equal values[:ingress][:hosts][0][:paths][0][:path] - end - - it 'ingress with hosts template is evaluated' do - expectedHostName = 'common-test.hostname' - values = { - ingress: { - hosts: [ - { - hostTpl: '{{ .Release.Name }}.hostname', - paths: [ - { - path: '/' - } - ] - } - ] - } - } - - chart.value values - jq('.spec.rules[0].host', resource('Ingress')).must_equal expectedHostName - jq('.spec.rules[0].http.paths[0].path', resource('Ingress')).must_equal values[:ingress][:hosts][0][:paths][0][:path] - end - - it 'ingress with hosts and tls' do - values = { - ingress: { - enabled: true, - hosts: [ - { - host: 'hostname', - paths: [ - { - path: '/' - } - ] - } - ], - tls: [ - { - hosts: [ 'hostname' ], - secretName: 'hostname-secret-name' - } - ] - } - } - - chart.value values - jq('.spec.rules[0].host', resource('Ingress')).must_equal values[:ingress][:hosts][0][:host] - jq('.spec.rules[0].http.paths[0].path', resource('Ingress')).must_equal values[:ingress][:hosts][0][:paths][0][:path] - jq('.spec.tls[0].hosts[0]', resource('Ingress')).must_equal values[:ingress][:tls][0][:hosts][0] - jq('.spec.tls[0].secretName', resource('Ingress')).must_equal values[:ingress][:tls][0][:secretName] - end - - it 'ingress with hosts and tls templates is evaluated' do - expectedHostName = 'common-test.hostname' - expectedSecretName = 'common-test-hostname-secret-name' - values = { - ingress: { - enabled: true, - hosts: [ - { - hostTpl: '{{ .Release.Name }}.hostname', - paths: [ - { - path: '/' - } - ] - } - ], - tls: [ - { - hostsTpl: [ '{{ .Release.Name }}.hostname' ], - secretNameTpl: '{{ .Release.Name }}-hostname-secret-name' - } - ] - } - } - - chart.value values - jq('.spec.rules[0].host', resource('Ingress')).must_equal expectedHostName - jq('.spec.rules[0].http.paths[0].path', resource('Ingress')).must_equal values[:ingress][:hosts][0][:paths][0][:path] - jq('.spec.tls[0].hosts[0]', resource('Ingress')).must_equal expectedHostName - jq('.spec.tls[0].secretName', resource('Ingress')).must_equal expectedSecretName - end - end - end -end