Compare commits

...

124 Commits

Author SHA1 Message Date
ᗪєνιη ᗷυнʟ
5714a48d9b fix: update releases (#736) 2021-03-29 19:56:40 -04:00
renovate[bot]
7c477c4a0e chore(deps): update helm chart common to v2.1.0 (#735)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-29 18:05:18 -04:00
Chris Golden
8def5650cd [Bitwardenrs] A feature add on for ldapsync and vpn (#734)
* Bitwardenrs-ldap: Implement ldapsync and vpn extra container

* Add blank new line

Signed-off-by: Christopher Golden <christopher.golden@bike24.net>
2021-03-29 11:34:48 -04:00
Fabio Brito d'Araujo e Oliveira
c98cae2e31 [esphome] Update image version to 1.16.2 (#733)
Signed-off-by: Fabio Brito d'Araujo e Oliveira <psychopenguin@gmail.com>
2021-03-29 06:28:38 -04:00
Allen Porter
02bb8528b6 [home-assistant] Add a hint for a bearer token for Home Assistant ServiceMonitor (#732)
* Add a hint for a bearer token for Home Assistant ServiceMonitor

* Bump home-assistant chart version
2021-03-28 17:38:23 -04:00
ᗪєνιη ᗷυнʟ
6c91d1ab33 [rtorrent-flood] add initcontainer example (#731)
* add initcontainer and pin latest

* update docs

* fix: rtorrent

* fix: rtorrent

* docs: update

* fix: update umask

Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2021-03-27 16:24:25 -04:00
Devin Buhl
f3fabbc093 chore: delete digitalocean-dyndns and ddclient charts [ci-skip] 2021-03-27 13:38:52 -04:00
ᗪєνιη ᗷυнʟ
6822478f7c [rtorrent-flood] fix rtorrentrc configmap (#730)
* update rtorrent config

* fix rtorrent config
2021-03-27 09:06:49 -04:00
Jeff Billimek
ee59e9ada2 set realistic resource defaults for valheim (#728)
Signed-off-by: Jeff Billimek <jeff@billimek.com>
2021-03-26 13:46:22 -04:00
Jeff Billimek
00d17bb5cc bump teslamate default image to 1.22.0 (#727)
Signed-off-by: Jeff Billimek <jeff@billimek.com>
2021-03-26 13:44:27 -04:00
ᗪєνιη ᗷυнʟ
2c9806a2fd [digitalocean-dyndns/ddclient] deprecate charts (#725) 2021-03-26 14:41:45 +01:00
Fabio Brito d'Araujo e Oliveira
dde260bef5 [home-assistant] upgrade image tag to 2021.3.4 (#724)
Signed-off-by: Fabio Brito d'Araujo e Oliveira <psychopenguin@gmail.com>
2021-03-26 05:31:24 -04:00
ᗪєνιη ᗷυнʟ
91aef6139f [ser2sock] migrate to common library (#719)
* migrate ser2sock to common
2021-03-26 08:12:08 +01:00
ᗪєνιη ᗷυнʟ
01983ee081 docs: fix contributors 2021-03-25 20:39:56 -04:00
allcontributors[bot]
09c6416bff docs: add onedr0p as a contributor (#723)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2021-03-25 20:37:09 -04:00
allcontributors[bot]
6683b9b293 docs: add Diaoul as a contributor (#722)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2021-03-25 20:35:54 -04:00
ᗪєνιη ᗷυнʟ
91c8466022 [prometheus-nut-exporter] migrate to common (#721)
* prometheus-nut-exporter common

* remove useless with
2021-03-25 20:22:00 -04:00
ᗪєνιη ᗷυнʟ
d8f9e8ce85 [rtorrent-flood] migrate to AIO image and common chart (#717)
* fix: rtorrent-flood

* fix: rtorrent-flood

* fix: newline

* fix: use latest
2021-03-25 18:25:39 -04:00
Zakaria ANBARI
8ec4a9ab93 [adguard-home] fix volumes subpath (#714) 2021-03-25 11:52:01 +01:00
ᗪєνιη ᗷυнʟ
12df5053ab [blocky] migrate to common (#701)
* migrate to common

* comment out additional services and podAnnotations

* requested changes

* requested changes

* Update Chart.yaml

Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2021-03-24 12:50:11 -04:00
Matt Gerega
3a78db20ad [unifi] Updated AppVersion to 6.0.45 (#705)
* Updated AppVersion to 6.0.45
Modified the Ingress definitions to use the latest Ingress spec (networking.k8s.io/v1) for clusters 1.18+ and the beta spec (networking.k8s.io/v1beta1) 1.14+.  Otherwise, continue using extensions/v1beta1

* Moved Labels and Selector Labels to _helpers (in following latest helm guidelines) and fixed ingress templates

* Modified logic in the ingress templates to reduce some of the nesting

Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>
2021-03-24 08:38:32 +01:00
renovate[bot]
1eaf501196 chore(deps): update helm chart common to v2.0.1 (#712)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-23 17:20:26 -04:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
1a64e26400 [heimdall] Bump common library 2021-03-23 15:26:07 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
461b727e3f [kanboard] Bump common library 2021-03-23 15:23:39 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
8f35b43d38 [homer] Bump common library 2021-03-23 15:18:56 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
134eaddf9a [grocy] Update common library 2021-03-23 15:09:08 +01:00
renovate[bot]
2b32f7ee83 [chart] Update Helm chart common to v2 (#711)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Devin Buhl <devin.kray@gmail.com>
2021-03-23 14:49:06 +01:00
ᗪєνιη ᗷυнʟ
dfceb6b41d fix: ungroup major 2021-03-23 08:17:41 -04:00
ᗪєνιη ᗷυнʟ
f5aa0cb525 fix prowlarr release (#704) 2021-03-22 11:10:25 -04:00
ᗪєνιη ᗷυнʟ
367853d6a6 fix: disable helm-docs workflow 2021-03-22 11:08:37 -04:00
ᗪєνιη ᗷυнʟ
5a17a2c1ec add prowlarr chart (#703) 2021-03-22 14:56:04 +01:00
github-actions[bot]
a69bef244c chore(docs): update helm-docs [ci-skip] (#700)
Signed-off-by: onedr0p <onedr0p@users.noreply.github.com>

Co-authored-by: onedr0p <onedr0p@users.noreply.github.com>
2021-03-22 12:00:21 +01:00
Devin Buhl
841b72482e fix: delete deprecated charts [ci-skip] 2021-03-21 14:18:30 -04:00
ᗪєνιη ᗷυнʟ
8d34db1ead [plex] migrate to common library (#698)
* [plex] migrate to common library

* remove maintainers on old chart

* fix: change additionalPorts to additionalServices
2021-03-21 14:16:46 -04:00
CuBiC
00ea6e06c3 [deconz] Migrate to common (reason: Fix labels that prevent upgrading) (#695)
* fix: missing probe timeout value

* fix!: remove version from immutable fields

* Revert "fix: missing probe timeout value"

This reverts commit c4ff58480a.

* fix: missing probe timeout value

* feat!: migrate to common chart with new version

* docs: regenerate

* docs: add migration steps

* style: fix linting
2021-03-21 14:09:59 -04:00
ᗪєνιη ᗷυнʟ
f49a054d38 [nfd] deprecate chart (#699) 2021-03-20 13:13:21 -04:00
Travis Lyons
bb2432755e Added miniflux chart (#690)
Signed-off-by: Travis Lyons <trly@users.noreply.github.com>

Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>
2021-03-20 11:05:30 -04:00
allcontributors[bot]
04da77a004 docs: add brujoand as a contributor (#697)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2021-03-20 10:11:56 -04:00
Anders Brujordet
1335a5687e [magic-mirror] Adding the magic-mirror chart (#696)
Signed-off-by: brujoand <anders@brujordet.no>
2021-03-20 08:26:10 -04:00
github-actions[bot]
5f5b815cca chore(docs): update helm-docs [ci-skip] (#694)
Signed-off-by: onedr0p <onedr0p@users.noreply.github.com>

Co-authored-by: onedr0p <onedr0p@users.noreply.github.com>
2021-03-19 08:30:40 +01:00
CuBiC
e8734bef7c [jellyfin] Move image to official (#693)
* feat!: migrate to new version on official image

* docs: example for rootless GPU transcoding

* feat!: migrate to new version on official image

* docs: example for rootless GPU transcoding

* docs: regenerate README.md

* docs: fix wording

Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>

Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>
2021-03-18 12:18:09 -04:00
Devin Buhl
53f9166783 fix: add flag for stable/incubator 2021-03-18 11:48:27 -04:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
6c6bc95452 [meta] Update docs badge 2021-03-18 15:29:30 +01:00
ᗪєνιη ᗷυнʟ
f81faa9219 [lidarr/radarr/sonarr] add exportarr integration (#692) 2021-03-18 15:27:06 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
11d18f1fe5 [protonmail-bridge] Add chart home 2021-03-18 14:19:15 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
14c1ea96e3 [oauth2-proxy] Fix versions 2021-03-18 13:48:27 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
9b04daa026 [meta] Fix chart home 2021-03-18 13:38:22 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
54074cc4a4 [calibre] Fix metadata 2021-03-18 13:27:12 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
8eb2c6f8bd [CI] Update 2021-03-18 13:18:14 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
8b2a8b906c [CI] Set charts folder 2021-03-18 13:15:55 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
5119815aea [meta] Split incubator / stable charts (#688) 2021-03-18 13:11:24 +01:00
auricom
060d27f9e7 Bump to re-trigger repo upload (#689) 2021-03-17 13:44:08 -04:00
Aaron Johnson
76ca8d4fa3 corrected common library relative urls (#687)
Co-authored-by: Aaron Johnson <aaron.johnson@crowdstrike.com>
2021-03-16 12:58:59 -04:00
allcontributors[bot]
959bdc6d6a docs: add acjohnson as a contributor (#686)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2021-03-16 12:52:03 -04:00
Devin Buhl
5a0a792cc7 chore(docs): fix urls for common 2021-03-16 12:48:18 -04:00
github-actions[bot]
a5bdcad97b chore(docs): update helm-docs [ci-skip] (#648)
Signed-off-by: onedr0p <onedr0p@users.noreply.github.com>

Co-authored-by: onedr0p <onedr0p@users.noreply.github.com>
2021-03-16 12:41:17 -04:00
Aaron Johnson
de46063893 fix(meta): corrected common library urls [ci-skip] (#685)
* corrected common library urls

* corrected common library urls in templates

Co-authored-by: Aaron Johnson <aaron.johnson@crowdstrike.com>
2021-03-16 12:38:42 -04:00
ᗪєνιη ᗷυнʟ
70ea338e4e [plex-media-server] document transcoding in values (#684)
* feat: plex-media-server transcoding

* fix: dnla port name
2021-03-16 10:19:21 -04:00
auricom
abf2d3b857 [sharry] new chart (#683) 2021-03-16 07:29:07 -04:00
auricom
5b57026d00 [healthchecks] new chart (#681) 2021-03-16 07:27:40 -04:00
auricom
d6fadad88f [vikunja] new chart (#679)
* [vikunja] new chart

* fix .helmignore
2021-03-16 07:26:10 -04:00
auricom
ddc9693916 [joplin-server] new chart (#678)
* [joplin-server] new chart

* fix
2021-03-16 07:25:26 -04:00
auricom
6283f771be [tdarr] new chart (#676)
* naw chart tdarr

* fix
2021-03-16 07:24:43 -04:00
Travis Lyons
802ee07407 [kanboard] Add postgresql support (#680)
* [kanboard] Add postgresql support

Signed-off-by: Travis Lyons <trly@users.noreply.github.com>

* Fix volume add logic

Only add config volume to manifests if postgresql is enabled.

Signed-off-by: Travis Lyons <trly@users.noreply.github.com>
2021-03-15 20:37:55 -04:00
allcontributors[bot]
6a48d3fdb0 docs: add auricom as a contributor (#674)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2021-03-14 18:35:02 -04:00
allcontributors[bot]
4a02be7d10 docs: add angelnu as a contributor (#670)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>
2021-03-14 18:33:23 -04:00
allcontributors[bot]
837f1c396e docs: add trly as a contributor (#671)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>
2021-03-14 18:32:39 -04:00
allcontributors[bot]
1b751c7d3e docs: add bjw-s as a contributor (#672)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>
2021-03-14 18:31:32 -04:00
allcontributors[bot]
b191930b0c docs: add Ornias1993 as a contributor (#673)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>
2021-03-14 18:30:25 -04:00
allcontributors[bot]
7b746e514d docs: add rolfberkenbosch as a contributor (#669)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2021-03-14 18:27:45 -04:00
allcontributors[bot]
f6f548e7fb docs: add devfaz as a contributor (#668)
* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2021-03-14 18:24:50 -04:00
Fabian Zimmermann
ab6cbbb1b0 added auth and config_dir (#667) 2021-03-14 17:41:35 -04:00
Rolf Berkenbosch
194990c6c0 [calibre] new chart (#664)
* Add calibre chart

* Add readme file

* Fix version in Chart

Co-authored-by: root <root@mrkn03.lan.marrol.nl>
2021-03-14 17:40:27 -04:00
Vegetto
761d9996f6 use higher port for webhook (#663)
Co-authored-by: angelnu <git@angelnucom>
2021-03-14 09:26:09 -04:00
ᗪєνιη ᗷυнʟ
e238de9de2 [wikijs] fix version (#666)
* [wikijs] fix version

* fix: bump to v3
2021-03-14 09:25:25 -04:00
Rolf Berkenbosch
b648e8cddc Add wiki.js to chart (#661) 2021-03-13 14:46:03 -05:00
Travis Lyons
8993e6d60b Added kanboard chart (#662)
Signed-off-by: Travis Lyons <trly@users.noreply.github.com>
2021-03-13 14:45:09 -05:00
Vegetto
beaf1d697a [helm-docs] Addopt helm-docs for remaining charts (#660)
* homebridge -> helm-docs

* librespeed -> helmdocs

* node-feature-discovery -> helm-docs

* oauth2-proxy -> helm-docs

* sersock -> helmdocs

* speedtest -> helm-docs

* unifi -> helm-docs

* bump version

* uptimerobot -> helm-docs

* do not install test ser2sock

* Add influxdb dependency

* no default value for externalTrafficPolicy

Co-authored-by: angelnu <git@angelnucom>
2021-03-13 10:30:07 -05:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
41841cd579 [intel-gpu-plugin] Fix casing (#659)
* [intel-gpu-plugin] Fix casing

* Fix README
2021-03-12 19:58:51 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
47f775ff1d [intel-gpu-plugin] Allow GPU sharing (#658) 2021-03-12 17:34:43 +01:00
ᗪєνιη ᗷυнʟ
a4b9ef649d [meta] updates (#657) 2021-03-12 08:57:27 -05:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
4b23411778 [common] Transfer to separate repo (#656)
* [common] Transfer to separate repo

* Remove common unittests

* Use k3d instead of kind

* Bump all charts

* Skip uninstallable charts

* [alertmanager-bot] Disable probes

* Skip uninstallable charts
2021-03-12 07:59:14 -05:00
Patrick Collins
6b0324f3bf make ddclient run as a daemon by default (#622)
Signed-off-by: Patrick Collins <PatrickCP0@Gmail.com>

Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>
2021-03-11 20:02:58 -05:00
Travis Lyons
d4f05ae10d [homer] configmap support (#655)
* Add homer ConfigMap

Allows homer to be configured through values.yaml

Signed-off-by: Travis Lyons <travis.lyons@gmail.com>

* Updated README to reflect chart changes.

Signed-off-by: Travis Lyons <travis.lyons@gmail.com>

* Add configmap checksum to podAnnotations dict.

Signed-off-by: Travis Lyons <travis.lyons@gmail.com>

* Make usage of configmap togglable

Signed-off-by: Travis Lyons <travis.lyons@gmail.com>

* Only template configmap sections if enabled

Signed-off-by: Travis Lyons <travis.lyons@gmail.com>

Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>
2021-03-11 20:01:53 -05:00
Jack Maloney
8acb00bd4c [jackett] update jackett to version-v0.17.591 (#628)
* [jackett] update jackett to version-v0.17.591

Signed-off-by: Jack Maloney <jmmaloney4@gmail.com>

* Update charts/jackett/Chart.yaml

Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>

* Update charts/jackett/Chart.yaml

Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>
2021-03-11 20:00:36 -05:00
Vegetto
a4b0adde3b [dnsmadeeasy-webhook] New chart (#649)
* add cert-manager-dnsmadeeasy

* fix probes

* Fix for status probes

* Fix deprecation warnings

* update common

* increase path version

* use github repo

* Use helm-docs

* change repo name

* rename

* fix lint issue

* exclude dnsmadeeasy from install check

* Feedback

* splitting ct.yaml

* remove old changelog

Co-authored-by: angelnu <git@angelnucom>
Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>
2021-03-11 19:55:36 -05:00
Hans Kristian Flaatten
8f45bca459 [prometheus-nut-exporter] update chart description (#651) 2021-03-11 10:33:52 +01:00
Vegetto
a032abb1a6 [helm-docs] Add helm-docs CI (#645)
* CI for helm-docs

* add sudo to command

* no need for input partm

* use schedule as trigger

* Update .github/workflows/charts-helm-docs.yaml

Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>

* Update .github/workflows/charts-helm-docs.yaml

Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>

Co-authored-by: angelnu <git@angelnucom>
Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>
2021-03-08 11:00:15 -05:00
Vegetto
5e98e3c4c5 [helm-docs] Use helm docs for all charts [ci-skip] (#646)
* adguard-home to helm-docs

* bitwanders to helm-docs

* blocky to helm-docs

* comcast to helm-docs

* deconz to helm-docs

* bump versions

* remove trailing spaces

* statping

* digitalocean-dyndns

* duplicate - helm-docs

* icantbelieveitsnotvaletudo

* intel-gpu-plugin to helm-docs

* modem-stats to helm-docs

* mosquitto helm-docs update

* plex to helm-docs

* powerdns to helm-docs

* prometheus-nut-exporter to helm-docs

* rtorrent-flood to helm docs

* speedtest-prometheus to helm-docs

* teslamate to helm-docs

* traefik-forward-auth to helm-docs

* uptimerobot-prometheus

* common-test to helm-docs

* version bump

* fix traeffik version

* Update links to docs

Co-authored-by: angelnu <git@angelnucom>
2021-03-08 10:36:06 -05:00
Vegetto
c5a3fc36a0 [statping] Rebase statping on common chart (#642) 2021-03-07 21:42:18 +01:00
Rolf Berkenbosch
a7bb41b467 [duplicati] Add possibility to add additional volume mounts (#643) 2021-03-06 20:56:44 +01:00
Matthew Mattox
f93046f40f [uptimerobot] Swapping from configMapKeyRef to secretKeyRef (#641)
* Swapping from configMapKeyRef to secretKeyRef

* bumping the chart verison
2021-03-05 14:31:48 +01:00
Patrick Collins
97b2477fba [plex] fix typos (#637)
* [plex] fix typos

* [plex] bump version
2021-03-03 09:35:58 +01:00
renovate[bot]
99b4b09bac Update external minor dep (#635)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-03 09:35:14 +01:00
renovate[bot]
09b5b565b2 Update external minor dep Helm releases (#636)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-01 08:57:57 +01:00
renovate[bot]
2e29840788 Update Helm chart common to v3.1.0 (#633)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-01 08:20:39 +01:00
Nicholas Wilde
18966b01ab [common] 3.1.0 Addition of secret kind (#596)
Signed-off-by: Nicholas Wilde <ncwilde43@gmail.com>
2021-02-28 20:33:07 +01:00
Vegetto
ba978447bf [tt-rss] Add chart tt-rss (#631)
Co-authored-by: angelnu <git@angelnucom>
Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>
2021-02-28 10:47:15 -05:00
Piotr Maksymiuk
201652581c [mosquitto] port to common (#626) 2021-02-28 10:07:26 +01:00
Jack Maloney
ceeab47aa6 [radarr] update radarr to version-3.0.2.4552 (#629)
Signed-off-by: Jack Maloney <jmmaloney4@gmail.com>
2021-02-28 09:47:15 +01:00
ᗪєνιη ᗷυнʟ
48c20bd85e [workflows] create issue workflows [ci-skip] (#621) 2021-02-24 05:43:56 -05:00
Nicholas Wilde
0129518222 Added wiki section and link (#624)
Signed-off-by: Nicholas Wilde <ncwilde43@gmail.com>
2021-02-24 07:21:22 +01:00
Patrick Collins
5e47a7c1df remove source line matching chart home in template (#623)
Signed-off-by: Patrick Collins <PatrickCP0@Gmail.com>
2021-02-24 06:14:34 +01:00
Patrick Collins
c2065fba97 [wallabag] new chart (#575) 2021-02-24 06:11:05 +01:00
paul-the-alien[bot]
2336f09bf8 Merge pull request #619 from jmmaloney4/oauth2-proxy-7.0.0
[oauth2-proxy] Update oauth2-proxy to 7.0.0
2021-02-23 23:01:54 +00:00
Jack Maloney
bd76ee081d [oauth2-proxy] update appVersion and image tag
Signed-off-by: Jack Maloney <jmmaloney4@gmail.com>
2021-02-23 16:55:33 -06:00
Jack Maloney
519d381a25 [oauth2-proxy] update oauth2-proxy to v7.0.1
Signed-off-by: Jack Maloney <jmmaloney4@gmail.com>
2021-02-23 16:46:03 -06:00
ᗪєνιη ᗷυнʟ
c46d2dc089 [meta] revert non-common chart readmes [ci-skip] (#620) 2021-02-23 16:00:03 -05:00
Ryan Holt
4d7c76e021 [searx] add support for an existingSecret (#618)
* add support for an existingSecret

Signed-off-by: Ryan Holt <ryan@ryanholt.net>

* forgot the closing end

Signed-off-by: Ryan Holt <ryan@ryanholt.net>

* add a new line

Signed-off-by: Ryan Holt <ryan@ryanholt.net>
2021-02-23 20:11:15 +01:00
Julien DOCHE
56b6d69af7 [radarr][sonarr][lidarr][readarr] Add custom liveness probe for *arr (#603) 2021-02-22 17:10:51 -05:00
ᗪєνιη ᗷυнʟ
edf7b69ca6 [meta] remove OWNERS and implement CODEOWNERS [ci-skip] (#616)
* [meta] remove OWNERS and implement CODEOWNERS

* add ci-skip to workflows update ubuntu-20.04 [ci-skip]
2021-02-22 19:30:40 +01:00
Tom Magerlein
87863db2ca Create syslog, speedtest services when unified service not enabled (#593)
Signed-off-by: Tom Magerlein <dev@tom.magerlein.com>

Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <bernd@bjws.nl>
2021-02-22 19:05:10 +01:00
ᗪєνιη ᗷυнʟ
1676ddfb6b Create CODEOWNERS 2021-02-22 08:01:07 -05:00
ᗪєνιη ᗷυнʟ
aa0786fcc8 [helm-docs] update script and create task (#608) 2021-02-22 07:41:46 -05:00
dcplaya
207c6de178 [dizqueTV] Inital Commit (#610) 2021-02-22 07:40:46 -05:00
Patrick Collins
e6dfc81f58 [airsonic] new chart (#611) 2021-02-22 07:39:39 -05:00
Piotr Maksymiuk
3dfb279101 [icantbelieveitsnotvaletudo] update and port to common (#614)
* remove serviceaccount as it serves no purpose here

* update image

* the new version no longer serves on http, it is stricrly mqtt

* sync default config with upstream

* update Readme

* bump chart

* add changelog

* port to common

* upstrema has tagged a release!

* update appVersion

* update docs

* fix configmap mount

Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <bernd@bjws.nl>
2021-02-22 13:39:00 +01:00
Patrick Collins
4dca3dd1b5 [mylar] new chart (#612) 2021-02-22 07:37:41 -05:00
Patrick Collins
b3f339dd77 [youtubedl-material] new chart (#613) 2021-02-22 07:36:15 -05:00
Piotr Maksymiuk
22b8975741 [transmission] always use chart-defined config (#615)
* move from customconfig to transmissionConfig

* always use transmissionConfig

* update docs

* bump chart version

* this is an incompatible change

* update docs
2021-02-22 12:53:54 +01:00
rust84
628d8df6f4 [valheim] new chart (#605) 2021-02-21 18:48:57 -05:00
Piotr Maksymiuk
d9f263e2ee [transmission] add chart (#606) 2021-02-21 17:25:37 -05:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
9e4fd47bf8 [tests] Pin gem versions 2021-02-20 11:32:21 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
fd53494429 [tests] Pre-install Gemfile in devcontainer 2021-02-20 10:04:56 +00:00
1530 changed files with 32160 additions and 24193 deletions

114
.all-contributorsrc Normal file
View File

@@ -0,0 +1,114 @@
{
"files": [
"README.md"
],
"imageSize": 100,
"commit": false,
"contributors": [
{
"login": "devfaz",
"name": "Fabian Zimmermann",
"avatar_url": "https://avatars.githubusercontent.com/u/4060372?v=4",
"profile": "https://github.com/devfaz",
"contributions": [
"code"
]
},
{
"login": "angelnu",
"name": "Vegetto",
"avatar_url": "https://avatars.githubusercontent.com/u/4406403?v=4",
"profile": "https://github.com/angelnu",
"contributions": [
"code"
]
},
{
"login": "trly",
"name": "Travis Lyons",
"avatar_url": "https://avatars.githubusercontent.com/u/212733?v=4",
"profile": "https://github.com/trly",
"contributions": [
"code"
]
},
{
"login": "bjw-s",
"name": "Bᴇʀɴᴅ Sʜʀɢᴇʀs",
"avatar_url": "https://avatars.githubusercontent.com/u/6213398?v=4",
"profile": "https://github.com/bjw-s",
"contributions": [
"code"
]
},
{
"login": "Ornias1993",
"name": "Kjeld Schouten-Lebbing",
"avatar_url": "https://avatars.githubusercontent.com/u/7613738?v=4",
"profile": "http://schouten-lebbing.nl",
"contributions": [
"code"
]
},
{
"login": "rolfberkenbosch",
"name": "Rolf Berkenbosch",
"avatar_url": "https://avatars.githubusercontent.com/u/30292281?v=4",
"profile": "https://www.meetup.com/nl-NL/I-I-Inspiratie-Innovatie/",
"contributions": [
"code"
]
},
{
"login": "auricom",
"name": "auricom",
"avatar_url": "https://avatars.githubusercontent.com/u/27022259?v=4",
"profile": "https://github.com/auricom",
"contributions": [
"code"
]
},
{
"login": "acjohnson",
"name": "Aaron Johnson",
"avatar_url": "https://avatars.githubusercontent.com/u/1386238?v=4",
"profile": "http://aaronjohnson.io",
"contributions": [
"code"
]
},
{
"login": "brujoand",
"name": "Anders Brujordet",
"avatar_url": "https://avatars.githubusercontent.com/u/124421?v=4",
"profile": "https://github.com/brujoand",
"contributions": [
"code"
]
},
{
"login": "Diaoul",
"name": "Antoine Bertin",
"avatar_url": "https://avatars.githubusercontent.com/u/319220?v=4",
"profile": "https://github.com/Diaoul",
"contributions": [
"code"
]
},
{
"login": "onedr0p",
"name": "ᗪєνιη ᗷυнʟ",
"avatar_url": "https://avatars.githubusercontent.com/u/213795?v=4",
"profile": "https://github.com/onedr0p",
"contributions": [
"code"
]
}
],
"contributorsPerLine": 7,
"projectName": "charts",
"projectOwner": "k8s-at-home",
"repoType": "github",
"repoHost": "https://github.com",
"skipCi": true
}

View File

@@ -6,14 +6,21 @@ FROM mcr.microsoft.com/vscode/devcontainers/ruby:0-${VARIANT}
ENV DEBIAN_FRONTEND=noninteractive
COPY Gemfile /tmp/Gemfile
RUN \
apt-get update \
&& \
apt-get -y install --no-install-recommends \
jq \
libjq-dev \
libonig-dev \
gnupg2 \
&& \
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b /usr/local/bin \
&& \
curl -fsSL https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | /bin/bash -
curl -fsSL https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | /bin/bash - \
&& \
bundle config set system 'true' \
&& bundle install --gemfile /tmp/Gemfile \
&& rm /tmp/Gemfile

View File

@@ -3,6 +3,7 @@
{
"name": "Ruby",
"build": {
"context": "..",
"dockerfile": "Dockerfile",
"args": {
// Update 'VARIANT' to pick a Ruby version: 2, 2.7, 2.6, 2.5

2
.github/CODEOWNERS vendored Normal file
View File

@@ -0,0 +1,2 @@
# https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners
* @onedr0p @bjw-s @billimek @carpenike

View File

@@ -2,7 +2,7 @@
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
labels: kind:bug
assignees: ''
---

View File

@@ -1,8 +1,8 @@
blank_issues_enabled: true
blank_issues_enabled: false
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
- name: Ask a question
url: https://github.com/k8s-at-home/organization/discussions
about: Please ask and answer questions here.

View File

@@ -2,7 +2,7 @@
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
labels: kind:enhancement
assignees: ''
---

15
.github/ct-install.yaml vendored Normal file
View File

@@ -0,0 +1,15 @@
remote: origin
target-branch: master
helm-extra-args: --timeout 600s
chart-dirs:
- charts/incubator
- charts/stable
excluded-charts:
- charts/stable/alertmanager-bot
- charts/stable/dnsmadeeasy-webhook
- charts/stable/ser2sock
- charts/stable/zigbee2mqtt
chart-repos:
- bitnami=https://charts.bitnami.com/bitnami
- k8s-at-home-libraries=https://library-charts.k8s-at-home.com
- k8s-at-home=https://k8s-at-home.com/charts

View File

@@ -2,10 +2,10 @@ remote: origin
target-branch: master
helm-extra-args: --timeout 600s
chart-dirs:
- charts
- charts/incubator
- charts/stable
excluded-charts:
- common
- common-test
chart-repos:
- bitnami=https://charts.bitnami.com/bitnami
- k8s-at-home-libraries=https://library-charts.k8s-at-home.com
- k8s-at-home=https://k8s-at-home.com/charts

View File

@@ -29,7 +29,8 @@
"updateTypes": ["major"],
"bumpVersion": "major",
"labels": ["dependency/major"],
"packageNames": ["common"]
"packageNames": ["common"],
"groupName": ["internal major dep"]
},
{
"updateTypes": ["minor"],

View File

@@ -0,0 +1,52 @@
#
# Disabled until we fix the chart releaser
#
# name: "Charts: helm-docs"
# on:
# workflow_dispatch:
# schedule:
# - cron: "0 0 * * *"
# jobs:
# update-helm-docs:
# runs-on: ubuntu-20.04
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# with:
# fetch-depth: 0
# - name: Install Helm
# uses: azure/setup-helm@v1
# with:
# version: v3.5.3
# - uses: actions/setup-python@v2
# with:
# python-version: 3.7
# - name: Install helm-docs
# run: |
# wget -O /tmp/helm-docs.deb https://github.com/norwoodj/helm-docs/releases/download/v1.5.0/helm-docs_1.5.0_linux_amd64.deb
# sudo dpkg -i /tmp/helm-docs.deb
# - name: Update Helm docs
# run: |
# ./hack/gen-helm-docs.sh
# - name: Create pull request for helm-docs
# uses: peter-evans/create-pull-request@v3
# with:
# token: ${{ secrets.GITHUB_TOKEN }}
# branch: "helm-docs/ci"
# delete-branch: true
# title: "chore(docs): update helm-docs [ci-skip]"
# signoff: true
# committer: "${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>"
# author: "${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>"
# commit-message: "chore(docs): update helm-docs [ci-skip]"
# body: |
# Signed-off-by: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
# labels: helm-docs

View File

@@ -10,11 +10,91 @@ on:
- '!charts/**/README_CONFIG.md.gotmpl'
jobs:
lint:
runs-on: ubuntu-latest
changes-lint:
if: "!contains(github.event.head_commit.message, '[ci-skip]')"
name: Detect changes for linting
runs-on: ubuntu-20.04
outputs:
changed: ${{ steps.list-changed.outputs.changed }}
common: ${{ steps.list-changed.outputs.common }}
matrix: |
{
"chart": ${{ steps.list-changed.outputs.charts }}
}
detected: ${{ steps.list-changed.outputs.detected }}
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.0.1
- name: Install Dev tools
run: |
sudo wget https://github.com/mikefarah/yq/releases/download/v4.2.0/yq_linux_amd64 -O /usr/bin/yq
sudo chmod +x /usr/bin/yq
- name: Run chart-testing (list-changed)
id: list-changed
run: |
EXCLUDED=$(yq eval -j '.excluded-charts // []' .github/ct-lint.yaml)
CHARTS=$(ct list-changed --config .github/ct-lint.yaml)
CHARTS_JSON=$(echo "${CHARTS}" | jq -R -s -c 'split("\n")[:-1]')
OUTPUT_JSON=$(echo "{\"excluded\": ${EXCLUDED}, \"all\": ${CHARTS_JSON}}" | jq -c '.all-.excluded')
echo ::set-output name=charts::${OUTPUT_JSON}
if [[ $(echo ${OUTPUT_JSON} | jq -c '. | length') -gt 0 ]]; then
echo "::set-output name=detected::true"
fi
changes-install:
if: "!contains(github.event.head_commit.message, '[ci-skip]')"
name: Detect changes for install
runs-on: ubuntu-20.04
outputs:
matrix: |
{
"chart": ${{ steps.list-changed.outputs.charts }}
}
detected: ${{ steps.list-changed.outputs.detected }}
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.0.1
- name: Install Dev tools
run: |
sudo wget https://github.com/mikefarah/yq/releases/download/v4.2.0/yq_linux_amd64 -O /usr/bin/yq
sudo chmod +x /usr/bin/yq
- name: Run chart-testing (list-changed)
id: list-changed
run: |
EXCLUDED=$(yq eval -j '.excluded-charts // []' .github/ct-install.yaml)
CHARTS=$(ct list-changed --config .github/ct-install.yaml)
CHARTS_JSON=$(echo "${CHARTS}" | jq -R -s -c 'split("\n")[:-1]')
OUTPUT_JSON=$(echo "{\"excluded\": ${EXCLUDED}, \"all\": ${CHARTS_JSON}}" | jq -c '.all-.excluded')
echo ::set-output name=charts::${OUTPUT_JSON}
if [[ $(echo ${OUTPUT_JSON} | jq -c '. | length') -gt 0 ]]; then
echo "::set-output name=detected::true"
fi
lint:
needs:
- changes-lint
if: |
!contains(github.event.head_commit.message, '[ci-skip]')
&&
needs.changes-lint.outputs.detected == 'true'
name: Lint charts
strategy:
matrix: ${{ fromJson(needs.changes-lint.outputs.matrix) }}
fail-fast: true
max-parallel: 15
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v2
@@ -24,7 +104,48 @@ jobs:
- name: Install Helm
uses: azure/setup-helm@v1
with:
version: v3.4.0
version: v3.5.3
- name: Get version
id: version-get
run: |
shopt -s extglob
OUTPUT=$(helm inspect chart ${{ matrix.chart }} | grep "^version:")
VERSION=${OUTPUT#"version:"}
echo "::set-output name=version::${VERSION##*( )}"
shopt -u extglob
- name: Parse version
id: version-parse
uses: apexskier/github-semver-parse@v1
with:
version: ${{ steps.version-get.outputs.version }}
- name: Check version
id: version-check
run: |
if [[ ${{ matrix.chart }} =~ ^charts\/(.*)\/.* ]]; then
TYPE="${BASH_REMATCH[1]}"
case $TYPE in
stable)
if [[ ${{ steps.version-parse.outputs.major }} -lt 1 ]]; then
echo "Chart version for \"$TYPE\" charts must be >= 1.0.0"
exit 1
fi
;;
incubator)
if [[ ${{ steps.version-parse.outputs.major }} -gt 0 ]]; then
echo "Chart version for \"$TYPE\" charts must be < 1.0.0"
exit 1
fi
;;
*)
echo "Unhandled chart type: $TYPE"
exit 1
esac
fi
- uses: actions/setup-python@v2
with:
@@ -33,27 +154,34 @@ jobs:
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.0.1
- name: Run chart-testing (list-changed)
id: list-changed
run: |
changed=$(ct list-changed --config .github/ct.yaml)
if [[ -n "$changed" ]]; then
echo "::set-output name=changed::true"
fi
changed_unfiltered=$(ct list-changed --config .github/ct.yaml --excluded-charts "")
if [[ $(grep -E "^charts/common(-test)?$" <<< "$changed_unfiltered") ]]; then
echo "::set-output name=common::true"
fi
- name: Run chart-testing (lint)
id: lint
run: ct lint --config .github/ct.yaml --excluded-charts ""
if: steps.list-changed.outputs.changed == 'true' || steps.list-changed.outputs.common == 'true'
run: ct lint --config .github/ct-lint.yaml --charts ${{ matrix.chart }}
# Summarize matrix https://github.community/t/status-check-for-a-matrix-jobs/127354/7
lint_success:
needs:
- lint
if: ${{ always() }}
name: Lint successful
runs-on: ubuntu-20.04
steps:
- name: Check lint matrix status
if: |
!contains(github.event.head_commit.message, '[ci-skip]')
&&
needs.changes-lint.outputs.detected == 'true'
&&
needs.lint.result != 'success'
run: exit 1
unittest:
runs-on: ubuntu-latest
needs: lint
needs:
- lint_success
if: |
!contains(github.event.head_commit.message, '[ci-skip]')
name: Run unit tests
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v2
@@ -66,7 +194,7 @@ jobs:
- name: Install Helm
uses: azure/setup-helm@v1
with:
version: v3.4.0
version: v3.5.3
- name: Install Ruby
uses: ruby/setup-ruby@v1
@@ -74,17 +202,29 @@ jobs:
ruby-version: 2.7
- name: Install dependencies
env:
RUBYJQ_USE_SYSTEM_LIBRARIES: 1
run: |
export RUBYJQ_USE_SYSTEM_LIBRARIES=1
bundle install
- name: Run tests
run: |
bundle exec m -r test/charts
bundle exec m -r ./test/
install:
runs-on: ubuntu-latest
needs: lint
needs:
- changes-install
- lint_success
if: |
!contains(github.event.head_commit.message, '[ci-skip]')
&&
needs.changes-install.outputs.detected == 'true'
name: Install charts
strategy:
matrix: ${{ fromJson(needs.changes-install.outputs.matrix) }}
fail-fast: true
max-parallel: 15
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v2
@@ -94,7 +234,7 @@ jobs:
- name: Install Helm
uses: azure/setup-helm@v1
with:
version: v3.4.0
version: v3.5.3
- uses: actions/setup-python@v2
with:
@@ -103,15 +243,27 @@ jobs:
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.0.1
- name: Create kind cluster
uses: helm/kind-action@v1.1.0
if: needs.lint.outputs.changed == 'true' || needs.lint.outputs.common == 'true'
- name: Create k3d cluster
uses: nolar/setup-k3d-k3s@v1
with:
version: v1.19
- name: Run chart-testing (install)
run: ct install --config .github/ct.yaml --excluded-charts ""
if: needs.lint.outputs.changed == 'true'
run: ct install --config .github/ct-install.yaml --charts ${{ matrix.chart }}
- name: Run chart-testing (common-test)
run: |
ct install --config .github/ct.yaml --charts 'charts/common-test'
if: needs.lint.outputs.common == 'true'
# Summarize matrix https://github.community/t/status-check-for-a-matrix-jobs/127354/7
install_success:
needs:
- install
if: ${{ always() }}
name: Install successful
runs-on: ubuntu-20.04
steps:
- name: Check install matrix status
if: |
!contains(github.event.head_commit.message, '[ci-skip]')
&&
needs.changes-install.outputs.detected == 'true'
&&
needs.install.result != 'success'
run: exit 1

View File

@@ -1,6 +1,7 @@
name: "Charts: Release"
on:
workflow_dispatch:
push:
branches:
- master
@@ -13,7 +14,8 @@ on:
jobs:
pre-release:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[ci-skip]')"
runs-on: ubuntu-20.04
timeout-minutes: 5
steps:
- name: Block concurrent jobs
@@ -24,8 +26,9 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
release:
if: "!contains(github.event.head_commit.message, '[ci-skip]')"
needs: pre-release
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
steps:
- name: Block concurrent jobs
uses: softprops/turnstyle@v1
@@ -47,11 +50,12 @@ jobs:
- name: Install Helm
uses: azure/setup-helm@v1
with:
version: v3.4.0
version: v3.5.3
- name: Run chart-releaser
uses: helm/chart-releaser-action@v1.2.0
with:
charts_dir: charts/*
charts_repo_url: https://k8s-at-home.com/charts/
env:
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

21
.github/workflows/invalid-template.yaml vendored Normal file
View File

@@ -0,0 +1,21 @@
---
name: 'Invalid Template'
on:
issues:
types: [labeled, unlabeled, reopened]
jobs:
support:
runs-on: ubuntu-20.04
steps:
- uses: dessant/support-requests@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
support-label: 'kind:invalid-template'
issue-comment: >
:wave: @{issue-author}, please follow the template provided.
close-issue: true
lock-issue: true
issue-lock-reason: 'resolved'

27
.github/workflows/support.yaml vendored Normal file
View File

@@ -0,0 +1,27 @@
---
name: 'Support requests'
on:
issues:
types: [labeled, unlabeled, reopened]
jobs:
support:
runs-on: ubuntu-20.04
steps:
- uses: dessant/support-requests@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
support-label: 'kind:support'
issue-comment: >
:wave: @{issue-author}, we use the issue tracker exclusively
for bug reports and feature requests. However, this issue appears
to be a support request. Please use our support channels
to get help.
- [Docs](https://docs.k8s-at-home.com/)
- [Discord](https://discord.gg/sTMX7Vh)
- [GitHub Discussions](https://github.com/k8s-at-home/organization/discussions)
close-issue: true
lock-issue: false
issue-lock-reason: 'off-topic'

4
.gitignore vendored
View File

@@ -7,8 +7,8 @@
.devcontainer/
# Helm resources
charts/*/Chart.lock
charts/*/charts
charts/**/Chart.lock
charts/**/charts
# Other rsources
.env

View File

@@ -1,29 +1 @@
charts/adguard-home
charts/bitwardenrs
charts/blocky
charts/comcast
charts/deconz
charts/digitalocean-dyndns
charts/duplicati
charts/homebridge
charts/icantbelieveitsnotvaletudo
charts/intel-gpu-plugin
charts/librespeed
charts/modem-stats
charts/mosquitto
charts/node-feature-discovery
charts/oauth2-proxy
charts/plex
charts/powerdns
charts/prometheus-nut-exporter
charts/rtorrent-flood
charts/ser2sock
charts/speedtest-prometheus
charts/speedtest
charts/statping
charts/teslamate
charts/traefik-forward-auth
charts/unifi
charts/uptimerobot-prometheus
charts/uptimerobot
charts/common-test

View File

@@ -18,30 +18,40 @@ tasks:
silent: true
dependency:
dir: "{{.GIT_ROOT}}/charts/{{.CHART}}"
cmds:
- test -d {{.GIT_ROOT}}/charts/{{.CHART}}/Chart.lock && rm {{.GIT_ROOT}}/charts/{{.CHART}}/Chart.lock || exit 0
- test -d {{.GIT_ROOT}}/charts/{{.CHART}}/tmpcharts && rm -rf {{.GIT_ROOT}}/charts/{{.CHART}}/tmpcharts || exit 0
- cd {{.GIT_ROOT}}/charts/{{.CHART}} && helm dependency update
- test -d Chart.lock && rm Chart.lock || exit 0
- test -d tmpcharts && rm -rf tmpcharts || exit 0
- helm dependency update
silent: true
lint:
desc: lint your chart code
dir: "{{.GIT_ROOT}}/charts/{{.CHART}}"
cmds:
- cd {{.GIT_ROOT}}/charts/{{.CHART}} && helm lint
- helm lint
deps:
- dependency
- check-chart
ct-lint:
desc: Run `ct lint` on your chart code
desc: run `ct lint` on your chart code
cmds:
- docker run --rm -it --user $(id -u):$(id -g) -e "HELM_CONFIG_HOME=/tmp/helm" -e "HELM_CACHE_HOME=/tmp/helm" -v {{.GIT_ROOT}}:/ci -w /ci quay.io/helmpack/chart-testing:latest ct lint --charts charts/{{.CHART}} --config /ci/.github/ct.yaml
- docker run --rm -it --user $(id -u):$(id -g) -e "HELM_CONFIG_HOME=/tmp/helm" -e "HELM_CACHE_HOME=/tmp/helm" -v {{.GIT_ROOT}}:/ci -w /ci quay.io/helmpack/chart-testing:latest ct lint --charts charts/{{.CHART}} --config /ci/.github/ct-lint.yaml
deps:
- check-chart
- lint
helm-docs:
desc: generate helm-docs
dir: "{{.GIT_ROOT}}/hack"
cmds:
- ./gen-helm-docs.sh "{{.CHART}}"
deps:
- check-chart
# Checks Parameters
check-chart:
cmds:
- cmd: test ! -z "{{.CHART}}" || (echo "Please define CHART parameter"; exit 1)
- test ! -z "{{.CHART}}" || (echo "Please define CHART parameter"; exit 1)
silent: true

View File

@@ -39,24 +39,6 @@ See `git help commit`:
Once changes have been merged, the release job will automatically run to package and release changed charts.
### Create new chart
```
# Clone
git clone
cd charts
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
# Linting
task chart:lint CHART=chart_name
task chart:ct-lint CHART=chart_name
```
### Immutability
Chart releases must be immutable. Any change to a chart warrants a chart version bump even if it is only changed to the documentation.
@@ -70,6 +52,6 @@ Charts should start at `1.0.0`. Any breaking (backwards incompatible) changes to
1. Bump the MAJOR version
2. In the README, under a section called "Upgrading", describe the manual steps necessary to upgrade to the new (specified) MAJOR version
### pre-commit
### Pre-commit
This repo supports the [pre-commit](https://pre-commit.com) framework. By installing the framework (see [docs](https://pre-commit.com/#install)) it is possible to perform the chart linting step before committing your code. This can help prevent linter issues in the pipeline. Note that this requires having Docker running on your development environment.

View File

@@ -4,9 +4,9 @@ source 'https://rubygems.org'
group :test do
gem 'm'
gem 'minitest'
gem 'minitest', "5.14.4"
gem 'minitest-implicit-subject'
gem 'minitest-reporters'
gem 'pry'
gem 'minitest-reporters', "1.4.3"
gem 'pry', "0.14.0"
gem 'ruby-jq'
end

View File

@@ -1,10 +1,13 @@
# k8s@Home collection of helm charts
# Helm charts
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-11-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
[![Discord](https://img.shields.io/badge/discord-chat-7289DA.svg)](https://discord.com/invite/7PbmHRK)
[![](https://github.com/k8s-at-home/charts/workflows/Release%20Charts/badge.svg?branch=master)](https://github.com/k8s-at-home/charts/actions)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/k8s-at-home)](https://artifacthub.io/packages/search?repo=k8s-at-home)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![docs](https://img.shields.io/badge/docs-rtfm-yellow?logo=gitbook&logoColor=white&style=for-the-badge)](https://docs.k8s-at-home.com/)
[![Discord](https://img.shields.io/badge/discord-chat-7289DA.svg?maxAge=60&style=for-the-badge)](https://discord.gg/sTMX7Vh)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white&style=for-the-badge)](https://github.com/pre-commit/pre-commit)
[![renovate](https://img.shields.io/badge/renovate-enabled-brightgreen?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjUgNSAzNzAgMzcwIj48Y2lyY2xlIGN4PSIxODkiIGN5PSIxOTAiIHI9IjE4NCIgZmlsbD0iI2ZlMiIvPjxwYXRoIGZpbGw9IiM4YmIiIGQ9Ik0yNTEgMjU2bC0zOC0zOGExNyAxNyAwIDAxMC0yNGw1Ni01NmMyLTIgMi02IDAtN2wtMjAtMjFhNSA1IDAgMDAtNyAwbC0xMyAxMi05LTggMTMtMTNhMTcgMTcgMCAwMTI0IDBsMjEgMjFjNyA3IDcgMTcgMCAyNGwtNTYgNTdhNSA1IDAgMDAwIDdsMzggMzh6Ii8+PHBhdGggZmlsbD0iI2Q1MSIgZD0iTTMwMCAyODhsLTggOGMtNCA0LTExIDQtMTYgMGwtNDYtNDZjLTUtNS01LTEyIDAtMTZsOC04YzQtNCAxMS00IDE1IDBsNDcgNDdjNCA0IDQgMTEgMCAxNXoiLz48cGF0aCBmaWxsPSIjYjMwIiBkPSJNMjg1IDI1OGw3IDdjNCA0IDQgMTEgMCAxNWwtOCA4Yy00IDQtMTEgNC0xNiAwbC02LTdjNCA1IDExIDUgMTUgMGw4LTdjNC01IDQtMTIgMC0xNnoiLz48cGF0aCBmaWxsPSIjYTMwIiBkPSJNMjkxIDI2NGw4IDhjNCA0IDQgMTEgMCAxNmwtOCA3Yy00IDUtMTEgNS0xNSAwbC05LThjNSA1IDEyIDUgMTYgMGw4LThjNC00IDQtMTEgMC0xNXoiLz48cGF0aCBmaWxsPSIjZTYyIiBkPSJNMjYwIDIzM2wtNC00Yy02LTYtMTctNi0yMyAwLTcgNy03IDE3IDAgMjRsNCA0Yy00LTUtNC0xMSAwLTE2bDgtOGM0LTQgMTEtNCAxNSAweiIvPjxwYXRoIGZpbGw9IiNiNDAiIGQ9Ik0yODQgMzA0Yy00IDAtOC0xLTExLTRsLTQ3LTQ3Yy02LTYtNi0xNiAwLTIybDgtOGM2LTYgMTYtNiAyMiAwbDQ3IDQ2YzYgNyA2IDE3IDAgMjNsLTggOGMtMyAzLTcgNC0xMSA0em0tMzktNzZjLTEgMC0zIDAtNCAybC04IDdjLTIgMy0yIDcgMCA5bDQ3IDQ3YTYgNiAwIDAwOSAwbDctOGMzLTIgMy02IDAtOWwtNDYtNDZjLTItMi0zLTItNS0yeiIvPjxwYXRoIGZpbGw9IiMxY2MiIGQ9Ik0xNTIgMTEzbDE4LTE4IDE4IDE4LTE4IDE4em0xLTM1bDE4LTE4IDE4IDE4LTE4IDE4em0tOTAgODlsMTgtMTggMTggMTgtMTggMTh6bTM1LTM2bDE4LTE4IDE4IDE4LTE4IDE4eiIvPjxwYXRoIGZpbGw9IiMxZGQiIGQ9Ik0xMzQgMTMxbDE4LTE4IDE4IDE4LTE4IDE4em0tMzUgMzZsMTgtMTggMTggMTgtMTggMTh6Ii8+PHBhdGggZmlsbD0iIzJiYiIgZD0iTTExNiAxNDlsMTgtMTggMTggMTgtMTggMTh6bTU0LTU0bDE4LTE4IDE4IDE4LTE4IDE4em0tODkgOTBsMTgtMTggMTggMTgtMTggMTh6bTEzOS04NWwyMyAyM2M0IDQgNCAxMSAwIDE2TDE0MiAyNDBjLTQgNC0xMSA0LTE1IDBsLTI0LTI0Yy00LTQtNC0xMSAwLTE1bDEwMS0xMDFjNS01IDEyLTUgMTYgMHoiLz48cGF0aCBmaWxsPSIjM2VlIiBkPSJNMTM0IDk1bDE4LTE4IDE4IDE4LTE4IDE4em0tNTQgMThsMTgtMTcgMTggMTctMTggMTh6bTU1LTUzbDE4LTE4IDE4IDE4LTE4IDE4em05MyA0OGwtOC04Yy00LTUtMTEtNS0xNiAwTDEwMyAyMDFjLTQgNC00IDExIDAgMTVsOCA4Yy00LTQtNC0xMSAwLTE1bDEwMS0xMDFjNS00IDEyLTQgMTYgMHoiLz48cGF0aCBmaWxsPSIjOWVlIiBkPSJNMjcgMTMxbDE4LTE4IDE4IDE4LTE4IDE4em01NC01M2wxOC0xOCAxOCAxOC0xOCAxOHoiLz48cGF0aCBmaWxsPSIjMGFhIiBkPSJNMjMwIDExMGwxMyAxM2M0IDQgNCAxMSAwIDE2TDE0MiAyNDBjLTQgNC0xMSA0LTE1IDBsLTEzLTEzYzQgNCAxMSA0IDE1IDBsMTAxLTEwMWM1LTUgNS0xMSAwLTE2eiIvPjxwYXRoIGZpbGw9IiMxYWIiIGQ9Ik0xMzQgMjQ4Yy00IDAtOC0yLTExLTVsLTIzLTIzYTE2IDE2IDAgMDEwLTIzTDIwMSA5NmExNiAxNiAwIDAxMjIgMGwyNCAyNGM2IDYgNiAxNiAwIDIyTDE0NiAyNDNjLTMgMy03IDUtMTIgNXptNzgtMTQ3bC00IDItMTAxIDEwMWE2IDYgMCAwMDAgOWwyMyAyM2E2IDYgMCAwMDkgMGwxMDEtMTAxYTYgNiAwIDAwMC05bC0yNC0yMy00LTJ6Ii8+PC9zdmc+)](https://github.com/renovatebot/renovate)
[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/k8s-at-home&style=for-the-badge)](https://artifacthub.io/packages/search?repo=k8s-at-home)
## Usage
@@ -19,20 +22,13 @@ helm repo add k8s-at-home https://k8s-at-home.com/charts/
You can then run `helm search repo k8s-at-home` to see the charts.
## Charts
See [Artifact Hub](https://artifacthub.io/packages/search?org=k8s-at-home) or [charts](./charts/) for a complete list.
## 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 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? 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.
We have a few outlets for getting support with our projects:
- Visit our [Docs](https://docs.k8s-at-home.com/).
- Bugs or feature requests should be opened in an [issue](https://github.com/k8s-at-home/charts/issues/new/choose).
- Questions or comments should be discussed in our [Discord](https://discord.gg/sTMX7Vh) or via [Github discussions](https://github.com/k8s-at-home/organization/discussions).
## Contributing
@@ -41,3 +37,35 @@ See [CONTRIBUTING.md](./CONTRIBUTING.md)
## License
[Apache 2.0 License](./LICENSE)
## Contributors ✨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center"><a href="https://github.com/bjw-s"><img src="https://avatars.githubusercontent.com/u/6213398?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Bᴇʀɴᴅ Sʜʀɢᴇʀs</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=bjw-s" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/onedr0p"><img src="https://avatars.githubusercontent.com/u/213795?v=4?s=100" width="100px;" alt=""/><br /><sub><b>ᗪєνιη ᗷυнʟ</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=onedr0p" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/angelnu"><img src="https://avatars.githubusercontent.com/u/4406403?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Vegetto</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=angelnu" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/trly"><img src="https://avatars.githubusercontent.com/u/212733?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Travis Lyons</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=trly" title="Code">💻</a></td>
<td align="center"><a href="http://schouten-lebbing.nl"><img src="https://avatars.githubusercontent.com/u/7613738?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kjeld Schouten-Lebbing</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=Ornias1993" title="Code">💻</a></td>
<td align="center"><a href="https://www.meetup.com/nl-NL/I-I-Inspiratie-Innovatie/"><img src="https://avatars.githubusercontent.com/u/30292281?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Rolf Berkenbosch</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=rolfberkenbosch" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/auricom"><img src="https://avatars.githubusercontent.com/u/27022259?v=4?s=100" width="100px;" alt=""/><br /><sub><b>auricom</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=auricom" title="Code">💻</a></td>
</tr>
<tr>
<td align="center"><a href="http://aaronjohnson.io"><img src="https://avatars.githubusercontent.com/u/1386238?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Aaron Johnson</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=acjohnson" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/brujoand"><img src="https://avatars.githubusercontent.com/u/124421?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Anders Brujordet</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=brujoand" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/Diaoul"><img src="https://avatars.githubusercontent.com/u/319220?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Antoine Bertin</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=Diaoul" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/devfaz"><img src="https://avatars.githubusercontent.com/u/4060372?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Fabian Zimmermann</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=devfaz" title="Code">💻</a></td>
</tr>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,16 +0,0 @@
apiVersion: v2
appVersion: v0.12
description: DNS proxy as ad-blocker for local network
name: blocky
version: 5.0.0
keywords:
- blocky
- adblock
- dns
home: https://github.com/k8s-at-home/charts/tree/master/charts/blocky
icon: https://github.com/0xERR0R/blocky/raw/master/docs/blocky.svg?sanitize=true
sources:
- https://github.com/0xERR0R/blocky
maintainers:
- name: billimek
email: jeff@billimek.com

View File

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

View File

@@ -1,15 +0,0 @@
1. Get the application URL by running these commands:
{{- if contains "NodePort" .Values.serviceUDP.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "blocky.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.serviceUDP.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get svc -w {{ include "blocky.fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "blocky.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP:{{ .Values.serviceUDP.port }}
{{- else if contains "ClusterIP" .Values.serviceUDP.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "blocky.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl port-forward $POD_NAME 8080:80
{{- end }}

View File

@@ -1,41 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "blocky.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 "blocky.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 a default fully qualified postgresql name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
*/}}
{{- define "blocky.postgresql.fullname" -}}
{{- $name := default "postgresql" .Values.postgresql.nameOverride -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "blocky.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}

View File

@@ -1,13 +0,0 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "blocky.fullname" . }}
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: {{ include "blocky.name" . }}
helm.sh/chart: {{ include "blocky.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
data:
config.yml: |
{{ .Values.config | indent 4 }}

View File

@@ -1,120 +0,0 @@
{{- $blockyConfig := .Values.config | fromYaml }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "blocky.fullname" . }}
labels:
app.kubernetes.io/name: {{ include "blocky.name" . }}
helm.sh/chart: {{ include "blocky.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
replicas: {{ .Values.replicas }}
revisionHistoryLimit: 3
selector:
matchLabels:
app.kubernetes.io/name: {{ include "blocky.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
template:
metadata:
labels:
app.kubernetes.io/name: {{ include "blocky.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
annotations:
checksum/configmap: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
{{- with .Values.podAnnotations }}
{{ toYaml . | nindent 8 }}
{{- end }}
spec:
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
env:
{{- if .Values.timeZone }}
- name: TZ
value: {{ .Values.timeZone | quote }}
{{- end }}
volumeMounts:
- name: config
mountPath: /app/config.yml
subPath: config.yml
readOnly: true
{{- range $name, $value := .Values.extraLists }}
- name: config
mountPath: /app/{{ $name }}
subPath: {{ $name }}
readOnly: true
{{- end }}
{{- if hasKey $blockyConfig "queryLog" }}
- name: data
mountPath: {{ $blockyConfig.queryLog.dir }}
{{- if .Values.persistence.subPath }}
subPath: {{ .Values.persistence.subPath }}
{{- end }}
{{- end }}
ports:
- name: api
containerPort: 4000
- name: dns
containerPort: 53
protocol: TCP
- name: dns-udp
containerPort: 53
protocol: UDP
livenessProbe:
httpGet:
path: /
port: api
failureThreshold: {{ .Values.probes.liveness.failureThreshold }}
periodSeconds: {{ .Values.probes.liveness.periodSeconds }}
readinessProbe:
httpGet:
path: /
port: api
failureThreshold: {{ .Values.probes.readiness.failureThreshold }}
periodSeconds: {{ .Values.probes.readiness.periodSeconds }}
startupProbe:
httpGet:
path: /
port: api
initialDelaySeconds: {{ .Values.probes.startup.initialDelaySeconds }}
failureThreshold: {{ .Values.probes.startup.failureThreshold }}
periodSeconds: {{ .Values.probes.startup.periodSeconds }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
volumes:
- name: config
projected:
defaultMode: 0444
sources:
- configMap:
name: {{ template "blocky.fullname" . }}
items:
- key: config.yml
path: config.yml
{{- range $name, $value := .Values.extraLists }}
- key: {{ $name }}
path: {{ $name }}
{{- end }}
{{- if hasKey $blockyConfig "queryLog" }}
- name: data
{{- if .Values.persistence.enabled }}
persistentVolumeClaim:
claimName: {{ if .Values.persistence.existingClaim }}{{ .Values.persistence.existingClaim }}{{- else }}{{ template "blocky.fullname" . }}{{- end }}
{{- else }}
emptyDir: {}
{{- end }}
{{- end }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}

View File

@@ -1,33 +0,0 @@
{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }}
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ include "blocky.fullname" . }}
labels:
app.kubernetes.io/name: {{ include "blocky.name" . }}
helm.sh/chart: {{ include "blocky.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- with .Values.persistence.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with .Values.persistence.finalizers }}
finalizers:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
accessModes:
{{- toYaml .Values.persistence.accessModes | nindent 4 }}
{{- if .Values.persistence.storageClassName }}
storageClassName: {{ .Values.persistence.storageClassName }}
{{- end }}
resources:
requests:
storage: {{ .Values.persistence.size | quote }}
{{- with .Values.persistence.selectorLabels }}
selector:
matchLabels:
{{- toYaml . | nindent 6 }}
{{- end }}
{{- end -}}

View File

@@ -1,34 +0,0 @@
{{- if .Values.serviceTCP.enabled }}
apiVersion: v1
kind: Service
metadata:
name: {{ include "blocky.fullname" . }}-tcp
labels:
app.kubernetes.io/name: {{ include "blocky.name" . }}
helm.sh/chart: {{ include "blocky.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- if .Values.serviceTCP.annotations }}
annotations:
{{ toYaml .Values.serviceTCP.annotations | indent 4 }}
{{- end }}
spec:
type: {{ .Values.serviceTCP.type }}
{{- if .Values.serviceTCP.loadBalancerIP }}
loadBalancerIP: {{ .Values.serviceTCP.loadBalancerIP }}
{{- end }}
{{- if .Values.serviceTCP.externalIPs }}
externalIPs:
{{ toYaml .Values.serviceTCP.externalIPs | indent 4 }}
{{- end }}
externalTrafficPolicy: {{ .Values.serviceTCP.externalTrafficPolicy }}
ports:
- port: 53
targetPort: dns
protocol: TCP
name: dns
selector:
app.kubernetes.io/name: {{ include "blocky.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

View File

@@ -1,33 +0,0 @@
{{- if .Values.serviceUDP.enabled }}
apiVersion: v1
kind: Service
metadata:
name: {{ include "blocky.fullname" . }}-udp
labels:
app.kubernetes.io/name: {{ include "blocky.name" . }}
helm.sh/chart: {{ include "blocky.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- if .Values.serviceUDP.annotations }}
annotations:
{{ toYaml .Values.serviceUDP.annotations | indent 4 }}
{{- end }}
spec:
type: {{ .Values.serviceUDP.type }}
{{- if .Values.serviceUDP.loadBalancerIP }}
loadBalancerIP: {{ .Values.serviceUDP.loadBalancerIP }}
{{- end }}
{{- if .Values.serviceUDP.externalIPs }}
externalIPs:
{{ toYaml .Values.serviceUDP.externalIPs | indent 4 }}
{{- end }}
externalTrafficPolicy: {{ .Values.serviceUDP.externalTrafficPolicy }}
ports:
- port: 53
targetPort: dns-udp
protocol: UDP
name: dns-udp
selector:
app.kubernetes.io/name: {{ include "blocky.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

View File

@@ -1,45 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "blocky.fullname" . }}
labels:
app.kubernetes.io/name: {{ include "blocky.name" . }}
helm.sh/chart: {{ include "blocky.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- if .Values.service.annotations }}
annotations:
{{ toYaml .Values.service.annotations | indent 4 }}
{{- end }}
spec:
{{- if (or (eq .Values.service.type "ClusterIP") (empty .Values.service.type)) }}
type: ClusterIP
{{- if .Values.service.clusterIP }}
clusterIP: {{ .Values.service.clusterIP }}
{{end}}
{{- else if eq .Values.service.type "LoadBalancer" }}
type: {{ .Values.service.type }}
{{- if .Values.service.loadBalancerIP }}
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
{{- end }}
{{- if .Values.service.loadBalancerSourceRanges }}
loadBalancerSourceRanges:
{{ toYaml .Values.service.loadBalancerSourceRanges | indent 4 }}
{{- end -}}
{{- else }}
type: {{ .Values.service.type }}
{{- end }}
{{- if .Values.service.externalIPs }}
externalIPs:
{{ toYaml .Values.service.externalIPs | indent 4 }}
{{- end }}
{{- if .Values.service.externalTrafficPolicy }}
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy }}
{{- end }}
ports:
- name: api
port: 4000
targetPort: api
selector:
app.kubernetes.io/name: {{ include "blocky.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}

View File

@@ -1,23 +0,0 @@
{{- if .Values.serviceMonitor.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ include "blocky.fullname" . }}
labels:
app.kubernetes.io/name: {{ include "blocky.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
helm.sh/chart: {{ include "blocky.chart" . }}
{{- with .Values.serviceMonitor.additionalLabels }}
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
selector:
matchLabels:
app.kubernetes.io/name: {{ include "blocky.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
endpoints:
- port: api
interval: 30s
path: /metrics
{{- end }}

View File

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

View File

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

View File

@@ -1,145 +0,0 @@
{{- define "custom.repository.organization" -}}
k8s-at-home
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/k8s-at-home/charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://k8s-at-home.com/charts/
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install.tldr" -}}
## TL;DR
```console
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
helm repo update
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstalling the Chart
To uninstall the `{{ template "chart.name" . }}` deployment
```console
helm uninstall {{ template "chart.name" . }}
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
{{- end -}}
{{- define "custom.configuration.readValues" -}}
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common).
{{- end -}}
{{- define "custom.configuration.example.set" -}}
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install {{ template "chart.name" . }} \
--set env.TZ="America/New York" \
{{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.configuration.example.file" -}}
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
```
{{- end -}}
{{- define "custom.valuesSection" -}}
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/)
{{ template "chart.valuesTable" . }}
{{- end -}}
{{- define "custom.support" -}}
## Support
- See the [Wiki](https://github.com/k8s-at-home/charts/wiki)
- Open a [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/charts/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
{{- end -}}
{{ template "chart.header" . }}
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
{{ template "chart.sourcesSection" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install.tldr" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.configuration.header" . }}
{{ template "custom.configuration.readValues" . }}
{{ template "custom.configuration.example.set" . }}
{{ template "custom.configuration.example.file" . }}
{{ template "custom.custom.configuration" . }}
{{ template "custom.valuesSection" . }}
{{ template "custom.changelog" . }}
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}

View File

@@ -1,27 +0,0 @@
{{- define "custom.changelog.header" -}}
## Changelog
{{- end -}}
{{- define "custom.changelog" -}}
{{ template "custom.changelog.header" . }}
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog).
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [1.0.0]
#### Added
- N/A
#### Changed
- N/A
#### Removed
- N/A
[1.0.0]: #1.0.0
{{- end -}}

View File

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

View File

@@ -1,41 +0,0 @@
# comcast
![Version: 3.0.0](https://img.shields.io/badge/Version-3.0.0-informational?style=flat-square) ![AppVersion: 1.0.0](https://img.shields.io/badge/AppVersion-1.0.0-informational?style=flat-square)
periodic comcast data usage checks and save the results to InfluxDB
**Homepage:** <https://github.com/k8s-at-home/charts/tree/master/charts/comcast>
## Maintainers
| Name | Email | Url |
| ---- | ------ | --- |
| billimek | jeff@billimek.com | |
## Source Code
* <https://github.com/billimek/comcastUsage-for-influxdb>
* <https://github.com/k8s-at-home/charts>
## Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| config.comcast.password | string | `"somepassword"` | |
| config.comcast.username | string | `"someuser"` | |
| config.delay | int | `3600` | |
| config.influxdb.database | string | `"comcast"` | |
| config.influxdb.host | string | `"influxdb-influxdb"` | |
| config.influxdb.port | int | `8086` | |
| config.influxdb.ssl | bool | `false` | |
| debug | bool | `false` | |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"billimek/comcastusage-for-influxdb"` | |
| image.tag | string | `"latest"` | |
| nodeSelector | object | `{}` | |
| podAnnotations | object | `{}` | |
| replicaCount | int | `1` | |
| resources | object | `{}` | |
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)

View File

@@ -1,16 +0,0 @@
apiVersion: v2
name: common-test
description: Helper chart to test different use cases of the common library
version: 1.0.4
kubeVersion: ">=1.16.0-0"
keywords:
- k8s-at-home
- common
home: https://github.com/k8s-at-home/charts/tree/master/charts/common-test
maintainers:
- name: bjw-s
email: me@bjw-s.dev
dependencies:
- name: common
repository: file://../common
version: n/a

View File

@@ -1,34 +0,0 @@
# common-test
![Version: 1.0.4](https://img.shields.io/badge/Version-1.0.4-informational?style=flat-square)
Helper chart to test different use cases of the common library
**Homepage:** <https://github.com/k8s-at-home/charts/tree/master/charts/common-test>
## Maintainers
| Name | Email | Url |
| ---- | ------ | --- |
| bjw-s | me@bjw-s.dev | |
## Requirements
Kubernetes: `>=1.16.0-0`
| Repository | Name | Version |
|------------|------|---------|
| file://../common | common | n/a |
## Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"b4bz/homer"` | |
| image.tag | string | `"latest"` | |
| ingress.enabled | bool | `true` | |
| service.port.port | int | `8080` | |
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)

View File

@@ -1,19 +0,0 @@
image:
repository: b4bz/homer
tag: latest
pullPolicy: IfNotPresent
service:
port:
port: 8080
ingress:
enabled: true
probes:
liveness:
enabled: true
readiness:
enabled: true
startup:
enabled: true

View File

@@ -1,27 +0,0 @@
image:
repository: b4bz/homer
tag: latest
pullPolicy: IfNotPresent
service:
port:
port: 8080
ingress:
enabled: true
persistence:
config:
enabled: true
emptyDir: true
mountPath: /www/assets
addons:
codeserver:
enabled: true
workingDir: "/www/assets"
ingress:
enabled: true
volumeMounts:
- name: config
mountPath: /www/assets

View File

@@ -1,11 +0,0 @@
image:
repository: b4bz/homer
tag: latest
pullPolicy: IfNotPresent
service:
port:
port: 8080
ingress:
enabled: true

View File

@@ -1,13 +0,0 @@
apiVersion: v2
name: common
description: Function library for k8s-at-home charts
type: library
version: 3.0.1
kubeVersion: ">=1.16.0-0"
keywords:
- k8s-at-home
- common
home: https://github.com/k8s-at-home/charts/tree/master/charts/common
maintainers:
- name: bjw-s
email: me@bjw-s.dev

View File

@@ -1,424 +0,0 @@
# common
![Version: 3.0.1](https://img.shields.io/badge/Version-3.0.1-informational?style=flat-square) ![Type: library](https://img.shields.io/badge/Type-library-informational?style=flat-square)
Function library for k8s-at-home charts
**WARNING: THIS CHART IS NOT MEANT TO BE INSTALLED DIRECTLY**
This is a [Helm Library Chart](https://helm.sh/docs/topics/library_charts/#helm). It's purpose is for grouping common logic between the k8s@home charts.
Since a lot of charts follow the same pattern this library was built to reduce maintenance cost between the charts that use it and try achieve a goal of being DRY.
## Requirements
Kubernetes: `>=1.16.0-0`
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
## TL;DR
```console
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update
helm install common k8s-at-home/common
```
## Installing the Chart
To install the chart with the release name `common`
```console
helm install common k8s-at-home/common
```
## Uninstalling the Chart
To uninstall the `common` deployment
```console
helm uninstall common
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
## Configuration
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common).
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install common \
--set env.TZ="America/New York" \
k8s-at-home/common
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install common k8s-at-home/common -f values.yaml
```
## Creating a new chart
First be sure to checkout the many charts that already use this like [qBittorrent](../qbittorrent/), [node-red](../node-red/) or the many others in this repository.
Include this chart as a dependency in your `Chart.yaml` e.g.
```yaml
# Chart.yaml
dependencies:
- name: common
version: 3.0.1
repository: https://k8s-at-home.com/charts/
```
Write a `values.yaml` with some basic defaults you want to present to the user e.g.
```yaml
#
# IMPORTANT NOTE
#
# This chart inherits from our common library chart. You can check the default values/options here:
# https://github.com/k8s-at-home/charts/tree/master/charts/common/values.yaml
#
image:
repository: nodered/node-red
pullPolicy: IfNotPresent
tag: 1.2.5
strategy:
type: Recreate
# See more environment variables in the node-red documentation
# https://nodered.org/docs/getting-started/docker
env: {}
# TZ:
# NODE_OPTIONS:
# NODE_RED_ENABLE_PROJECTS:
# NODE_RED_ENABLE_SAFE_MODE:
# FLOWS:
service:
port:
port: 1880
ingress:
enabled: false
persistence:
data:
enabled: false
emptyDir: false
mountPath: /data
```
If not using a service, set the `service.enabled` to `false`.
```yaml
...
service:
enabled: false
...
```
Add files to the `templates` folder.
```yaml
# templates/common.yaml
{{ include "common.all . }}
# templates/NOTES.txt
{{ include "common.notes.defaultNotes" . }}
```
If testing locally make sure you update the dependencies with:
```bash
helm dependency update
```
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/)
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| additionalContainers | list | `[]` | |
| additionalVolumeMounts | list | `[]` | |
| additionalVolumes | list | `[]` | |
| addons.codeserver.args[0] | string | `"--auth"` | |
| addons.codeserver.args[1] | string | `"none"` | |
| addons.codeserver.enabled | bool | `false` | |
| addons.codeserver.env | object | `{}` | |
| addons.codeserver.image.pullPolicy | string | `"IfNotPresent"` | |
| addons.codeserver.image.repository | string | `"codercom/code-server"` | |
| addons.codeserver.image.tag | string | `"3.7.4"` | |
| addons.codeserver.ingress.annotations | object | `{}` | |
| addons.codeserver.ingress.enabled | bool | `false` | |
| addons.codeserver.ingress.hosts[0].host | string | `"code.chart-example.local"` | |
| addons.codeserver.ingress.hosts[0].paths[0].path | string | `"/"` | |
| addons.codeserver.ingress.hosts[0].paths[0].pathType | string | `"Prefix"` | |
| addons.codeserver.ingress.labels | object | `{}` | |
| addons.codeserver.ingress.nameSuffix | string | `"codeserver"` | |
| addons.codeserver.ingress.tls | list | `[]` | |
| addons.codeserver.securityContext.runAsUser | int | `0` | |
| addons.codeserver.service.annotations | object | `{}` | |
| addons.codeserver.service.enabled | bool | `true` | |
| addons.codeserver.service.labels | object | `{}` | |
| addons.codeserver.service.port.name | string | `"codeserver"` | |
| addons.codeserver.service.port.port | int | `12321` | |
| addons.codeserver.service.port.protocol | string | `"TCP"` | |
| addons.codeserver.service.port.targetPort | string | `"codeserver"` | |
| addons.codeserver.service.type | string | `"ClusterIP"` | |
| addons.codeserver.volumeMounts | list | `[]` | |
| addons.codeserver.workingDir | string | `""` | |
| addons.vpn.additionalVolumeMounts | list | `[]` | |
| addons.vpn.configFile | string | `nil` | |
| addons.vpn.enabled | bool | `false` | |
| addons.vpn.env | object | `{}` | |
| addons.vpn.livenessProbe | object | `{}` | |
| addons.vpn.networkPolicy.egress | string | `nil` | |
| addons.vpn.networkPolicy.enabled | bool | `false` | |
| addons.vpn.openvpn.auth | string | `nil` | |
| addons.vpn.openvpn.authSecret | string | `nil` | |
| addons.vpn.openvpn.image.pullPolicy | string | `"IfNotPresent"` | |
| addons.vpn.openvpn.image.repository | string | `"dperson/openvpn-client"` | |
| addons.vpn.openvpn.image.tag | string | `"latest"` | |
| addons.vpn.scripts.down | string | `nil` | |
| addons.vpn.scripts.up | string | `nil` | |
| addons.vpn.securityContext.capabilities.add[0] | string | `"NET_ADMIN"` | |
| addons.vpn.securityContext.capabilities.add[1] | string | `"SYS_MODULE"` | |
| addons.vpn.type | string | `"openvpn"` | |
| addons.vpn.wireguard.image.pullPolicy | string | `"IfNotPresent"` | |
| addons.vpn.wireguard.image.repository | string | `"k8sathome/wireguard"` | |
| addons.vpn.wireguard.image.tag | string | `"1.0.20200827"` | |
| affinity | object | `{}` | |
| args | list | `[]` | |
| command | list | `[]` | |
| controllerAnnotations | object | `{}` | |
| controllerLabels | object | `{}` | |
| controllerType | string | `"deployment"` | |
| dnsPolicy | string | `"ClusterFirst"` | |
| enableServiceLinks | bool | `true` | |
| env | object | `{}` | |
| envFrom | list | `[]` | |
| envTpl | object | `{}` | |
| envValueFrom | object | `{}` | |
| fullnameOverride | string | `""` | |
| hostAliases | list | `[]` | |
| hostNetwork | bool | `false` | |
| ingress.additionalIngresses | list | `[]` | |
| ingress.annotations | object | `{}` | |
| ingress.enabled | bool | `false` | |
| ingress.hosts[0].host | string | `"chart-example.local"` | |
| ingress.hosts[0].paths[0].path | string | `"/"` | |
| ingress.hosts[0].paths[0].pathType | string | `"Prefix"` | |
| ingress.labels | object | `{}` | |
| ingress.tls | list | `[]` | |
| initContainers | list | `[]` | |
| nameOverride | string | `""` | |
| nodeSelector | object | `{}` | |
| persistence.config.accessMode | string | `"ReadWriteOnce"` | |
| persistence.config.enabled | bool | `false` | |
| persistence.config.mountPath | string | `"/config"` | |
| persistence.config.size | string | `"1Gi"` | |
| persistence.config.skipuninstall | bool | `false` | |
| persistence.shared.emptyDir | bool | `true` | |
| persistence.shared.enabled | bool | `false` | |
| persistence.shared.mountPath | string | `"/shared"` | |
| podAnnotations | object | `{}` | |
| podSecurityContext | object | `{}` | |
| probes.liveness.custom | bool | `false` | |
| probes.liveness.enabled | bool | `true` | |
| probes.liveness.spec.failureThreshold | int | `3` | |
| probes.liveness.spec.initialDelaySeconds | int | `0` | |
| probes.liveness.spec.periodSeconds | int | `10` | |
| probes.liveness.spec.timeoutSeconds | int | `1` | |
| probes.readiness.custom | bool | `false` | |
| probes.readiness.enabled | bool | `true` | |
| probes.readiness.spec.failureThreshold | int | `3` | |
| probes.readiness.spec.initialDelaySeconds | int | `0` | |
| probes.readiness.spec.periodSeconds | int | `10` | |
| probes.readiness.spec.timeoutSeconds | int | `1` | |
| probes.startup.custom | bool | `false` | |
| probes.startup.enabled | bool | `true` | |
| probes.startup.spec.failureThreshold | int | `30` | |
| probes.startup.spec.initialDelaySeconds | int | `0` | |
| probes.startup.spec.periodSeconds | int | `5` | |
| probes.startup.spec.timeoutSeconds | int | `1` | |
| replicas | int | `1` | |
| resources | object | `{}` | |
| securityContext | object | `{}` | |
| service.additionalPorts | list | `[]` | |
| service.additionalServices | list | `[]` | |
| service.annotations | object | `{}` | |
| service.enabled | bool | `true` | |
| service.labels | object | `{}` | |
| service.port.name | string | `nil` | |
| service.port.port | string | `nil` | |
| service.port.protocol | string | `"TCP"` | |
| service.port.targetPort | string | `nil` | |
| service.type | string | `"ClusterIP"` | |
| serviceAccount.annotations | object | `{}` | |
| serviceAccount.create | bool | `false` | |
| serviceAccount.name | string | `""` | |
| strategy.type | string | `"RollingUpdate"` | |
| tolerations | list | `[]` | |
| volumeClaimTemplates | list | `[]` | |
## Changelog
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](../common/README.md).
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [3.0.1]
#### Fixed
- Fixed `kubeVersion` in `Chart.yaml` not working with people running k8s pre-releases
- Added `ingressClassName` to `values.yaml`
### [3.0.0]
#### Changed
- `probes.startupProbe` is now enabled by default. This will allow for quicker `Ready` states on Pods. It will precede the liveness and readiness Probes. *Note:* This requires that you are running [Kubernetes 1.16](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/)
- Aligned our default values for liveness and readiness Probes with the Kubernetes defaults:
- `initialDelaySeconds` is now `0`
- `timeoutSeconds` is now `1`
- `failureThreshold` is now `3`
### [2.5.1]
#### Added
- Fixed a small typo in `values.yaml`: `ingress.tls.hostTpl` -> `ingress.tls.hostsTpl`
### [2.5.0]
#### Added
- Allow setting ingress values through Helm templates:
- `ingress.hosts.hostTpl`
- `ingress.tls.secretNameTpl`
- `ingress.tls.hostsTpl`
### [2.4.0]
#### Added
- Allow setting environment variables from Downward API via `envValueFrom`. See [the Kubernetes docs](https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/) for more information.
### [2.3.0]
#### Added
- Allow overriding the main container command.
- Allow setting Helm templates as environment variables via `envTpl`. The given value is parsed through Helm's `tpl` function, allowing for powerful variable substitution.
- Support for defining volumeClaimTemplates for StatefulSet.
- Allow the following Pod spec fields to be configurable:
- `priorityClassName`
- `schedulerName`
- `hostname`
#### Fixed
- `values.yaml` now contains the following sections, these were already functional but were previously undocumented:
- `podSecurityContext`
- `securityContext`
- `resources`
### [2.2.1]
#### Fixed
- Made explicit that `service.port.targetPort` cannot be a named port.
### [2.2.0]
#### Added
- Allow serviceLinks to be enabled/disabled.
- Support for ingressClassName on apiVersion `networking.k8s.io/v1` by setting `ingress.ingressClassName`.
- Added some initial proper unit tests for the `common` chart.
#### Changed
- `service.port.targetPort` is now used in the container spec instead of `service.port.port` if specified. This allows for different service and container ports. (Implements [#465](https://github.com/k8s-at-home/charts/issues/465)).
#### Fixed
- Document setting environment variables for code-server add-on in `values.yaml` (Fixes [#436](https://github.com/k8s-at-home/charts/issues/436)).
- Set service targetPort to the service port name first if no `targetPort` value is given.
### [2.1.0]
#### Added
- Allow for additional arguments to be added to code-server runtime via `addons.codeserver.args`
### [2.0.4]
#### Fixed
- `periodSeconds` now works for all probe types.
### [2.0.0]
#### Changed
- :warning: Updated `probes` logic to support custom probes, it is now possible to set your own custom probes by setting the `probes.[liveness|readiness|startup].custom` value to `true` and configuring them. Default is `false`.
- :warning: `addon.vpn.imagePullPolicy` is now `addon.vpn.[openvpn|wireguard].image.pullPolicy`. Default is `IfNotPresent`
- [code-server](https://github.com/cdr/code-server) is now an `addon` like `vpn`. This enables a code-server container inside the pod which allows you to modify a configuration in a volume attached to the pod. Default for `addons.codeserver.enabled` is `false`
- Added `envFrom` for more configuration with environment variables
- Added `dnsConfig` to be configurable
- Added support for 1.19+ ingress spec
- Added this [CHANGELOG.md](CHANGELOG.md)
#### Fixed
- `nameOverride` and `fullNameOverride` not in `values.yaml`
### [1.7.0]
This is the last version before starting this changelog. All sorts of cool stuff was changed, but only `git log` remembers what that was :slightly_frowning_face:
[3.0.1]: #3.0.1
[3.0.0]: #3.0.0
[2.5.1]: #2.5.1
[2.5.0]: #2.5.0
[2.4.0]: #2.4.0
[2.3.0]: #2.3.0
[2.2.1]: #2.2.1
[2.2.0]: #2.2.0
[2.1.0]: #2.1.0
[2.0.4]: #2.0.4
[2.0.0]: #2.0.0
[1.7.0]: #1.7.0
## Support
- See the [Wiki](https://github.com/k8s-at-home/charts/wiki).
- Open a [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/charts/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)

View File

@@ -1,147 +0,0 @@
{{- define "custom.repository.organization" -}}
k8s-at-home
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/k8s-at-home/charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://k8s-at-home.com/charts/
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
**WARNING: THIS CHART IS NOT MEANT TO BE INSTALLED DIRECTLY**
This is a [Helm Library Chart](https://helm.sh/docs/topics/library_charts/#helm). It's purpose is for grouping common logic between the k8s@home charts.
Since a lot of charts follow the same pattern this library was built to reduce maintenance cost between the charts that use it and try achieve a goal of being DRY.
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install.tldr" -}}
## TL;DR
```console
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
helm repo update
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstalling the Chart
To uninstall the `{{ template "chart.name" . }}` deployment
```console
helm uninstall {{ template "chart.name" . }}
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
{{- end -}}
{{- define "custom.configuration.readValues" -}}
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common).
{{- end -}}
{{- define "custom.configuration.example.set" -}}
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install {{ template "chart.name" . }} \
--set env.TZ="America/New York" \
{{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.configuration.example.file" -}}
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
```
{{- end -}}
{{- define "custom.valuesSection" -}}
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/)
{{ template "chart.valuesTable" . }}
{{- end -}}
{{- define "custom.support" -}}
## Support
- See the [Wiki](https://github.com/k8s-at-home/charts/wiki).
- Open a [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/charts/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
{{- end -}}
{{ template "chart.header" . }}
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install.tldr" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.configuration.header" . }}
{{ template "custom.configuration.readValues" . }}
{{ template "custom.configuration.example.set" . }}
{{ template "custom.configuration.example.file" . }}
{{ template "custom.custom.configuration" . }}
{{ template "custom.valuesSection" . }}
{{ template "custom.changelog" . }}
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}

View File

@@ -1,148 +0,0 @@
{{- define "custom.changelog.header" -}}
## Changelog
{{- end -}}
{{- define "custom.changelog" -}}
{{ template "custom.changelog.header" . }}
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](../common/README.md).
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [3.0.1]
#### Fixed
- Fixed `kubeVersion` in `Chart.yaml` not working with people running k8s pre-releases
- Added `ingressClassName` to `values.yaml`
### [3.0.0]
#### Changed
- `probes.startupProbe` is now enabled by default. This will allow for quicker `Ready` states on Pods. It will precede the liveness and readiness Probes. *Note:* This requires that you are running [Kubernetes 1.16](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/)
- Aligned our default values for liveness and readiness Probes with the Kubernetes defaults:
- `initialDelaySeconds` is now `0`
- `timeoutSeconds` is now `1`
- `failureThreshold` is now `3`
### [2.5.1]
#### Added
- Fixed a small typo in `values.yaml`: `ingress.tls.hostTpl` -> `ingress.tls.hostsTpl`
### [2.5.0]
#### Added
- Allow setting ingress values through Helm templates:
- `ingress.hosts.hostTpl`
- `ingress.tls.secretNameTpl`
- `ingress.tls.hostsTpl`
### [2.4.0]
#### Added
- Allow setting environment variables from Downward API via `envValueFrom`. See [the Kubernetes docs](https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/) for more information.
### [2.3.0]
#### Added
- Allow overriding the main container command.
- Allow setting Helm templates as environment variables via `envTpl`. The given value is parsed through Helm's `tpl` function, allowing for powerful variable substitution.
- Support for defining volumeClaimTemplates for StatefulSet.
- Allow the following Pod spec fields to be configurable:
- `priorityClassName`
- `schedulerName`
- `hostname`
#### Fixed
- `values.yaml` now contains the following sections, these were already functional but were previously undocumented:
- `podSecurityContext`
- `securityContext`
- `resources`
### [2.2.1]
#### Fixed
- Made explicit that `service.port.targetPort` cannot be a named port.
### [2.2.0]
#### Added
- Allow serviceLinks to be enabled/disabled.
- Support for ingressClassName on apiVersion `networking.k8s.io/v1` by setting `ingress.ingressClassName`.
- Added some initial proper unit tests for the `common` chart.
#### Changed
- `service.port.targetPort` is now used in the container spec instead of `service.port.port` if specified. This allows for different service and container ports. (Implements [#465](https://github.com/k8s-at-home/charts/issues/465)).
#### Fixed
- Document setting environment variables for code-server add-on in `values.yaml` (Fixes [#436](https://github.com/k8s-at-home/charts/issues/436)).
- Set service targetPort to the service port name first if no `targetPort` value is given.
### [2.1.0]
#### Added
- Allow for additional arguments to be added to code-server runtime via `addons.codeserver.args`
### [2.0.4]
#### Fixed
- `periodSeconds` now works for all probe types.
### [2.0.0]
#### Changed
- :warning: Updated `probes` logic to support custom probes, it is now possible to set your own custom probes by setting the `probes.[liveness|readiness|startup].custom` value to `true` and configuring them. Default is `false`.
- :warning: `addon.vpn.imagePullPolicy` is now `addon.vpn.[openvpn|wireguard].image.pullPolicy`. Default is `IfNotPresent`
- [code-server](https://github.com/cdr/code-server) is now an `addon` like `vpn`. This enables a code-server container inside the pod which allows you to modify a configuration in a volume attached to the pod. Default for `addons.codeserver.enabled` is `false`
- Added `envFrom` for more configuration with environment variables
- Added `dnsConfig` to be configurable
- Added support for 1.19+ ingress spec
- Added this [CHANGELOG.md](CHANGELOG.md)
#### Fixed
- `nameOverride` and `fullNameOverride` not in `values.yaml`
### [1.7.0]
This is the last version before starting this changelog. All sorts of cool stuff was changed, but only `git log` remembers what that was :slightly_frowning_face:
[3.0.1]: #3.0.1
[3.0.0]: #3.0.0
[2.5.1]: #2.5.1
[2.5.0]: #2.5.0
[2.4.0]: #2.4.0
[2.3.0]: #2.3.0
[2.2.1]: #2.2.1
[2.2.0]: #2.2.0
[2.1.0]: #2.1.0
[2.0.4]: #2.0.4
[2.0.0]: #2.0.0
[1.7.0]: #1.7.0
{{- end -}}

View File

@@ -1,82 +0,0 @@
{{- define "custom.custom.configuration.header" -}}
## Creating a new chart
{{- end -}}
{{- define "custom.custom.configuration" -}}
{{ template "custom.custom.configuration.header" . }}
First be sure to checkout the many charts that already use this like [qBittorrent](../qbittorrent/), [node-red](../node-red/) or the many others in this repository.
Include this chart as a dependency in your `Chart.yaml` e.g.
```yaml
# Chart.yaml
dependencies:
- name: common
version: {{ template "chart.version" . }}
repository: {{ template "custom.helm.url" . }}
```
Write a `values.yaml` with some basic defaults you want to present to the user e.g.
```yaml
#
# IMPORTANT NOTE
#
# This chart inherits from our common library chart. You can check the default values/options here:
# https://github.com/k8s-at-home/charts/tree/master/charts/common/values.yaml
#
image:
repository: nodered/node-red
pullPolicy: IfNotPresent
tag: 1.2.5
strategy:
type: Recreate
# See more environment variables in the node-red documentation
# https://nodered.org/docs/getting-started/docker
env: {}
# TZ:
# NODE_OPTIONS:
# NODE_RED_ENABLE_PROJECTS:
# NODE_RED_ENABLE_SAFE_MODE:
# FLOWS:
service:
port:
port: 1880
ingress:
enabled: false
persistence:
data:
enabled: false
emptyDir: false
mountPath: /data
```
If not using a service, set the `service.enabled` to `false`.
```yaml
...
service:
enabled: false
...
```
Add files to the `templates` folder.
```yaml
# templates/common.yaml
{{"{{"}} include "common.all . {{"}}"}}
# templates/NOTES.txt
{{"{{"}} include "common.notes.defaultNotes" . {{"}}"}}
```
If testing locally make sure you update the dependencies with:
```bash
helm dependency update
```
{{- end -}}

View File

@@ -1,36 +0,0 @@
{{/*
Main entrypoint for the common library chart. It will render all underlying templates based on the provided values.
*/}}
{{- define "common.all" -}}
{{- /* Merge the local chart values and the common chart defaults */ -}}
{{- include "common.values.setup" . }}
{{- /* Enable code-server add-on if required */ -}}
{{- if .Values.addons.codeserver.enabled }}
{{- include "common.addon.codeserver" . }}
{{- end -}}
{{- /* Enable VPN add-on if required */ -}}
{{- if .Values.addons.vpn.enabled }}
{{- include "common.addon.vpn" . }}
{{- end -}}
{{- /* Build the templates */ -}}
{{- include "common.pvc" . }}
{{- print "---" | nindent 0 -}}
{{- if .Values.serviceAccount.create -}}
{{- include "common.serviceAccount" . }}
{{- print "---" | nindent 0 -}}
{{- end -}}
{{- if eq .Values.controllerType "deployment" }}
{{- include "common.deployment" . | nindent 0 }}
{{ else if eq .Values.controllerType "daemonset" }}
{{- include "common.daemonset" . | nindent 0 }}
{{ else if eq .Values.controllerType "statefulset" }}
{{- include "common.statefulset" . | nindent 0 }}
{{- end -}}
{{- print "---" | nindent 0 -}}
{{ include "common.service" . | nindent 0 }}
{{- print "---" | nindent 0 -}}
{{ include "common.ingress" . | nindent 0 }}
{{- end -}}

View File

@@ -1,33 +0,0 @@
{{/*
This template serves as the blueprint for the DaemonSet objects that are created
within the common library.
*/}}
{{- define "common.daemonset" -}}
apiVersion: {{ include "common.capabilities.daemonset.apiVersion" . }}
kind: DaemonSet
metadata:
name: {{ include "common.names.fullname" . }}
labels:
{{- include "common.labels" . | nindent 4 }}
{{- with .Values.controllerLabels }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with .Values.controllerAnnotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
selector:
matchLabels:
{{- include "common.labels.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "common.labels.selectorLabels" . | nindent 8 }}
spec:
{{- include "common.controller.pod" . | nindent 6 }}
{{- end }}

View File

@@ -1,38 +0,0 @@
{{/*
This template serves as the blueprint for the Deployment objects that are created
within the common library.
*/}}
{{- define "common.deployment" -}}
apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }}
kind: Deployment
metadata:
name: {{ include "common.names.fullname" . }}
labels:
{{- include "common.labels" . | nindent 4 }}
{{- with .Values.controllerLabels }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with .Values.controllerAnnotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
replicas: {{ .Values.replicas }}
{{- with .Values.strategy }}
strategy:
{{- toYaml . | nindent 4 }}
{{- end }}
selector:
matchLabels:
{{- include "common.labels.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "common.labels.selectorLabels" . | nindent 8 }}
spec:
{{- include "common.controller.pod" . | nindent 6 }}
{{- end }}

View File

@@ -1,27 +0,0 @@
{{/*
Renders the Ingress objects required by the chart by returning a concatinated list
of the main Ingress and any additionalIngresses.
*/}}
{{- define "common.ingress" -}}
{{- if .Values.ingress.enabled -}}
{{- $svcPort := .Values.service.port.port -}}
{{- /* Generate primary ingress */ -}}
{{- $ingressValues := .Values.ingress -}}
{{- $_ := set . "ObjectValues" (dict "ingress" $ingressValues) -}}
{{- include "common.classes.ingress" . }}
{{- /* Generate additional ingresses as required */ -}}
{{- range $index, $extraIngress := .Values.ingress.additionalIngresses }}
{{- if $extraIngress.enabled -}}
{{- print ("---") | nindent 0 -}}
{{- $ingressValues := $extraIngress -}}
{{- if not $ingressValues.nameSuffix -}}
{{- $_ := set $ingressValues "nameSuffix" $index -}}
{{ end -}}
{{- $_ := set $ "ObjectValues" (dict "ingress" $ingressValues) -}}
{{- include "common.classes.ingress" $ -}}
{{- end }}
{{- end }}
{{- end }}
{{- end }}

View File

@@ -1,25 +0,0 @@
{{/*
Default NOTES.txt content.
*/}}
{{- define "common.notes.defaultNotes" -}}
{{- $svcPort := .Values.service.port.port -}}
1. Get the application URL by running these commands:
{{- if .Values.ingress.enabled }}
{{- range .Values.ingress.hosts }}
http{{ if $.Values.ingress.tls }}s{{ end }}://{{- if .hostTpl }}{{ tpl .hostTpl $ }}{{ else }}{{ .host }}{{ end }}{{ (first .paths).path }}
{{- end }}
{{- else if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.names.fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get svc -w {{ include "common.names.fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "common.names.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP:{{ $svcPort }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "common.names.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl port-forward $POD_NAME 8080:{{ $svcPort }}
{{- end }}
{{- end }}

View File

@@ -1,18 +0,0 @@
{{/*
Renders the PersistentVolumeClaim objects required by the chart by returning a concatinated list
of all the entries of the persistence key.
*/}}
{{- define "common.pvc" -}}
{{- /* Generate pvc as required */ -}}
{{- range $index, $PVC := .Values.persistence }}
{{- if and $PVC.enabled (not (or $PVC.emptyDir $PVC.existingClaim)) -}}
{{- $persistenceValues := $PVC -}}
{{- if not $persistenceValues.nameSuffix -}}
{{- $_ := set $persistenceValues "nameSuffix" $index -}}
{{- end -}}
{{- $_ := set $ "ObjectValues" (dict "persistence" $persistenceValues) -}}
{{- print ("---") | nindent 0 -}}
{{- include "common.classes.pvc" $ -}}
{{- end }}
{{- end }}
{{- end }}

View File

@@ -1,23 +0,0 @@
{{/*
Renders the Service objects required by the chart by returning a concatinated list
of the main Service and any additionalServices.
*/}}
{{- define "common.service" -}}
{{- if .Values.service.enabled -}}
{{- /* Generate primary service */ -}}
{{- include "common.classes.service" . }}
{{- /* Generate additional services as required */ -}}
{{- range $index, $extraService := .Values.service.additionalServices }}
{{- if $extraService.enabled -}}
{{- print ("---") | nindent 0 -}}
{{- $serviceValues := $extraService -}}
{{- if not $serviceValues.nameSuffix -}}
{{- $_ := set $serviceValues "nameSuffix" $index -}}
{{ end -}}
{{- $_ := set $ "ObjectValues" (dict "service" $serviceValues) -}}
{{- include "common.classes.service" $ -}}
{{- end }}
{{- end }}
{{- end }}
{{- end }}

View File

@@ -1,15 +0,0 @@
{{/*
The ServiceAccount object to be created.
*/}}
{{- define "common.serviceAccount" -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "common.names.serviceAccountName" . }}
labels:
{{- include "common.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}

View File

@@ -1,53 +0,0 @@
{{/*
This template serves as the blueprint for the StatefulSet objects that are created
within the common library.
*/}}
{{- define "common.statefulset" -}}
apiVersion: {{ include "common.capabilities.statefulset.apiVersion" . }}
kind: StatefulSet
metadata:
name: {{ include "common.names.fullname" . }}
labels:
{{- include "common.labels" . | nindent 4 }}
{{- with .Values.controllerLabels }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with .Values.controllerAnnotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
replicas: {{ .Values.replicas }}
{{- with .Values.strategy }}
updateStrategy:
{{- toYaml . | nindent 4 }}
{{- end }}
selector:
matchLabels:
{{- include "common.labels.selectorLabels" . | nindent 6 }}
serviceName: {{ include "common.names.fullname" . }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "common.labels.selectorLabels" . | nindent 8 }}
spec:
{{- include "common.controller.pod" . | nindent 6 }}
volumeClaimTemplates:
{{- range $index, $vct := .Values.volumeClaimTemplates }}
- metadata:
name: {{ $vct.name }}
spec:
accessModes:
- {{ required (printf "accessMode is required for vCT %v" $vct.name) $vct.accessMode | quote }}
resources:
requests:
storage: {{ required (printf "size is required for PVC %v" $vct.name) $vct.size | quote }}
{{- if $vct.storageClass }}
storageClassName: {{ if (eq "-" $vct.storageClass) }}""{{- else }}{{ $vct.storageClass | quote }}{{- end }}
{{- end }}
{{- end }}
{{- end }}

View File

@@ -1,44 +0,0 @@
{{/*
Template to render code-server addon
It will include / inject the required templates based on the given values.
*/}}
{{- define "common.addon.codeserver" -}}
{{- if .Values.addons.codeserver.enabled -}}
{{/* Append the code-server container to the additionalContainers */}}
{{- $container := include "common.addon.codeserver.container" . | fromYaml -}}
{{- if $container -}}
{{- $additionalContainers := append .Values.additionalContainers $container -}}
{{- $_ := set .Values "additionalContainers" $additionalContainers -}}
{{- end -}}
{{/* Add the code-server service */}}
{{- if .Values.addons.codeserver.service.enabled -}}
{{- print ("---") | nindent 0 -}}
{{- $serviceValues := .Values.addons.codeserver.service -}}
{{- if not $serviceValues.nameSuffix -}}
{{- $_ := set $serviceValues "nameSuffix" "codeserver" -}}
{{ end -}}
{{- $_ := set $ "ObjectValues" (dict "service" $serviceValues) -}}
{{- include "common.classes.service" $ -}}
{{- $_ := unset $ "ObjectValues" -}}
{{- end -}}
{{/* Add the code-server ingress */}}
{{- if .Values.addons.codeserver.ingress.enabled -}}
{{- print ("---") | nindent 0 -}}
{{- $ingressValues := .Values.addons.codeserver.ingress -}}
{{- if not $ingressValues.nameSuffix -}}
{{- $_ := set $ingressValues "nameSuffix" "codeserver" -}}
{{ end -}}
{{/* Determine the target service name & port */}}
{{- $svcName := printf "%v-%v" (include "common.names.fullname" .) .Values.addons.codeserver.service.nameSuffix -}}
{{- $_ := set $ingressValues "serviceName" $svcName -}}
{{- $_ := set $ingressValues "servicePort" .Values.addons.codeserver.service.port.port -}}
{{- $_ := set $ "ObjectValues" (dict "ingress" $ingressValues) -}}
{{- include "common.classes.ingress" $ -}}
{{- $_ := unset $ "ObjectValues" -}}
{{- end -}}
{{- end -}}
{{- end -}}

View File

@@ -1,41 +0,0 @@
{{/*
The code-server sidecar container to be inserted.
*/}}
{{- define "common.addon.codeserver.container" -}}
{{- if lt (len .Values.addons.codeserver.volumeMounts) 1 }}
{{- fail "At least 1 volumeMount is required for codeserver container" }}
{{- end -}}
name: codeserver
image: "{{ .Values.addons.codeserver.image.repository }}:{{ .Values.addons.codeserver.image.tag }}"
imagePullPolicy: {{ .Values.addons.codeserver.pullPolicy }}
{{- with .Values.addons.codeserver.securityContext }}
securityContext:
{{- toYaml . | nindent 2 }}
{{- end }}
{{- with .Values.addons.codeserver.env }}
env:
{{- range $k, $v := . }}
- name: {{ $k }}
value: {{ $v | quote }}
{{- end }}
{{- end }}
ports:
- name: {{ .Values.addons.codeserver.service.port.name }}
containerPort: {{ .Values.addons.codeserver.service.port.port }}
protocol: TCP
args:
{{- range .Values.addons.codeserver.args }}
- {{ . | quote }}
{{- end }}
- "--port"
- "{{ .Values.addons.codeserver.service.port.port }}"
- {{ .Values.addons.codeserver.workingDir | default (first .Values.addons.codeserver.volumeMounts).mountPath }}
{{- with .Values.addons.codeserver.volumeMounts }}
volumeMounts:
{{- toYaml . | nindent 2 }}
{{- end }}
{{- with .Values.addons.codeserver.resources }}
resources:
{{- toYaml . | nindent 2 }}
{{- end }}
{{- end -}}

View File

@@ -1,26 +0,0 @@
{{/*
The VPN config and scripts to be included.
*/}}
{{- define "common.addon.vpn.configmap" -}}
{{- if or .Values.addons.vpn.configFile .Values.addons.vpn.scripts.up .Values.addons.vpn.scripts.down }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "common.names.fullname" . }}-vpn
labels:
{{- include "common.labels" . | nindent 4 }}
data:
{{- with .Values.addons.vpn.configFile }}
vpnConfigfile: |-
{{- . | nindent 4}}
{{- end }}
{{- with .Values.addons.vpn.scripts.up }}
up.sh: |-
{{- . | nindent 4}}
{{- end }}
{{- with .Values.addons.vpn.scripts.down }}
down.sh: |-
{{- . | nindent 4}}
{{- end }}
{{- end -}}
{{- end -}}

View File

@@ -1,21 +0,0 @@
{{/*
Blueprint for the NetworkPolicy object that can be included in the addon.
*/}}
{{- define "common.addon.vpn.networkpolicy" -}}
{{- if .Values.addons.vpn.networkPolicy.enabled -}}
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
name: {{ include "common.names.fullname" . }}
spec:
podSelector:
matchLabels:
{{- include "common.labels.selectorLabels" . | nindent 6 }}
policyTypes:
- Egress
egress:
{{- with .Values.addons.vpn.networkPolicy.egress }}
{{- . | toYaml | nindent 4 }}
{{- end -}}
{{- end -}}
{{- end -}}

View File

@@ -1,25 +0,0 @@
{{/*
The volume (referencing VPN config and scripts) to be inserted into additionalVolumes.
*/}}
{{- define "common.addon.vpn.volume" -}}
{{- if or .Values.addons.vpn.configFile .Values.addons.vpn.scripts.up .Values.addons.vpn.scripts.down -}}
name: vpnconfig
configMap:
name: {{ include "common.names.fullname" . }}-vpn
items:
{{- if .Values.addons.vpn.configFile }}
- key: vpnConfigfile
path: vpnConfigfile
{{- end }}
{{- if .Values.addons.vpn.scripts.up }}
- key: up.sh
path: up.sh
mode: 0777
{{- end }}
{{- if .Values.addons.vpn.scripts.down }}
- key: down.sh
path: down.sh
mode: 0777
{{- end }}
{{- end -}}
{{- end -}}

View File

@@ -1,36 +0,0 @@
{{/*
Template to render VPN addon
It will include / inject the required templates based on the given values.
*/}}
{{- define "common.addon.vpn" -}}
{{- if .Values.addons.vpn.enabled -}}
{{- if eq "openvpn" .Values.addons.vpn.type -}}
{{- include "common.addon.openvpn" . }}
{{- end -}}
{{- if eq "wireguard" .Values.addons.vpn.type -}}
{{- include "common.addon.wireguard" . }}
{{- end -}}
{{/* Include the configmap if not empty */}}
{{- $configmap := include "common.addon.vpn.configmap" . -}}
{{- if $configmap -}}
{{- print "---" | nindent 0 -}}
{{- $configmap | nindent 0 -}}
{{- end -}}
{{/* Append the vpn config volume to the additionalVolumes */}}
{{- $volume := include "common.addon.vpn.volume" . | fromYaml -}}
{{- if $volume -}}
{{- $additionalVolumes := append .Values.additionalVolumes $volume }}
{{- $_ := set .Values "additionalVolumes" $additionalVolumes -}}
{{- end -}}
{{/* Include the networkpolicy if not empty */}}
{{- $networkpolicy := include "common.addon.vpn.networkpolicy" . -}}
{{- if $networkpolicy -}}
{{- print "---" | nindent 0 -}}
{{- $networkpolicy | nindent 0 -}}
{{- end -}}
{{- end -}}
{{- end -}}

View File

@@ -1,19 +0,0 @@
{{/*
Template to render OpenVPN addon. It will add the container to the list of additionalContainers
and add a credentials secret if speciffied.
*/}}
{{- define "common.addon.openvpn" -}}
{{/* Append the openVPN container to the additionalContainers */}}
{{- $container := include "common.addon.openvpn.container" . | fromYaml -}}
{{- if $container -}}
{{- $additionalContainers := append .Values.additionalContainers $container -}}
{{- $_ := set .Values "additionalContainers" $additionalContainers -}}
{{- end -}}
{{/* Include the secret if not empty */}}
{{- $secret := include "common.addon.openvpn.secret" . -}}
{{- if $secret -}}
{{- print "---" | nindent 0 -}}
{{- $secret | nindent 0 -}}
{{- end -}}
{{- end -}}

View File

@@ -1,61 +0,0 @@
{{/*
The OpenVPN sidecar container to be inserted.
*/}}
{{- define "common.addon.openvpn.container" -}}
name: openvpn
image: "{{ .Values.addons.vpn.openvpn.image.repository }}:{{ .Values.addons.vpn.openvpn.image.tag }}"
imagePullPolicy: {{ .Values.addons.vpn.openvpn.pullPolicy }}
{{- with .Values.addons.vpn.securityContext }}
securityContext:
{{- toYaml . | nindent 2 }}
{{- end }}
{{- with .Values.addons.vpn.env }}
env:
{{- range $k, $v := . }}
- name: {{ $k }}
value: {{ $v | quote }}
{{- end }}
{{- end }}
{{- if or .Values.addons.vpn.openvpn.auth .Values.addons.vpn.openvpn.authSecret }}
envFrom:
- secretRef:
{{- if .Values.addons.vpn.openvpn.authSecret }}
name: {{ .Values.addons.vpn.openvpn.authSecret }}
{{- else }}
name: {{ include "common.names.fullname" . }}-openvpn
{{- end }}
{{- end }}
{{- if or .Values.addons.vpn.configFile .Values.addons.vpn.scripts.up .Values.addons.vpn.scripts.down .Values.addons.vpn.additionalVolumeMounts .Values.persistence.shared.enabled }}
volumeMounts:
{{- if .Values.addons.vpn.configFile }}
- name: vpnconfig
mountPath: /vpn/vpn.conf
subPath: vpnConfigfile
{{- end }}
{{- if .Values.addons.vpn.scripts.up }}
- name: vpnconfig
mountPath: /vpn/up.sh
subPath: up.sh
{{- end }}
{{- if .Values.addons.vpn.scripts.down }}
- name: vpnconfig
mountPath: /vpn/down.sh
subPath: down.sh
{{- end }}
{{- if .Values.persistence.shared.enabled }}
- mountPath: {{ .Values.persistence.shared.mountPath }}
name: shared
{{- end }}
{{- with .Values.addons.vpn.additionalVolumeMounts }}
{{- toYaml . | nindent 2 }}
{{- end }}
{{- end }}
{{- with .Values.addons.vpn.livenessProbe }}
livenessProbe:
{{- toYaml . | nindent 2 }}
{{- end -}}
{{- with .Values.addons.vpn.resources }}
resources:
{{- toYaml . | nindent 2 }}
{{- end }}
{{- end -}}

View File

@@ -1,15 +0,0 @@
{{/*
The OpenVPN credentials secrets to be included.
*/}}
{{- define "common.addon.openvpn.secret" -}}
{{- with .Values.addons.vpn.openvpn.auth -}}
apiVersion: v1
kind: Secret
metadata:
name: {{ include "common.names.fullname" $ }}-openvpn
labels:
{{- include "common.labels" $ | nindent 4 }}
data:
VPN_AUTH: {{ . | b64enc }}
{{- end -}}
{{- end -}}

View File

@@ -1,12 +0,0 @@
{{/*
Template to render Wireguard addon. It will add the container to the list of additionalContainers.
*/}}
*/}}
{{- define "common.addon.wireguard" -}}
{{/* Append the Wireguard container to the additionalContainers */}}
{{- $container := fromYaml (include "common.addon.wireguard.container" .) -}}
{{- if $container -}}
{{- $additionalContainers := append .Values.additionalContainers $container -}}
{{- $_ := set .Values "additionalContainers" $additionalContainers -}}
{{- end -}}
{{- end -}}

View File

@@ -1,52 +0,0 @@
{{/*
The Wireguard sidecar container to be inserted.
*/}}
{{- define "common.addon.wireguard.container" -}}
name: wireguard
image: "{{ .Values.addons.vpn.wireguard.image.repository }}:{{ .Values.addons.vpn.wireguard.image.tag }}"
imagePullPolicy: {{ .Values.addons.vpn.wireguard.pullPolicy }}
{{- with .Values.addons.vpn.securityContext }}
securityContext:
{{- toYaml . | nindent 2 }}
{{- end }}
{{- with .Values.addons.vpn.env }}
env:
{{- range $k, $v := . }}
- name: {{ $k }}
value: {{ $v | quote }}
{{- end }}
{{- end }}
{{- if or .Values.addons.vpn.configFile .Values.addons.vpn.scripts.up .Values.addons.vpn.scripts.down .Values.addons.vpn.additionalVolumeMounts .Values.persistence.shared.enabled }}
volumeMounts:
{{- if .Values.addons.vpn.configFile }}
- name: vpnconfig
mountPath: /etc/wireguard/wg0.conf
subPath: vpnConfigfile
{{- end }}
{{- if .Values.addons.vpn.scripts.up }}
- name: vpnconfig
mountPath: /config/up.sh
subPath: up.sh
{{- end }}
{{- if .Values.addons.vpn.scripts.down }}
- name: vpnconfig
mountPath: /config/down.sh
subPath: down.sh
{{- end }}
{{- if .Values.persistence.shared.enabled }}
- mountPath: {{ .Values.persistence.shared.mountPath }}
name: shared
{{- end }}
{{- with .Values.addons.vpn.additionalVolumeMounts }}
{{- toYaml . | nindent 2 }}
{{- end }}
{{- end }}
{{- with .Values.addons.vpn.livenessProbe }}
livenessProbe:
{{- toYaml . | nindent 2 }}
{{- end -}}
{{- with .Values.addons.vpn.resources }}
resources:
{{- toYaml . | nindent 2 }}
{{- end }}
{{- end -}}

View File

@@ -1,77 +0,0 @@
{{/*
This template serves as a blueprint for all Ingress objects that are created
within the common library.
*/}}
{{- define "common.classes.ingress" -}}
{{- $ingressName := include "common.names.fullname" . -}}
{{- $values := .Values.ingress -}}
{{- if hasKey . "ObjectValues" -}}
{{- with .ObjectValues.ingress -}}
{{- $values = . -}}
{{- end -}}
{{ end -}}
{{- if hasKey $values "nameSuffix" -}}
{{- $ingressName = printf "%v-%v" $ingressName $values.nameSuffix -}}
{{ end -}}
{{- $svcName := $values.serviceName | default (include "common.names.fullname" .) -}}
{{- $svcPort := $values.servicePort | default $.Values.service.port.port -}}
apiVersion: {{ include "common.capabilities.ingress.apiVersion" . }}
kind: Ingress
metadata:
name: {{ $ingressName }}
labels:
{{- include "common.labels" . | nindent 4 }}
{{- with $values.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
{{- if eq (include "common.capabilities.ingress.apiVersion" $) "networking.k8s.io/v1" }}
{{- if $values.ingressClassName }}
ingressClassName: {{ $values.ingressClassName }}
{{- end }}
{{- end }}
{{- if $values.tls }}
tls:
{{- range $values.tls }}
- hosts:
{{- range .hosts }}
- {{ . | quote }}
{{- end }}
{{- range .hostsTpl }}
- {{ tpl . $ | quote }}
{{- end }}
{{- if .secretNameTpl }}
secretName: {{ tpl .secretNameTpl $ | quote}}
{{- else }}
secretName: {{ .secretName }}
{{- end }}
{{- end }}
{{- end }}
rules:
{{- range $values.hosts }}
{{- if .hostTpl }}
- host: {{ tpl .hostTpl $ | quote }}
{{- else }}
- host: {{ .host | quote }}
{{- end }}
http:
paths:
{{- range .paths }}
- path: {{ .path }}
{{- if eq (include "common.capabilities.ingress.apiVersion" $) "networking.k8s.io/v1" }}
pathType: Prefix
{{- end }}
backend:
{{- if eq (include "common.capabilities.ingress.apiVersion" $) "networking.k8s.io/v1" }}
service:
name: {{ $svcName }}
port:
number: {{ $svcPort }}
{{- else }}
serviceName: {{ $svcName }}
servicePort: {{ $svcPort }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}

View File

@@ -1,40 +0,0 @@
{{/*
This template serves as a blueprint for all PersistentVolumeClaim objects that are created
within the common library.
*/}}
{{- define "common.classes.pvc" -}}
{{- $values := .Values.persistence -}}
{{- if hasKey . "ObjectValues" -}}
{{- with .ObjectValues.persistence -}}
{{- $values = . -}}
{{- end -}}
{{ end -}}
{{- $pvcName := include "common.names.fullname" . -}}
{{- if hasKey $values "nameSuffix" -}}
{{- $pvcName = printf "%v-%v" $pvcName $values.nameSuffix -}}
{{ end -}}
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: {{ $pvcName }}
{{- if or $values.skipuninstall $values.annotations }}
annotations:
{{- if $values.skipuninstall }}
"helm.sh/resource-policy": keep
{{- end }}
{{- with $values.annotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}
labels:
{{- include "common.labels" . | nindent 4 }}
spec:
accessModes:
- {{ required (printf "accessMode is required for PVC %v" $pvcName) $values.accessMode | quote }}
resources:
requests:
storage: {{ required (printf "size is required for PVC %v" $pvcName) $values.size | quote }}
{{- if $values.storageClass }}
storageClassName: {{ if (eq "-" $values.storageClass) }}""{{- else }}{{ $values.storageClass | quote }}{{- end }}
{{- end }}
{{- end -}}

View File

@@ -1,68 +0,0 @@
{{/*
This template serves as a blueprint for all Service objects that are created
within the common library.
*/}}
{{- define "common.classes.service" -}}
{{- $values := .Values.service -}}
{{- if hasKey . "ObjectValues" -}}
{{- with .ObjectValues.service -}}
{{- $values = . -}}
{{- end -}}
{{ end -}}
{{- $serviceName := include "common.names.fullname" . -}}
{{- if hasKey $values "nameSuffix" -}}
{{- $serviceName = printf "%v-%v" $serviceName $values.nameSuffix -}}
{{ end -}}
{{- $svcType := $values.type | default "" -}}
apiVersion: v1
kind: Service
metadata:
name: {{ $serviceName }}
labels:
{{- include "common.labels" . | nindent 4 }}
{{- if $values.labels }}
{{ toYaml $values.labels | nindent 4 }}
{{- end }}
{{- with $values.annotations }}
annotations:
{{ toYaml . | nindent 4 }}
{{- end }}
spec:
{{- if (or (eq $svcType "ClusterIP") (empty $svcType)) }}
type: ClusterIP
{{- if $values.clusterIP }}
clusterIP: {{ $values.clusterIP }}
{{end}}
{{- else if eq $svcType "LoadBalancer" }}
type: {{ $svcType }}
{{- if $values.loadBalancerIP }}
loadBalancerIP: {{ $values.loadBalancerIP }}
{{- end }}
{{- if $values.externalTrafficPolicy }}
externalTrafficPolicy: {{ $values.externalTrafficPolicy }}
{{- end }}
{{- if $values.loadBalancerSourceRanges }}
loadBalancerSourceRanges:
{{ toYaml $values.loadBalancerSourceRanges | nindent 4 }}
{{- end -}}
{{- else }}
type: {{ $svcType }}
{{- end }}
{{- if $values.sessionAffinity }}
sessionAffinity: {{ $values.sessionAffinity }}
{{- if $values.sessionAffinityConfig }}
sessionAffinityConfig:
{{ toYaml $values.sessionAffinityConfig | nindent 4 }}
{{- end -}}
{{- end }}
{{- with $values.externalIPs }}
externalIPs:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- if $values.publishNotReadyAddresses }}
publishNotReadyAddresses: {{ $values.publishNotReadyAddresses }}
{{- end }}
{{- include "common.classes.service.ports" (dict "svcType" $svcType "values" $values ) | trim | nindent 2 }}
selector:
{{- include "common.labels.selectorLabels" . | nindent 4 }}
{{- end }}

View File

@@ -1,23 +0,0 @@
{{/*
Render all the ports and additionalPorts for a Service object.
*/}}
{{- define "common.classes.service.ports" -}}
{{- $ports := list -}}
{{- $values := .values -}}
{{- $ports = mustAppend $ports $values.port -}}
{{- range $_ := $values.additionalPorts -}}
{{- $ports = mustAppend $ports . -}}
{{- end }}
{{- if $ports -}}
ports:
{{- range $_ := $ports }}
- port: {{ .port }}
targetPort: {{ .targetPort | default .name | default "http" }}
protocol: {{ .protocol | default "TCP" }}
name: {{ .name | default "http" }}
{{- if (and (eq $.svcType "NodePort") (not (empty .nodePort))) }}
nodePort: {{ .nodePort }}
{{ end }}
{{- end -}}
{{- end -}}
{{- end }}

View File

@@ -1,92 +0,0 @@
{{/*
Return the appropriate apiVersion for DaemonSet objects.
*/}}
{{- define "common.capabilities.daemonset.apiVersion" -}}
{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
{{- print "extensions/v1beta1" -}}
{{- else -}}
{{- print "apps/v1" -}}
{{- end -}}
{{- end -}}
{{/*
Waiting on https://github.com/helm/helm/pull/8608
{{- define "common.capabilities.daemonset.apiVersion" -}}
{{- if .Capabilities.APIVersions.Has "apps/v1/DaemonSet" -}}
{{- print "apps/v1" -}}
{{- else -}}
{{- print "extensions/v1beta1" -}}
{{- end -}}
{{- end -}}
*/}}
{{/*
Return the appropriate apiVersion for Deployment objects.
*/}}
{{- define "common.capabilities.deployment.apiVersion" -}}
{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
{{- print "extensions/v1beta1" -}}
{{- else -}}
{{- print "apps/v1" -}}
{{- end -}}
{{- end -}}
{{/*
Waiting on https://github.com/helm/helm/pull/8608
{{- define "common.capabilities.deployment.apiVersion" -}}
{{- if .Capabilities.APIVersions.Has "apps/v1/Deployment" -}}
{{- print "apps/v1" -}}
{{- else -}}
{{- print "extensions/v1beta1" -}}
{{- end -}}
{{- end -}}
*/}}
{{/*
Return the appropriate apiVersion for StatefulSet objects.
*/}}
{{- define "common.capabilities.statefulset.apiVersion" -}}
{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
{{- print "apps/v1beta1" -}}
{{- else -}}
{{- print "apps/v1" -}}
{{- end -}}
{{- end -}}
{{/*
Waiting on https://github.com/helm/helm/pull/8608
{{- define "common.capabilities.statefulset.apiVersion" -}}
{{- if .Capabilities.APIVersions.Has "apps/v1/StatefulSet" -}}
{{- print "apps/v1" -}}
{{- else -}}
{{- print "apps/v1beta1" -}}
{{- end -}}
{{- end -}}
*/}}
{{/*
Return the appropriate apiVersion for Ingress objects.
*/}}
{{- define "common.capabilities.ingress.apiVersion" -}}
{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
{{- print "extensions/v1beta1" -}}
{{- else if semverCompare "<1.19-0" .Capabilities.KubeVersion.GitVersion -}}
{{- print "networking.k8s.io/v1beta1" -}}
{{- else -}}
{{- print "networking.k8s.io/v1" -}}
{{- end }}
{{- end -}}
{{/*
Waiting on https://github.com/helm/helm/pull/8608
{{- define "common.capabilities.ingress.apiVersion" -}}
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress" -}}
{{- print "networking.k8s.io/v1" -}}
{{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress" -}}
{{- print "networking.k8s.io/v1beta1" -}}
{{- else -}}
{{- print "extensions/v1beta1" -}}
{{- end }}
{{- end -}}
*/}}

View File

@@ -1,19 +0,0 @@
{{/*
Common labels shared across objects.
*/}}
{{- define "common.labels" -}}
helm.sh/chart: {{ include "common.names.chart" . }}
{{ include "common.labels.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
{{/*
Selector labels shared across objects.
*/}}
{{- define "common.labels.selectorLabels" -}}
app.kubernetes.io/name: {{ include "common.names.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

View File

@@ -1,42 +0,0 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "common.names.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "common.names.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "common.names.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Create the name of the ServiceAccount to use.
*/}}
{{- define "common.names.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "common.names.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}

View File

@@ -1,11 +0,0 @@
{{/*
Merge the local chart values and the common chart defaults.
*/}}
{{- define "common.values.setup" -}}
{{- if .Values.common -}}
{{- $defaultValues := deepCopy .Values.common -}}
{{- $userValues := deepCopy (omit .Values "common") -}}
{{- $mergedValues := mustMergeOverwrite $defaultValues $userValues -}}
{{- $_ := set . "Values" (deepCopy $mergedValues) -}}
{{- end }}
{{- end }}

View File

@@ -1,66 +0,0 @@
{{- /*
The main container included in the controller.
*/ -}}
{{- define "common.controller.mainContainer" -}}
- name: {{ include "common.names.fullname" . }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- with .Values.command }}
command: {{ . }}
{{- end }}
{{- with .Values.args }}
args: {{ . }}
{{- end }}
{{- with .Values.securityContext }}
securityContext:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- if or .Values.env .Values.envTpl .Values.envValueFrom }}
env:
{{- range $key, $value := .Values.env }}
- name: {{ $key }}
value: {{ $value | quote }}
{{- end }}
{{- range $key, $value := .Values.envTpl }}
- name: {{ $key }}
value: {{ tpl $value $ | quote }}
{{- end }}
{{- range $key, $value := .Values.envValueFrom }}
- name: {{ $key }}
valueFrom:
{{- $value | toYaml | nindent 6 }}
{{- end }}
{{- end }}
{{- with .Values.envFrom }}
envFrom:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- include "common.controller.ports" . | trim | nindent 2 }}
volumeMounts:
{{- range $index, $PVC := .Values.persistence }}
{{- if $PVC.enabled }}
- mountPath: {{ $PVC.mountPath }}
name: {{ $index }}
{{- if $PVC.subPath }}
subPath: {{ $PVC.subPath }}
{{- end }}
{{- end }}
{{- end }}
{{- if .Values.additionalVolumeMounts }}
{{- toYaml .Values.additionalVolumeMounts | nindent 2 }}
{{- end }}
{{- if eq .Values.controllerType "statefulset" }}
{{- range $index, $vct := .Values.volumeClaimTemplates }}
- mountPath: {{ $vct.mountPath }}
name: {{ $vct.name }}
{{- if $vct.subPath }}
subPath: {{ $vct.subPath }}
{{- end }}
{{- end }}
{{- end }}
{{- include "common.controller.probes" . | nindent 2 }}
{{- with .Values.resources }}
resources:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end -}}

View File

@@ -1,63 +0,0 @@
{{- /*
The pod definition included in the controller.
*/ -}}
{{- define "common.controller.pod" -}}
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 2 }}
{{- end }}
serviceAccountName: {{ include "common.names.serviceAccountName" . }}
{{- with .Values.podSecurityContext }}
securityContext:
{{- toYaml . | nindent 2 }}
{{- end }}
{{- with .Values.priorityClassName }}
priorityClassName: {{ . }}
{{- end }}
{{- with .Values.schedulerName }}
schedulerName: {{ . }}
{{- end }}
{{- with .Values.hostNetwork }}
hostNetwork: {{ . }}
{{- end }}
{{- with .Values.hostname }}
hostname: {{ . }}
{{- end }}
{{- with .Values.dnsPolicy }}
dnsPolicy: {{ . }}
{{- end }}
{{- with .Values.dnsConfig }}
dnsConfig:
{{- toYaml . | nindent 2 }}
{{- end }}
enableServiceLinks: {{ .Values.enableServiceLinks }}
{{- with .Values.initContainers }}
initContainers:
{{- toYaml . | nindent 2 }}
{{- end }}
containers:
{{- include "common.controller.mainContainer" . | nindent 0 }}
{{- with .Values.additionalContainers }}
{{- toYaml . | nindent 0 }}
{{- end }}
{{- with (include "common.controller.volumes" . | trim) }}
volumes:
{{- . | nindent 0 }}
{{- end }}
{{- with .Values.hostAliases }}
hostAliases:
{{- toYaml . | nindent 2 }}
{{- end }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 2 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 2 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 2 }}
{{- end }}
{{- end -}}

View File

@@ -1,42 +0,0 @@
{{/*
Ports included by the controller.
*/}}
{{- define "common.controller.ports" -}}
{{- $ports := list -}}
{{- with .Values.service -}}
{{- $serviceValues := deepCopy . -}}
{{/* append the ports for the main service */}}
{{- if .enabled -}}
{{- $_ := set .port "name" (default "http" .port.name) -}}
{{- $ports = mustAppend $ports .port -}}
{{- range $_ := .additionalPorts -}}
{{/* append the additonalPorts for the main service */}}
{{- $ports = mustAppend $ports . -}}
{{- end }}
{{- end }}
{{/* append the ports for each additional service */}}
{{- range $_ := .additionalServices }}
{{- if .enabled -}}
{{- $_ := set .port "name" (required "Missing port.name" .port.name) -}}
{{- $ports = mustAppend $ports .port -}}
{{- range $_ := .additionalPorts -}}
{{/* append the additonalPorts for each additional service */}}
{{- $ports = mustAppend $ports . -}}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{/* export/render the list of ports */}}
{{- if $ports -}}
ports:
{{- range $_ := $ports }}
- name: {{ .name }}
{{- if and .targetPort (kindIs "string" .targetPort) }}
{{- fail (printf "Our charts do not support named ports for targetPort. (port name %s, targetPort %s)" .name .targetPort) }}
{{- end }}
containerPort: {{ .targetPort | default .port }}
protocol: {{ .protocol | default "TCP" }}
{{- end -}}
{{- end -}}
{{- end -}}

View File

@@ -1,22 +0,0 @@
{{/*
Probes selection logic.
*/}}
{{- define "common.controller.probes" -}}
{{- $svcPort := .Values.service.port.name -}}
{{- range $probeName, $probe := .Values.probes }}
{{- if $probe.enabled -}}
{{- "" | nindent 0 }}
{{- $probeName }}Probe:
{{- if $probe.custom -}}
{{- $probe.spec | toYaml | nindent 2 }}
{{- else }}
{{- "tcpSocket:" | nindent 2 }}
{{- printf "port: %v" $svcPort | nindent 4 }}
{{- printf "initialDelaySeconds: %v" $probe.spec.initialDelaySeconds | nindent 2 }}
{{- printf "failureThreshold: %v" $probe.spec.failureThreshold | nindent 2 }}
{{- printf "timeoutSeconds: %v" $probe.spec.timeoutSeconds | nindent 2 }}
{{- printf "periodSeconds: %v" $probe.spec.periodSeconds | nindent 2 }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}

View File

@@ -1,31 +0,0 @@
{{/*
Volumes included by the controller.
*/}}
{{- define "common.controller.volumes" -}}
{{- range $index, $persistence := .Values.persistence }}
{{- if $persistence.enabled }}
- name: {{ $index }}
{{- if $persistence.existingClaim }}
{{- /* Always prefer an existingClaim if that is set */}}
persistentVolumeClaim:
claimName: {{ $persistence.existingClaim }}
{{- else -}}
{{- if $persistence.emptyDir -}}
{{- /* Always prefer an emptyDir next if that is set */}}
emptyDir: {}
{{- else -}}
{{- /* Otherwise refer to the PVC name */}}
persistentVolumeClaim:
{{- if $persistence.nameSuffix }}
claimName: {{ printf "%s-%s" (include "common.names.fullname" $) $persistence.nameSuffix }}
{{- else }}
claimName: {{ printf "%s-%s" (include "common.names.fullname" $) $index }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- if .Values.additionalVolumes }}
{{- toYaml .Values.additionalVolumes | nindent 0 }}
{{- end }}
{{- end -}}

View File

@@ -1,449 +0,0 @@
# type: options are deployment, daemonset or statefulset
controllerType: deployment
# Set annotations on the deployment/statefulset/daemonset
controllerAnnotations: {}
# Set labels on the deployment/statefulset/daemonset
controllerLabels: {}
replicas: 1
strategy:
## For Deployments, valid values are Recreate and RollingUpdate
## For StatefulSets, valid values are OnDelete and RollingUpdate
## DaemonSets ignore this
type: RollingUpdate
# Override the default command
command: []
# Override the default args
args: []
nameOverride: ""
fullnameOverride: ""
# Set annotations on the pod
podAnnotations: {}
serviceAccount:
# Specifies whether a service account should be created
create: false
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: ""
env: {}
# TZ: UTC
## Variables with values set from templates, example
## With a release name of: demo, the example env value will be: demo-admin
envTpl: {}
# TEMPLATE_VALUE: "{{ .Release.Name }}-admin"
## Variables with values from (for example) the Downward API
## See https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/
envValueFrom: {}
# NODE_NAME:
# fieldRef:
# fieldPath: spec.nodeName
envFrom: []
# - configMapRef:
# name: config-map-name
# - secretRef:
# name: secret-name
# Custom priority class for different treatment by the scheduler
# priorityClassName: system-node-critical
# Allow specifying a custom scheduler name
# schedulerName: awkward-dangerous-scheduler
# Allow specifying explicit hostname setting
# hostname:
# When using hostNetwork make sure you set dnsPolicy to ClusterFirstWithHostNet
hostNetwork: false
dnsPolicy: ClusterFirst
# Optional DNS settings, configuring the ndots option may resolve
# nslookup issues on some Kubernetes setups.
# dnsConfig:
# options:
# - name: ndots
# value: "1"
# Enable/disable the generation of environment variables for services.
# See https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/#accessing-the-service
# for more information.
enableServiceLinks: true
# Configure the Security Context for the Pod
podSecurityContext: {}
# Configure the Security Context for the main container
securityContext: {}
initContainers: []
additionalContainers: []
## Probes configuration
probes:
liveness:
enabled: true
## Set this to true if you wish to specify your own livenessProbe
custom: false
## The spec field contains the values for the default livenessProbe.
## If you selected custom: true, this field holds the definition of the livenessProbe.
spec:
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
readiness:
enabled: true
## Set this to true if you wish to specify your own readinessProbe
custom: false
## The spec field contains the values for the default readinessProbe.
## If you selected custom: true, this field holds the definition of the readinessProbe.
spec:
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
startup:
enabled: true
## Set this to true if you wish to specify your own startupProbe
custom: false
## The spec field contains the values for the default startupProbe.
## If you selected custom: true, this field holds the definition of the startupProbe.
spec:
initialDelaySeconds: 0
timeoutSeconds: 1
## This means it has a maximum of 5*30=150 seconds to start up before it fails
periodSeconds: 5
failureThreshold: 30
service:
enabled: true
type: ClusterIP
## Specify the default port information
port:
port:
## name defaults to http
name:
protocol: TCP
## Specify a service targetPort if you wish to differ the service port from the application port.
## If targetPort is specified, this port number is used in the container definition instead of
## service.port.port. Therefore named ports are not supported for this field.
targetPort:
## Specify the nodePort value for the LoadBalancer and NodePort service types.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
##
# nodePort:
additionalPorts: []
## Provide any additional annotations which may be required. This can be used to
## set the LoadBalancer service type to internal only.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
##
annotations: {}
labels: {}
additionalServices: []
# - enabled: false
# nameSuffix: api
# type: ClusterIP
# # Specify the default port information
# port:
# port:
# # name defaults to http
# name:
# protocol: TCP
# # targetPort defaults to http
# targetPort:
# # nodePort:
# additionalPorts: []
# annotations: {}
# labels: {}
ingress:
enabled: false
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
labels: {}
# ingressClassName: "nginx"
hosts:
- host: chart-example.local
## Or a tpl that is evaluated
# hostTpl: '{{ include "common.names.fullname" . }}.{{ .Release.Namespace }}.{{ .Values.ingress.domainname }}'
paths:
- path: /
# Ignored if not kubeVersion >= 1.14-0
pathType: Prefix
tls: []
# - secretName: chart-example-tls
## Or if you need a dynamic secretname
# - secretNameTpl: '{{ include "common.names.fullname" . }}-ingress'
# hosts:
# - chart-example.local
## Or a tpl that is evaluated
# hostsTpl:
# - '{{ include "common.names.fullname" . }}.{{ .Release.Namespace }}.{{ .Values.ingress.domainname }}'
additionalIngresses: []
# - enabled: false
# nameSuffix: "api"
# annotations: {}
# # kubernetes.io/ingress.class: nginx
# # kubernetes.io/tls-acme: "true"
# labels: {}
# hosts:
# - host: chart-example.local
# paths:
# - path: /api
# # Ignored if not kubeVersion >= 1.14-0
# pathType: Prefix
# tls: []
# # - secretName: chart-example-tls
# # hosts:
# # - chart-example.local
persistence:
config:
enabled: false
mountPath: /config
## configuration data Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
##
# storageClass: "-"
##
## If you want to reuse an existing claim, you can pass the name of the PVC using
## the existingClaim variable
# existingClaim: your-claim
# subPath: some-subpath
accessMode: ReadWriteOnce
size: 1Gi
## Set to true to retain the PVC upon helm uninstall
skipuninstall: false
# Create an emptyDir volume to share between all containers
shared:
enabled: false
emptyDir: true
mountPath: /shared
additionalVolumes: []
additionalVolumeMounts: []
volumeClaimTemplates: []
# Used in statefulset to create individual disks for each instance
# - name: data
# mountPath: /data
# accessMode: "ReadWriteOnce"
# size: 1Gi
# - name: backup
# mountPath: /backup
# subPath: theSubPath
# accessMode: "ReadWriteOnce"
# size: 2Gi
# storageClass: cheap-storage-class
nodeSelector: {}
affinity: {}
tolerations: []
hostAliases: []
# Use hostAliases to add custom entries to /etc/hosts - mapping IP addresses to hostnames.
# ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
# - ip: "192.168.1.100"
# hostnames:
# - "example.com"
# - "www.example.com"
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
addons:
# Enable running a VPN in the pod to route traffic through a VPN
vpn:
enabled: false
# VPN type: options are openvpn or wireguard
type: openvpn
# OpenVPN specific configuration
openvpn:
image:
repository: dperson/openvpn-client
pullPolicy: IfNotPresent
tag: latest
# Credentials to connect to the VPN Service (used with -a)
auth: # "user;password"
# OR specify an existing secret that contains the credentials. Credentials should be stored
# under the VPN_AUTH key
authSecret: # my-vpn-secret
# WireGuard specific configuration
wireguard:
image:
repository: k8sathome/wireguard
pullPolicy: IfNotPresent
tag: 1.0.20200827
# Set the VPN container securityContext
securityContext:
capabilities:
add:
- NET_ADMIN
- SYS_MODULE
# All variables specified here will be added to the vpn sidecar container
# See the documentation of the VPN image for all config values
env: {}
# TZ: UTC
# Provide a customized vpn configuration file to be used by the VPN.
configFile: # |-
# Some Example Config
# remote greatvpnhost.com 8888
# auth-user-pass
# Cipher AES
# Provide custom up/down scripts that can be used by the vpnConf
scripts:
up: # |-
# #!/bin/bash
# echo "connected" > /shared/vpnstatus
down: # |-
# #!/bin/bash
# echo "disconnected" > /shared/vpnstatus
additionalVolumeMounts: []
# Optionally specify a livenessProbe, e.g. to check if the connection is still
# being protected by the VPN
livenessProbe: {}
# exec:
# command:
# - sh
# - -c
# - if [ $(curl -s https://ipinfo.io/country) == 'US' ]; then exit 0; else exit $?; fi
# initialDelaySeconds: 30
# periodSeconds: 60
# failureThreshold: 1
# If set to true, will deploy a network policy that blocks all outbound
# traffic except traffic specified as allowed
networkPolicy:
enabled: false
# The egress configuration for your network policy, All outbound traffic
# From the pod will be blocked unless specified here. Your cluster must
# have a CNI that supports network policies (Canal, Calico, etc...)
# https://kubernetes.io/docs/concepts/services-networking/network-policies/
# https://github.com/ahmetb/kubernetes-network-policy-recipes
egress:
# - to:
# - ipBlock:
# cidr: 0.0.0.0/0
# ports:
# - port: 53
# protocol: UDP
# - port: 53
# protocol: TCP
# Enable running a code-server container in the pod to access files
codeserver:
enabled: false
image:
repository: codercom/code-server
pullPolicy: IfNotPresent
tag: 3.7.4
# Set any environment variables for code-server here
env: {}
# TZ: UTC
# Set codeserver command line arguments
# consider setting --user-data-dir to a persistent location to preserve code-server setting changes
args:
- --auth
- none
# - --user-data-dir
# - "/config/.vscode"
# Specify a list of volumes that get mounted in the code-server container.
# At least 1 volumeMount is required!
volumeMounts: []
# - name: config
# mountPath: /data/config
# Specify the working dir that will be opened when code-server starts
# If not given, the app will default to the mountpah of the first specified volumeMount
workingDir: ""
service:
enabled: true
type: ClusterIP
# Specify the default port information
port:
port: 12321
name: codeserver
protocol: TCP
targetPort: codeserver
## Specify the nodePort value for the LoadBalancer and NodePort service types.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
##
# nodePort:
## Provide any additional annotations which may be required. This can be used to
## set the LoadBalancer service type to internal only.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
##
annotations: {}
labels: {}
ingress:
enabled: false
nameSuffix: codeserver
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
labels: {}
hosts:
- host: code.chart-example.local
paths:
- path: /
# Ignored if not kubeVersion >= 1.14-0
pathType: Prefix
tls: []
# - secretName: chart-example-tls
# hosts:
# - code.chart-example.local
securityContext:
runAsUser: 0

View File

@@ -1,21 +0,0 @@
apiVersion: v2
appVersion: 3.9.1
description: Perl client used to update dynamic DNS entries for accounts on Dynamic DNS Network Service Providers
name: ddclient
version: 3.0.1
kubeVersion: ">=1.16.0-0"
keywords:
- ddclient
- dns
home: https://github.com/ddclient/ddclient
icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/ddclient-logo.png
sources:
- https://github.com/ddclient/ddclient
- https://hub.docker.com/r/linuxserver/ddclient
maintainers:
- name: billimek
email: jeff@billimek.com
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 3.0.1

View File

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

View File

@@ -1,121 +0,0 @@
# ddclient
![Version: 3.0.1](https://img.shields.io/badge/Version-3.0.1-informational?style=flat-square) ![AppVersion: 3.9.1](https://img.shields.io/badge/AppVersion-3.9.1-informational?style=flat-square)
Perl client used to update dynamic DNS entries for accounts on Dynamic DNS Network Service Providers
**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)**
## Source Code
* <https://github.com/ddclient/ddclient>
* <https://hub.docker.com/r/linuxserver/ddclient>
## Requirements
Kubernetes: `>=1.16.0-0`
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
| https://k8s-at-home.com/charts/ | common | 3.0.1 |
## TL;DR
```console
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update
helm install ddclient k8s-at-home/ddclient
```
## Installing the Chart
To install the chart with the release name `ddclient`
```console
helm install ddclient k8s-at-home/ddclient
```
## Uninstalling the Chart
To uninstall the `ddclient` deployment
```console
helm uninstall ddclient
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
## Configuration
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common).
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install ddclient \
--set env.TZ="America/New York" \
k8s-at-home/ddclient
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install ddclient k8s-at-home/ddclient -f values.yaml
```
## Custom configuration
N/A
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/)
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| config | string | `"# This is the configuration for ddclient\n# Inorder for it to function you need to set it up\n# e.g. this is the config for Cloudflare\nuse=web\nweb=dynamicdns.park-your-domain.com/getip\nprotocol=cloudflare\nssl=yes\nttl=1\nlogin=${CF_EMAIL}\npassword=${CF_GLOBAL_APIKEY}\nzone=${DOMAIN}.${TLD}\n${DOMAIN}.${TLD}\n"` | |
| env | object | `{}` | |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"linuxserver/ddclient"` | |
| image.tag | string | `"version-v3.9.1"` | |
| ingress.enabled | bool | `false` | |
| probes.liveness.enabled | bool | `false` | |
| probes.readiness.enabled | bool | `false` | |
| probes.startup.enabled | bool | `false` | |
| service.enabled | bool | `false` | |
| strategy.type | string | `"Recreate"` | |
## Changelog
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog).
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [1.0.0]
#### Added
- N/A
#### Changed
- N/A
#### Removed
- N/A
[1.0.0]: #1.0.0
## Support
- See the [Wiki](https://github.com/k8s-at-home/charts/wiki)
- Open a [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/charts/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)

View File

@@ -1,145 +0,0 @@
{{- define "custom.repository.organization" -}}
k8s-at-home
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/k8s-at-home/charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://k8s-at-home.com/charts/
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install.tldr" -}}
## TL;DR
```console
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
helm repo update
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstalling the Chart
To uninstall the `{{ template "chart.name" . }}` deployment
```console
helm uninstall {{ template "chart.name" . }}
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
{{- end -}}
{{- define "custom.configuration.readValues" -}}
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common).
{{- end -}}
{{- define "custom.configuration.example.set" -}}
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install {{ template "chart.name" . }} \
--set env.TZ="America/New York" \
{{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.configuration.example.file" -}}
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
```
{{- end -}}
{{- define "custom.valuesSection" -}}
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/)
{{ template "chart.valuesTable" . }}
{{- end -}}
{{- define "custom.support" -}}
## Support
- See the [Wiki](https://github.com/k8s-at-home/charts/wiki)
- Open a [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/charts/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
{{- end -}}
{{ template "chart.header" . }}
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
{{ template "chart.sourcesSection" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install.tldr" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.configuration.header" . }}
{{ template "custom.configuration.readValues" . }}
{{ template "custom.configuration.example.set" . }}
{{ template "custom.configuration.example.file" . }}
{{ template "custom.custom.configuration" . }}
{{ template "custom.valuesSection" . }}
{{ template "custom.changelog" . }}
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}

View File

@@ -1,27 +0,0 @@
{{- define "custom.changelog.header" -}}
## Changelog
{{- end -}}
{{- define "custom.changelog" -}}
{{ template "custom.changelog.header" . }}
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog).
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [1.0.0]
#### Added
- N/A
#### Changed
- N/A
#### Removed
- N/A
[1.0.0]: #1.0.0
{{- end -}}

View File

@@ -1,2 +0,0 @@
service:
enabled: false

View File

@@ -1,47 +0,0 @@
#
# IMPORTANT NOTE
#
# This chart inherits from our common library chart. You can check the default values/options here:
# https://github.com/k8s-at-home/charts/tree/master/charts/common/values.yaml
#
image:
repository: linuxserver/ddclient
pullPolicy: IfNotPresent
tag: version-v3.9.1
strategy:
type: Recreate
env: {}
# TZ:
# PUID:
# PGID:
service:
enabled: false
ingress:
enabled: false
probes:
liveness:
enabled: false
readiness:
enabled: false
startup:
enabled: false
config: |
# This is the configuration for ddclient
# Inorder for it to function you need to set it up
# e.g. this is the config for Cloudflare
use=web
web=dynamicdns.park-your-domain.com/getip
protocol=cloudflare
ssl=yes
ttl=1
login=${CF_EMAIL}
password=${CF_GLOBAL_APIKEY}
zone=${DOMAIN}.${TLD}
${DOMAIN}.${TLD}

View File

@@ -1,17 +0,0 @@
apiVersion: v2
name: deconz
description: A Helm chart for deploying deCONZ
version: 2.0.1
appVersion: 2.05.80
keywords:
- deconz
- home-automation
- zigbee
home: https://github.com/k8s-at-home/charts/tree/master/charts/deconz
icon: https://avatars1.githubusercontent.com/u/4217524?s=400&v=4
sources:
- https://github.com/dresden-elektronik/deconz-rest-plugin
- https://github.com/marthoc/docker-deconz
maintainers:
- name: billimek
email: jeff@billimek.com

View File

@@ -1,82 +0,0 @@
# deconz
![Version: 2.0.1](https://img.shields.io/badge/Version-2.0.1-informational?style=flat-square) ![AppVersion: 2.05.80](https://img.shields.io/badge/AppVersion-2.05.80-informational?style=flat-square)
A Helm chart for deploying deCONZ
**Homepage:** <https://github.com/k8s-at-home/charts/tree/master/charts/deconz>
## Maintainers
| Name | Email | Url |
| ---- | ------ | --- |
| billimek | jeff@billimek.com | |
## Source Code
* <https://github.com/dresden-elektronik/deconz-rest-plugin>
* <https://github.com/marthoc/docker-deconz>
## Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | |
| autoscaling.enabled | bool | `false` | |
| autoscaling.maxReplicas | int | `1` | |
| autoscaling.minReplicas | int | `1` | |
| extraVolumes | list | `[]` | |
| fullnameOverride | string | `""` | |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"marthoc/deconz"` | |
| image.tag | string | `"amd64-2.05.80"` | |
| imagePullSecrets | list | `[]` | |
| ingress.annotations | object | `{}` | |
| ingress.enabled | bool | `false` | |
| ingress.hosts[0].host | string | `"deconz.local"` | |
| ingress.path | string | `"/"` | |
| ingress.tls | list | `[]` | |
| nameOverride | string | `""` | |
| nodeSelector | object | `{}` | |
| persistence.accessMode | string | `"ReadWriteOnce"` | |
| persistence.annotations | object | `{}` | |
| persistence.enabled | bool | `false` | |
| persistence.size | string | `"1Gi"` | |
| podAnnotations | object | `{}` | |
| podSecurityContext | object | `{}` | |
| probes.liveness.enabled | bool | `true` | |
| probes.liveness.failureThreshold | int | `5` | |
| probes.liveness.initialDelaySeconds | int | `30` | |
| probes.liveness.timeoutSeconds | int | `10` | |
| probes.readiness.enabled | bool | `true` | |
| probes.readiness.failureThreshold | int | `5` | |
| probes.readiness.initialDelaySeconds | int | `30` | |
| probes.readiness.timeoutSeconds | int | `10` | |
| probes.startup.enabled | bool | `false` | |
| probes.startup.failureThreshold | int | `30` | |
| probes.startup.periodSeconds | int | `10` | |
| replicaCount | int | `1` | |
| resources | object | `{}` | |
| securityContext.privileged | bool | `true` | |
| service.clusterIP | string | `""` | |
| service.externalIPs | list | `[]` | |
| service.externalTrafficPolicy | string | `"Local"` | |
| service.httpPort | int | `80` | |
| service.loadBalancerIP | string | `""` | |
| service.type | string | `"ClusterIP"` | |
| service.vncPort | int | `5900` | |
| service.websocketPort | int | `443` | |
| serviceAccount.annotations | object | `{}` | |
| serviceAccount.create | bool | `true` | |
| serviceAccount.name | string | `""` | |
| strategyType | string | `"Recreate"` | |
| timezone | string | `"UTC"` | |
| tolerations | list | `[]` | |
| vnc.enabled | bool | `true` | |
| vnc.existingSecret | string | `""` | |
| vnc.password | string | `"changeme"` | |
| zigbeeDevice.enabled | bool | `false` | |
| zigbeeDevice.hostPath | string | `"/dev/ttyUSB1"` | |
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)

View File

@@ -1,22 +0,0 @@
{{- $svcPort := .Values.service.httpPort -}}
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 "deconz.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 "deconz.fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "deconz.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
echo http://$SERVICE_IP:{{ $svcPort }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "deconz.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:{{ $svcPort }}
{{- end }}

View File

@@ -1,114 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "deconz.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 "deconz.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 "deconz.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Common labels
*/}}
{{- define "deconz.labels" -}}
helm.sh/chart: {{ include "deconz.chart" . }}
{{ include "deconz.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
{{/*
Selector labels
*/}}
{{- define "deconz.selectorLabels" -}}
app.kubernetes.io/name: {{ include "deconz.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{/*
Create the name of the service account to use
*/}}
{{- define "deconz.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "deconz.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}
{{/*
Return true if a secret object should be created
*/}}
{{- define "deconz.createSecret" -}}
{{- if .Values.vnc.existingSecret }}
{{- else -}}
{{- true -}}
{{- end -}}
{{- end -}}
{{/*
Get the password secret.
*/}}
{{- define "deconz.secretName" -}}
{{- if .Values.vnc.existingSecret }}
{{- printf "%s" .Values.vnc.existingSecret -}}
{{- else -}}
{{- printf "%s" (include "deconz.fullname" .) -}}
{{- end -}}
{{- end -}}
{{/*
Get the additional volumes
*/}}
{{- define "deconz.extraVolumes" -}}
{{- if .Values.extraVolumes }}
{{- $extraVolumes := .Values.extraVolumes -}}
{{- range $extraVolumes }}
{{- $_ := unset . "mountPath" }}
{{- end }}
{{- toYaml $extraVolumes }}
{{- end }}
{{- end }}
{{/*
Get the additional volumeMounts
*/}}
{{- define "deconz.extraVolumeMounts" -}}
{{- if .Values.extraVolumes }}
{{- $extraVolumeMounts := list -}}
{{- range .Values.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 "deconz.fullname" . }}
labels:
{{- include "deconz.labels" . | nindent 4 }}
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: StatefulSet
name: {{ include "deconz.fullname" . }}
minReplicas: {{ .Values.autoscaling.minReplicas }}
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
{{- end }}

View File

@@ -1,40 +0,0 @@
{{- if .Values.ingress.enabled -}}
{{- $fullName := include "deconz.fullname" . -}}
{{- $ingressPath := .Values.ingress.path -}}
{{- $svcPort := .Values.service.httpPort -}}
{{- 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 "deconz.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:
- path: {{ $ingressPath }}
backend:
serviceName: {{ $fullName }}
servicePort: {{ $svcPort }}
{{- end }}
{{- end }}

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