mirror of
https://github.com/k8s-at-home/charts.git
synced 2025-01-23 15:39:02 +00:00
[common] Transfer to separate repo (#656)
* [common] Transfer to separate repo * Remove common unittests * Use k3d instead of kind * Bump all charts * Skip uninstallable charts * [alertmanager-bot] Disable probes * Skip uninstallable charts
This commit is contained in:
parent
6b0324f3bf
commit
4b23411778
4
.github/ct-install.yaml
vendored
4
.github/ct-install.yaml
vendored
@ -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
|
||||
|
1
.github/ct-lint.yaml
vendored
1
.github/ct-lint.yaml
vendored
@ -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
|
||||
|
23
.github/workflows/charts-lint-test.yaml
vendored
23
.github/workflows/charts-lint-test.yaml
vendored
@ -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'
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -28,6 +28,14 @@ service:
|
||||
ingress:
|
||||
enabled: false
|
||||
|
||||
probes:
|
||||
liveness:
|
||||
enabled: false
|
||||
readiness:
|
||||
enabled: false
|
||||
startup:
|
||||
enabled: false
|
||||
|
||||
persistence:
|
||||
data:
|
||||
enabled: false
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
@ -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
|
@ -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)
|
@ -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" . }}
|
@ -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 -}}
|
@ -1,9 +0,0 @@
|
||||
{{- define "custom.custom.configuration.header" -}}
|
||||
## Custom configuration
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.custom.configuration" -}}
|
||||
{{ template "custom.custom.configuration.header" . }}
|
||||
|
||||
N/A
|
||||
{{- end -}}
|
@ -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
|
@ -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
|
@ -1 +0,0 @@
|
||||
{{ include "common.all" . }}
|
@ -1,11 +0,0 @@
|
||||
image:
|
||||
repository: b4bz/homer
|
||||
tag: latest
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
service:
|
||||
port:
|
||||
port: 8080
|
||||
|
||||
ingress:
|
||||
enabled: true
|
@ -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/
|
@ -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
|
@ -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)
|
@ -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" . }}
|
@ -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 -}}
|
@ -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 -}}
|
@ -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 -}}
|
@ -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 }}
|
@ -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 }}
|
@ -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 }}
|
@ -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 }}
|
@ -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 }}
|
@ -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 }}
|
@ -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 }}
|
@ -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 }}
|
@ -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 }}
|
@ -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 -}}
|
@ -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 -}}
|
@ -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 -}}
|
@ -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 -}}
|
@ -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 -}}
|
@ -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 -}}
|
@ -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 -}}
|
@ -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 -}}
|
@ -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 -}}
|
@ -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 -}}
|
@ -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 -}}
|
@ -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 }}
|
@ -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 -}}
|
@ -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 }}
|
@ -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 }}
|
@ -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 -}}
|
||||
*/}}
|
@ -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 }}
|
@ -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 }}
|
@ -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 }}
|
@ -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 -}}
|
@ -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 -}}
|
@ -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 -}}
|
@ -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 }}
|
@ -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 -}}
|
@ -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: <storageClass>
|
||||
## 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
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user