Compare commits

...

10 Commits

Author SHA1 Message Date
renovate[bot]
974de8e654 Update Helm chart common to v2.4.0 (#546) 2021-02-05 08:59:30 -05:00
Kjeld Schouten-Lebbing
711b2f332d Remove DashMachine (#548)
Signed-off-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>
2021-02-05 14:27:02 +01:00
David Luong
cef461b7f2 Added conditional, if https svc for captive portal defined, default to https svc (#540) 2021-02-05 13:45:15 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
3d64b1c07a [common] Update to 2.4.0 (#550)
* [common] Add envValueFrom

* Add unit tests

Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>
2021-02-05 13:44:48 +01:00
Kjeld Schouten-Lebbing
a5cd196a7f Depricate DashMachine (#549)
Signed-off-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>
2021-02-05 13:15:48 +01:00
ᗪєνιη ᗷυнʟ
94bf122994 [common] Upgrade to v2.3.0 (#513)
* [common] Allow to override container command (#499)

Signed-off-by: Ingvarr Zhmakin

Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <6213398+bjw-s@users.noreply.github.com>

* fix: add resources to values

* [common] Add support for volumeClaimTemplates in statefulset (#529)

Signed-off-by: Mikael Sennerholm <mikael@sennerholm.net>

* [common] Add support for templatified env-variables (#530)

* Add support for template env vars

Signed-off-by: Mikael Sennerholm <mikael@sennerholm.net>

* [common-next] some additional pod properties (#533)

* [common] new pod properties

* [common] Move test of statefulset (#536)

* Moved statefulset chart-test to unit test

* [common] Move env tpl test fix (#542)

* Take care of setting envTpl if no env set

* Add Test cases

* Moved to unit tests

* Update changelog, add missing fields to values

* common-test doesn't need a bump

* Relocate end statement

Co-authored-by: Ingvarr Zhmakin <19270832+lazyoldbear@users.noreply.github.com>
Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <6213398+bjw-s@users.noreply.github.com>
Co-authored-by: Mikael Sennerholm <mikael@sennerholm.net>
2021-02-04 17:01:40 +01:00
Kjeld Schouten-Lebbing
97de7b430d [lazylibrarian] Move to Common (#543)
* Move LazyLibrarian to Common chart

Signed-off-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>

* Update lazylibrarian to latest

- appVersion is still 1.7.2

Signed-off-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>
2021-02-04 12:15:19 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
3bd8295151 [gonic] Bump to make CI happy again 2021-02-04 08:27:53 +01:00
ᗪєνιη ᗷυнʟ
38efefa16b [gonic] update to latest gonic version (#541) 2021-02-04 08:10:57 +01:00
Eagleman7
c522152e20 [protonmail-bridge] fix documentation formatting (#535)
* fix documentation formatting
2021-02-03 19:54:50 +01:00
90 changed files with 476 additions and 842 deletions

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 0.4.2
description: Bot for Prometheus Alertmanager
name: alertmanager-bot
version: 2.3.1
version: 2.4.0
keywords:
- alertmanager
- telegram
@@ -18,4 +18,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -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: 2.3.1
version: 2.4.0
keywords:
- appdaemon
- home-automation
@@ -17,4 +17,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -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: 5.3.1
version: 5.4.0
keywords:
- bazarr
- radarr
@@ -21,4 +21,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -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: 2.3.1
version: 2.4.0
keywords:
- booksonic
- audiobook
@@ -17,4 +17,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -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: 4.3.1
version: 4.4.0
keywords:
- calibre
- ebook
@@ -17,4 +17,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -4,6 +4,31 @@ 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.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
@@ -59,6 +84,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.4.0]: https://github.com/k8s-at-home/charts/tree/common-2.4.0/charts/common
[2.3.0]: https://github.com/k8s-at-home/charts/tree/common-2.3.0/charts/common
[2.2.1]: https://github.com/k8s-at-home/charts/tree/common-2.2.1/charts/common
[2.2.0]: https://github.com/k8s-at-home/charts/tree/common-2.2.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.2.1
version: 2.4.0
keywords:
- k8s-at-home
- common

View File

@@ -36,4 +36,18 @@ spec:
{{- 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 }}

View File

@@ -5,6 +5,9 @@ The main container included in the controller.
- 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 }}
@@ -12,12 +15,21 @@ The main container included in the controller.
securityContext:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- if .Values.env }}
{{- 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 }}
{{- with .Values.envFrom }}
envFrom:
@@ -37,6 +49,15 @@ The main container included in the controller.
{{- 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:

View File

@@ -11,9 +11,18 @@ serviceAccountName: {{ include "common.names.serviceAccountName" . }}
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 }}

View File

@@ -12,6 +12,8 @@ strategy:
## DaemonSets ignore this
type: RollingUpdate
# Override the default command
command: []
# Override the default args
args: []
@@ -31,7 +33,19 @@ serviceAccount:
name: ""
env: {}
# TZ: UTC
# 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:
@@ -39,6 +53,15 @@ envFrom: []
# - 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
@@ -56,6 +79,12 @@ dnsPolicy: ClusterFirst
# for more information.
enableServiceLinks: true
# Configure the Security Context for the Pod
podSecurityContext: {}
# Configure the Security Context for the main container
securityContext: {}
initContainers: []
additionalContainers: []
@@ -207,6 +236,19 @@ 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: {}
@@ -221,6 +263,18 @@ hostAliases: []
# - "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

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: latest
description: CouchPotato (CP) is an automatic NZB and torrent downloader.
name: couchpotato
version: 4.3.1
version: 4.4.0
keywords:
- couchpotato
- usenet
@@ -18,4 +18,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -1,24 +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

View File

@@ -1,16 +0,0 @@
apiVersion: v2
appVersion: v0.5-4
description: DashMachine is another web application bookmark dashboard, with fun features.
icon: https://github.com/rmountjoy92/DashMachine/raw/master/dashmachine/static/images/logo/logo.png
home: https://github.com/rmountjoy92/DashMachine
name: dashmachine
version: 3.3.1
sources:
- https://github.com/rmountjoy92/DashMachine
maintainers:
- name: carpenike
email: ryan@ryanholt.net
dependencies:
- name: common
version: 2.2.1
repository: https://k8s-at-home.com/charts/

View File

@@ -1,4 +0,0 @@
approvers:
- carpenike
reviewers:
- carpenike

View File

@@ -1,69 +0,0 @@
# Dashmachine
This is a helm chart for [DashMachine](https://github.com/rmountjoy92/DashMachine).
**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/dashmachine
```
## Installing the Chart
To install the chart with the release name `my-release`:
```console
helm install --name my-release k8s-at-home/dashmachine
```
## 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/dashmachine/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 dashmachine \
--set env.TZ="America/New_York" \
k8s-at-home/dashmachine
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
chart. For example,
```console
helm install dashmachine k8s-at-home/dashmachine --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.
Refer to the library values.yaml for more configuration options.

View File

@@ -1,22 +0,0 @@
# Default values for dashmachine.
image:
repository: rmountjoy/dashmachine
tag: v0.5-4
pullPolicy: IfNotPresent
strategy:
type: Recreate
service:
port:
port: 5000
env: {}
# TZ: UTC
persistence:
config:
enabled: false
emptyDir: false
mountPath: /dashmachine/dashmachine/user_data

View File

@@ -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: 2.3.1
version: 2.4.0
keywords:
- ddclient
- dns
@@ -17,4 +17,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: v2.0.3-2201906121747
description: Deluge is a torrent download client
name: deluge
version: 1.1.1
version: 1.2.0
keywords:
- deluge
- torrent
@@ -17,4 +17,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -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: 1.1.1
version: 1.2.0
keywords:
- dsmr-reader
- energy
@@ -17,7 +17,7 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0
- name: postgresql
version: 10.2.0
repository: https://charts.bitnami.com/bitnami

View File

@@ -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: 4.3.1
version: 4.4.0
keywords:
- esphome
- home-automation
@@ -16,4 +16,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: v1.2.3
description: FlareSolverr is a proxy server to bypass Cloudflare protection
name: flaresolverr
version: 1.0.0
version: 1.1.0
keywords:
- flaresolverr
- jackett
@@ -16,4 +16,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 4.1.1
description: Flood is a monitoring service for various torrent clients
name: flood
version: 2.3.1
version: 2.4.0
keywords:
- flood
- rtorrent
@@ -19,4 +19,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 1.17.0
description: FreshRSS is a self-hosted RSS feed aggregator
name: freshrss
version: 2.3.1
version: 2.4.0
keywords:
- freshrss
- rss
@@ -17,4 +17,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -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: 1.1.1
version: 1.2.0
keywords:
- plex
- plex-media-server
@@ -16,4 +16,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -1,8 +1,8 @@
apiVersion: v2
appVersion: latest
appVersion: v0.12.0
description: Music streaming server / subsonic server API implementation
name: gonic
version: 1.0.0
version: 2.1.0
keywords:
- music
- subsonic
@@ -17,4 +17,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -0,0 +1,21 @@
env:
GONIC_MUSIC_PATH: "/music"
GONIC_PODCAST_PATH: "/podcasts"
GONIC_CACHE_PATH: "/cache"
persistence:
data:
enabled: true
emptyDir: true
mountPath: /data
podcasts:
enabled: true
emptyDir: true
mountPath: /podcasts
cache:
enabled: true
emptyDir: true
mountPath: /cache
music:
enabled: true
emptyDir: true
mountPath: /music

View File

@@ -3,7 +3,7 @@
image:
repository: sentriz/gonic
pullPolicy: IfNotPresent
tag: latest
tag: v0.12.0
strategy:
type: Recreate
@@ -15,13 +15,24 @@ service:
# # See more environment variables in the gonic documentation
# https://github.com/sentriz/gonic#configuration-options
env: {}
# TZ: UTC
# TZ:
# GONIC_MUSIC_PATH:
# GONIC_PODCAST_PATH:
# GONIC_CACHE_PATH:
persistence:
data:
enabled: false
emptyDir: false
podcasts:
enabled: false
emptyDir: false
cache:
enabled: false
emptyDir: false
music:
enabled: false
emptyDir: false

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: v2.7.1
description: ERP beyond your fridge - grocy is a web-based self-hosted groceries & household management solution for your home
name: grocy
version: 4.3.1
version: 4.4.0
keywords:
- grocy
home: https://github.com/k8s-at-home/charts/tree/master/charts/grocy
@@ -14,5 +14,5 @@ maintainers:
email: jeff@billimek.com
dependencies:
- name: common
version: 2.2.1
version: 2.4.0
repository: https://k8s-at-home.com/charts/

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 2.2.2
description: An Application dashboard and launcher
name: heimdall
version: 4.2.1
version: 4.3.0
keywords:
- heimdall
home: https://github.com/k8s-at-home/charts/tree/master/charts/heimdall
@@ -15,5 +15,5 @@ maintainers:
email: jeff@billimek.com
dependencies:
- name: common
version: 2.2.1
version: 2.4.0
repository: https://k8s-at-home.com/charts/

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 2021.1.5
description: Home Assistant
name: home-assistant
version: 5.4.4
version: 5.5.0
keywords:
- home-assistant
- hass
@@ -19,7 +19,7 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0
- name: postgresql
version: 10.2.0
repository: https://charts.bitnami.com/bitnami

View File

@@ -4,7 +4,7 @@ description: A dead simple static HOMepage for your servER to keep your services
icon: https://raw.githubusercontent.com/bastienwirtz/homer/main/public/logo.png
home: https://github.com/bastienwirtz/homer
name: homer
version: 2.3.1
version: 2.4.0
sources:
- https://github.com/bastienwirtz/homer
maintainers:
@@ -12,5 +12,5 @@ maintainers:
email: jeff@billimek.com
dependencies:
- name: common
version: 2.2.1
version: 2.4.0
repository: https://k8s-at-home.com/charts/

View File

@@ -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: 1.1.1
version: 1.2.0
keywords:
- hyperion-ng
- hyperion
@@ -17,4 +17,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: v0.16.2106
description: API Support for your favorite torrent trackers
name: jackett
version: 6.3.1
version: 6.4.0
keywords:
- jackett
- torrent
@@ -17,4 +17,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 10.6.4
description: Jellyfin is a Free Software Media System
name: jellyfin
version: 4.3.1
version: 4.4.0
keywords:
- jellyfin
- plex
@@ -18,4 +18,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -1,7 +1,7 @@
apiVersion: v2
name: lazylibrarian
description: A Helm chart for deploying LazyLibrarian
version: 2.0.1
version: 3.1.0
appVersion: 1.7.2
keywords:
- lazylibrarian
@@ -14,3 +14,7 @@ sources:
maintainers:
- name: billimek
email: jeff@billimek.com
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.4.0

View File

@@ -1,6 +1,8 @@
# LazyLibrarian helm chart
# LazyLibrarian
This is a helm chart for [LazyLibrarian](https://gitlab.com/LazyLibrarian/LazyLibrarian.git) based on the [container image provided by LinuxServer.io](https://hub.docker.com/r/linuxserver/lazylibrarian/).
This is a helm chart for [LazyLibrarian](https://gitlab.com/LazyLibrarian/LazyLibrarian.git).
**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
@@ -13,89 +15,67 @@ $ helm install k8s-at-home/lazylibrarian
To install the chart with the release name `my-release`:
```shell
helm install my-release k8s-at-home/lazylibrarian
```console
helm install --name my-release k8s-at-home/lazylibrarian
```
## Uninstalling the Chart
To uninstall/delete the `my-release` deployment:
```shell
```console
helm delete my-release --purge
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
The following tables lists the configurable parameters of the LazyLibrarian chart and their default values.
| Parameter | Description | Default |
| ------------------------------------------- | --------------------------------------------------------------------------------------------------- | ---------------------------------------------- |
| `image.repository` | Image repository | `linuxserver/lazylibrarian` |
| `image.tag` | Image tag. Possible values listed [here](https://hub.docker.com/r/linuxserver/lazylibrarian/tags/). | `581cdfb3-ls23` |
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
| `strategyType` | Specifies the strategy used to replace old Pods by new ones | `Recreate` |
| `timezone` | Timezone the instance should run as, e.g. 'America/New_York' | `UTC` |
| `puid` | process userID the instance should run as | `1001` |
| `pgid` | process groupID the instance should run as | `1001` |
| `dockerMods.calibre.enabled` | Enable optional calibre conversion feature. refer [here](https://github.com/linuxserver/docker-lazylibrarian#application-setup) | `false` |
| `dockerMods.calibre.image.repository` | DockerMod image repository | `linuxserver/calibre-web` |
| `dockerMods.calibre.image.tag` | DockerMod image tag. Can be found [here](https://hub.docker.com/r/linuxserver/calibre-web/tags/) | `calibre` |
| `dockerMods.ffmpeg.enabled` | Enable optional ffmpeg conversion feature. refer [here](https://github.com/linuxserver/docker-lazylibrarian#application-setup) | `false` |
| `dockerMods.ffmpeg.image.repository` | DockerMod image repository | `linuxserver/mods` |
| `dockerMods.ffmpeg.image.tag` | DockerMod image tag. | `lazylibrarian-ffmpeg` |
| `probes.liveness.enabled` | Enables liveness probe for the main container | `true` |
| `probes.liveness.initialDelaySeconds` | Specify liveness `initialDelaySeconds` parameter for the main container | `60` |
| `probes.liveness.failureThreshold` | Specify liveness `failureThreshold` parameter for the main container | `5` |
| `probes.liveness.timeoutSeconds` | Specify liveness `timeoutSeconds` parameter for the main container | `10` |
| `probes.readiness.enabled` | Enables readiness probe for the main container | `true` |
| `probes.readiness.initialDelaySeconds` | Specify readiness `initialDelaySeconds` parameter for the main container | `60` |
| `probes.readiness.failureThreshold` | Specify readiness `failureThreshold` parameter for the main container | `5` |
| `probes.readiness.timeoutSeconds` | Specify readiness `timeoutSeconds` parameter for the main container | `10` |
| `probes.startup.enabled` | Enables startup probe for the main container | `false` |
| `probes.startup.failureThreshold` | Specify startup `failureThreshold` parameter for the main container | `30` |
| `probes.startup.timeoutSeconds` | Specify startup `periodSeconds` parameter for the main container | `10` |
| `service.type` | Kubernetes service type for the GUI | `ClusterIP` |
| `service.port` | Kubernetes port where the GUI is exposed | `5299` |
| `service.annotations` | Service annotations for the GUI | `{}` |
| `service.labels` | Custom labels | `{}` |
| `service.loadBalancerIP` | Loadbalancer IP for the GUI | `{}` |
| `service.loadBalancerSourceRanges` | List of IP CIDRs allowed access to load balancer (if supported) | None |
| `ingress.enabled` | Enables Ingress | `false` |
| `ingress.annotations` | Ingress annotations | `{}` |
| `ingress.labels` | Custom labels | `{}` |
| `ingress.path` | Ingress path | `/` |
| `ingress.hosts` | Ingress accepted hostnames | `chart-example.local` |
| `ingress.tls` | Ingress TLS configuration | `[]` |
| `persistence.enabled` | Use persistent volume to store configuration data | `true` |
| `persistence.size` | Size of persistent volume claim | `1Gi` |
| `persistence.existingClaim` | Use an existing PVC to persist data | `nil` |
| `persistence.storageClass` | Type of persistent volume claim | `-` |
| `persistence.subPath` | Mount a sub directory if set | `nil ` |
| `persistence.accessMode` | Persistence access mode | `ReadWriteOnce` |
| `persistence.extraVolumes` | Optionally add multiple additional volumes | `[]` |
| `resources` | CPU/Memory resource requests/limits | `{}` |
| `nodeSelector` | Node labels for pod assignment | `{}` |
| `tolerations` | Toleration labels for pod assignment | `[]` |
| `affinity` | Affinity settings for pod assignment | `{}` |
| `podAnnotations` | Key-value pairs to add as pod annotations | `{}` |
Read through the charts [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/lazylibrarian/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 my-release \
--set timezone="Europe/Amsterdam" \
helm install lazylibrarian \
--set env.TZ="America/New_York" \
k8s-at-home/lazylibrarian
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
chart. For example,
```console
helm install my-release -f values.yaml k8s-at-home/lazylibrarian
helm install lazylibrarian k8s-at-home/lazylibrarian --values values.yaml
```
```yaml
image:
tag: ...
```
---
**NOTE**
Read through the [values.yaml](https://github.com/k8s-at-home/charts/lazylibrarian/values.yaml) file. It has several commented out suggested values.
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.
### Upgrading from 2.x.x to 3.x.x
Due to migrating to a centralized common library some values in `values.yaml` have changed.
Examples:
* `pguid` has been moved to `env`
* `pgid` has been moved to `env`
* All dockermods have been moved to `env`
* `service.port` has been moved to `service.port.port`.
* `persistence.type` has been moved to `controllerType`.
Refer to the library values.yaml for more configuration options.

View File

@@ -1,21 +1 @@
1. Get the application URL by running these commands:
{{- if .Values.ingress.enabled }}
{{- range $host := .Values.ingress.hosts }}
{{- range .paths }}
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }}
{{- end }}
{{- end }}
{{- else if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "lazylibrarian.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 --namespace {{ .Release.Namespace }} svc -w {{ include "lazylibrarian.fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "lazylibrarian.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
echo http://$SERVICE_IP:{{ .Values.service.port }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "lazylibrarian.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 --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:{{ .Values.service.port }}
{{- end }}
{{- include "common.notes.defaultNotes" . -}}

View File

@@ -1,107 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "lazylibrarian.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 "lazylibrarian.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 "lazylibrarian.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Common labels
*/}}
{{- define "lazylibrarian.labels" -}}
helm.sh/chart: {{ include "lazylibrarian.chart" . }}
{{ include "lazylibrarian.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
{{/*
Selector labels
*/}}
{{- define "lazylibrarian.selectorLabels" -}}
app.kubernetes.io/name: {{ include "lazylibrarian.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{/*
Create the name of the service account to use
*/}}
{{- define "lazylibrarian.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "lazylibrarian.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}
{{/*
Determine the addons to be installed
*/}}
{{- define "lazylibrarian.enabledAddons" -}}
{{- $enabledAddons := list -}}
{{- if .Values.dockerMods.calibre.enabled }}
{{- $enabledAddons = printf "%s:%s" .Values.dockerMods.calibre.image.repository .Values.dockerMods.calibre.image.tag | append $enabledAddons -}}
{{- end -}}
{{- if .Values.dockerMods.ffmpeg.enabled }}
{{- $enabledAddons = printf "%s:%s" .Values.dockerMods.ffmpeg.image.repository .Values.dockerMods.ffmpeg.image.tag | append $enabledAddons -}}
{{- end -}}
{{- join "|" $enabledAddons | quote -}}
{{- end -}}
{{/*
Get the additional volumes
*/}}
{{- define "lazylibrarian.extraVolumes" -}}
{{- if .Values.persistence.extraVolumes }}
{{- $extraVolumes := .Values.persistence.extraVolumes -}}
{{- range $extraVolumes }}
{{- $_ := unset . "mountPath" }}
{{- end }}
{{- toYaml $extraVolumes }}
{{- end }}
{{- end }}
{{/*
Get the additional volumeMounts
*/}}
{{- define "lazylibrarian.extraVolumeMounts" -}}
{{- if .Values.persistence.extraVolumes }}
{{- $extraVolumeMounts := list -}}
{{- range .Values.persistence.extraVolumes }}
{{- if .mountPath }}
{{- $extraVolumeMounts = dict "name" .name "mountPath" .mountPath | append $extraVolumeMounts -}}
{{- else }}
{{- $extraVolumeMounts = dict "name" .name "mountPath" (printf "/mnt/%s" .name) | append $extraVolumeMounts -}}
{{- end }}
{{- end }}
{{- toYaml $extraVolumeMounts }}
{{- end }}
{{- end }}

View File

@@ -1,15 +0,0 @@
{{- if .Values.autoscaling.enabled }}
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: {{ include "lazylibrarian.fullname" . }}
labels:
{{- include "lazylibrarian.labels" . | nindent 4 }}
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: StatefulSet
name: {{ include "lazylibrarian.fullname" . }}
minReplicas: {{ .Values.autoscaling.minReplicas }}
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
{{- end }}

View File

@@ -1,41 +0,0 @@
{{- if .Values.ingress.enabled -}}
{{- $fullName := include "lazylibrarian.fullname" . -}}
{{- $svcPort := .Values.service.port -}}
{{- if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
apiVersion: networking.k8s.io/v1beta1
{{- else -}}
apiVersion: extensions/v1beta1
{{- end }}
kind: Ingress
metadata:
name: {{ $fullName }}
labels:
{{- include "lazylibrarian.labels" . | nindent 4 }}
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
{{- if .Values.ingress.tls }}
tls:
{{- range .Values.ingress.tls }}
- hosts:
{{- range .hosts }}
- {{ . | quote }}
{{- end }}
secretName: {{ .secretName }}
{{- end }}
{{- end }}
rules:
{{- range .Values.ingress.hosts }}
- host: {{ .host | quote }}
http:
paths:
{{- range .paths }}
- path: {{ . }}
backend:
serviceName: {{ $fullName }}
servicePort: {{ $svcPort }}
{{- end }}
{{- end }}
{{- end }}

View File

@@ -1,32 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "lazylibrarian.fullname" . }}
labels:
{{- include "lazylibrarian.labels" . | nindent 4 }}
{{- if .Values.service.annotations }}
annotations:
{{ toYaml .Values.service.annotations | indent 4 }}
{{- end }}
spec:
type: {{ .Values.service.type }}
{{- if .Values.service.loadBalancerIP }}
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
{{- end }}
{{- if .Values.service.load }}
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
{{- end }}
{{- if .Values.service.loadBalancerSourceRanges }}
loadBalancerSourceRanges:
{{ toYaml .Values.service.loadBalancerSourceRanges | indent 4 }}
{{- end -}}
{{- if .Values.service.externalTrafficPolicy }}
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy }}
{{- end }}
ports:
- port: {{ .Values.service.port }}
targetPort: http
protocol: TCP
name: http
selector:
{{- include "lazylibrarian.selectorLabels" . | nindent 4 }}

View File

@@ -1,12 +0,0 @@
{{- if .Values.serviceAccount.create -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "lazylibrarian.serviceAccountName" . }}
labels:
{{- include "lazylibrarian.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}

View File

@@ -1,132 +0,0 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: {{ include "lazylibrarian.fullname" . }}
labels:
{{- include "lazylibrarian.labels" . | nindent 4 }}
spec:
{{- if not .Values.autoscaling.enabled }}
replicas: {{ .Values.replicaCount }}
{{- end }}
selector:
matchLabels:
{{- include "lazylibrarian.selectorLabels" . | nindent 6 }}
serviceName: {{ include "lazylibrarian.name" . }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "lazylibrarian.selectorLabels" . | nindent 8 }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "lazylibrarian.serviceAccountName" . }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: http
containerPort: {{ .Values.service.port }}
protocol: TCP
env:
- name: TZ
value: {{ .Values.timezone }}
- name: PUID
value: {{ .Values.puid | quote }}
- name: PGID
value: {{ .Values.pgid | quote }}
- name: DOCKER_MODS
value: {{ include "lazylibrarian.enabledAddons" . }}
volumeMounts:
- name: config
mountPath: /config
{{- include "lazylibrarian.extraVolumeMounts" . | nindent 12 }}
{{- if .Values.probes.liveness.enabled }}
livenessProbe:
httpGet:
path: /
port: http
scheme: {{ .Values.probes.liveness.scheme }}
initialDelaySeconds: {{ .Values.probes.liveness.initialDelaySeconds }}
failureThreshold: {{ .Values.probes.liveness.failureThreshold }}
timeoutSeconds: {{ .Values.probes.liveness.timeoutSeconds }}
{{- end }}
{{- if .Values.probes.readiness.enabled }}
readinessProbe:
httpGet:
path: /
port: http
scheme: {{ .Values.probes.readiness.scheme }}
initialDelaySeconds: {{ .Values.probes.readiness.initialDelaySeconds }}
failureThreshold: {{ .Values.probes.readiness.failureThreshold }}
timeoutSeconds: {{ .Values.probes.readiness.timeoutSeconds }}
{{- end }}
{{- if .Values.probes.startup.enabled }}
startupProbe:
httpGet:
path: /
port: http
scheme: {{ .Values.probes.startup.scheme }}
failureThreshold: {{ .Values.probes.startup.failureThreshold }}
periodSeconds: {{ .Values.probes.startup.periodSeconds }}
{{- end }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
volumes:
{{- if not .Values.persistence.enabled }}
- name: config
emptyDir: {}
{{- end }}
{{- if and .Values.persistence.enabled .Values.persistence.existingClaim }}
- name: config
persistentVolumeClaim:
claimName: {{ .Values.persistence.existingClaim }}
{{- end }}
{{- include "lazylibrarian.extraVolumes" . | nindent 8 }}
volumeClaimTemplates:
{{- if and .Values.persistence.enabled ( not .Values.persistence.existingClaim ) }}
- metadata:
name: config
labels:
{{- include "lazylibrarian.labels" . | nindent 10 }}
{{- if .Values.persistence.annotations }}
annotations:
{{- toYaml .Values.persistence.annotations | nindent 10 }}
{{- end }}
spec:
accessModes: [ {{ .Values.persistence.accessMode | quote }} ]
resources:
requests:
storage: {{ .Values.persistence.size | quote }}
{{- if .Values.persistence.storageClass }}
{{- if (eq "-" .Values.persistence.storageClass) }}
storageClassName: ""
{{- else }}
storageClassName: {{ .Values.persistence.storageClass | quote }}
{{- end }}
{{- end }}
{{- end }}

View File

@@ -1,153 +1,43 @@
# Default values for lazylibrarian.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 1
# Default values for LazyLibrarian.
image:
repository: linuxserver/lazylibrarian
pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion.
tag: 2551a8bc-ls25
tag: version-047f91af
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
timezone: UTC
puid: 1001
pgid: 1001
# Linuxserver.io additional layers.
# Enables additional features for the image, at the cost of increased size and
# possible incompatabilities with certain architectures. Disabled by default.
#
# To enable, set enabled to true, and follow the guide at: https://github.com/linuxserver/docker-lazylibrarian#application-setup
# to configure the application.
dockerMods:
# Enable the Calibre Docker Mod to allow Calibredb import
calibre:
enabled: false
image:
repository: linuxserver/calibre-web
tag: calibre
# Enable the FFMpeg Docker Mod. This allows using the audiobook conversion features of LazyLibrarian.
ffmpeg:
enabled: false
image:
repository: linuxserver/mods
tag: lazylibrarian-ffmpeg
serviceAccount:
# Specifies whether a service account should be created
create: true
# 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: ""
podAnnotations: {}
podSecurityContext: {}
# fsGroup: 2000
securityContext: {}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
persistence:
enabled: false
annotations: {}
## lazylibrarian 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: lazylibrarian-config
accessMode: ReadWriteOnce
size: 1Gi
# Any extra volumes to define for the pod
# Volumes will be mounted to the folder specified under mountPath
# If no mountPath is set it will be mounted to /mnt/<name>
extraVolumes: []
# - name: example-name
# hostPath:
# path: /path/on/host
# type: DirectoryOrCreate
# mountPath: "/mnt/test"
strategy:
type: Recreate
service:
type: ClusterIP
port: 5299
# externalTrafficPolicy: Local
# loadBalancerIP: ""
# loadBalancerSourceRanges: []
annotations: {}
port:
port: 5299
ingress:
enabled: false
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
hosts:
- host: chart-example.local
paths: []
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
env: {}
# TZ: UTC
# PUID: 1001
# PGID: 1001
## Docker Mods are not actively tested and might not work as expected.
# DOCKER_MODS=linuxserver/mods:lazylibrarian-ffmpeg
# DOCKER_MODS=linuxserver/calibre-web:calibre
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
probes:
liveness:
enabled: true
scheme: HTTP
initialDelaySeconds: 60
failureThreshold: 5
timeoutSeconds: 10
readiness:
enabled: true
scheme: HTTP
initialDelaySeconds: 60
failureThreshold: 5
timeoutSeconds: 10
startup:
persistence:
config:
enabled: false
scheme: HTTP
failureThreshold: 30
periodSeconds: 10
emptyDir: false
nodeSelector: {}
tolerations: []
affinity: {}
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: 0.8.0.1886
description: Looks and smells like Sonarr but made for music
name: lidarr
version: 6.3.1
version: 6.4.0
keywords:
- lidarr
- torrent
@@ -18,4 +18,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -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: 2.3.1
version: 2.4.0
keywords:
- lychee
- photo
@@ -18,4 +18,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

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.4.1
version: 2.5.0
keywords:
- crm
home: https://www.monicahq.com/
@@ -16,7 +16,7 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0
- name: mariadb
version: 9.2.0
repository: https://charts.bitnami.com/bitnami

View File

@@ -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: 2.3.1
version: 2.4.0
keywords:
- navidrome
- music
@@ -18,4 +18,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 0.3.0
description: Neolink - RTSP bridge to Reolink IP cameras
name: neolink
version: 1.1.1
version: 1.2.0
keywords:
- reolink
- rtsp
@@ -14,4 +14,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -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: 1.1.1
version: 1.2.0
keywords:
- nut
- network-ups-tools
@@ -17,4 +17,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -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: 5.3.1
version: 5.4.0
keywords:
- nodered
- node-red
@@ -17,4 +17,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: v21.0
description: NZBGet is a Usenet downloader client
name: nzbget
version: 7.3.1
version: 7.4.0
keywords:
- nzbget
- usenet
@@ -17,4 +17,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: v3.8.1
description: Usenet meta search
name: nzbhydra2
version: 5.3.1
version: 5.4.0
keywords:
- nzbhydra2
- usenet
@@ -17,4 +17,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

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.3.1
version: 2.4.0
keywords:
- octoprint
- 3d
@@ -18,4 +18,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

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: 7.0.0
version: 7.1.0
keywords:
- ombi
- plex
@@ -21,4 +21,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: latest
description: HTPC/Homelab Services Organizer
name: organizr
version: 3.3.1
version: 3.4.0
keywords:
- organizr
home: https://github.com/k8s-at-home/charts/tree/master/charts/organizr
@@ -16,4 +16,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 1.16.0
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: 1.0.0
version: 1.1.0
keywords:
- overseerr
- plex
@@ -19,4 +19,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 1.0.0
description: Paperless - Index and archive all of your scanned paper documents
name: paperless
version: 3.0.0
version: 3.1.0
keywords:
- paperless
home: https://github.com/k8s-at-home/charts/tree/master/charts/paperless
@@ -14,4 +14,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -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: 2.3.1
version: 2.4.0
keywords:
- photos
- photoprism
@@ -19,4 +19,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: v4.0
description: Program for forwarding ADS-B data to FlightAware
name: piaware
version: 4.3.1
version: 4.4.0
keywords:
- piaware
- flight-aware
@@ -17,4 +17,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 1.20.4.3517-ab5e1197c
description: Plex Media Server
name: plex-media-server
version: 1.3.1
version: 1.4.0
keywords:
- plex
- plex-media-server
@@ -17,4 +17,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -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: 1.0.0
version: 1.1.0
keywords:
- protonmail
- protonmail-bridge
@@ -15,4 +15,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -30,6 +30,15 @@ helm delete my-release --purge
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
Once installed do the following to configure the application within the pod:
1. Get the name of your deployed pod `kubectl get pods`
2. Run interactively on the pod (setup only) `kubectl exec --stdin --tty protonmail-bridge-deployment-6c79fd7f84-ftwcw -- /bin/bash`
3. Once logged in, execute the init command `bash /protonmail/entrypoint.sh init`
4. You should now see the CLI for protonmail-bridge, authenticate with login
5. (optional) If you use split address mode, change mode and info are good for printing the details.
6. Copy your SMTP server info (or IMAP, your choice)
7. Delete the active pod so a new one gets created (which will properly fire up with your persisted settings)
Read through the charts [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/protonmail-bridge/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.
@@ -51,13 +60,6 @@ image:
tag: ...
```
Get the name of your deployed pod kubectl get pods
Run interactively on the pod (setup only) kubectl exec --stdin --tty protonmail-bridge-deployment-6c79fd7f84-ftwcw -- /bin/bash
Once logged in, execute the init command bash /protonmail/entrypoint.sh init
You should now see the CLI for protonmail-bridge, authenticate with login
(optional) if you're like me and use split address mode, change mode and info are good for printing the details.
Copy your SMTP server info (or IMAP, your choice)
delete the active pod so a new one gets created (which will properly fire up with your persisted settings)
---
**NOTE**

View File

@@ -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: 2.3.1
version: 2.4.0
keywords:
- pyload
- download
@@ -17,4 +17,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 4.3.0
description: qBittorrent is a cross-platform free and open-source BitTorrent client
name: qbittorrent
version: 7.2.1
version: 7.3.0
keywords:
- qbittorrent
- torrrent
@@ -16,4 +16,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 3.0.0.3989
description: A fork of Sonarr to work with movies à la Couchpotato
name: radarr
version: 8.3.1
version: 8.4.0
keywords:
- radarr
- torrent
@@ -18,4 +18,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 0.1.0.351
description: A fork of Radarr to work with Books & AudioBooks
name: readarr
version: 1.1.1
version: 1.2.0
keywords:
- readarr
- torrent
@@ -20,4 +20,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 0.13.0
description: Recipes is a Django application to manage, tag and search recipes using either built in models or external storage providers hosting PDF's, Images or other files.
name: recipes
version: 2.2.2
version: 2.3.0
keywords:
- recipes
- cooking
@@ -16,4 +16,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 2.7.2
description: Resilio Sync is a fast, reliable, and simple file sync and share solution, powered by P2P technology
name: resilio-sync
version: 1.1.1
version: 1.2.0
keywords:
- resilio
- sync
@@ -18,4 +18,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 3.1.0
description: Free and easy binary newsreader
name: sabnzbd
version: 4.2.1
version: 4.3.0
keywords:
- sabnzbd
- usenet
@@ -17,4 +17,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: latest
description: A simple in-cluster Samba server
name: samba
version: 1.0.1
version: 1.1.0
keywords:
- samba
home: https://github.com/k8s-at-home/charts/tree/master/charts/samba
@@ -15,4 +15,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 0.18.0
description: Searx is a privacy-respecting, hackable metasearch engine
name: searx
version: 1.1.1
version: 1.2.0
keywords:
- searx
- search engine
@@ -19,4 +19,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 3.0.4.993
description: Smart PVR for newsgroup and bittorrent users
name: sonarr
version: 8.2.1
version: 8.3.0
keywords:
- sonarr
- torrent
@@ -18,4 +18,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: v2.6.1
description: A Python based monitoring and tracking tool for Plex Media Server
name: tautulli
version: 6.2.1
version: 6.3.0
keywords:
- tautulli
- plex
@@ -17,4 +17,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: v1.9
description: Teedy is an open source, lightweight document management system for individuals and businesses.
name: teedy
version: 1.0.1
version: 1.1.0
keywords:
- teedy
- documents
@@ -18,7 +18,7 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0
- name: postgresql
version: 10.2.5
repository: https://charts.bitnami.com/bitnami

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: v4.11
description: Traccar is an open source GPS tracking system.
name: traccar
version: 2.3.1
version: 2.4.0
keywords:
- traccar
- gps
@@ -16,7 +16,7 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0
- name: mariadb
version: 9.2.0
repository: https://charts.bitnami.com/bitnami

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: latest
description: TVheadend - a TV streaming server and digital video recorder
name: tvheadend
version: 1.1.2
version: 1.2.0
keywords:
- tv
- streaming
@@ -15,4 +15,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

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.2.1
version: 5.3.0
keywords:
- unifi
- unifi-poller
@@ -17,7 +17,7 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0
- name: influxdb
version: 1.1.6
repository: https://charts.bitnami.com/bitnami

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 5.14.23
description: Ubiquiti Network's Unifi Controller
name: unifi
version: 1.3.1
version: 1.4.0
keywords:
- ubiquiti
- unifi

View File

@@ -34,6 +34,10 @@ spec:
- path: {{ $ingressPath }}
backend:
serviceName: {{ $fullName }}-captiveportalservice
{{- if .Values.captivePortalService.https }}
servicePort: captive-https
{{- else }}
servicePort: captive-http
{{- end }}
{{- end }}
{{- end }}

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 0.7.2
description: This application runs as a daemon on your download host. It checks for completed downloads and extracts them so Radarr, Lidarr, Sonarr, and Readarr may import them.
name: unpackerr
version: 1.0.0
version: 1.1.0
keywords:
- unpackerr
- sonarr
@@ -20,4 +20,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 3.3.3
description: XBackBone is a simple, self-hosted, lightweight PHP file manager that support the instant sharing tool ShareX and *NIX systems. It supports uploading and displaying images, GIF, video, code, formatted text, and file downloading and uploading. Also have a web UI with multi user management, past uploads history and search support.
name: xbackbone
version: 1.0.0
version: 1.1.0
keywords:
- xbackbone
- xshare
@@ -17,4 +17,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 2.1.2.0120
description: M3U Proxy for Plex DVR and Emby Live TV.
name: xteve
version: 4.2.1
version: 4.3.0
keywords:
- xteve
- iptv
@@ -19,4 +19,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 1.17.0
description: Bridges events and allows you to control your Zigbee devices via MQTT
name: zigbee2mqtt
version: 5.0.0
version: 5.1.0
keywords:
- zigbee
- mqtt
@@ -19,4 +19,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 4.0.6
description: Fully configurable Zwave to MQTT gateway and Control Panel using NodeJS and Vue
name: zwave2mqtt
version: 6.3.0
version: 6.4.0
keywords:
- zwave
- mqtt
@@ -17,4 +17,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 1.0.0-alpha.2
description: Fully configurable Zwave to MQTT Gateway and Control Panel
name: zwavejs2mqtt
version: 1.1.0
version: 1.2.0
keywords:
- zwave
- mqtt
@@ -18,4 +18,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 1.0.0
description: ${CHARTNAME} helm package
name: ${CHARTNAME}
version: 1.0.0
version: 1.1.0
keywords:
- ${CHARTNAME}
home: https://github.com/k8s-at-home/charts/tree/master/charts/${CHARTNAME}
@@ -16,4 +16,4 @@ maintainers:
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1
version: 2.4.0

View File

@@ -38,6 +38,67 @@ class Test < ChartTest
end
end
describe 'Environment settings' do
it 'Check no environment variables' do
values = {}
chart.value values
assert_nil(resource('Deployment')['spec']['template']['spec']['containers'][0]['env'])
end
it 'set "static" environment variables' do
values = {
env: {
STATIC_ENV: 'value_of_env'
}
}
chart.value values
jq('.spec.template.spec.containers[0].env[0].name', resource('Deployment')).must_equal values[:env].keys[0].to_s
jq('.spec.template.spec.containers[0].env[0].value', resource('Deployment')).must_equal values[:env].values[0].to_s
end
it 'set "valueFrom" environment variables' do
values = {
envValueFrom: {
NODE_NAME: {
fieldRef: {
fieldPath: "spec.nodeName"
}
}
}
}
chart.value values
jq('.spec.template.spec.containers[0].env[0].name', resource('Deployment')).must_equal values[:envValueFrom].keys[0].to_s
jq('.spec.template.spec.containers[0].env[0].valueFrom | keys[0]', resource('Deployment')).must_equal values[:envValueFrom].values[0].keys[0].to_s
end
it 'set "static" and "Dynamic/Tpl" environment variables' do
values = {
env: {
STATIC_ENV: 'value_of_env'
},
envTpl: {
DYN_ENV: "{{ .Release.Name }}-admin"
}
}
chart.value values
jq('.spec.template.spec.containers[0].env[0].name', resource('Deployment')).must_equal values[:env].keys[0].to_s
jq('.spec.template.spec.containers[0].env[0].value', resource('Deployment')).must_equal values[:env].values[0].to_s
jq('.spec.template.spec.containers[0].env[1].name', resource('Deployment')).must_equal values[:envTpl].keys[0].to_s
jq('.spec.template.spec.containers[0].env[1].value', resource('Deployment')).must_equal 'common-test-admin'
end
it 'set "Dynamic/Tpl" environment variables' do
values = {
envTpl: {
DYN_ENV: "{{ .Release.Name }}-admin"
}
}
chart.value values
jq('.spec.template.spec.containers[0].env[0].name', resource('Deployment')).must_equal values[:envTpl].keys[0].to_s
jq('.spec.template.spec.containers[0].env[0].value', resource('Deployment')).must_equal 'common-test-admin'
end
end
describe 'ports settings' do
default_name = 'http'
default_port = 8080
@@ -97,5 +158,33 @@ class Test < ChartTest
assert_match("Our charts do not support named ports for targetPort. (port name #{default_name}, targetPort #{values[:service][:port][:targetPort]})", exception.message)
end
end
describe 'statefulset volumeClaimTemplates' do
it 'volumeClaimTemplates should be empty by default' do
chart.value controllerType: 'statefulset'
assert_nil(resource('StatefulSet')['spec']['volumeClaimTemplates'])
end
it 'can set values for volumeClaimTemplates' do
values = {
controllerType: 'statefulset',
volumeClaimTemplates: [
{
name: 'storage',
accessMode: 'ReadWriteOnce',
size: '10Gi',
storageClass: 'storage'
}
]
}
chart.value values
jq('.spec.volumeClaimTemplates[0].metadata.name', resource('StatefulSet')).must_equal values[:volumeClaimTemplates][0][:name]
jq('.spec.volumeClaimTemplates[0].spec.accessModes[0]', resource('StatefulSet')).must_equal values[:volumeClaimTemplates][0][:accessMode]
jq('.spec.volumeClaimTemplates[0].spec.resources.requests.storage', resource('StatefulSet')).must_equal values[:volumeClaimTemplates][0][:size]
jq('.spec.volumeClaimTemplates[0].spec.storageClassName', resource('StatefulSet')).must_equal values[:volumeClaimTemplates][0][:storageClass]
end
end
end
end