Compare commits

...

205 Commits

Author SHA1 Message Date
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
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
d3e72ba792 [pyload] CI patch bump (#602) 2021-02-19 14:00:35 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
911ad95340 [docs] Add images 2021-02-19 13:29:00 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
1e36d19870 Update taskfile naming 2021-02-19 09:06:08 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
bf0126122c Add vscode devcontainer / testing setup 2021-02-19 09:05:09 +01:00
Till Skrodzki
b85e9b4827 [pyload] Add /downloads PVC use to pyload chart (#601) 2021-02-18 14:26:18 -05:00
Devin Buhl
9c29315c83 feat: add sources to readmes 2021-02-18 13:19:14 -05:00
ᗪєνιη ᗷυнʟ
32af5c7326 fix: add in contact info 2021-02-18 12:25:10 -05:00
ᗪєνιη ᗷυнʟ
248d6027e6 [workflow] update to chart-releaser v1.2.0 (#599) 2021-02-18 17:15:38 +01:00
ᗪєνιη ᗷυнʟ
1657c203d8 fix: chart-release workflow 2021-02-17 17:54:17 -05:00
ᗪєνιη ᗷυнʟ
181f294aee fix: chart-lint-test workflow 2021-02-17 17:53:55 -05:00
ᗪєνιη ᗷυнʟ
5ba6779f0e Add Helm Docs (#595) 2021-02-17 17:43:56 -05:00
renovate[bot]
94315f07b2 chore(deps): update helm chart common to v3.0.1 (#594)
* chore(deps): update helm chart common to v3.0.1

* Modify kubeVersion

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2021-02-16 11:04:57 +01:00
ᗪєνιη ᗷυнʟ
d81c4b586f [common] 3.0.1 (#591) 2021-02-16 06:58:53 +01:00
Antoine Bertin
a4b4eee806 [oauth2-proxy] add support for ingressClassName (#592) 2021-02-15 18:17:57 -05:00
charlie-haley
bb810f947a [omada-controller] - Add chart (#588) 2021-02-15 15:47:16 -05:00
ᗪєνιη ᗷυнʟ
951cdba374 [actions] remove updating timestamps in index.yaml (#585)
* actions: remove updating timestamps

* Update charts-release.yaml
2021-02-14 17:13:55 +01:00
Ryan Turner
d297f8b474 chore: fix chart home URL after it was missed (#583) 2021-02-13 19:29:16 -05:00
ᗪєνιη ᗷυнʟ
777c2ebcf3 bump charts to common v3 (#582) 2021-02-13 18:46:58 -05:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
edf66a746e [common] v3.0.0 (#576)
* [common] Modify default probe settings

* Small CHANGELOG update

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

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

* bump version after rebase from master
2021-02-06 11:49:42 -05:00
David Luong
a9218cd798 Allow service port to define captive portal port in deployment like gui and controller service (#557) 2021-02-06 08:33:09 -05:00
David Luong
f43d3ab7e7 Fixed unifi chart breaking from range restriction value on captive ingress (#555) 2021-02-05 20:01:32 -05:00
renovate[bot]
607fb8a01d Update external patch dep Helm releases (#526)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-05 15:21:00 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
15eb4e4e2b [statping] Bump postgresql dependency (#552)
* [statping] Bump postgresql dependency
2021-02-05 15:10:40 +01:00
renovate[bot]
974de8e654 Update Helm chart common to v2.4.0 (#546) 2021-02-05 08:59:30 -05:00
Kjeld Schouten-Lebbing
711b2f332d Remove DashMachine (#548)
Signed-off-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>
2021-02-05 14:27:02 +01:00
David Luong
cef461b7f2 Added conditional, if https svc for captive portal defined, default to https svc (#540) 2021-02-05 13:45:15 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
3d64b1c07a [common] Update to 2.4.0 (#550)
* [common] Add envValueFrom

* Add unit tests

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

Signed-off-by: Ingvarr Zhmakin

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

* fix: add resources to values

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

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

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

* Add support for template env vars

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

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

* [common] new pod properties

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

* Moved statefulset chart-test to unit test

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

* Take care of setting envTpl if no env set

* Add Test cases

* Moved to unit tests

* Update changelog, add missing fields to values

* common-test doesn't need a bump

* Relocate end statement

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

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

* Update lazylibrarian to latest

- appVersion is still 1.7.2

Signed-off-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>
2021-02-04 12:15:19 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
3bd8295151 [gonic] Bump to make CI happy again 2021-02-04 08:27:53 +01:00
ᗪєνιη ᗷυнʟ
38efefa16b [gonic] update to latest gonic version (#541) 2021-02-04 08:10:57 +01:00
Eagleman7
c522152e20 [protonmail-bridge] fix documentation formatting (#535)
* fix documentation formatting
2021-02-03 19:54:50 +01:00
Eagleman7
beee21811a protonmail-bridge (#534) 2021-02-02 20:27:06 -05:00
Mike K
1775d51d22 [Paperless] - Update chart to use the 'Paperless-ng' fork (#525) 2021-02-02 08:35:46 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
a52f214568 [frigate] Remove chart (#531) 2021-02-01 19:49:13 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
269e6e6539 [frigate] Deprecate chart (#528)
* [frigate] Deprecate chart

* Fix linter stuff

* More CI fixes

* [frigate] Update
2021-02-01 13:37:39 -05:00
ᗪєνιη ᗷυнʟ
a885f84f21 [home-assistant] bump chart version (#523) 2021-01-28 14:55:41 -05:00
Ryan Holt
dca725c103 reintroduce helmignore (#522)
Signed-off-by: Ryan Holt <ryan@ryanholt.net>
2021-01-27 10:33:15 -05:00
Ryan Holt
8dcc5b95ca [teedy] Add chart teedy (#521)
Signed-off-by: Ryan Holt <ryan@ryanholt.net>
2021-01-27 16:14:01 +01:00
Ryan Holt
a6044906b8 create new branch prior to creating a chart (#520) 2021-01-27 09:02:10 -05:00
Mike Splain
acfb645810 [speedtest-prometheus] - add podAnnotations (#517)
Signed-off-by: Mike Splain <mike.splain@gmail.com>
2021-01-26 18:01:21 -05:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
34bbd3e3da [template] Move template chart to outer folder (#518)
* [template] Move template chart to outer folder

* Revert workflow change
2021-01-26 20:31:43 +01:00
Bruno Adele
5e86ce93b7 Add a contributing helper, for helping creating new chart (#508)
Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>
2021-01-26 13:17:14 -05:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
1549e9056f [home-assistant] Update default image (#516) 2021-01-26 11:19:27 -05:00
Pierre D
efcde7f81b Added documentation for rtorrent-flood (#412)
Co-authored-by: pierre <pierre.d@comet.co>
Co-authored-by: Jeff Billimek <jeff@billimek.com>
2021-01-26 08:19:17 +01:00
Brandon Ward
fc49382e94 [home-assistant] - Upgrade Home Assistant Version (#514) 2021-01-25 18:51:38 -05:00
ᗪєνιη ᗷυнʟ
7fc6b440e6 [unpackerr] new chart (#512)
* [unpackerr] new chart]

* forgot to save this file

* Update values.yaml
2021-01-25 08:38:56 +01:00
ᗪєνιη ᗷυнʟ
5e4e7e8143 gonic new chart (#509) 2021-01-24 14:37:51 +01:00
stretched
bbaaeb619f [traefik-forward-auth] Fix artifact hub links in README.md (#503) 2021-01-22 11:41:47 -05:00
ᗪєνιη ᗷυнʟ
7082ae2789 fix: update stale config 2021-01-22 11:07:54 -05:00
Ryan Holt
14573b6a24 initial add for xbackbone (#507) 2021-01-21 15:47:16 -05:00
ᗪєνιη ᗷυнʟ
5d1fa55b9c [ombi] remove mariadb dep (#506)
* ombi: remove mariadb dep

* remove mariadb from values
2021-01-21 15:46:19 -05:00
Marco Kilchhofer
cb1d6b70dc [plex] Add ability to disable and customize probes (#505) 2021-01-21 13:23:16 -05:00
ᗪєνιη ᗷυнʟ
667951e6e6 [blocky] refactor config and bump version (#500)
Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <6213398+bjw-s@users.noreply.github.com>
2021-01-21 12:23:55 -05:00
Marco Kilchhofer
4c9639d125 [plex] Add ability to define volume in extraMounts (#504) 2021-01-21 12:22:25 -05:00
ᗪєνιη ᗷυнʟ
31dfcaa92b [flaresolverr] new chart (#502) 2021-01-18 16:29:44 -05:00
ᗪєνιη ᗷυнʟ
f319611b09 [overseerr] new chart (#501) 2021-01-18 16:25:21 -05:00
Aleksei Bavshin
e928c2a4bd [bitwardenrs] Update to 1.18.0 and add some missing features (#346) 2021-01-17 19:33:15 -05:00
stretched
8a5bd34f6a [powerdns] Webserver container port, and startup script fixes (#498) 2021-01-17 19:24:17 -05:00
ᗪєνιη ᗷυнʟ
af7c2fcfe8 [oauth2-proxy] change image to new home and bump image version (#497) 2021-01-14 18:29:59 -05:00
Stephan
7f01d91432 [oauth2-proxy] Add support for topologySpreadConstraints (#496)
Signed-off-by: Stephan Austermühle <au@hcsd.de>
2021-01-14 15:57:07 -05:00
CuBiC
36dd871e05 fix!: bumb version for previous breaking changes (#495) 2021-01-13 18:27:45 +01:00
Ingvarr Zhmakin
d7040bcd89 [zigbee2mqtt] Safer default values, improved configuration (#494)
Signed-off-by: Ingvarr Zhmakin
2021-01-13 16:17:30 +01:00
Ingvarr Zhmakin
0dbcd6c6e9 [zwavejs2mqtt] Safer default values.yaml (#493)
Signed-off-by: Ingvarr Zhmakin
2021-01-13 15:21:50 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
cceecb36fb [bitwardenrs] Bump patch to please CI 2021-01-13 08:17:08 +01:00
Thomas John Wesolowski
3941849ffe [bitwardenrs] Add option to change web port (#492)
* Add option to change web port

Signed-off-by: TJ Wesolowski <wojoinc@pm.me>

* Add option to statefulset

Signed-off-by: TJ Wesolowski <wojoinc@pm.me>
2021-01-13 08:14:23 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
f26c398dc0 Update README.md 2021-01-11 20:46:23 +01:00
Igor Kapkov
e463c24309 Fix icantbelieveitsnotvaletudo link in readme (#484)
Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>
2021-01-11 07:40:21 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
79a6e784ed Update CI configuration (#487) 2021-01-10 20:29:16 -05:00
Ingvarr Zhmakin
f004996c56 [Mosquitto] upgrade to 2.0.4 (#485) 2021-01-10 11:38:04 -05:00
ᗪєνιη ᗷυнʟ
adf03889a4 [zwavejs2mqtt] new chart (#483)
Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <6213398+bjw-s@users.noreply.github.com>
2021-01-08 10:34:54 -05:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
72f2dedacd [zwave2mqtt] Custom probes (#482)
* [zwave2mqtt] Custom probes
2021-01-08 16:22:53 +01:00
renovate[bot]
9749081d70 Update Helm chart common to v2.2.1 (#481)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-08 15:38:17 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
61028541f1 [common] v2.2.1 (#480)
* [common] v2.2.1
2021-01-08 15:21:03 +01:00
auricom
28118894f7 add recipes (#479) 2021-01-08 08:59:56 -05:00
Michael Goldstein
27b095e12d [Mosquitto] Update Mosquitto to support configurable ports (#475)
Co-authored-by: Michael Goldstein <michael.goldstein@digitalreasoning.com>
2021-01-08 08:26:32 -05:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
ebd7aa6f0c [samba] New chart (#477) 2021-01-07 14:10:50 -05:00
Mike K
bb34df9273 Feature/tvheadend - HTSP port (#476)
* New chart

* trigger workflow

* Update README.md

* Update common.yaml

* Use default service name

* Add htsp port

* bump
2021-01-07 18:17:20 +01:00
ᗪєνιη ᗷυнʟ
871d50ebd5 [meta] update readme (#474)
* [meta] update readme

* Update README.md

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

Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <6213398+bjw-s@users.noreply.github.com>
2021-01-06 11:01:45 -05:00
renovate[bot]
8bf006814a Update Helm chart common to v2.2.0 (#473)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-05 20:24:47 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
bf0ec02b1e Update renovate.json5 2021-01-05 19:20:22 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
eeba9db503 Update renovate.json5 2021-01-05 19:19:02 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
17d0825d3e Update renovate.json5 2021-01-05 19:16:52 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
52561bd15d [common] version 2.2.0 (#443)
* Add code-server env to values

* Bump chart version

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

* add ingressclassname

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

* Allow disabling of service links

* Update changelog

* Update changelog

* Set better default for targetPort

* Allow for different container / service ports

* Fix linting error

* Add unit tests

* Add unit tests

* Add unit tests

* Service unit tests

* Split CI jobs

* Testing CI

* Testing CI

* Testing CI

* Testing CI

* Rename test file to match source

* Fix newline

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

* Dang trailing space! Makes lint happy

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

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

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

* [statping] Revert dependency update

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

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

* Update values for latest mariadb chart

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

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

* Bump chart version

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

* Bump chart version

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

* Feedback from PR

* Additional message around early-dev project
2020-12-28 15:14:30 -05:00
Mike K
157e898ed0 [neolink] New chart contribution (#434)
* Neolink chart

* .

* Revert

* Heh

* Comment out sample config

* Revert last commit
2020-12-27 11:36:48 -05:00
Mike K
0e6c5c3617 Tweak readme (#435) 2020-12-27 07:23:36 -05:00
dza89
144350e4c9 Remove /metrics from probes (#433)
Signed-off-by: Daan <dhapotter@gmail.com>
2020-12-25 15:12:35 -05:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
1d0cce4146 [network-ups-tools] New chart (#431) 2020-12-24 06:51:18 -05:00
ᗪєνιη ᗷυнʟ
7358653626 [home-assistant] allow setting a base64-encoded SSH private key (#430)
* [home-assistant] allow setting a base64-encoded SSH private key

* [home-assistant] allow setting a base64-encoded SSH private key
2020-12-23 16:46:42 +01:00
ᗪєνιη ᗷυнʟ
b290bcd0a1 [home-assistant] allow setting a base64-encoded SSH private key (#429)
Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <6213398+bjw-s@users.noreply.github.com>
2020-12-23 09:47:01 -05:00
Ryan Holt
33b54fc068 Merge pull request #427 from auricom/searx
[searx] new chart
2020-12-22 18:42:34 -05:00
auricom
c7d19f3439 lint 2020-12-22 23:13:44 +01:00
auricom
2cd8ee95b3 Merge branch 'master' into searx 2020-12-22 23:13:11 +01:00
auricom
59cfa8911d fixes 2020-12-22 23:11:03 +01:00
auricom
80b63716e7 lint 2020-12-22 14:12:13 +01:00
auricom
de9e78afa8 lint 2020-12-22 14:09:41 +01:00
auricom
afe95bbb01 Merge branch 'master' into searx 2020-12-21 14:24:08 +01:00
auricom
d198281248 add searx 2020-12-21 14:16:31 +01:00
1521 changed files with 46987 additions and 15084 deletions

87
.all-contributorsrc Normal file
View File

@@ -0,0 +1,87 @@
{
"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"
]
}
],
"contributorsPerLine": 7,
"projectName": "charts",
"projectOwner": "k8s-at-home",
"repoType": "github",
"repoHost": "https://github.com",
"skipCi": true
}

26
.devcontainer/Dockerfile Normal file
View File

@@ -0,0 +1,26 @@
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.154.0/containers/ruby/.devcontainer/base.Dockerfile
# [Choice] Ruby version: 2, 2.7, 2.6, 2.5
ARG VARIANT="2"
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 - \
&& \
bundle config set system 'true' \
&& bundle install --gemfile /tmp/Gemfile \
&& rm /tmp/Gemfile

View File

@@ -0,0 +1,33 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.154.0/containers/ruby
{
"name": "Ruby",
"build": {
"context": "..",
"dockerfile": "Dockerfile",
"args": {
// Update 'VARIANT' to pick a Ruby version: 2, 2.7, 2.6, 2.5
"VARIANT": "2.7",
}
},
// Set *default* container specific settings.json values on container create.
"settings": {
"terminal.integrated.shell.linux": "/bin/bash"
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"ms-kubernetes-tools.vscode-kubernetes-tools",
"rebornix.Ruby"
],
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "export RUBYJQ_USE_SYSTEM_LIBRARIES=1 && bundle install",
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode"
}

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

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

@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- 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: ''
---

View File

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

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

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

View File

@@ -34,7 +34,7 @@ Also don't be worried if the request is closed or not integrated sometimes our p
**Checklist** <!-- [Place an '[X]' (no spaces) in all applicable fields. Please remove unrelated fields.] -->
- [ ] Chart version bumped in `Chart.yaml` according to [semver](http://semver.org/).
- [ ] Title of the PR starts with chart name (e.g. `[home-assistant]`)
- [ ] Chart is using our [common](https://github.com/k8s-at-home/charts/tree/master/charts/common) library as a dependency.
- [ ] (optional) Chart is using our [common](https://github.com/k8s-at-home/charts/tree/master/charts/common) library as a dependency.
- [ ] (optional) Variables are documented in the README.md
<!-- Keep in mind that if you are submitting a new chart, try to use our [common](https://github.com/k8s-at-home/charts/tree/master/charts/common) library as a dependency. This will help maintaining charts here and keep them consistent between each other -->

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

11
.github/ct-lint.yaml vendored Normal file
View File

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

11
.github/ct.yaml vendored
View File

@@ -1,11 +0,0 @@
remote: origin
target-branch: master
helm-extra-args: --timeout 600s
chart-dirs:
- charts
excluded-charts:
- common
- common-test
chart-repos:
- bitnami=https://charts.bitnami.com/bitnami
- k8s-at-home=https://k8s-at-home.com/charts

44
.github/stale.yml vendored
View File

@@ -1,18 +1,32 @@
daysUntilStale: 60
daysUntilClose: 7
# Configuration for probot-stale - https://github.com/probot/stale
# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 45
# Number of days of inactivity before a stale Issue or Pull Request is closed.
daysUntilClose: 5
# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
exemptLabels:
- pinned
staleLabel: lifecycle/stale
pulls:
markComment: >
This pull request has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
- on-hold
- pinned
# Label to use when marking as stale
staleLabel: stale
issues:
# Comment to post when marking as stale. Set to `false` to disable
markComment: >
This issue request has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
closeComment: false
unmarkComment: >
/remove-lifecycle stale
This Issue has been automatically marked as "stale" because it has not had recent activity (for 45 days). It will be closed if no further activity occurs. Thanks for the feedback.
# Comment to post when closing a stale Issue or Pull Request.
closeComment: >
Due to the lack of activity in the last 5 days since it was marked as "stale", we proceed to close this Issue. Do not hesitate to reopen it later if necessary.
pulls:
# Comment to post when marking as stale. Set to `false` to disable
markComment: >
This Pull Request has been automatically marked as "stale" because it has not had recent activity (for 45 days). It will be closed if no further activity occurs. Thank you for your contribution.
# Comment to post when closing a stale Issue or Pull Request.
closeComment: >
Due to the lack of activity in the last 5 days since it was marked as "stale", we proceed to close this Pull Request. Do not hesitate to reopen it later if necessary.
# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 30

48
.github/workflows/charts-helm-docs.yaml vendored Normal file
View File

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

259
.github/workflows/charts-lint-test.yaml vendored Normal file
View File

@@ -0,0 +1,259 @@
name: "Charts: Lint and test"
on:
pull_request:
paths:
- 'charts/**'
- '!charts/**/README.md'
- '!charts/**/README.md.gotmpl'
- '!charts/**/README_CHANGELOG.md.gotmpl'
- '!charts/**/README_CONFIG.md.gotmpl'
jobs:
changes-lint:
if: "!contains(github.event.head_commit.message, '[ci-skip]')"
name: Detect changes for linting
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-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
with:
fetch-depth: 0
- name: Install Helm
uses: azure/setup-helm@v1
with:
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:
python-version: 3.7
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.0.1
- name: Run chart-testing (lint)
id: lint
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: ${{ needs.lint.result != 'success' }}
run: exit 1
unittest:
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
with:
fetch-depth: 0
- name: Install Dev tools
run: sudo apt-get update && sudo apt-get install -y jq libjq-dev
- name: Install Helm
uses: azure/setup-helm@v1
with:
version: v3.5.3
- name: Install Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7
- name: Install dependencies
env:
RUBYJQ_USE_SYSTEM_LIBRARIES: 1
run: |
bundle install
- name: Run tests
run: |
bundle exec m -r ./test/
install:
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
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: Set up chart-testing
uses: helm/chart-testing-action@v2.0.1
- 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-install.yaml --charts ${{ matrix.chart }}
# 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: ${{ needs.install.result != 'success' }}
run: exit 1

61
.github/workflows/charts-release.yaml vendored Normal file
View File

@@ -0,0 +1,61 @@
name: "Charts: Release"
on:
workflow_dispatch:
push:
branches:
- master
paths:
- 'charts/**'
- '!charts/**/README.md'
- '!charts/**/README.md.gotmpl'
- '!charts/**/README_CHANGELOG.md.gotmpl'
- '!charts/**/README_CONFIG.md.gotmpl'
jobs:
pre-release:
if: "!contains(github.event.head_commit.message, '[ci-skip]')"
runs-on: ubuntu-20.04
timeout-minutes: 5
steps:
- name: Block concurrent jobs
uses: softprops/turnstyle@v1
with:
continue-after-seconds: 180
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
release:
if: "!contains(github.event.head_commit.message, '[ci-skip]')"
needs: pre-release
runs-on: ubuntu-20.04
steps:
- name: Block concurrent jobs
uses: softprops/turnstyle@v1
with:
continue-after-seconds: 180
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Configure Git
run: |
git config user.name "$GITHUB_ACTOR"
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
- name: Install Helm
uses: azure/setup-helm@v1
with:
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'

View File

@@ -1,55 +0,0 @@
name: Lint and Test Charts
on: pull_request
jobs:
lint-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Install Helm
uses: azure/setup-helm@v1
with:
version: v3.4.0
- uses: actions/setup-python@v2
with:
python-version: 3.7
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.0.1
- name: 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'
- name: Create kind cluster
uses: helm/kind-action@v1.1.0
if: steps.list-changed.outputs.changed == 'true' || steps.list-changed.outputs.common == 'true'
- name: Run chart-testing (install)
run: ct install --config .github/ct.yaml
if: steps.list-changed.outputs.changed == 'true'
- name: Run chart-testing (common-test)
run: |
ct install --config .github/ct.yaml --charts 'charts/common-test'
if: steps.list-changed.outputs.common == 'true'

View File

@@ -1,89 +0,0 @@
name: Release Charts
on:
push:
branches:
- master
paths:
- "charts/**"
jobs:
pre-release:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Block concurrent jobs
uses: softprops/turnstyle@v1
with:
continue-after-seconds: 180
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
release:
needs: pre-release
runs-on: ubuntu-latest
steps:
- name: Block concurrent jobs
uses: softprops/turnstyle@v1
with:
continue-after-seconds: 180
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Configure Git
run: |
git config user.name "$GITHUB_ACTOR"
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
- name: Install Helm
uses: azure/setup-helm@v1
with:
version: v3.4.0
- name: Run chart-releaser
uses: helm/chart-releaser-action@v1.1.0
with:
charts_repo_url: https://k8s-at-home.com/charts/
env:
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
# Update the generated timestamp in the index.yaml
# needed until https://github.com/helm/chart-releaser/issues/90
# or helm/chart-releaser-action supports this
post-release:
needs: release
runs-on: ubuntu-latest
steps:
- name: Block concurrent jobs
uses: softprops/turnstyle@v1
with:
continue-after-seconds: 180
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Checkout
uses: actions/checkout@v2
with:
ref: "gh-pages"
fetch-depth: 0
- name: Configure Git
run: |
git config user.name "$GITHUB_ACTOR"
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
- name: Commit and push timestamp updates
run: |
if [[ -f index.yaml ]]; then
git pull
export generated_date=$(date --utc +%FT%T.%9NZ)
sed -i -e "s/^generated:.*/generated: \"$generated_date\"/" index.yaml
git add index.yaml
git commit -sm "Update generated timestamp [ci-skip]" || exit 0
git push
fi

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'

18
.gitignore vendored
View File

@@ -1,4 +1,16 @@
.env
# Developer dependencies
.bin
# IDE resources
.vscode
.idea
charts/*/Chart.lock
charts/*/charts
.devcontainer/
# Helm resources
charts/**/Chart.lock
charts/**/charts
# Other rsources
.env
.envrc
Gemfile.lock

1
.helmdocsignore Normal file
View File

@@ -0,0 +1 @@
charts/uptimerobot

View File

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

View File

@@ -0,0 +1,57 @@
---
version: '3'
tasks:
create:
desc: create new chart
cmds:
- git checkout -b add-chart-{{.CHART}}
- cp -r {{.GIT_ROOT}}/templates/chart {{.GIT_ROOT}}/charts/{{.CHART}}
- ./.bin/go-replace -s '${CHARTNAME}' -r "{{.CHART}}" --path={{.GIT_ROOT}}/charts/{{.CHART}} --path-pattern='*.*'
- task: dependency
- echo "Congratulations, charts/{{.CHART}} successfully generated, you can now edit chart informations ( Chart.yaml and values.yaml )"
status:
- test -d {{.GIT_ROOT}}/charts/{{.CHART}}
deps:
- check-chart
silent: true
dependency:
dir: "{{.GIT_ROOT}}/charts/{{.CHART}}"
cmds:
- 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:
- helm lint
deps:
- dependency
- check-chart
ct-lint:
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-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:
- test ! -z "{{.CHART}}" || (echo "Please define CHART parameter"; exit 1)
silent: true

View File

@@ -0,0 +1,41 @@
---
version: '3'
# Todo: add all darwin requirements
env:
URL_GOREPLACE: https://github.com/webdevops/go-replace/releases/download/1.1.2/gr-64-osx
tasks:
install:
desc: Install all developer dependencies
deps:
- distrib-requirements
- go-replace
distrib-requirements:
desc: Check needed distribution packages
cmds:
- task deps:need BIN=wget
- task deps:need BIN=python3
- task deps:need BIN=docker
silent: true
need:
desc: Check needed binary is present
cmds:
- type {{.BIN}} 2>&1 >/dev/null || (echo "Please install {{.BIN}}"; exit 1)
silent: true
go-replace:
desc: Install go-replace
cmds:
- echo "Installing go-replace"
- mkdir -p ".bin"
- wget -q "https://github.com/webdevops/go-replace/releases/download/1.1.2/gr-64-osx" -O .bin/go-replace && chmod +x .bin/go-replace
status:
- test -e .bin/go-replace
deps:
- distrib-requirements
silent: true

View File

@@ -0,0 +1,64 @@
---
version: '3'
env:
URL_GOREPLACE: https://github.com/webdevops/go-replace/releases/download/1.1.2/gr-64-linux
URL_HELM: https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
tasks:
install:
desc: Install all developer dependencies
deps:
- distrib-requirements
- helm
- pre-commit
- go-replace
distrib-requirements:
desc: Check needed distribution packages
cmds:
- task deps:need BIN=wget
- task deps:need BIN=python3
- task deps:need BIN=docker
silent: true
need:
desc: Check needed binary is present
cmds:
- type {{.BIN}} 2>&1 >/dev/null || (echo "Please install {{.BIN}}"; exit 1)
silent: true
helm:
desc: Install helm client
cmds:
- echo "Installing helm"
- wget -q -O - "$URL_HELM" | USE_SUDO=false HELM_INSTALL_DIR=.bin bash
status:
- test -e .bin/helm
deps:
- distrib-requirements
silent: true
pre-commit:
desc: Install a precommit pip package
cmds:
- echo "Installing pre-commit"
- python3 -m pip install --user pre-commit
status:
- type pre-commit
deps:
- distrib-requirements
silent: true
go-replace:
desc: Install go-replace
cmds:
- echo "Installing go-replace"
- mkdir -p ".bin"
- wget -q "$URL_GOREPLACE" -O .bin/go-replace && chmod +x .bin/go-replace
status:
- test -e .bin/go-replace
deps:
- distrib-requirements
silent: true

View File

@@ -0,0 +1,10 @@
---
version: '3'
# Todo: add windows requirements
tasks:
default:
cmds:
- task -l
silent: true

5
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,5 @@
{
"recommendations": [
"ms-vscode-remote.remote-containers"
]
}

34
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,34 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "UnitTest - active spec file only",
"type": "Ruby",
"request": "launch",
"cwd": "${workspaceRoot}",
"program": "/usr/local/bin/bundle",
"args": [
"exec",
"m",
"-r",
"${relativeFile}"
]
},
{
"name": "UnitTest - all spec files",
"type": "Ruby",
"request": "launch",
"cwd": "${workspaceRoot}",
"program": "/usr/local/bin/bundle",
"args": [
"exec",
"m",
"-r",
"${workspaceFolder}/test/charts"
]
}
]
}

132
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,132 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
Devin buhl <devin.kray@gmail.com> or Jeff Billimek <jeff@billimek.com>.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
[https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0].
Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available
at [https://www.contributor-covenant.org/translations][translations].
[homepage]: https://www.contributor-covenant.org
[v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations

View File

@@ -52,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.

12
Gemfile Normal file
View File

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

View File

@@ -1,9 +1,14 @@
# 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-8-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
[![docs](https://img.shields.io/badge/docs-rtfm-yellow?logo=gitbook&logoColor=white&style=for-the-badge)](https://github.com/pre-commit/pre-commit)
[![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)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![](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)
## Usage
[Helm](https://helm.sh) must be installed to use the charts.
@@ -17,9 +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
## Support
See [artifact hub](https://artifacthub.io/packages/search?org=k8s-at-home) for a complete list.
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
@@ -28,3 +37,32 @@ 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/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>
<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="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="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>
</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!

16
Taskfile.yml Normal file
View File

@@ -0,0 +1,16 @@
---
version: '3'
vars:
GIT_ROOT:
sh: git rev-parse --show-toplevel
includes:
deps: .taskfiles/Taskfile_{{OS}}.yml
chart: .taskfiles/Taskfile_chart.yml
tasks:
default:
cmds:
- task -l
silent: true

View File

@@ -1,72 +0,0 @@
{{- define "repository.organization" -}}
k8s-at-home
{{- end -}}
{{- define "repository.url" -}}
https://github.com/k8s-at-home/charts
{{- end -}}
{{- define "helm.url" -}}
https://k8s-at-home.com/charts/
{{- end -}}
{{- define "helm.path" -}}
{{ template "repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "badge.artifactHub" -}}
[![ArtifactHub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/{{ template "chart.name" . }})](https://artifacthub.io/packages/helm/{{ template "chart.name" . }})
{{- end -}}
{{- define "description.multiarch" -}}
The default values and container images used in this chart will allow for running in a multi-arch cluster (amd64, arm, arm64)
{{- end -}}
{{- define "install.tldr" -}}
## TL;DR
```console
$ helm repo add {{ template "repository.organization" . }} {{ template "helm.url" . }}
$ helm install {{ template "helm.path" . }}
```
{{- end -}}
{{- define "install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`:
```console
helm install {{ template "chart.name" . }} {{ template "helm.path" . }}
```
{{- end -}}
{{- define "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 and deletes the release.
{{- end -}}
{{- define "configuration.header" -}}
## Configuration
{{- end -}}
{{- define "configuration.readValues" -}}
Read through the [values.yaml]({{ template "repository.url" . }}/blob/master/charts/{{ template "chart.name" . }}/values.yaml)
file. It has several commented out suggested values.
{{- end -}}
{{- define "configuration.example.set" -}}
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console
helm install {{ template "chart.name" . }} \
--set env.TZ="America/New York" \
{{ template "helm.path" . }}
```
{{- end -}}
{{- define "configuration.example.file" -}}
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
For example,
```console
helm install {{ template "chart.name" . }} {{ template "helm.path" . }} --values values.yaml
```
{{- end -}}

View File

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

View File

@@ -1,64 +0,0 @@
# DNS proxy as ad-blocker for local network
This is an opinionated helm chart for [adguard-home](https://github.com/AdguardTeam/AdGuardHome)
The default values and container images used in this chart will allow for running in a multi-arch cluster (amd64, arm, arm64)
## TL;DR
```shell
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm install k8s-at-home/adguard-home
```
## Installing the Chart
To install the chart with the release name `my-release`:
```console
helm install --name adguard-home k8s-at-home/adguard-home
```
## Uninstalling the Chart
To uninstall/delete the `adguard-home` deployment:
```console
helm delete adguard-home --purge
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
Read through the [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/adguard-home/values.yaml) file. It has several commented out suggested values.
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console
helm install --name adguard-home \
--set timeZone="America/New York" \
k8s-at-home/adguard-home
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
```console
helm install --name adguard-home -f values.yaml k8s-at-home/adguard-home
```
#### Helm force upgrade
```sh
helm upgrade --force
```
#### Delete the existing `adguard-home` services prior to upgrading
```sh
kubectl delete svc/adguard-home
```
#### Remove the existing adguard-home chart first
This is the 'easiest' approach, but will incur downtime which can be problematic if you rely on adguard-home for DNS

View File

@@ -1,21 +0,0 @@
apiVersion: v2
appVersion: 0.4.2
description: Bot for Prometheus Alertmanager
name: alertmanager-bot
version: 2.2.1
keywords:
- alertmanager
- telegram
- bot
- alerting
home: https://github.com/k8s-at-home/charts/tree/master/charts/alertmanager-bot
sources:
- https://hub.docker.com/r/metalmatze/alertmanager-bot
- https://github.com/metalmatze/alertmanager-bot
maintainers:
- name: billimek
email: jeff@billimek.com
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.1.1

View File

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

View File

@@ -1,61 +0,0 @@
# alertmanager-bot
This is a helm chart for [alertmanager-bot](https://github.com/metalmatze/alertmanager-bot).
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
## TL;DR;
```shell
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
$ helm install k8s-at-home/alertmanager-bot
```
## Installing the Chart
To install the chart with the release name `my-release`:
```console
helm install --name my-release k8s-at-home/alertmanager-bot
```
## Uninstalling the Chart
To uninstall/delete the `my-release` deployment:
```console
helm delete my-release --purge
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
Read through the charts [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/alertmanager-bot/values.yaml)
file. It has several commented out suggested values.
Additionally you can take a look at the common library [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/common/values.yaml) for more (advanced) configuration options.
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console
helm install alertmanager-bot \
--set env.TZ="America/New_York" \
k8s-at-home/alertmanager-bot
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
chart. For example,
```console
helm install alertmanager-bot k8s-at-home/alertmanager-bot --values values.yaml
```
```yaml
image:
tag: ...
```
---
**NOTE**
If you get
```console
Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...`
```
it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`.

View File

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

View File

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

View File

@@ -1,24 +0,0 @@
apiVersion: v2
appVersion: v0.9.0.5
description: Bazarr is a companion application to Sonarr and Radarr. It manages and downloads subtitles based on your requirements
name: bazarr
version: 5.2.1
keywords:
- bazarr
- radarr
- sonarr
- subtitles
- usenet
- torrent
home: https://github.com/k8s-at-home/charts/tree/master/charts/bazarr
icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/bazarr.png
sources:
- https://hub.docker.com/r/linuxserver/bazarr/
- https://github.com/morpheus65535/bazarr
maintainers:
- name: billimek
email: jeff@billimek.com
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.1.1

View File

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

View File

@@ -1,78 +0,0 @@
# Bazarr
This is a helm chart for [Bazarr](https://github.com/morpheus65535/bazarr).
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
## TL;DR;
```shell
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
$ helm install k8s-at-home/bazarr
```
## Installing the Chart
To install the chart with the release name `my-release`:
```console
helm install --name my-release k8s-at-home/bazarr
```
## Uninstalling the Chart
To uninstall/delete the `my-release` deployment:
```console
helm delete my-release --purge
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
Read through the charts [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/bazarr/values.yaml)
file. It has several commented out suggested values.
Additionally you can take a look at the common library [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/common/values.yaml) for more (advanced) configuration options.
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console
helm install bazarr \
--set env.TZ="America/New_York" \
k8s-at-home/bazarr
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
chart. For example,
```console
helm install bazarr k8s-at-home/bazarr --values values.yaml
```
```yaml
image:
tag: ...
```
---
**NOTE**
If you get
```console
Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...`
```
it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`.
---
## Upgrading an existing Release to a new major version
A major chart version change (like 4.0.1 -> 5.0.0) indicates that there is an incompatible breaking change potentially needing manual actions.
### Upgrading from 3.x.x to 4.x.x
Due to migrating to a centralized common library some values in `values.yaml` have changed.
Examples:
* `service.port` has been moved to `service.port.port`.
* `persistence.type` has been moved to `controllerType`.
Refer to the library values.yaml for more configuration options.

View File

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

View File

@@ -1,48 +0,0 @@
# Unofficial Bitwarden compatible server written in Rust
This is an opinionated helm chart for [bitwarden_rs](https://github.com/dani-garcia/bitwarden_rs)
The default values and container images used in this chart will allow for running in a multi-arch cluster (amd64, arm, arm64)
## TL;DR
```console
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm install k8s-at-home/bitwardenrs
```
## Installing the Chart
To install the chart with the release name `bitwarden`:
```console
helm install bitwarden k8s-at-home/bitwardenrs
```
## Uninstalling the Chart
To uninstall/delete the `bitwarden` deployment:
```console
helm uninstall bitwarden
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
Read through the [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/bitwardenrs/values.yaml) file. It has several commented out suggested values.
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console
helm install bitwarden \
--set timeZone="America/New York" \
k8s-at-home/bitwardenrs
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
```console
helm install bitwarden k8s-at-home/bitwardenrs --values values.yaml
```

View File

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

View File

@@ -1,74 +0,0 @@
# DNS proxy as ad-blocker for local network
This is an opinionated helm chart for [blocky](https://github.com/0xERR0R/blocky)
The default values and container images used in this chart will allow for running in a multi-arch cluster (amd64, arm, arm64)
## TL;DR
```shell
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm install k8s-at-home/blocky
```
## Installing the Chart
To install the chart with the release name `my-release`:
```console
helm install --name blocky k8s-at-home/blocky
```
## Uninstalling the Chart
To uninstall/delete the `blocky` deployment:
```console
helm delete blocky --purge
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
Read through the [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/blocky/values.yaml) file. It has several commented out suggested values.
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console
helm install --name blocky \
--set timeZone="America/New York" \
k8s-at-home/blocky
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
```console
helm install --name blocky -f values.yaml k8s-at-home/blocky
```
## Upgrading an existing Release to a new major version
A major chart version change (like 2.2.2 -> 3.0.0) indicates that there is an
incompatible breaking change needing manual actions.
### Upgrading from 2.x.x to 3.x.x
Due to the renaming of the service port, an upgrade-in-place will not work. The following are possible approaches to solve this:
#### Helm force upgrade
```sh
helm upgrade --force
```
#### Delete the existing `blocky` service prior to upgrading
```sh
kubectl delete svc/blocky
```
#### Remove the existing blocky chart first
This is the 'easiest' approach, but will incur downtime which can be problematic if you rely on blocky for DNS

View File

@@ -1,212 +0,0 @@
replicaCount: 1
image:
repository: spx01/blocky
tag: v0.11
pullPolicy: IfNotPresent
nameOverride: ""
fullnameOverride: ""
replicas: 1
timeZone: "UTC"
# blocky configuration - will translate to config.yml file inside the pod
config:
upstream:
# these external DNS resolvers will be used. Blocky picks 2 random resolvers from the list for each query
# format for resolver: net:host:[port][/path]. net could be tcp, udp, tcp-tls or https (DoH). If port is empty, default port will be used (53 for udp and tcp, 853 for tcp-tls, 443 for https (Doh))
externalResolvers:
- udp:8.8.8.8
- udp:8.8.4.4
- udp:1.1.1.1
- tcp-tls:1.0.0.1:853
- https://cloudflare-dns.com/dns-query
# optional: custom IP address for domain name (with all sub-domains)
# example: query "printer.lan" or "my.printer.lan" will return 192.168.178.3
# customDNS:
# mapping:
# printer.lan: 192.168.178.3
# optional: definition, which DNS resolver should be used for queries to the domain (with all sub-domains).
# Example: Query client.fritz.box will ask DNS server 192.168.178.1. This is necessary for local network, to resolve clients by host name
# conditional:
# mapping:
# fritz.box: udp:192.168.178.1
# optional: use black and white lists to block queries (for example ads, trackers, adult pages etc.)
blocking:
# definition of blacklist groups. Can be external link (http/https) or local file
blackLists:
ads:
- https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt
- https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
- https://mirror1.malwaredomains.com/files/justdomains
- http://sysctl.org/cameleon/hosts
- https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist
- https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt
special:
- https://hosts-file.net/ad_servers.txt
# definition of whitelist groups. Attention: if the same group has black and whitelists,
# whitelists will be used to disable particular blacklist entries. If a group has only
# whitelist entries -> this means only domains from this list are allowed,
# all other domains will be blocked.
# Also see the extraLists section below to add your own in-line whitelists
# whiteLists:
# ads:
# - whitelist.txt
# definition: which groups should be applied for which client
clientGroupsBlock:
# default will be used, if no special definition for a client name exists
default:
- ads
- special
# use client name or ip address
# laptop.fritz.box:
# - ads
# which response will be sent, if query is blocked:
# zeroIp: 0.0.0.0 will be returned (default)
# nxDomain: return NXDOMAIN as return code
# blockType: zeroIp
# optional: automatically list refresh period in minutes. Default: 4h.
# Negative value -> deactivate automatically refresh.
# 0 value -> use default
# refreshPeriod: 1
# optional: configuration for caching of DNS responses
# caching:
# # amount in minutes, how long a response must be cached (min value).
# # If <=0, use response's TTL, if >0 use this value, if TTL is smaller
# # Default: 0
# minTime: 40
# # amount in minutes, how long a response must be cached (max value).
# # If <0, do not cache responses
# # If 0, use TTL
# # If > 0, use this value, if TTL is greater
# # Default: 0
# maxTime: -1
# optional: configuration of client name resolution
# clientLookup:
# # this DNS resolver will be used to perform reverse DNS lookup (typically local router)
# upstream: udp:192.168.178.1
# # optional: some routers return multiple names for client (host name and user defined name). Define which single name should be used.
# # Example: take second name if present, if not take first name
# singleNameOrder:
# - 2
# - 1
# optional: configuration for prometheus metrics endpoint
prometheus:
# enabled if true
enable: true
# url path, optional (default '/metrics')
path: /metrics
# optional: write query information (question, answer, client, duration etc) to daily csv file
# queryLog:
# # directory (will be mounted as volume in the pod)
# dir: /logs
# # if true, write one file per client. Writes all queries to single file otherwise
# perClient: true
# # if > 0, deletes log files which are older than ... days
# logRetentionDays: 7
# optional: HTTP listener port, default 0 = no http listener. If > 0, will be used for prometheus metrics, pprof, ...
httpPort: 4000
# optional: Log level (one from debug, info, warn, error). Default: info
logLevel: info
## Add persistence for query logs (if enabled)
persistence:
enabled: false
# storageClassName: default
accessModes:
- ReadWriteOnce
size: 10Gi
# annotations: {}
finalizers:
- kubernetes.io/pvc-protection
# selectorLabels: {}
# subPath: ""
# existingClaim:
# Probes configuration
probes:
liveness:
failureThreshold: 5
periodSeconds: 10
readiness:
failureThreshold: 5
periodSeconds: 10
startup:
initialDelaySeconds: 5
failureThreshold: 30
periodSeconds: 10
service:
type: ClusterIP
# externalTrafficPolicy: Local
# loadBalancerIP: ""
# a fixed LoadBalancer IP
annotations: {}
# metallb.universe.tf/address-pool: network-services
# metallb.universe.tf/allow-shared-ip: blocky-svc
serviceTCP:
enabled: false
externalIPs: []
type: NodePort
externalTrafficPolicy: Local
loadBalancerIP: ""
# a fixed LoadBalancer IP
annotations: {}
# metallb.universe.tf/address-pool: network-services
# metallb.universe.tf/allow-shared-ip: blocky-svc
serviceUDP:
enabled: true
externalIPs: []
type: NodePort
externalTrafficPolicy: Local
loadBalancerIP: ""
# a fixed LoadBalancer IP
annotations: {}
# metallb.universe.tf/address-pool: network-services
# metallb.universe.tf/allow-shared-ip: blocky-svc
serviceMonitor:
enabled: false
additionalLabels: {}
## Pod Annotations
podAnnotations:
prometheus.io/scrape: "true"
prometheus.io/port: "api"
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:
# memory: 500Mi
# requests:
# cpu: 50m
# memory: 275Mi
nodeSelector: {}
tolerations: []
affinity: {}
## Add any extra files you want populated to /app here, e.g.:
# extraLists:
# whitelist.txt: |
# analytics.google.com
# googleadservices.com
extraLists: {}

View File

@@ -1,20 +0,0 @@
apiVersion: v2
appVersion: v2009.1.0
description: Booksonic is a platform for accessing the audibooks you own wherever you are
name: booksonic-air
version: 2.2.1
keywords:
- booksonic
- audiobook
home: https://github.com/k8s-at-home/charts/tree/master/charts/booksonic-air
icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/booksonic-air.png
sources:
- https://github.com/popeen/Booksonic-Air
- https://hub.docker.com/r/linuxserver/booksonic-air
maintainers:
- name: wojoinc
email: wojoinc@pm.me
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.1.1

View File

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

View File

@@ -1,78 +0,0 @@
# Booksonic-air
This is a helm chart for [Booksonic-air](https://github.com/popeen/Booksonic-Air).
Booksonic-air is the successor to [Booksonic](https://github.com/popeen/Booksonic-Air#history).
**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)**
This chart leverages the [linuxserver.io](https://hub.docker.com/r/linuxserver/booksonic-air) image. To specify a specific version, or to use a different image (not recommended),
see [configuration](#configuration)
## TL;DR;
```shell
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
$ helm install k8s-at-home/booksonic-air
```
## Storage
If you plan to use networked storage to store your media or config for Booksonic, (NFS, etc.) please take a look at the
Fast Access option in the Booksonic settings. This will help improve the perfomance of the application
by not constantly monitoring media folders.
## Installing the Chart
To install the chart with the release name `my-release`:
```console
helm install --name my-release k8s-at-home/booksonic-air
```
## Uninstalling the Chart
To uninstall/delete the `my-release` deployment:
```console
helm delete my-release --purge
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
Read through the charts [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/booksonic-air/values.yaml)
file. It has several commented out suggested values. Most notably, these include several environment variables used to
customize the container.
Additionally you can take a look at the common library [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/common/values.yaml) for more (advanced) configuration options.
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console
helm install booksonic \
--set env.TZ="America/New_York" \
k8s-at-home/booksonic-air
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
chart. For example,
```console
helm install booksonic k8s-at-home/booksonic-air -f values.yaml
```
```yaml
image:
tag: ...
```
---
**NOTE**
If you get
```console
Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...`
```
it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`.
---
## Upgrading an existing Release to a new major version
A major chart version change (like 4.0.1 -> 5.0.0) indicates that there is an incompatible breaking change potentially needing manual actions.

View File

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

View File

@@ -1,85 +0,0 @@
# Calibre-Web
This is a helm chart for [Calibre-Web](https://github.com/janeczku/calibre-web).
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
## TL;DR;
```shell
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
$ helm install k8s-at-home/calibre-web
```
## Storage
If you plan to use networked storage to store your media or config for Booksonic, (NFS, etc.) please take a look at the
Fast Access option in the Booksonic settings. This will help improve the perfomance of the application
by not constantly monitoring media folders.
## Installing the Chart
To install the chart with the release name `my-release`:
```console
helm install --name my-release k8s-at-home/calibre-web
```
## Uninstalling the Chart
To uninstall/delete the `my-release` deployment:
```console
helm delete my-release --purge
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
Read through the charts [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/calibre-web/values.yaml)
file. It has several commented out suggested values. Most notably, these include several environment variables used to
customize the container.
Additionally you can take a look at the common library [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/common/values.yaml) for more (advanced) configuration options.
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console
helm install calibre-web \
--set env.TZ="America/New_York" \
k8s-at-home/calibre-web
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
chart. For example,
```console
helm install calibre-web k8s-at-home/calibre-web -f values.yaml
```
```yaml
image:
tag: ...
```
---
**NOTE**
If you get
```console
Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...`
```
it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`.
---
## Upgrading an existing Release to a new major version
A major chart version change (like 4.0.1 -> 5.0.0) indicates that there is an incompatible breaking change potentially needing manual actions.
### Upgrading from 2.x.x to 3.x.x
Due to migrating to a centralized common library some values in `values.yaml` have changed.
Examples:
* `service.port` has been moved to `service.port.port`.
* `persistence.type` has been moved to `controllerType`.
Refer to the library values.yaml for more configuration options.

View File

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

View File

@@ -1,84 +0,0 @@
# Comcast Data Cap Usage Collector For InfluxDB and Grafana
![Screenshot](https://github.com/billimek/comcastUsage-for-influxdb/raw/master/images/comcast_grafana_example.png)
This tool allows you to run periodic comcast data usage checks and save the results to Influxdb
## TL;DR;
```console
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
$ helm install k8s-at-home/comcast
```
## Introduction
This code is adopted from the work done by [barrycarey](https://github.com/barrycarey) in the [similar thing for capturing speedtest data](https://github.com/barrycarey/Speedtest-for-InfluxDB-and-Grafana) as well as [jantman's](https://github.com/jantman) [xfinity-usage python example](https://github.com/jantman/xfinity-usage)
## Installing the Chart
To install the chart with the release name `my-release`:
```console
$ helm install --name my-release k8s-at-home/comcast
```
## Uninstalling the Chart
To uninstall/delete the `my-release` deployment:
```console
$ helm delete my-release --purge
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
The configuration is set as a block of text through a configmap and mounted as a file in /src/config.ini Any value in this text block should match the defined Comcast configuration. There are several values here that will have to match our kubernetes configuration.
## Configuration
The following tables lists the configurable parameters of the Sentry chart and their default values.
| Parameter | Description | Default |
| ------------------------------- | ------------------------------- | ---------------------------------------------------------- |
| `image.repository` | Comcast image | `billimek/comcastusage-for-influxdb` |
| `image.tag` | Comcast image tag | `latest` |
| `image.pullPolicy` | Comcast image pull policy | `IfNotPresent` |
| `debug` | Display debugging output | `false` |
| `config.delay` | how many seconds to wait between checks | `3600` |
| `config.influxdb.host` | InfluxDB hostname | `influxdb-influxdb` |
| `config.influxdb.port` | InfluxDB port | `8086` |
| `config.influxdb.database` | InfluxDB database | `comcast` |
| `config.influxdb.username` | InfluxDB username | `` |
| `config.influxdb.password` | InfluxDB password | `` |
| `config.influxdb.ssl` | InfluxDB connection using SSL | `false` |
| `config.comcast.username` | Comcast website login usernma | `someuser` |
| `config.comcast.password` | Comcast website login password | `somepassword` |
| `podAnnotations` | Key-value pairs to add as pod annotations | `{}` |
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console
helm install --name my-release \
--set config.comcast.username=tonystark,config.comcast.password=mypassword \
k8s-at-home/comcast
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
```console
helm install --name my-release -f values.yaml k8s-at-home/comcast
```
Read through the [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/comcast/values.yaml) file. It has several commented out suggested values.
## InfluxDB metrics
```
'measurement': 'comcast_data_usage',
'fields': {
'used',
'total',
'unit'
}
```

View File

@@ -1,15 +0,0 @@
apiVersion: v2
name: common-test
description: Helper chart to test different use cases of the common library
version: 1.0.2
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,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,43 +0,0 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [2.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:
[2.0.4]: https://github.com/k8s-at-home/charts/tree/common-2.0.4/charts/common
[2.0.0]: https://github.com/k8s-at-home/charts/tree/common-2.0.0/charts/common
[1.7.0]: https://github.com/k8s-at-home/charts/tree/common-1.7.0/charts/common

View File

@@ -1,12 +0,0 @@
apiVersion: v2
name: common
description: Function library for k8s-at-home charts
type: library
version: 2.1.1
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,99 +0,0 @@
# Library chart for k8s@home media 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.
## Introduction
This chart provides common template helpers which can be used to develop new charts using [Helm](https://helm.sh) package manager.
## :star2: Changelog
Please refer to [CHANGELOG.md](CHANGELOG.md) for an overview of notable changes to the chart. **This is especially important for major version updates!**
## TL;DR
When using one of the many charts that uses this library be sure to view this [values.yaml](./values.yaml) for configuration options. Any setting here can be used to define what values your helm deployment will use.
For example using the helm CLI tool
```bash
helm install node-red \
--set image.repository="nodered/node-red" \
--set image.tag="1.2.5" \
--set env.TZ="America/New_York" \
k8s-at-home/node-red
```
or
```yaml
# node-red-values.yaml
image:
repository: nodered/node-red
tag: 1.2.5
env:
TZ: America/New_York
```
```bash
helm install node-red \
--values=./node-red-values.yaml \
k8s-at-home/node-red
```
## 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: x.x.x
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
# Default values for node-red.
image:
repository: nodered/node-red
pullPolicy: IfNotPresent
tag: 1.2.5
strategy:
type: Recreate
# See more environment varaibles 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
persistence:
data:
enabled: false
emptyDir: false
mountPath: /data
```
If testing locally make sure you update the dependencies with:
```bash
helm dependency update
```

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 }}://{{ .host }}{{ (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,39 +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 }}
{{- 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,61 +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 $values.tls }}
tls:
{{- range $values.tls }}
- hosts:
{{- range .hosts }}
- {{ . | quote }}
{{- end }}
secretName: {{ .secretName }}
{{- end }}
{{- end }}
rules:
{{- range $values.hosts }}
- host: {{ .host | quote }}
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 "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,45 +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.args }}
args: {{ . }}
{{- end }}
{{- with .Values.securityContext }}
securityContext:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- if .Values.env }}
env:
{{- range $key, $value := .Values.env }}
- name: {{ $key }}
value: {{ $value | quote }}
{{- 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 }}
{{- include "common.controller.probes" . | nindent 2 }}
{{- with .Values.resources }}
resources:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end -}}

View File

@@ -1,53 +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.hostNetwork }}
hostNetwork: {{ . }}
{{- end }}
{{- with .Values.dnsPolicy }}
dnsPolicy: {{ . }}
{{- end }}
{{- with .Values.dnsConfig }}
dnsConfig:
{{- toYaml . | nindent 2 }}
{{- end }}
{{- 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,39 +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 }}
containerPort: {{ .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,375 +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 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
envFrom: []
# - configMapRef:
# name: config-map-name
# - secretRef:
# name: secret-name
# 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"
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: 30
failureThreshold: 5
periodSeconds: 10
timeoutSeconds: 10
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: 30
failureThreshold: 5
periodSeconds: 10
timeoutSeconds: 10
startup:
enabled: false
## Set this to true if you wish to specify your own startupProbe
custom: false
## The spec field contains the values for the default startupProbe.
## If you selected custom: true, this field holds the definition of the startupProbe.
spec:
initialDelaySeconds: 5
failureThreshold: 30
periodSeconds: 10
timeoutSeconds: 10
service:
enabled: true
type: ClusterIP
# Specify the default port information
port:
port:
# name defaults to http
name:
protocol: TCP
# targetPort defaults to http
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: {}
hosts:
- host: chart-example.local
paths:
- path: /
# Ignored if not kubeVersion >= 1.14-0
pathType: Prefix
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
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: []
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"
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 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,24 +0,0 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode
# OWNERS file for Kubernetes
OWNERS

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