Compare commits

..

27 Commits

Author SHA1 Message Date
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
edf66a746e [common] v3.0.0 (#576)
* [common] Modify default probe settings

* Small CHANGELOG update

* Add kubeVersion to metadata
2021-02-13 15:53:29 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
84120a2a65 [meta] Update issue_template 2021-02-12 12:04:23 +01:00
Patrick Collins
c0cbc83eaf fix typo (#574) 2021-02-12 00:56:35 -05:00
Patrick Collins
ebfef9e0f8 shouldn't bump template version (#572)
CONTRIBUTING.md says charts should start at 1.0.0; so presumably the template should too.
2021-02-12 00:55:39 -05:00
Patrick Collins
b17621cf73 install go-replace before using it (#571)
needs this or at least deps:go-replace.
2021-02-12 00:55:08 -05:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
896f9dd5b7 [common] Update changelog, fix values typo (#569) 2021-02-11 19:36:59 +01:00
Mikael Sennerholm
11ef99d20a [common] Add ingress unittest and tpl functionality (#568)
* Add support for tpl in ingress handling
2021-02-11 18:59:30 +01:00
Ingvarr Zhmakin
1c7d6d403e [smarter-device-manager] New chart (#532) 2021-02-11 10:22:30 +01:00
ᗪєνιη ᗷυнʟ
a32e94cfca [couchpotato] delete couchpotato (#567) 2021-02-09 16:57:47 -05:00
ᗪєνιη ᗷυнʟ
91729b6b53 [couchpotato] deprecate chart (#566) 2021-02-09 16:55:18 -05:00
Jeff Billimek
8b932311c1 fix typo in UNIFI_STDOUT placement (#562) 2021-02-09 22:02:04 +01:00
ᗪєνιη ᗷυнʟ
a6edab35b7 [meta] updates to repo (#554) 2021-02-08 13:45:14 +01:00
Jeff Billimek
8c5ade2b2b [unifi] enhance unifi to log to stdout (#547)
* enhance unifi to log to stdout

Signed-off-by: Jeff Billimek <jeff@billimek.com>

* bump version after rebase from master
2021-02-06 11:49:42 -05:00
David Luong
a9218cd798 Allow service port to define captive portal port in deployment like gui and controller service (#557) 2021-02-06 08:33:09 -05:00
David Luong
f43d3ab7e7 Fixed unifi chart breaking from range restriction value on captive ingress (#555) 2021-02-05 20:01:32 -05:00
renovate[bot]
607fb8a01d Update external patch dep Helm releases (#526)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-05 15:21:00 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
15eb4e4e2b [statping] Bump postgresql dependency (#552)
* [statping] Bump postgresql dependency
2021-02-05 15:10:40 +01:00
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
118 changed files with 1014 additions and 1038 deletions

View File

@@ -21,6 +21,10 @@ assignees: ''
<!-- Note: This should be a clear and concise description of what the bug is. -->
**Relevant Helm values:**
<!-- Note: Please include a snippet of the relevant values in (or a Pastebin/similar link to) your values.yaml. -->
**What did you expect to happen:**
**Anything else you would like to add:**

8
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: Ask a question
url: https://github.com/k8s-at-home/charts/discussions
about: Please ask and answer questions here.
- name: Discuss on Discord
url: https://discord.com/invite/sTMX7Vh
about: Join our Discord community

View File

@@ -1,14 +0,0 @@
---
name: Question
about: Ask a question to the maintainer
title: ''
labels: question
assignees: ''
---
# Details
**Ask your question:**
<!-- Note: A clear and concise query of what you want to ask. -->

19
.github/PAUL.yaml vendored Normal file
View File

@@ -0,0 +1,19 @@
maintainers:
- billimek
- bjw-s
- carpenike
- onedr0p
labels: true
empty_description_check:
enabled: true
enforced: false
branch_destroyer:
enabled: true
protected_branches:
- master
- gh-pages
pull_requests:
automated_merge: false
cats_enabled: true
dogs_enabled: true
allow_approval: true

View File

@@ -1,5 +1,13 @@
# See https://pre-commit.com for more information
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.4.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: fix-byte-order-marker
- id: mixed-line-ending
- repo: local
hooks:
- id: ct-lint

View File

@@ -48,6 +48,7 @@ sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b .bin
# Create chart
PATH=$PATH:$PWD/.bin
task deps:install
task chart:create CHART=chart_name
# Don't forgot edit some chart informations in charts/char_name/Chart.yaml and charts/char_name/values.yaml

View File

@@ -23,15 +23,15 @@ You can then run `helm search repo k8s-at-home` to see the charts.
See [Artifact Hub](https://artifacthub.io/packages/search?org=k8s-at-home) or [charts](./charts/) for a complete list.
## Common Library
## Common library
The majority of the charts in this repository are using a common library we built. The reason we went with this pattern is a lot of applications are pretty similar in their requirements for Helm charts. Using a library makes maintaining much easier and keeps charts consistent in features. If contributing a new chart first try to make it using the library we built.
More information can be found [here](https://github.com/k8s-at-home/charts/tree/master/charts/common).
More information can be found in our [wiki](https://github.com/k8s-at-home/charts/wiki) and in the common chart directory [here](https://github.com/k8s-at-home/charts/tree/master/charts/common).
## Support
- Having problems with a chart or have a feature request? Open a new [issue](https://github.com/k8s-at-home/charts/issues/new/choose).
- Having problems with a chart? Open a new [issue](https://github.com/k8s-at-home/charts/issues/new/choose) or discuss in our [Discord](https://discord.gg/sTMX7Vh) in the `#support` channel.
- New idea? Discuss [here](https://github.com/k8s-at-home/charts/discussions) or in our [Discord](https://discord.gg/sTMX7Vh) in the `#charts` channel.
## Contributing

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,56 @@ 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).
## [3.0.0]
### Changed
- `probes.startupProbe` is now enabled by default. This will allow for quicker `Ready` states on Pods. It will precede the liveness and readiness Probes. *Note:* This requires that you are running [Kubernetes 1.16](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/)
- Aligned our default values for liveness and readiness Probes with the Kubernetes defaults:
- `initialDelaySeconds` is now `0`
- `timeoutSeconds` is now `1`
- `failureThreshold` is now `3`
## [2.5.1]
### Added
- Fixed a small typo in `values.yaml`: `ingress.tls.hostTpl` -> `ingress.tls.hostsTpl`
## [2.5.0]
### Added
- Allow setting ingress values through Helm templates:
- `ingress.hosts.hostTpl`
- `ingress.tls.secretNameTpl`
- `ingress.tls.hostsTpl`
## [2.4.0]
### Added
- Allow setting environment variables from Downward API via `envValueFrom`. See [the Kubernetes docs](https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/) for more information.
## [2.3.0]
### Added
- Allow overriding the main container command.
- Allow setting Helm templates as environment variables via `envTpl`. The given value is parsed through Helm's `tpl` function, allowing for powerful variable substitution.
- Support for defining volumeClaimTemplates for StatefulSet.
- Allow the following Pod spec fields to be configurable:
- `priorityClassName`
- `schedulerName`
- `hostname`
### Fixed
- `values.yaml` now contains the following sections, these were already functional but were previously undocumented:
- `podSecurityContext`
- `securityContext`
- `resources`
## [2.2.1]
### Fixed
@@ -59,6 +109,16 @@ 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:
[3.0.0]: https://github.com/k8s-at-home/charts/tree/common-3.0.0/charts/common
[2.5.1]: https://github.com/k8s-at-home/charts/tree/common-2.5.1/charts/common
[2.5.0]: https://github.com/k8s-at-home/charts/tree/common-2.5.0/charts/common
[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,8 @@ apiVersion: v2
name: common
description: Function library for k8s-at-home charts
type: library
version: 2.2.1
version: 3.0.0
kubeVersion: ">=1.16.0"
keywords:
- k8s-at-home
- common

View File

@@ -6,7 +6,7 @@ Default NOTES.txt content.
1. Get the application URL by running these commands:
{{- if .Values.ingress.enabled }}
{{- range .Values.ingress.hosts }}
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ .host }}{{ (first .paths).path }}
http{{ if $.Values.ingress.tls }}s{{ end }}://{{- if .hostTpl }}{{ tpl .hostTpl $ }}{{ else }}{{ .host }}{{ end }}{{ (first .paths).path }}
{{- end }}
{{- else if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.names.fullname" . }})

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

@@ -38,12 +38,23 @@ spec:
{{- range .hosts }}
- {{ . | quote }}
{{- end }}
{{- range .hostsTpl }}
- {{ tpl . $ | quote }}
{{- end }}
{{- if .secretNameTpl }}
secretName: {{ tpl .secretNameTpl $ | quote}}
{{- else }}
secretName: {{ .secretName }}
{{- end }}
{{- end }}
{{- end }}
rules:
{{- range $values.hosts }}
{{- if .hostTpl }}
- host: {{ tpl .hostTpl $ | quote }}
{{- else }}
- host: {{ .host | quote }}
{{- end }}
http:
paths:
{{- range .paths }}

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: []
@@ -69,10 +98,10 @@ probes:
## The spec field contains the values for the default livenessProbe.
## If you selected custom: true, this field holds the definition of the livenessProbe.
spec:
initialDelaySeconds: 30
failureThreshold: 5
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
readiness:
enabled: true
@@ -81,22 +110,23 @@ probes:
## The spec field contains the values for the default readinessProbe.
## If you selected custom: true, this field holds the definition of the readinessProbe.
spec:
initialDelaySeconds: 30
failureThreshold: 5
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
startup:
enabled: false
enabled: true
## Set this to true if you wish to specify your own startupProbe
custom: false
## The spec field contains the values for the default startupProbe.
## If you selected custom: true, this field holds the definition of the startupProbe.
spec:
initialDelaySeconds: 5
initialDelaySeconds: 0
timeoutSeconds: 1
## This means it has a maximum of 5*30=150 seconds to start up before it fails
periodSeconds: 5
failureThreshold: 30
periodSeconds: 10
timeoutSeconds: 10
service:
enabled: true
@@ -149,14 +179,21 @@ ingress:
labels: {}
hosts:
- host: chart-example.local
## Or a tpl that is evaluated
# hostTpl: '{{ include "common.names.fullname" . }}.{{ .Release.Namespace }}.{{ .Values.ingress.domainname }}'
paths:
- path: /
# Ignored if not kubeVersion >= 1.14-0
pathType: Prefix
tls: []
# - secretName: chart-example-tls
## Or if you need a dynamic secretname
# - secretNameTpl: '{{ include "common.names.fullname" . }}-ingress'
# hosts:
# - chart-example.local
## Or a tpl that is evaluated
# hostsTpl:
# - '{{ include "common.names.fullname" . }}.{{ .Release.Namespace }}.{{ .Values.ingress.domainname }}'
additionalIngresses: []
# - enabled: false
# nameSuffix: "api"
@@ -207,6 +244,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 +271,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

@@ -1,21 +0,0 @@
apiVersion: v2
appVersion: latest
description: CouchPotato (CP) is an automatic NZB and torrent downloader.
name: couchpotato
version: 4.3.1
keywords:
- couchpotato
- usenet
- bittorrent
home: https://github.com/k8s-at-home/charts/tree/master/charts/couchpotato
icon: https://github.com/CouchPotato/CouchPotatoServer/raw/master/couchpotato/static/images/icons/android.png
sources:
- https://hub.docker.com/r/linuxserver/couchpotato/
- https://github.com/CouchPotato/CouchPotatoServer/
maintainers:
- name: billimek
email: jeff@billimek.com
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1

View File

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

View File

@@ -1,78 +0,0 @@
# Couchpotato
This is a helm chart for [couchpotato](https://github.com/CouchPotato/CouchPotatoServer).
**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/couchpotato
```
## Installing the Chart
To install the chart with the release name `my-release`:
```console
helm install --name my-release k8s-at-home/couchpotato
```
## 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/couchpotato/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 couchpotato \
--set env.TZ="America/New_York" \
k8s-at-home/couchpotato
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
chart. For example,
```console
helm install couchpotato k8s-at-home/couchpotato --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.
### 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:
* `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 +0,0 @@
{{- include "common.notes.defaultNotes" . -}}

View File

@@ -1,40 +0,0 @@
# Default values for Couchpotato.
image:
repository: linuxserver/couchpotato
pullPolicy: Always
tag: latest
strategy:
type: Recreate
service:
port:
port: 5050
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

@@ -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 +0,0 @@
{{ include "common.all" . }}

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.1
keywords:
- dsmr-reader
- energy
@@ -17,8 +17,8 @@ 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
version: 10.2.7
repository: https://charts.bitnami.com/bitnami
condition: postgresql.enabled

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.1
keywords:
- home-assistant
- hass
@@ -19,16 +19,16 @@ 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
version: 10.2.7
repository: https://charts.bitnami.com/bitnami
condition: postgresql.enabled
- name: mariadb
version: 9.2.0
version: 9.2.5
repository: https://charts.bitnami.com/bitnami
condition: mariadb.enabled
- name: influxdb
version: 1.1.6
version: 1.1.9
repository: https://charts.bitnami.com/bitnami
condition: influxdb.enabled

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.1
keywords:
- crm
home: https://www.monicahq.com/
@@ -16,8 +16,8 @@ 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
version: 9.2.5
repository: https://charts.bitnami.com/bitnami
condition: mariadb.enabled

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: 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: 3.0.2
version: 3.0.3
home: https://www.powerdns.com/
sources:
- http://www.github.com/PowerDNS/
@@ -12,10 +12,10 @@ maintainers:
email: ryan@ryanholt.net
dependencies:
- name: postgresql
version: 10.2.0
version: 10.2.7
repository: https://charts.bitnami.com/bitnami
condition: postgresql.enabled
- name: mariadb
version: 9.2.0
version: 9.2.5
repository: https://charts.bitnami.com/bitnami
condition: mariadb.enabled

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

@@ -19,6 +19,6 @@
.project
.idea/
*.tmproj
.vscode
.vscode/
# OWNERS file for Kubernetes
OWNERS

View File

@@ -0,0 +1,22 @@
apiVersion: v2
name: smarter-device-manager
version: 1.0.0
appVersion: 1.1.2
description: Manage hardware resource allocation without a need for privileged containers
keywords:
- kubernetes
- cluster
- hardware
home: https://gitlab.com/arm-research/smarter/smarter-device-manager/
sources:
- https://gitlab.com/arm-research/smarter/smarter-device-manager/
- https://github.com/k8s-at-home/charts
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.4.0
maintainers:
- name: bjw-s
email: me@bjw-s.dev
- name: lazyoldbear
email: 19270832+lazyoldbear@users.noreply.github.com

View File

@@ -0,0 +1,111 @@
# smarter device manager
This is a helm chart for [smarter-device-manager](https://gitlab.com/arm-research/smarter/smarter-device-manager/)
([see also](https://community.arm.com/developer/research/b/articles/posts/a-smarter-device-manager-for-kubernetes-on-the-edge)).
This tool discovers host hardware resources and manages their provisioning for the pods, decoupling host paths from them, and ensuring that pods don't compete for the same piece of hardware.
Typical use cases are Zigbee/Zwave USB dongles for other charts available in this repository (Zigbee2MQTT, ZwaveJS2MQTT).
**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/smarter-device-manager
```
## Installing the Chart
To install the chart with the release name `my-release`:
```console
helm install --name my-release k8s-at-home/smarter-device-manager
```
Please consider overriding the default configuration through `values.yaml` file.
For example:
```yaml
config:
- devicematch: ^snd$
nummaxdevices: 20
- devicematch: ^rtc0$
nummaxdevices: 20
- devicematch: ^video[0-9]*$
nummaxdevices: 20
- devicematch: ^ttyACM[0-9]*$
nummaxdevices: 1
```
The above configuration allows up to twenty pods to make use of `/dev/snd`, `/dev/rtc0` and each of `/dev/video[0-9]*` devices.
Only one pod at a time can use any of the discovered host `/dev/ttyACM[0-9]*` devices. This means that if a pod has reserved a dongle at `/dev/ttyACM0`, another pod requesting the same device will stay pending.
Once the devices are discovered, they will be added as allocatable resources to the nodes:
```
$ kubectl describe nodes
...
Capacity:
cpu: 4
memory: 16104560Ki
pods: 110
smarter-devices/gpiochip0: 0
smarter-devices/i2c-0: 0
smarter-devices/snd: 20
smarter-devices/ttyUSB-Z-Stick-Gen5: 1
```
## Usage
### Important limitation
Please note that only the root of the host `/dev` directory is considered for discovery. _Therefore, `by-id` paths will not work and some `udev` rules may be necessary._
### Resource allocation
The hardware is requested by pods through `resources`, e.g.:
```yaml
resources:
limits:
smarter-devices/ttyUSB-Conbee-2: 1
requests:
smarter-devices/ttyUSB-Conbee-2: 1
```
In this case host device `/dev/ttyUSB-Conbee-2` will be given at the same path, and the pod will only be created when this device is available.
## 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.
Read through the charts [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/smarter-device-manager/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 image.pullPolicy="Always" \
k8s-at-home/smarter-device-manager
```
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 k8s-at-home/smarter-device-manager --values values.yaml
```
```yaml
image:
tag: ...
```
---
## 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,77 @@
{{/* Make sure all variables are set properly */}}
{{- include "common.values.setup" . }}
{{/* Host paths */}}
{{- define "sdm.dev.volume" -}}
name: host-dev
hostPath:
path: {{ .Values.devPath | default "/dev" }}
{{- end -}}
{{- define "sdm.sys.volume" -}}
name: host-sys
hostPath:
path: {{ .Values.sysPath | default "/sys" }}
{{- end -}}
{{- define "sdm.device-plugins.volume" -}}
name: host-device-plugins
hostPath:
path: {{ .Values.devicePluginPath | default "/var/lib/kubelet/device-plugins" }}
{{- end -}}
{{- define "sdm.dev.volumeMount" -}}
name: host-dev
mountPath: /dev
{{- end -}}
{{- define "sdm.sys.volumeMount" -}}
name: host-sys
mountPath: /sys
{{- end -}}
{{- define "sdm.device-plugins.volumeMount" -}}
name: host-device-plugins
mountPath: /var/lib/kubelet/device-plugins
{{- end -}}
{{/* Append host paths and the configMap to the additionalVolumes and additionalVolumeMounts */}}
{{- define "sdm.configmap.volume" -}}
name: configuration
configMap:
name: {{ template "common.names.fullname" . }}
{{- end -}}
{{- $additionalVolumes := .Values.additionalVolumes -}}
{{- $volume := include "sdm.dev.volume" . | fromYaml -}}
{{- $additionalVolumes := append $additionalVolumes $volume -}}
{{- $volume := include "sdm.sys.volume" . | fromYaml -}}
{{- $additionalVolumes := append $additionalVolumes $volume -}}
{{- $volume := include "sdm.device-plugins.volume" . | fromYaml -}}
{{- $additionalVolumes := append $additionalVolumes $volume -}}
{{- $volume := include "sdm.configmap.volume" . | fromYaml -}}
{{- $additionalVolumes := append $additionalVolumes $volume -}}
{{- $_ := set .Values "additionalVolumes" (deepCopy $additionalVolumes) -}}
{{- define "sdm.configmap.volumeMount" -}}
name: configuration
mountPath: /root/config/conf.yaml
subPath: conf.yaml
{{- end -}}
{{- $additionalVolumeMounts := .Values.additionalVolumeMounts -}}
{{- $volumeMount := include "sdm.dev.volumeMount" . | fromYaml -}}
{{- $additionalVolumeMounts := append $additionalVolumeMounts $volumeMount -}}
{{- $volumeMount := include "sdm.sys.volumeMount" . | fromYaml -}}
{{- $additionalVolumeMounts := append $additionalVolumeMounts $volumeMount -}}
{{- $volumeMount := include "sdm.device-plugins.volumeMount" . | fromYaml -}}
{{- $additionalVolumeMounts := append $additionalVolumeMounts $volumeMount -}}
{{- $volumeMount := include "sdm.configmap.volumeMount" . | fromYaml -}}
{{- $additionalVolumeMounts := append $additionalVolumeMounts $volumeMount -}}
{{- $_ := set .Values "additionalVolumeMounts" (deepCopy $additionalVolumeMounts) -}}
{{/* DaemonSet controller, disabling defaults */}}
{{- $_ := set .Values "controllerType" "daemonset" }}
{{- $_ := set .Values.probes.liveness "enabled" false }}
{{- $_ := set .Values.probes.readiness "enabled" false }}
{{- $_ := set .Values.probes.startup "enabled" false }}
{{- $_ := set .Values.service "enabled" false }}
{{/* Render the templates */}}
{{ include "common.all" . }}

View File

@@ -0,0 +1,38 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "common.names.fullname" . }}
labels:
{{- include "common.labels" . | nindent 4 }}
data:
conf.yaml: |
{{- if not .Values.config }}
- devicematch: ^snd$
nummaxdevices: 20
#- devicematch: ^gpiomem$
# nummaxdevices: 40
#- devicematch: ^gpiochip[0-9]*$
# nummaxdevices: 20
#- devicematch: ^hci[0-9]*$
# nummaxdevices: 1
#- devicematch: ^i2c-[0-9]*$
# nummaxdevices: 1
#- devicematch: ^rtc0$
# nummaxdevices: 20
#- devicematch: ^video[0-9]*$
# nummaxdevices: 20
#- devicematch: ^vchiq$
# nummaxdevices: 20
#- devicematch: ^vcsm.*$
# nummaxdevices: 20
- devicematch: ^ttyUSB.*$
nummaxdevices: 1
#- devicematch: ^ttyACM[0-9]*$
# nummaxdevices: 1
#- devicematch: ^ttyTHS[0-9]*$
# nummaxdevices: 1
#- devicematch: ^ttyS[0-9]*$
# nummaxdevices: 1
{{- else }}
{{- toYaml .Values.config | nindent 4 }}
{{- end }}

View File

@@ -0,0 +1,32 @@
image:
repository: registry.gitlab.com/arm-research/smarter/smarter-device-manager
tag: v1.1.2
pullPolicy: IfNotPresent
# Override default configuration
# config:
# - devicematch: ^snd$
# nummaxdevices: 20
# - devicematch: ^ttyUSB.*$
# nummaxdevices: 1
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet
devicePluginPath: "/var/lib/kubelet/device-plugins"
# devPath: "/special-dev/"
# sysPath: "/special-sys/"
# Setting priority class is not necessary, but is recommended.
# Ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
priorityClassName: system-node-critical
securityContext:
capabilities:
drop:
- ALL
allowPrivilegeEscalation: false
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000

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
name: statping
description: Status page for monitoring your websites and applications
type: application
version: 1.5.0
version: 1.5.1
appVersion: v0.90.65
keywords:
- statping
@@ -18,5 +18,5 @@ icon: https://github.com/statping/statping/blob/dev/frontend/src/assets/logo.png
dependencies:
- name: postgresql
repository: https://charts.bitnami.com/bitnami
version: 10.1.4
version: 10.2.6
condition: postgres.posgresql.enabled

View File

@@ -32,6 +32,5 @@ helm install statping \
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
chart. For example,
```console
helm install statping k8s-at-home/statping --values values.yaml
helm install statping k8s-at-home/statping --values values.yaml
```

View File

@@ -102,7 +102,7 @@ spec:
- name: DB_CONN
value: postgres
- name: DB_HOST
value: {{ template "postgresql.fullname" . }}-postgresql
value: {{ template "common.names.fullname" . }}-postgresql
- name: DB_DATABASE
value: {{ template "postgresql.database" . }}
- name: DB_USER

View File

@@ -108,6 +108,10 @@ postgres:
enabled: true
# See https://github.com/bitnami/charts/tree/master/bitnami/postgresql for configuration
# This is required for postgresql to render its fullname template
replication:
enabled: false
externalSecret:
enabled: false
type: kubernetes-external-secrets

Some files were not shown because too many files have changed in this diff Show More