Compare commits

...

15 Commits

Author SHA1 Message Date
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
52561bd15d [common] version 2.2.0 (#443)
* Add code-server env to values

* Bump chart version

* [common] - add ingressclass name (#441)

* add ingressclassname

Signed-off-by: Jon Baker <jonbaker85@gmail.com>

* Allow disabling of service links

* Update changelog

* Update changelog

* Set better default for targetPort

* Allow for different container / service ports

* Fix linting error

* Add unit tests

* Add unit tests

* Add unit tests

* Service unit tests

* Split CI jobs

* Testing CI

* Testing CI

* Testing CI

* Testing CI

* Rename test file to match source

* Fix newline

Co-authored-by: Jon Baker <jonbaker85@gmail.com>
Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>
2021-01-05 18:34:42 +01:00
dcplaya
311c9c35bb [hyperion-ng] Initial Commit (#470)
* [hyperion-ng] Initial Commit

* Dang trailing space! Makes lint happy

* Suggested changes
2021-01-04 20:04:07 +01:00
stretched
d3679c6d39 [powerdns] Fix some minor issues introduced by dde8baec08 in k8s-at-home/charts#78. (#468)
- Bring `appVersion` from `Chart.yaml` back in sync with the wq`image.tag` from `values.yaml`
- `postgres.enabled` -> `postgresql.enabled` for postgresql dependency in `Chart.yaml`

Signed-off-by: David Armstrong <stretched@users.noreply.github.com>
2021-01-03 08:25:00 -05:00
Patrick Collins
77ea057807 [heimdall] fix copy-paste typo (#466)
* fix copy-paste typo

* bump chart version
2021-01-02 19:18:00 -05:00
Mike K
5e9124b1db [TVheadend] - New chart contribution (#464) 2021-01-02 16:27:58 -05:00
Dave O'Connor
b4e3d966aa [zigbee2mqtt] update appVersion to 1.17.0 (#460) 2021-01-01 16:06:31 +01:00
renovate[bot]
423c8b00dc Update Helm chart influxdb to v1.1.6 (#453)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-01 10:22:38 +01:00
renovate[bot]
fa10413661 Update external minor dep Helm releases (minor) (#454)
* Update external minor dep Helm releases

* [statping] Revert dependency update

* [home-assistant] Bump influxdb (see #453)

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <6213398+bjw-s@users.noreply.github.com>
2021-01-01 10:16:43 +01:00
renovate[bot]
1193908f6d [powerdns] Update Helm chart mariadb to v9 (#455)
* [powerdns] Update Helm chart mariadb to v9

* Update values for latest mariadb chart

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <6213398+bjw-s@users.noreply.github.com>
2021-01-01 10:01:04 +01:00
Mark McWhirter
554ecb81c9 [nzbhydra2] Use HTTP probes & Bump Version (#450) 2020-12-30 14:42:23 -05:00
Mark McWhirter
3d467a1779 [Deluge] V1 of Deluge Chart (#447) 2020-12-29 12:51:19 -05:00
Tarvi Pillessaar
e0ce54f4f3 [oauth2-proxy] Add support for initContainers (#446) 2020-12-29 12:49:53 -05:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
323a2bc496 [octoprint] Use built-in haproxy (#445) 2020-12-29 07:20:53 -05:00
Jon Baker
1e46b5c7d6 [home-assistant] Update documentation for HA and Ingress (#442)
* Update documentation for HA and Ingress

Signed-off-by: Jon Baker <jonbaker85@gmail.com>

* Bump chart version

Signed-off-by: Jon Baker <jonbaker85@gmail.com>

* Bump chart version

Signed-off-by: Jon Baker <jonbaker85@gmail.com>
2020-12-28 20:51:59 -05:00
Mark McWhirter
aa45228a8d [Readarr] New Readarr chart (#438)
* V1 of Readarr

* Feedback from PR

* Additional message around early-dev project
2020-12-28 15:14:30 -05:00
58 changed files with 999 additions and 49 deletions

View File

@@ -3,8 +3,11 @@ name: Lint and Test Charts
on: pull_request
jobs:
lint-test:
lint:
runs-on: ubuntu-latest
outputs:
changed: ${{ steps.list-changed.outputs.changed }}
common: ${{ steps.list-changed.outputs.common }}
steps:
- name: Checkout
uses: actions/checkout@v2
@@ -41,15 +44,67 @@ jobs:
run: ct lint --config .github/ct.yaml --excluded-charts ""
if: steps.list-changed.outputs.changed == 'true' || steps.list-changed.outputs.common == 'true'
unittest:
runs-on: ubuntu-latest
needs: lint
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Install Dev tools
run: sudo apt-get update && sudo apt-get install -y jq libjq-dev
- name: Install Helm
uses: azure/setup-helm@v1
with:
version: v3.4.0
- name: Install Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7
- name: Install dependencies
run: |
export RUBYJQ_USE_SYSTEM_LIBRARIES=1
bundle install
- name: Run tests
run: |
bundle exec m -r test/charts
install:
runs-on: ubuntu-latest
needs: lint
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Install Helm
uses: azure/setup-helm@v1
with:
version: v3.4.0
- uses: actions/setup-python@v2
with:
python-version: 3.7
- 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: steps.list-changed.outputs.changed == 'true' || steps.list-changed.outputs.common == 'true'
if: needs.lint.outputs.changed == 'true' || needs.lint.outputs.common == 'true'
- name: Run chart-testing (install)
run: ct install --config .github/ct.yaml
if: steps.list-changed.outputs.changed == 'true'
if: needs.lint.outputs.changed == 'true'
- name: Run chart-testing (common-test)
run: |
ct install --config .github/ct.yaml --charts 'charts/common-test'
if: steps.list-changed.outputs.common == 'true'
if: needs.lint.outputs.common == 'true'

10
.gitignore vendored
View File

@@ -1,4 +1,12 @@
.env
# IDE resources
.vscode
.idea
.devcontainer/
# Helm resources
charts/*/Chart.lock
charts/*/charts
# Other rsources
.env
Gemfile.lock

12
Gemfile Normal file
View File

@@ -0,0 +1,12 @@
# frozen_string_literal: true
source 'https://rubygems.org'
group :test do
gem 'm'
gem 'minitest'
gem 'minitest-implicit-subject'
gem 'minitest-reporters'
gem 'pry'
gem 'ruby-jq'
end

View File

@@ -4,6 +4,23 @@ All notable changes to this project will be documented in this file.
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).
## [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
@@ -36,6 +53,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.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:
[2.2.0]: https://github.com/k8s-at-home/charts/tree/common-2.2.0/charts/common
[2.1.0]: https://github.com/k8s-at-home/charts/tree/common-2.1.0/charts/common
[2.0.4]: https://github.com/k8s-at-home/charts/tree/common-2.0.4/charts/common
[2.0.0]: https://github.com/k8s-at-home/charts/tree/common-2.0.0/charts/common

View File

@@ -2,7 +2,7 @@ apiVersion: v2
name: common
description: Function library for k8s-at-home charts
type: library
version: 2.1.1
version: 2.2.0
keywords:
- k8s-at-home
- common

View File

@@ -26,6 +26,11 @@ metadata:
{{- 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 }}

View File

@@ -12,7 +12,7 @@ Render all the ports and additionalPorts for a Service object.
ports:
{{- range $_ := $ports }}
- port: {{ .port }}
targetPort: {{ .targetPort | default "http" }}
targetPort: {{ .targetPort | default .name | default "http" }}
protocol: {{ .protocol | default "TCP" }}
name: {{ .name | default "http" }}
{{- if (and (eq $.svcType "NodePort") (not (empty .nodePort))) }}

View File

@@ -21,6 +21,7 @@ dnsPolicy: {{ . }}
dnsConfig:
{{- toYaml . | nindent 2 }}
{{- end }}
enableServiceLinks: {{ .Values.enableServiceLinks }}
{{- with .Values.initContainers }}
initContainers:
{{- toYaml . | nindent 2 }}

View File

@@ -32,7 +32,7 @@ Ports included by the controller.
ports:
{{- range $_ := $ports }}
- name: {{ .name }}
containerPort: {{ .port }}
containerPort: {{ .targetPort | default .port }}
protocol: {{ .protocol | default "TCP" }}
{{- end -}}
{{- end -}}

View File

@@ -51,6 +51,11 @@ dnsPolicy: ClusterFirst
# - 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
initContainers: []
additionalContainers: []
@@ -96,13 +101,14 @@ probes:
service:
enabled: true
type: ClusterIP
# Specify the default port information
## Specify the default port information
port:
port:
# name defaults to http
## name defaults to http
name:
protocol: TCP
# targetPort defaults to http
## targetPort defaults to the service name. If targetPort is specified, this port number
## is used in the container definition instead of service.port.port.
targetPort:
## Specify the nodePort value for the LoadBalancer and NodePort service types.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
@@ -314,6 +320,10 @@ addons:
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:

24
charts/deluge/.helmignore Normal file
View File

@@ -0,0 +1,24 @@
# 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
# OWNERS file for Kubernetes
OWNERS
.vscode/

20
charts/deluge/Chart.yaml Normal file
View File

@@ -0,0 +1,20 @@
apiVersion: v2
appVersion: v2.0.3-2201906121747
description: Deluge is a torrent download client
name: deluge
version: 1.0.0
keywords:
- deluge
- torrent
home: https://github.com/k8s-at-home/charts/tree/master/charts/deluge
icon: https://avatars2.githubusercontent.com/u/6733935?v=3&s=200
sources:
- https://hub.docker.com/r/linuxserver/deluge/
- https://deluge-torrent.org/
maintainers:
- name: mcmarkj
email: mark@markmcw.uk
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.1.1

8
charts/deluge/OWNERS Normal file
View File

@@ -0,0 +1,8 @@
approvers:
- billimek
- onedr0p
- bjw-s
reviewers:
- billimek
- onedr0p
- bjw-s

57
charts/deluge/README.md Normal file
View File

@@ -0,0 +1,57 @@
# Deluge
This is a helm chart for [Deluge](https://deluge-torrent.org/).
**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)**
## TL;DR;
```shell
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
$ helm install k8s-at-home/deluge
```
## Installing the Chart
To install the chart with the release name `my-release`:
```console
helm install --name my-release k8s-at-home/deluge
```
The default login details (change ASAP) are:
* password:deluge
## Uninstalling the Chart
To uninstall/delete the `my-release` deployment:
```console
helm delete my-release --purge
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
Read through the charts [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/deluge/values.yaml)
file. It has several commented out suggested values.
Additionally you can take a look at the common library [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/common/values.yaml) for more (advanced) configuration options.
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console
helm install deluge \
--set env.TZ="America/New_York" \
k8s-at-home/deluge
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
chart. For example,
```console
helm install deluge k8s-at-home/deluge --values values.yaml
```
These values will be nested as it is a dependency, for example
```yaml
image:
tag: ...
```

View File

@@ -0,0 +1 @@
{{- include "common.notes.defaultNotes" . -}}

View File

@@ -0,0 +1 @@
{{ include "common.all" . }}

45
charts/deluge/values.yaml Normal file
View File

@@ -0,0 +1,45 @@
# Default values for deluge.
image:
repository: linuxserver/deluge
pullPolicy: IfNotPresent
tag: version-2.0.3-2201906121747ubuntu18.04.1
strategy:
type: Recreate
service:
port:
port: 8112
persistence:
config:
enabled: false
emptyDir: false
mountPath: /config
downloads:
enabled: false
emptyDir: false
mountPath: /downloads
## 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: "-"
# accessMode: ReadWriteOnce
# size: 1Gi
## Do not delete the pvc upon helm uninstall
# skipuninstall: false
# existingClaim: ""
env: {}
## Optional ENV Vars that can be set.
## All values below are the current default values.
# PUID: "1000"
# PGID: "1000"
# TZ: "Europe/London"
# UMASK_SET: "022"
# DELUGE_LOGLEVEL: "error"

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 2.2.2
description: An Application dashboard and launcher
name: heimdall
version: 4.1.1
version: 4.1.2
keywords:
- heimdall
home: https://github.com/k8s-at-home/charts/tree/master/charts/heimdall

View File

@@ -1,4 +1,4 @@
# Default values for grocy.
# Default values for heimdall.
image:
repository: linuxserver/heimdall

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 2020.12.1
description: Home Assistant
name: home-assistant
version: 5.2.1
version: 5.3.0
keywords:
- home-assistant
- hass
@@ -25,10 +25,10 @@ dependencies:
repository: https://charts.bitnami.com/bitnami
condition: postgresql.enabled
- name: mariadb
version: 9.1.4
version: 9.2.0
repository: https://charts.bitnami.com/bitnami
condition: mariadb.enabled
- name: influxdb
version: 1.1.4
version: 1.1.6
repository: https://charts.bitnami.com/bitnami
condition: influxdb.enabled

View File

@@ -56,6 +56,21 @@ affinity:
... where a node with an attached zwave and/or zigbee controller USB device is labeled with `app: zwave-controller`
### Websockets
If an ingress controller is being used with home assistant, web sockets must be enabled using annotations to enable support of web sockets.
Using NGINX as an example the following will need to be added to your values:
```yaml
ingress:
enabled: true
annotations:
nginx.org/websocket-services: home-assistant
```
The value derived is the name of the kubernetes service object for home-assistant
## Uninstalling the Chart
To uninstall/delete the `my-release` deployment:

View File

@@ -0,0 +1,24 @@
# 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/
.vscode/
*.tmproj
# OWNERS file for Kubernetes
OWNERS

View File

@@ -0,0 +1,20 @@
apiVersion: v2
appVersion: 2.0.0-alpha9
description: Hyperion is an opensource Bias or Ambient Lighting implementation
name: hyperion-ng
version: 1.0.0
keywords:
- hyperion-ng
- hyperion
home: https://github.com/k8s-at-home/charts/tree/master/charts/hyperion-ng
icon: https://raw.githubusercontent.com/hyperion-project/hyperion.ng/master/assets/webconfig/img/hyperion/hyperionlogo.png?raw=true
sources:
- https://github.com/hyperion-project/hyperion.ng
- https://hub.docker.com/r/sirfragalot/hyperion.ng
maintainers:
- name: billimek
email: jeff@billimek.com
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.1.1

View File

@@ -0,0 +1,8 @@
approvers:
- billimek
- onedr0p
- bjw-s
reviewers:
- billimek
- onedr0p
- bjw-s

View File

@@ -0,0 +1,67 @@
# Radarr
This is a helm chart for [Hyperion.ng](https://github.com/hyperion-project/hyperion.ng).
**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)**
## TL;DR;
```shell
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
$ helm install k8s-at-home/hyperion-ng
```
## Installing the Chart
To install the chart with the release name `my-release`:
```console
helm install --name my-release k8s-at-home/hyperion-ng
```
## Uninstalling the Chart
To uninstall/delete the `my-release` deployment:
```console
helm delete my-release --purge
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
Read through the charts [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/hyperion-ng/values.yaml)
file. It has several commented out suggested values.
Additionally you can take a look at the common library [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/common/values.yaml) for more (advanced) configuration options.
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console
helm install hyperion-ng \
--set env.TZ="America/New_York" \
k8s-at-home/hyperion-ng
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
chart. For example,
```console
helm install hyperion-ng k8s-at-home/hyperion-ng --values values.yaml
```
```yaml
image:
tag: ...
```
---
**NOTE**
If you get
```console
Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...`
```
it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`.
---
## Upgrading an existing Release to a new major version
A major chart version change (like 4.0.1 -> 5.0.0) indicates that there is an incompatible breaking change potentially needing manual actions.

View File

@@ -0,0 +1 @@
{{- include "common.notes.defaultNotes" . -}}

View File

@@ -0,0 +1 @@
{{ include "common.all" . }}

View File

@@ -0,0 +1,37 @@
# Default values for hyperion-ng.
image:
repository: sirfragalot/hyperion.ng
pullPolicy: IfNotPresent
tag: 2.0.0-alpha.9-x86_64
strategy:
type: Recreate
service:
port:
port: 8090
additionalPorts:
- port: 19444
name: jsonservice
protocol: TCP
targetPort: 19444
- port: 19445
name: protobufservice
protocol: TCP
targetPort: 19445
- port: 19333
name: boblightservice
protocol: TCP
targetPort: 19333
env: {}
# TZ: UTC
# PUID: 1001
# PGID: 1001
persistence:
config:
enabled: false
emptyDir: false
mountPath: /root/.hyperion

View File

@@ -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: 2.2.2
version: 2.3.0
keywords:
- crm
home: https://www.monicahq.com/
@@ -18,6 +18,6 @@ dependencies:
repository: https://k8s-at-home.com/charts/
version: 2.1.1
- name: mariadb
version: 9.1.4
version: 9.2.0
repository: https://charts.bitnami.com/bitnami
condition: mariadb.enabled

View File

@@ -1,15 +1,15 @@
apiVersion: v2
appVersion: v3.4.3
appVersion: v3.8.1
description: Usenet meta search
name: nzbhydra2
version: 5.1.1
version: 5.2.0
keywords:
- nzbhydra2
- usenet
home: https://github.com/k8s-at-home/charts/tree/master/charts/nzbhydra2
icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/hydra-icon.png
sources:
- https://hub.docker.com/r/linuxserver/nzbhydra2/
- https://hub.docker.com/r/linuxserver/nzbhydra2
- https://github.com/theotherp/nzbhydra2
maintainers:
- name: billimek

View File

@@ -3,7 +3,7 @@
image:
repository: linuxserver/nzbhydra2
pullPolicy: IfNotPresent
tag: version-v3.4.3
tag: version-v3.8.1
strategy:
type: Recreate
@@ -18,8 +18,40 @@ env: {}
# PGID: 1001
probes:
startup:
liveness:
custom: true
enabled: true
spec:
failureThreshold: 5
httpGet:
path: /actuator/health/livenessState
port: http
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 10
readiness:
custom: true
enabled: true
spec:
failureThreshold: 5
httpGet:
path: /actuator/health/readinessState
port: http
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 10
startup:
custom: true
enabled: true
spec:
failureThreshold: 5
httpGet:
path: /actuator/health/readinessState
port: http
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 10
persistence:
config:

View File

@@ -1,5 +1,5 @@
name: oauth2-proxy
version: 4.0.1
version: 4.1.0
apiVersion: v1
appVersion: 5.1.0
home: https://oauth2-proxy.github.io/oauth2-proxy/

View File

@@ -92,6 +92,7 @@ Parameter | Description | Default
`ingress.annotations` | Ingress annotations | `nil`
`ingress.hosts` | Ingress accepted hostnames | `nil`
`ingress.tls` | Ingress TLS configuration | `nil`
`initContainers` | pod init containers | `[]`
`livenessProbe.enabled` | enable Kubernetes livenessProbe. Disable to use oauth2-proxy with Istio mTLS. See [Istio FAQ](https://istio.io/help/faq/security/#k8s-health-checks) | `true`
`livenessProbe.initialDelaySeconds` | number of seconds | 0
`livenessProbe.timeoutSeconds` | number of seconds | 1

View File

@@ -41,6 +41,10 @@ spec:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ template "oauth2-proxy.serviceAccountName" . }}
{{- if ne (len .Values.initContainers) 0 }}
initContainers:
{{ toYaml .Values.initContainers | indent 6 }}
{{- end }}
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"

View File

@@ -169,6 +169,10 @@ podDisruptionBudget:
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
podSecurityContext: {}
# Configure init containers for pod
# REF: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
initContainers: []
# whether to use http or https
httpScheme: http

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 1.4.2
description: OctoPrint is the snappy web interface for your 3D printer
name: octoprint
version: 2.2.1
version: 2.2.2
keywords:
- octoprint
- 3d

View File

@@ -13,11 +13,15 @@ securityContext:
service:
port:
port: 5000
port: 80
env:
OCTOPRINT_PORT: "5000"
# TZ: UTC
## uncomment the environment variables below to ensure camera streaming is enabled when
## you add a video device
# ENABLE_MJPG_STREAMER: "true"
# MJPG_STREAMER_INPUT: "-y -n -r 640x480"
# CAMERA_DEV: /dev/video0
persistence:

View File

@@ -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: 6.2.1
version: 6.3.0
keywords:
- ombi
- plex
@@ -23,6 +23,6 @@ dependencies:
repository: https://k8s-at-home.com/charts/
version: 2.1.1
- name: mariadb
version: 9.1.4
version: 9.2.0
repository: https://charts.bitnami.com/bitnami
condition: mariadb.enabled

View File

@@ -1,8 +1,8 @@
apiVersion: v2
appVersion: v4.3.0
appVersion: v4.3.1
description: PowerDNS is a DNS server, written in C++ and licensed under the GPL. It runs on most Unix derivatives. PowerDNS features a large number of different backends ranging from simple BIND style zonefiles to relational databases and load balancing/failover algorithms. A DNS recursor is provided as a separate program.
name: powerdns
version: 2.8.0
version: 3.0.1
home: https://www.powerdns.com/
sources:
- http://www.github.com/PowerDNS/
@@ -14,8 +14,8 @@ dependencies:
- name: postgresql
version: 10.2.0
repository: https://charts.bitnami.com/bitnami
condition: postgres.enabled
condition: postgresql.enabled
- name: mariadb
version: 7.10.4
version: 9.2.0
repository: https://charts.bitnami.com/bitnami
condition: mariadb.enabled

View File

@@ -75,17 +75,16 @@ powerdns:
# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/mariadb
mariadb:
enabled: false
db:
name: pdns
user: pdns
password: pdnspass
replication:
enabled: false
rootUser:
password: pdnsrootpass
master:
architecture: standalone
auth:
database: pdns
username: pdns
password: pdns-pass
rootPassword: pdnsrootpass
primary:
persistence:
enabled: false
# storageClass: ""
# Enabled postgres
# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql

View File

@@ -0,0 +1,24 @@
# 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
# OWNERS file for Kubernetes
OWNERS
.vscode/

23
charts/readarr/Chart.yaml Normal file
View File

@@ -0,0 +1,23 @@
apiVersion: v2
appVersion: 0.1.0.351
description: A fork of Radarr to work with Books & AudioBooks
name: readarr
version: 1.0.0
keywords:
- readarr
- torrent
- usenet
- AudioBooks
- ebooks
home: https://github.com/k8s-at-home/charts/tree/master/charts/readarr
icon: https://readarr.com/img/logo.png
sources:
- https://github.com/Readarr/Readarr
- https://readarr.com
maintainers:
- name: mcmarkj
email: mark@markmcw.uk
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.1.1

55
charts/readarr/README.md Normal file
View File

@@ -0,0 +1,55 @@
# Readarr
This is a helm chart for [Readarr](https://github.com/Readarr/Readarr).
**Readarr is still in early development, and this chart will install a nightly build of Readarr.
[See the project readme for more information](https://github.com/Readarr/Readarr#readarr-is-in-early-stages-of-development-alphabeta-binary-builds-are-not-yet-available-use-of-any-test-builds-isnt-recommend-and-may-have-detrimental-effects-on-your-library). Take back-up's if you decide to use this on an existing library as the project is considered unstable**
**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)**
## TL;DR;
```shell
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
$ helm install k8s-at-home/readarr
```
## Installing the Chart
To install the chart with the release name `my-release`:
```console
helm install --name my-release k8s-at-home/readarr
```
## Uninstalling the Chart
To uninstall/delete the `my-release` deployment:
```console
helm delete my-release --purge
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
Read through the charts [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/readarr/values.yaml)
file. It has several commented out suggested values.
Additionally you can take a look at the common library [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/common/values.yaml) for more (advanced) configuration options.
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console
helm install readarr \
--set env.TZ="America/New_York" \
k8s-at-home/readarr
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
chart. For example,
```console
helm install readarr k8s-at-home/readarr --values values.yaml
```
```yaml
image:
tag: ...
```

View File

@@ -0,0 +1 @@
{{- include "common.notes.defaultNotes" . -}}

View File

@@ -0,0 +1 @@
{{ include "common.all" . }}

View File

@@ -0,0 +1,40 @@
# Default values for Radarr.
image:
repository: hotio/readarr
pullPolicy: IfNotPresent
tag: nightly
strategy:
type: Recreate
service:
port:
port: 8787
env: {}
# TZ: UTC
# PUID: 1001
# PGID: 1001
persistence:
config:
enabled: false
emptyDir: false
media:
enabled: false
emptyDir: false
mountPath: /media
## 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: "-"
# accessMode: ReadWriteOnce
# size: 1Gi
## Do not delete the pvc upon helm uninstall
# skipuninstall: false
# existingClaim: ""

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: v4.11
description: Traccar is an open source GPS tracking system.
name: traccar
version: 2.1.1
version: 2.2.0
keywords:
- traccar
- gps
@@ -18,6 +18,6 @@ dependencies:
repository: https://k8s-at-home.com/charts/
version: 2.1.1
- name: mariadb
version: 9.1.4
version: 9.2.0
repository: https://charts.bitnami.com/bitnami
condition: mariadb.enabled

View File

@@ -0,0 +1,23 @@
# 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/

View File

@@ -0,0 +1,18 @@
apiVersion: v2
appVersion: latest
description: TVheadend - a TV streaming server and digital video recorder
name: tvheadend
version: 1.0.0
keywords:
- tv
- streaming
- dvb
home: https://github.com/k8s-at-home/charts/tree/master/charts/tvheadend
sources:
- https://github.com/tvheadend/tvheadend
maintainers:
- name: mr-onion-2
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.1.1

View File

@@ -0,0 +1,43 @@
# tvheadend
This is a helm chart for [tvheadend](https://github.com/tvheadend/tvheadend).
**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).**
## TL;DR;
```shell
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
$ helm install k8s-at-home/tvheadend
```
## Installing the Chart
To install the chart with the release name `my-release`:
```console
helm install my-release k8s-at-home/tvheadend
```
## Uninstalling the Chart
To uninstall/delete the `my-release` deployment:
```console
helm delete my-release --purge
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
The chart's [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/tvheadend/values.yaml) file contains a set of suggested values for a minimal deployment. Further configuration options are found in the [common library](https://github.com/k8s-at-home/charts/blob/master/charts/common/values.yaml).
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console
helm install tvheadend \
--set env.TZ="America/New_York" \
k8s-at-home/tvheadend
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
```console
helm install tvheadend k8s-at-home/tvheadend --values values.yaml
```

View File

@@ -0,0 +1 @@
{{- include "common.notes.defaultNotes" . -}}

View File

@@ -0,0 +1 @@
{{ include "common.all" . }}

View File

@@ -0,0 +1,30 @@
# Default values for tvheadend.
image:
repository: linuxserver/tvheadend
pullPolicy: IfNotPresent
tag: latest
strategy:
type: Recreate
# See https://github.com/linuxserver/docker-tvheadend#parameters
env: {}
# PUID: 1000
# PGID: 1000
# TZ: Europe/London
# RUN_OPTS: <run options here>
service:
port:
port: 9981
persistence:
config:
enabled: false
emptyDir: false
mountPath: /config
recordings:
enabled: false
emptyDir: false
mountPath: /recordings

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 2.0.1
description: Collect ALL UniFi Controller, Site, Device & Client Data - Export to InfluxDB or Prometheus
name: unifi-poller
version: 5.1.1
version: 5.1.2
keywords:
- unifi
- unifi-poller
@@ -19,6 +19,6 @@ dependencies:
repository: https://k8s-at-home.com/charts/
version: 2.1.1
- name: influxdb
version: 1.1.4
version: 1.1.6
repository: https://charts.bitnami.com/bitnami
condition: influxdb.enabled

View File

@@ -1,8 +1,8 @@
apiVersion: v2
appVersion: 1.16.2
appVersion: 1.17.0
description: Bridges events and allows you to control your Zigbee devices via MQTT
name: zigbee2mqtt
version: 4.1.2
version: 4.1.3
keywords:
- zigbee
- mqtt

View File

@@ -3,7 +3,7 @@
image:
repository: koenkk/zigbee2mqtt
pullPolicy: IfNotPresent
tag: 1.16.2
tag: 1.17.0
strategy:
type: Recreate

View File

@@ -0,0 +1,86 @@
# frozen_string_literal: true
require_relative '../test_helper'
class Test < ChartTest
@@chart = Chart.new('charts/common-test')
describe @@chart.name do
describe 'controller type' do
it 'defaults to "Deployment"' do
assert_nil(resource('StatefulSet'))
assert_nil(resource('DaemonSet'))
refute_nil(resource('Deployment'))
end
it 'accepts "statefulset"' do
chart.value controllerType: 'statefulset'
assert_nil(resource('Deployment'))
assert_nil(resource('DaemonSet'))
refute_nil(resource('StatefulSet'))
end
it 'accepts "daemonset"' do
chart.value controllerType: 'daemonset'
assert_nil(resource('Deployment'))
assert_nil(resource('StatefulSet'))
refute_nil(resource('DaemonSet'))
end
end
describe 'pod replicas' do
it 'defaults to 1' do
jq('.spec.replicas', resource('Deployment')).must_equal 1
end
it 'accepts integer as value' do
chart.value replicas: 3
jq('.spec.replicas', resource('Deployment')).must_equal 3
end
end
describe 'ports settings' do
default_name = 'http'
default_port = 8080
it 'defaults to name "http" on port 8080' do
jq('.spec.ports[0].port', resource('Service')).must_equal default_port
jq('.spec.ports[0].targetPort', resource('Service')).must_equal default_name
jq('.spec.ports[0].name', resource('Service')).must_equal default_name
jq('.spec.template.spec.containers[0].ports[0].containerPort', resource('Deployment')).must_equal default_port
jq('.spec.template.spec.containers[0].ports[0].name', resource('Deployment')).must_equal default_name
end
it 'port name can be overridden' do
values = {
service: {
port: {
name: 'server'
}
}
}
chart.value values
jq('.spec.ports[0].port', resource('Service')).must_equal default_port
jq('.spec.ports[0].targetPort', resource('Service')).must_equal values[:service][:port][:name]
jq('.spec.ports[0].name', resource('Service')).must_equal values[:service][:port][:name]
jq('.spec.template.spec.containers[0].ports[0].containerPort', resource('Deployment')).must_equal default_port
jq('.spec.template.spec.containers[0].ports[0].name', resource('Deployment')).must_equal values[:service][:port][:name]
end
it 'targetPort can be overridden' do
values = {
service: {
port: {
targetPort: 80
}
}
}
chart.value values
jq('.spec.ports[0].port', resource('Service')).must_equal default_port
jq('.spec.ports[0].targetPort', resource('Service')).must_equal values[:service][:port][:targetPort]
jq('.spec.ports[0].name', resource('Service')).must_equal default_name
jq('.spec.template.spec.containers[0].ports[0].containerPort', resource('Deployment')).must_equal values[:service][:port][:targetPort]
jq('.spec.template.spec.containers[0].ports[0].name', resource('Deployment')).must_equal default_name
end
end
end
end

119
test/test_helper.rb Normal file
View File

@@ -0,0 +1,119 @@
# frozen_string_literal: true
require 'json'
require 'yaml'
require 'open3'
require 'jq/extend'
require 'minitest-implicit-subject'
require "minitest/reporters"
require 'minitest/autorun'
require 'minitest/pride'
class HelmCompileError < StandardError
end
class HelmDepsError < StandardError
end
class Chart
attr_reader :name, :path, :values
def initialize(chart)
@name = chart.split('/').last
@path = File.expand_path(chart)
@values = default_values
update_deps!
end
def update_deps!
command = "helm dep update '#{path}'"
stdout, stderr, status = Open3.capture3(command)
raise HelmDepsError, stderr if status != 0
end
def reset!
@values = default_values
@parsed_resources = nil
end
def value(value)
values.merge!(value)
end
def configure_custom_name(name)
@name = name
end
def execute_helm_template!
file = Tempfile.new(name)
file.write(JSON.parse(values.to_json).to_yaml)
file.close
begin
command = "helm template '#{name}' '#{path}' --namespace='default' --values='#{file.path}'"
stdout, stderr, status = Open3.capture3(command)
raise HelmCompileError, stderr if status != 0
stdout
ensure
file.unlink
end
end
def parsed_resources
@parsed_resources ||= begin
output = execute_helm_template!
puts output if ENV.fetch('DEBUG', 'false') == 'true'
YAML.load_stream(output)
end
end
def resources(matcher = nil)
return parsed_resources unless matcher
parsed_resources.select do |r|
r >= Hash[matcher.map { |k, v| [k.to_s, v] }]
end
end
def default_values
{
}
end
end
class ExtendedMinitest < Minitest::Test
extend MiniTest::Spec::DSL
end
class ChartTest < ExtendedMinitest
Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new
before do
chart.reset!
end
def chart
self.class.class_variable_get('@@chart')
end
def resource(name)
chart.resources(kind: name).first
end
def jq(matcher, object)
value(object.jq(matcher)[0])
end
end
class Minitest::Result
def name
test_name = defined?(@name) ? @name : super
test_name.to_s.gsub /\Atest_\d{4,}_/, ""
end
end