Compare commits

...

80 Commits

Author SHA1 Message Date
k8s-at-home[bot]
05347d1716 chore: Auto-update chart README [skip ci] 2022-02-05 21:55:42 +00:00
Philipp Hellmich
f7b54c65ff [samba] changed samba server docker image (#1402) 2022-02-05 22:55:17 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
a7aaa5a524 fix: Use strings for version numbers 2022-02-05 20:04:57 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
e2bb5d8ed4 ci: Actually bump Helm 2022-02-05 19:59:13 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
fbf13879b8 ci: Update Helm / Python 2022-02-05 19:57:55 +01:00
k8s-at-home[bot]
f8cbead63b chore: Auto-update chart README [skip ci] 2022-02-05 14:30:06 +00:00
Devin Buhl
6d51e3cf22 [lidarr/radarr/sonarr]: update exportarr to v1.0.0 (#1400) 2022-02-05 15:29:42 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
e5238adde0 ci: Prevent duplicate CI runs on release
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-05 12:45:27 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
0c3f44e3b7 ci: Use correct field in pr-changes
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 22:59:18 +01:00
k8s-at-home[bot]
f4a5eb4603 chore: Auto-update chart README 2022-02-04 21:56:31 +00:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
5c3101f03e fix(grocy): Touch to re-trigger release
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 22:56:02 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
00cc4540ea ci: Use correct action output
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 22:54:07 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
68b03c60fc fix(grocy): Touch to re-trigger release
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 22:51:44 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
7cc2b37c68 ci: Fix releaser
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 21:14:34 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
cc52622614 ci: Update job name in labeler
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 21:12:33 +01:00
Silvio Ankermann
3f50891603 [grocy] Upgrade to version 3.1.3 and fix upgrade bug (#1299)
* [grocy] Upgrade to version 3.1.3 and fix upgrade bug

Signed-off-by: Silvio Ankermann <silvio@booq.org>
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 21:10:56 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
e8e2d25873 ci: Clean up validation flow
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 21:04:23 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
2e63e3740b ci: Fix composite action
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 20:40:52 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
951d2c20f3 ci: Use composite action to collect changes
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 20:26:12 +01:00
k8s-at-home[bot]
34dea81127 chore: Auto-update chart README 2022-02-04 17:41:57 +00:00
Jonathan Bartlett
c3e83ecaa0 dendrite: Switch from Kafka to NATS (#1398) 2022-02-04 18:41:18 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
4474e30af2 ci: Update install-success step
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 16:26:17 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
a2e26d5a0f ci: Only run chart-releaser after README is updated
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 15:07:18 +01:00
k8s-at-home[bot]
574f6529c5 Auto-generate chart summary [no ci] 2022-02-04 14:02:26 +00:00
k8s-at-home[bot]
c0317251aa Auto-update chart README 2022-02-04 14:01:51 +00:00
Devin Buhl
17f0578b4f [error-pages] new chart (#1397)
* feat(error-pages): new chart
2022-02-04 15:01:17 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
de1d9c2580 ci: Don't run release when README was updated
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 14:51:19 +01:00
k8s-at-home[bot]
356a0f2f16 Auto-update chart README [ci-skip] 2022-02-04 13:47:22 +00:00
Marcel Märtens
0065e83f75 [recipes] update tandoor version and adjust default upload size (#1389)
* update tandoor version and adjust default upload size
2022-02-04 14:47:00 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
bbb81ffb9e ci: Update chart release flow
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 14:31:20 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
f74e6ebe07 ci: Exclude README generation from validation
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 14:21:33 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
a8e0296ddf ci: Explicitly check out head repo
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 13:50:58 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
fc2e341c47 ci: Update label action
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 13:38:07 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
1395771b7f ci: Explicit checkout ref
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 13:35:00 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
2b92555678 ci: Only run schedule on own repo
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 13:26:29 +01:00
renovate[bot]
fe6ae00012 chore(deps): update helm chart cert-manager to v1.6.2 (#1392)
* chore(deps): update helm chart cert-manager to v1.6.2
* Auto-update chart metadata and README

Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-04 11:09:32 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
6e3e59fa73 chore: Update PR template
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 10:48:22 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
01ca1d423f ci: Fix artifact removal
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 10:36:52 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
998aa05027 ci: Restructure reusable workflows
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 10:15:16 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
2a58efa68e fix: Fix unit test workflow
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 10:00:28 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
54f9b87b70 ci: CI Fixes
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-04 08:27:30 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
5e5f23c69d ci: Update CI status labeler
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-03 21:57:55 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
19b3af8f2f fix: Fix release notes checker
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-03 20:10:07 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
8003e17a76 ci: Restructure PR validation
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-03 20:02:11 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
a101402e74 ci: Restructure PR validation
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-03 19:42:20 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
085bd01f1a ci: Expand PR validation flow
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-03 17:11:59 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
b4af8c56c1 ci: Expand PR workflow
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-03 16:51:58 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
ee6b8361da ci: Add PR validation flow
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-02-03 16:22:08 +01:00
Angel Nunez Mencias
1db3745ec4 [maddy] enable configuring storage and imap (#1391)
* enable configuring storage and imap

* update docs

* Update charts/stable/maddy/Chart.yaml

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

Co-authored-by: angelnu <git@angelnucom>
Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-01-30 20:54:52 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
9c4cc4fefd ci: Update Label Commenter config 2022-01-30 16:59:07 +01:00
k8s-at-home[bot]
66ee00cb63 Auto-generate chart summary [no ci] 2022-01-28 14:41:53 +00:00
Mark Glants
47deacc271 [torrserver] Chart init (#1388)
* Added torrserver

Co-authored-by: mark.glants <mark.glants@lamoda.ru>
2022-01-28 15:40:54 +01:00
k8s-at-home[bot]
98a0ac4d90 Auto-generate chart summary [no ci] 2022-01-24 11:18:58 +00:00
Angel Nunez Mencias
85348178f1 [maddy] Initial release (#1386)
* Initial release

* Auto-update chart metadata and README

* split config from certificates

* correct secret name for CI

* Update charts/stable/maddy/Chart.yaml

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

* Update charts/stable/maddy/values.yaml

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

* Auto-update chart metadata and README

* Auto-update chart metadata and README

Co-authored-by: angelnu <git@angelnucom>
Co-authored-by: angelnu <angelnu@users.noreply.github.com>
Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
Co-authored-by: k8s-at-home[bot] <k8s-at-home[bot]@users.noreply.github.com>
2022-01-24 12:17:51 +01:00
Skyler Mäntysaari
6dd5f3ff0b [ghost] Fix database string to match generated svc (#1385)
Signed-off-by: Skyler Mäntysaari <samip5@users.noreply.github.com>
2022-01-24 11:36:19 +01:00
allcontributors[bot]
ae9e3c02a1 docs: add rschoultz as a contributor for code (#1387) 2022-01-24 07:05:30 +01:00
Rickard Schoultz
000771d79f [unifi] Upgraded unifi image to version 6.5.55. (#1383) 2022-01-24 06:48:40 +01:00
k8s-at-home[bot]
8c3edda840 Auto-generate chart summary [no ci] 2022-01-22 16:12:49 +00:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
8b2121e522 [radicale] Add new chart (#1379) 2022-01-22 17:11:54 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
a3582f3c83 ci: Update workflow formatting, token action
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-01-21 14:43:14 +01:00
k8s-at-home[bot]
42dbe4ee4a Auto-generate chart summary [no ci] 2022-01-18 12:48:03 +00:00
Lukas Wingerberg
8b6f481099 [powerdns-admin] initial release of powerdns-admin frontend (#1373)
* initial release of powerdns-admin frontend
2022-01-18 13:47:12 +01:00
allcontributors[bot]
803f9433eb docs: add TheDJVG as a contributor for code (#1376)
* docs: update README.md [skip ci]

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

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2022-01-18 08:01:07 +01:00
TheDJVG
9e8aa6d2eb [deconz] Update repository/tag and config mountPath (#1374)
* [deconz] Update repository/tag and config mountPath

The deconz image repository has changed from marthoc/deconz to deconzcommunity/deconz and also requires to mounth the config to /opt/deCONZ.

Also updated to the lastest stable version "Crossfade 2.12.06" from the Phoscon changelog (https://phoscon.de/en/changelog/).

Signed-off-by: Daan van Gorkum <djvg@djvg.net>
2022-01-18 08:00:28 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
d111bcdcad ci: Update Label Commenter config 2022-01-18 07:55:59 +01:00
TheDJVG
133647a1c5 [helm-docs] Update reference to k8s-at-home specific helm-docs (#1375) 2022-01-16 13:04:43 +01:00
k8s-at-home[bot]
07bcb33623 Auto-generate chart summary [no ci] 2022-01-13 12:04:55 +00:00
Lukas Wingerberg
523ce4e823 [dokuwiki] Add dokuwiki helm chart (#1371) 2022-01-13 13:03:53 +01:00
Jonathan Bartlett
eee839e548 [dendrite] Fix postgresql init scripts for dendrite (#1368)
* fix(dendrite/postgresql): fix init scripts

Init scripts for postgresql not are generated dynamically so the correct
username is used. Additionally they are loaded from a configmap rather
than injected into the values which did not work.

Also refactored into separated file for easier maintenance.

* docs(dendrite): Bump version and update changelog annotations

* docs(dendrite): Generate README
2022-01-10 18:32:07 -05:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
50d0d5e7c8 chore: Be more strict on stale issues
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-01-07 15:04:31 +01:00
allcontributors[bot]
278351c2de docs: add psych0d0g as a contributor for code (#1364)
* docs: update README.md [skip ci]
2022-01-07 13:19:08 +01:00
k8s-at-home[bot]
85ac8697fb Auto-generate chart summary [no ci] 2022-01-07 12:18:33 +00:00
Lukas Wingerberg
f02beeb9f0 [privatebin] Add privatebin helm chart (#1361)
* add privatebin as chart
2022-01-07 13:17:30 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
b1fc8dd547 [ghost] Fix PVC creation (#1359)
* [ghost] Fix PVC creation
2022-01-06 13:37:50 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
8f5d80ab5e ci: Update linting script
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-01-06 13:02:21 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
8b37db4b7c ci: Update validation CI
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-01-06 12:43:40 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
7f51945eff ci: More modifications to validation
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-01-06 12:17:41 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
49266748b1 ci: Revert previous change
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-01-06 12:13:50 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
78fe13e697 ci: Update validate CI
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-01-06 12:11:52 +01:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
a92c96b422 ci: Update validate CI
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2022-01-06 12:02:00 +01:00
133 changed files with 4895 additions and 833 deletions

View File

@@ -481,6 +481,33 @@
"contributions": [
"code"
]
},
{
"login": "psych0d0g",
"name": "Lukas Wingerberg",
"avatar_url": "https://avatars.githubusercontent.com/u/181302?v=4",
"profile": "https://cronix.cc",
"contributions": [
"code"
]
},
{
"login": "TheDJVG",
"name": "TheDJVG",
"avatar_url": "https://avatars.githubusercontent.com/u/17107225?v=4",
"profile": "http://www.djvg.net",
"contributions": [
"code"
]
},
{
"login": "rschoultz",
"name": "Rickard Schoultz",
"avatar_url": "https://avatars.githubusercontent.com/u/727834?v=4",
"profile": "https://github.com/rschoultz",
"contributions": [
"code"
]
}
],
"contributorsPerLine": 7,

View File

@@ -32,8 +32,9 @@ Also don't be worried if the request is closed or not integrated sometimes our p
<!-- If there's anything else that's important and relevant to your pull request, mention that information here.-->
**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]`)
- [ ] Variables are documented in the README.md (this can be done with using our helm-docs wrapper `./hack/gen-helm-docs.sh stable <chart>`)
- [ ] Chart version bumped in `Chart.yaml` according to [semver](http://semver.org/).
- [ ] Chart `artifacthub.io/changes` changelog annotation has been updated in `Chart.yaml`. See [Artifact Hub documentation](https://artifacthub.io/docs/topics/annotations/helm/#supported-annotations) for more info.
- [ ] Variables have been documented in the `values.yaml` file.
<!-- 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 -->

View File

@@ -0,0 +1,45 @@
name: "Collect changes"
description: "Collects and stores changed files/charts"
outputs:
changesDetected:
description: "Whether or not changes to charts have been detected"
value: ${{ steps.filter.outputs.addedOrModified }}
addedOrModifiedFiles:
description: "A list of the files changed"
value: ${{ steps.filter.outputs.addedOrModified_files }}
addedOrModifiedCharts:
description: "A list of the charts changed"
value: ${{ steps.filter-charts.outputs.addedOrModified }}
runs:
using: "composite"
steps:
- name: Collect changed files
uses: dorny/paths-filter@v2
id: filter
with:
list-files: shell
filters: |
addedOrModified:
- added|modified: 'charts/**'
- name: Collect changed charts
if: |
steps.filter.outputs.addedOrModified == 'true'
id: filter-charts
shell: bash
run: |
CHARTS=()
PATHS=(${{ steps.filter.outputs.addedOrModified_files }})
# Get only the chart paths
for CHARTPATH in "${PATHS[@]}"
do
IFS='/' read -r -a path_parts <<< "${CHARTPATH}"
CHARTS+=("${path_parts[1]}/${path_parts[2]}")
done
# Remove duplicates
CHARTS=( `printf "%s\n" "${CHARTS[@]}" | sort -u` )
# Set output to changed charts
printf "::set-output name=addedOrModified::%s\n" "${CHARTS[*]}"

View File

@@ -0,0 +1,48 @@
name: "Set issue labels based on status"
description: "Sets / removes issue labels based on CI job status"
inputs:
token:
required: true
description: "The Github API token to use"
issue-number:
required: true
description: "The issue to label"
prefix:
required: true
description: "The label prefix (e.g. lint, install)"
job-status:
required: true
description: "The status of the CI job"
remove-on-skipped:
required: false
default: false
description: "Remove the label if the job was skipped"
runs:
using: "composite"
steps:
- name: Label success
uses: andymckay/labeler@1.0.4
if: ${{ inputs.job-status == 'success' }}
with:
repo-token: ${{ inputs.token }}
issue-number: ${{ inputs.issue-number }}
add-labels: "${{ inputs.prefix }}:ok"
remove-labels: "${{ inputs.prefix }}:failed"
- name: Label failure
uses: andymckay/labeler@1.0.4
if: ${{ inputs.job-status == 'failure' }}
with:
repo-token: ${{ inputs.token }}
issue-number: ${{ inputs.issue-number }}
add-labels: "${{ inputs.prefix }}:failed"
remove-labels: "${{ inputs.prefix }}:ok"
- name: Remove label
uses: andymckay/labeler@1.0.4
if: ${{ (inputs.job-status == 'skipped') && (inputs.remove-on-skipped == 'true') }}
with:
repo-token: ${{ inputs.token }}
issue-number: ${{ inputs.issue-number }}
remove-labels: "${{ inputs.prefix }}:ok, ${{ inputs.prefix }}:failed"

View File

@@ -10,5 +10,3 @@ chart-repos:
- k8s-at-home-libraries=https://library-charts.k8s-at-home.com
- k8s-at-home=https://k8s-at-home.com/charts
- jetstack=https://charts.jetstack.io
additional-commands:
- ./hack/check-releasenotes.sh {{ .Path }}

View File

@@ -1,6 +1,6 @@
---
labels:
- name: kind:incomplete-template
- name: incomplete-template
labeled:
issue:
body: |
@@ -9,7 +9,7 @@ labels:
locking: lock
lock_reason: resolved
- name: kind:support
- name: support
labeled:
issue:
body: |
@@ -22,7 +22,7 @@ labels:
- [GitHub Discussions](https://github.com/k8s-at-home/organization/discussions)
action: close
- name: kind:incomplete-docs
- name: incomplete-docs
labeled:
pr:
body: |
@@ -31,19 +31,5 @@ labels:
We have noticed that the chart documentation has not been completely updated for this PR.
Could you please make sure that the following items have been updated:
- `version` in `Chart.yaml` has been updated per [semver](http://semver.org/)
- `README_CHANGELOG.md.gotmpl` contains a summary of the updates for this new version
- The `artifacthub.io/changes` chart annotation contains a summary of the updates for this new version. See [Artifact Hub documentation](https://artifacthub.io/docs/topics/annotations/helm/#supported-annotations) for more info.
- [Documentation strings](https://github.com/norwoodj/helm-docs#valuesyaml-metadata) have been added to the keys in `values.yaml`.
Afterwards you can run `./hack/gen-helm-docs.sh stable <chart>` again to update the chart's `README.md` file.
- name: kind:incorrect-title
labeled:
pr:
body: |
:wave: @{{ pull_request.user.login }}, thanks for taking the time to submit this PR. 🙏🏽
We have noticed that the PR title does not adhere to our desired format.
Could you please make sure that it follows the pattern `[<lowercase chart name>] <Update description>`?
Example: `[radarr] Update image version`.
Thanks!

111
.github/labels.yaml vendored Normal file
View File

@@ -0,0 +1,111 @@
---
# CI Status
- name: "precommit:ok"
color: "0E8A16"
description: >-
CI status: pre-commit validation successful
- name: "precommit:failed"
color: "D93F0B"
description: >-
CI status: pre-commit validation failed
- name: "changelog:ok"
color: "0E8A16"
description: >-
CI status: changelog validation successful
- name: "changelog:failed"
color: "D93F0B"
description: >-
CI status: changelog validation failed
- name: "lint:ok"
color: "0E8A16"
description: >-
CI status: linting successful
- name: "lint:failed"
color: "D93F0B"
description: >-
CI status: linting failed
- name: "install:ok"
color: "0E8A16"
description: >-
CI status: install successful
- name: "install:failed"
color: "D93F0B"
description: >-
CI status: install failed
# Semantic Type
- name: type/patch
color: "FFEC19"
- name: type/minor
color: "FF9800"
- name: type/major
color: "F6412D"
# Renovate
- name: renovate/container
color: "ffc300"
- name: renovate/helm
color: "ffc300"
# Size
- name: size/XS
color: "009900"
description: >-
Categorises a PR that changes 0-9 lines, ignoring generated files.
- name: size/S
color: "77bb00"
description: >-
Categorises a PR that changes 10-29 lines, ignoring generated files.
- name: size/M
color: "eebb00"
description: >-
Categorises a PR that changes 30-99 lines, ignoring generated files.
- name: size/L
color: "ee9900"
description: >-
Categorises a PR that changes 100-499 lines, ignoring generated files.
- name: size/XL
color: "ee5500"
description: >-
Categorises a PR that changes 500-999 lines, ignoring generated files.
- name: size/XXL
color: "ee0000"
description: >-
Categorises a PR that changes 1000+ lines, ignoring generated files.
# Issue categories
- name: documentation
color: "0075ca"
- name: bug
color: "B60205"
- name: enhancement
color: "a2eeef"
- name: "help wanted"
color: "008672"
- name: wontfix
color: "ffffff"
- name: "support"
color: ffffff
- name: "incomplete-template"
color: ffffff
- name: "new-chart"
color: "C2E0C6"
description: >-
Categorises a PR or issue that references a new Helm chart.
- name: do-not-merge
color: "ee0701"
description: >-
Categorises a PR that should not be merged in the current state.
- name: "incomplete-docs"
color: B72175
description: >-
Categorises a PR for which the documentation has not been updated completely.
- name: keepalive
color: "4D28C4"
description: >-
Categorises a PR or issue that should not be marked as stale.
- name: stale
color: "D4C5F9"
description: >-
Categorises a PR or issue that has not been active for a specified time.

View File

@@ -34,23 +34,23 @@
"branchTopic": "{{{parentDir}}}-{{{depNameSanitized}}}-{{{newMajor}}}{{#if isPatch}}.{{{newMinor}}}{{/if}}.x{{#if isLockfileUpdate}}-lockfile{{/if}}",
"updateTypes": ["major"],
"bumpVersion": "major",
"labels": ["dependency/major"],
"labels": ["type/major"],
"packageNames": ["common"],
"groupName": ["internal major dep"]
"groupName": ["common library major"]
},
{
"updateTypes": ["minor"],
"bumpVersion": "minor",
"labels": ["dependency/minor"],
"labels": ["type/minor"],
"packageNames": ["common"],
"groupName": ["internal minor dep"]
"groupName": ["common library minor"]
},
{
"updateTypes": ["patch"],
"bumpVersion": "patch",
"labels": ["dependency/patch"],
"labels": ["type/patch"],
"packageNames": ["common"],
"groupName": ["internal patch dep"]
"groupName": ["common library patch"]
},
//
// Other library deps
@@ -60,7 +60,7 @@
"branchTopic": "{{{parentDir}}}-{{{depNameSanitized}}}-{{{newMajor}}}{{#if isPatch}}.{{{newMinor}}}{{/if}}.x{{#if isLockfileUpdate}}-lockfile{{/if}}",
"updateTypes": ["major"],
"bumpVersion": "major",
"labels": ["dependency/major"],
"labels": ["type/major"],
"excludePackageNames": ["common"],
"schedule": [
"every 3 months on the first day of the month"
@@ -69,9 +69,9 @@
{
"updateTypes": ["minor"],
"bumpVersion": "minor",
"labels": ["dependency/minor"],
"labels": ["type/minor"],
"excludePackageNames": ["common"],
"groupName": ["external minor dep"],
"groupName": ["external dependency minor"],
"schedule": [
"every 2 months on the first day of the month"
]
@@ -79,9 +79,9 @@
{
"updateTypes": ["patch"],
"bumpVersion": "patch",
"labels": ["dependency/patch"],
"labels": ["type/patch"],
"excludePackageNames": ["common"],
"groupName": ["external patch dep"],
"groupName": ["external dependency patch"],
"schedule": [
"every 1 months on the first day of the month"
]

View File

@@ -1,13 +1,13 @@
#!/usr/bin/env bash
set -eu
set -e
# Check if release notes have been changed
# Usage ./check-releasenotes.sh path
# require yq
command -v yq >/dev/null 2>&1 || {
echo >&2 "yq (https://github.com/mikefarah/yq) is not installed. Aborting."
printf >&2 "%s\n" "yq (https://github.com/mikefarah/yq) is not installed. Aborting."
exit 1
}
@@ -19,17 +19,20 @@ if [ $# -ge 1 ] && [ -n "$1" ]; then
root="$1"
chart_file="${1}/Chart.yaml"
if [ ! -f "$chart_file" ]; then
echo "File ${chart_file} does not exist."
printf >&2 "File %s\n does not exist.\n" "${chart_file}"
exit 1
fi
echo "Validating release notes for $root"
cd $root
if [ -z "$DEFAULT_BRANCH" ]; then
DEFAULT_BRANCH=$(git remote show origin | awk '/HEAD branch/ {print $NF}')
fi
CURRENT=$(cat Chart.yaml | yq e '.annotations."artifacthub.io/changes"' -P -)
if [ "$CURRENT" == "" ] || [ "$CURRENT" == "null" ]; then
echo >&2 "Release notes have not been set for this chart!"
printf >&2 "Changelog annotation has not been set in %s!\n" "$chart_file"
exit 1
fi
@@ -37,10 +40,10 @@ if [ $# -ge 1 ] && [ -n "$1" ]; then
ORIGINAL=$(git show origin/$DEFAULT_BRANCH:./Chart.yaml | yq e '.annotations."artifacthub.io/changes"' -P -)
if [ "$CURRENT" == "$ORIGINAL" ]; then
echo >&2 "Release notes have not been updated!"
printf >&2 "Changelog annotation has not been updated in %s!\n" "$chart_file"
exit 1
fi
else
echo >&2 "No chart folder has been specified."
printf >&2 "%s\n" "No chart folder has been specified."
exit 1
fi

View File

@@ -6,7 +6,7 @@ set -eu
# require helm-docs
command -v helm-docs >/dev/null 2>&1 || {
echo >&2 "helm-docs (https://github.com/norwoodj/helm-docs) is not installed. Aborting."
echo >&2 "helm-docs (https://github.com/k8s-at-home/helm-docs) is not installed. Aborting."
exit 1
}

86
.github/workflows/charts-changelog.yaml vendored Normal file
View File

@@ -0,0 +1,86 @@
name: "Charts: Update README"
on:
workflow_call:
inputs:
modifiedCharts:
required: true
type: string
isRenovatePR:
required: true
type: string
outputs:
commitHash:
description: "The most recent commit hash at the end of this workflow"
value: ${{ jobs.generate-changelog.outputs.commitHash }}
jobs:
validate-changelog:
name: Validate changelog
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Check changelog annotations
if: inputs.isRenovatePR != 'true'
run: |
CHARTS=(${{ inputs.modifiedCharts }})
for i in "${CHARTS[@]}"
do
IFS='/' read -r -a chart_parts <<< "$i"
./.github/scripts/check-releasenotes.sh "charts/${chart_parts[0]}/${chart_parts[1]}"
echo ""
done
generate-changelog:
name: Generate changelog annotations
runs-on: ubuntu-latest
needs:
- validate-changelog
outputs:
commitHash: ${{ steps.save-commit-hash.outputs.commit_hash }}
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Kubernetes tools
if: inputs.isRenovatePR == 'true'
uses: yokawasa/action-setup-kube-tools@v0.8.0
with:
setup-tools: |
yq
yq: "4.16.2"
- name: Annotate Charts.yaml for Renovate PR's
if: inputs.isRenovatePR == 'true'
run: |
export DEFAULT_BRANCH=$(git remote show origin | awk '/HEAD branch/ {print $NF}')
CHARTS=(${{ inputs.modifiedCharts }})
for i in "${CHARTS[@]}"
do
IFS='/' read -r -a chart_parts <<< "$i"
./.github/scripts/renovate-releasenotes.sh "charts/${chart_parts[0]}/${chart_parts[1]}"
echo ""
done
- name: Create commit
id: create-commit
if: inputs.isRenovatePR == 'true'
uses: stefanzweifel/git-auto-commit-action@v4
with:
file_pattern: charts/**/
commit_message: "chore: Auto-update chart metadata [skip ci]"
commit_user_name: ${{ github.actor }}
commit_user_email: ${{ github.actor }}@users.noreply.github.com
- name: Save commit hash
id: save-commit-hash
run: |
if [ "${{ steps.create-commit.outputs.changes_detected || 'unknown' }}" == "true" ]; then
echo '::set-output name=commit_hash::${{ steps.create-commit.outputs.commit_hash }}'
else
echo "::set-output name=commit_hash::${GITHUB_SHA}"
fi

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

@@ -0,0 +1,50 @@
name: "Charts: Lint"
on:
workflow_call:
inputs:
checkoutCommit:
required: true
type: string
jobs:
lint:
name: Lint charts
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
ref: ${{ inputs.checkoutCommit }}
- name: Install Kubernetes tools
uses: yokawasa/action-setup-kube-tools@v0.8.0
with:
setup-tools: |
helmv3
helm: "3.8.0"
- uses: actions/setup-python@v2
with:
python-version: "3.10"
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.1.0
- name: Collect changes
id: list-changed
run: |
EXCLUDED=$(yq eval -o=json '.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
- name: Run chart-testing (lint)
id: lint
if: steps.list-changed.outputs.detected == 'true'
run: ct lint --config .github/ct-lint.yaml

View File

@@ -6,82 +6,133 @@ on:
workflow_dispatch:
push:
branches:
- master
- master
paths:
- 'charts/**'
- "charts/**"
jobs:
release:
runs-on: ubuntu-20.04
steps:
- name: Get k8s-at-home token
id: get-app-token
uses: getsentry/action-github-app-token@v1
with:
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
- name: Generate Token
uses: tibdex/github-app-token@v1
id: generate-token
with:
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
- name: Checkout
uses: actions/checkout@v2
with:
token: ${{ steps.get-app-token.outputs.token }}
ref: master
fetch-depth: 0
- name: Checkout
uses: actions/checkout@v2
with:
token: ${{ steps.generate-token.outputs.token }}
fetch-depth: 0
- name: Configure Git
run: |
git config user.name "k8s-at-home[bot]"
git config user.email "k8s-at-home[bot]@users.noreply.github.com"
- name: Install Kubernetes tools
uses: yokawasa/action-setup-kube-tools@v0.8.0
with:
setup-tools: |
helmv3
yq
helm: "3.8.0"
yq: "4.16.2"
- name: Install Helm
uses: azure/setup-helm@v1
with:
version: v3.6.3
- name: Install helm-docs
run: |
wget -O /tmp/helm-docs.deb https://github.com/k8s-at-home/helm-docs/releases/download/v0.1.1/helm-docs_0.1.1_Linux_x86_64.deb
sudo dpkg -i /tmp/helm-docs.deb
- name: Run chart-releaser
uses: helm/chart-releaser-action@v1.2.1
with:
charts_dir: charts/*
charts_repo_url: https://k8s-at-home.com/charts/
env:
CR_TOKEN: "${{ steps.get-app-token.outputs.token }}"
CR_SKIP_EXISTING: "true"
- name: Collect changes
id: collect-changes
uses: ./.github/actions/collect-changes
- name: Generate README for changed charts
if: |
steps.collect-changes.outputs.changesDetected == 'true'
run: |
CHARTS=(${{ steps.collect-changes.outputs.addedOrModifiedCharts }})
for i in "${CHARTS[@]}"
do
IFS='/' read -r -a chart_parts <<< "$i"
if [ -f "charts/${chart_parts[0]}"/"${chart_parts[1]}/Chart.yaml" ]; then
./.github/scripts/gen-helm-docs.sh "${chart_parts[0]}" "${chart_parts[1]}"
fi
done
- name: Create commit
id: create-commit
uses: stefanzweifel/git-auto-commit-action@v4
with:
file_pattern: charts/**/
commit_message: "chore: Auto-update chart README [skip ci]"
commit_user_name: k8s-at-home[bot]
commit_user_email: k8s-at-home[bot]@users.noreply.github.com
commit_author: k8s-at-home[bot] <k8s-at-home[bot]@users.noreply.github.com>
- name: Save commit hash
id: save-commit-hash
run: |
if [ "${{ steps.create-commit.outputs.changes_detected || 'unknown' }}" == "true" ]; then
echo '::set-output name=commit_hash::${{ steps.create-commit.outputs.commit_hash }}'
else
echo "::set-output name=commit_hash::${GITHUB_SHA}"
fi
- name: Checkout
uses: actions/checkout@v2
with:
token: ${{ steps.generate-token.outputs.token }}
ref: ${{ steps.save-commit-hash.outputs.commit_hash }}
fetch-depth: 0
- name: Configure Git
run: |
git config user.name "k8s-at-home[bot]"
git config user.email "k8s-at-home[bot]@users.noreply.github.com"
- name: Run chart-releaser
uses: helm/chart-releaser-action@v1.2.1
with:
charts_dir: charts/*
charts_repo_url: https://k8s-at-home.com/charts/
env:
CR_TOKEN: "${{ steps.generate-token.outputs.token }}"
CR_SKIP_EXISTING: "true"
generate-summary:
name: Auto-generate charts summary
runs-on: ubuntu-20.04
needs:
- release
- release
steps:
- name: Get k8s-at-home token
id: get-app-token
uses: getsentry/action-github-app-token@v1
with:
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
- name: Generate Token
uses: tibdex/github-app-token@v1
id: generate-token
with:
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
- name: Checkout
uses: actions/checkout@v2
with:
token: ${{ steps.get-app-token.outputs.token }}
ref: master
fetch-depth: 0
- name: Checkout
uses: actions/checkout@v2
with:
token: ${{ steps.generate-token.outputs.token }}
ref: master
fetch-depth: 0
- name: Install yq
uses: chrisdickinson/setup-yq@latest
with:
yq-version: v4.9.3
- name: Install yq
uses: chrisdickinson/setup-yq@latest
with:
yq-version: v4.9.3
- name: Run script
run: |
./hack/gen-chart-summary.sh
- name: Run script
run: |
./hack/gen-chart-summary.sh
- name: Create Commit
uses: stefanzweifel/git-auto-commit-action@v4
with:
push_options: --force
commit_message: Auto-generate chart summary [no ci]
commit_user_name: k8s-at-home[bot]
commit_user_email: k8s-at-home[bot]@users.noreply.github.com
commit_author: k8s-at-home[bot] <k8s-at-home[bot]@users.noreply.github.com>
file_pattern: charts/README.md
- name: Create Commit
uses: stefanzweifel/git-auto-commit-action@v4
with:
push_options: --force
commit_message: Auto-generate chart summary [no ci]
commit_user_name: k8s-at-home[bot]
commit_user_email: k8s-at-home[bot]@users.noreply.github.com
commit_author: k8s-at-home[bot] <k8s-at-home[bot]@users.noreply.github.com>
file_pattern: charts/README.md

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

@@ -0,0 +1,131 @@
name: "Charts: Test"
on:
workflow_call:
inputs:
checkoutCommit:
required: true
type: string
jobs:
unit-test:
name: Run unit tests
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
ref: ${{ inputs.checkoutCommit }}
- name: Install Kubernetes tools
uses: yokawasa/action-setup-kube-tools@v0.8.0
with:
setup-tools: |
helmv3
helm: "3.8.0"
- name: Install Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7
- name: Install dependencies
env:
RUBYJQ_USE_SYSTEM_LIBRARIES: 1
run: |
sudo apt-get update
sudo apt-get install libjq-dev
bundle install
- name: Run tests
run: |
bundle exec m -r ./test/
generate-install-matrix:
name: Generate matrix for install
runs-on: ubuntu-latest
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
ref: ${{ inputs.checkoutCommit }}
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.1.0
- name: Run chart-testing (list-changed)
id: list-changed
run: |
EXCLUDED=$(yq eval -o=json '.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
install-charts:
needs:
- generate-install-matrix
if: needs.generate-install-matrix.outputs.detected == 'true'
name: Install charts
strategy:
matrix: ${{ fromJson(needs.generate-install-matrix.outputs.matrix) }}
fail-fast: true
max-parallel: 15
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
ref: ${{ inputs.checkoutCommit }}
- name: Install Kubernetes tools
uses: yokawasa/action-setup-kube-tools@v0.8.0
with:
setup-tools: |
helmv3
helm: "3.6.3"
- uses: actions/setup-python@v2
with:
python-version: "3.10"
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.1.0
- name: Create k3d cluster
uses: nolar/setup-k3d-k3s@v1
with:
version: v1.19
- name: Remove node taints
run: |
kubectl taint --all=true nodes node.cloudprovider.kubernetes.io/uninitialized- || true
- 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:
- generate-install-matrix
- install-charts
if: |
always()
name: Install successful
runs-on: ubuntu-latest
steps:
- name: Check install matrix status
if: ${{ (needs.generate-install-matrix.outputs.detected == 'true') && (needs.install-charts.result != 'success') }}
run: exit 1

View File

@@ -1,351 +0,0 @@
name: "Charts: Validate"
on:
workflow_dispatch:
pull_request:
paths:
- "charts/**"
concurrency:
group: ${{ github.head_ref }}-validate
# cancel-in-progress: true
jobs:
pr-metadata:
name: Collect PR metadata
runs-on: ubuntu-20.04
outputs:
branch: ${{ steps.branch-name.outputs.current_branch }}
isFork: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
addedOrModified: ${{ steps.filter.outputs.addedOrModified }}
addedOrModifiedFiles: ${{ steps.filter.outputs.addedOrModified_files }}
addedOrModifiedCharts: ${{ steps.filter-charts.outputs.addedOrModified }}
steps:
- name: Get branch name
id: branch-name
uses: tj-actions/branch-names@v5.1
- name: Checkout
uses: actions/checkout@v2
- name: Collect changed files
uses: dorny/paths-filter@v2
id: filter
with:
list-files: shell
filters: |
addedOrModified:
- added|modified: 'charts/**'
- name: Collect changed charts
if: |
steps.filter.outputs.addedOrModified == 'true'
id: filter-charts
run: |
CHARTS=()
PATHS=(${{ steps.filter.outputs.addedOrModified_files }})
# Get only the chart paths
for CHARTPATH in "${PATHS[@]}"
do
IFS='/' read -r -a path_parts <<< "${CHARTPATH}"
CHARTS+=("${path_parts[1]}/${path_parts[2]}")
done
# Remove duplicates
CHARTS=( `printf "%s\n" "${CHARTS[@]}" | sort -u` )
# Set output to changed charts
printf "::set-output name=addedOrModified::%s\n" "${CHARTS[*]}"
generate-readme:
name: Generate chart README files
runs-on: ubuntu-20.04
outputs:
commitHash: ${{ steps.create-commit.outputs.commit_hash }}
needs:
- pr-metadata
steps:
- name: Checkout
if: |
needs.pr-metadata.outputs.isFork == 'true'
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Get app-token
uses: getsentry/action-github-app-token@v1
id: get-app-token
if: |
needs.pr-metadata.outputs.isFork == 'false'
with:
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
- name: Checkout with app-token
if: |
needs.pr-metadata.outputs.isFork == 'false'
uses: actions/checkout@v2
with:
fetch-depth: 0
token: ${{ steps.get-app-token.outputs.token }}
- uses: yokawasa/action-setup-kube-tools@v0.8.0
if: |
needs.pr-metadata.outputs.addedOrModified == 'true'
with:
setup-tools: |
yq
yq: "4.16.2"
- name: Install helm-docs
if: |
needs.pr-metadata.outputs.addedOrModified == 'true'
run: |
wget -O /tmp/helm-docs.deb https://github.com/k8s-at-home/helm-docs/releases/download/v0.1.1/helm-docs_0.1.1_Linux_x86_64.deb
sudo dpkg -i /tmp/helm-docs.deb
- name: Annotate Charts.yaml for Renovate PR's
if: |
needs.pr-metadata.outputs.addedOrModified == 'true' &&
startsWith(needs.pr-metadata.outputs.branch, 'renovate/')
run: |
export DEFAULT_BRANCH=$(git remote show origin | awk '/HEAD branch/ {print $NF}')
CHARTS=(${{ needs.pr-metadata.outputs.addedOrModifiedCharts }})
for i in "${CHARTS[@]}"
do
IFS='/' read -r -a chart_parts <<< "$i"
if [ -f "charts/${chart_parts[0]}"/"${chart_parts[1]}/Chart.yaml" ]; then
./hack/renovate-releasenotes.sh "charts/${chart_parts[0]}"/"${chart_parts[1]}"
fi
echo ""
done
- name: Generate README for changed charts
if: |
needs.pr-metadata.outputs.addedOrModified == 'true'
run: |
CHARTS=(${{ needs.pr-metadata.outputs.addedOrModifiedCharts }})
for i in "${CHARTS[@]}"
do
printf "Rendering README for chart %s\n" "${i}"
echo " ${i}"
IFS='/' read -r -a chart_parts <<< "$i"
if [ -f "charts/${chart_parts[0]}"/"${chart_parts[1]}/Chart.yaml" ]; then
./hack/gen-helm-docs.sh "${chart_parts[0]}" "${chart_parts[1]}"
fi
echo ""
done
- name: Create commit
id: create-commit
if: |
needs.pr-metadata.outputs.addedOrModified == 'true'
uses: stefanzweifel/git-auto-commit-action@v4
with:
file_pattern: charts/**/
commit_message: Auto-update chart metadata and README
commit_user_name: ${{ github.actor }}
commit_user_email: ${{ github.actor }}@users.noreply.github.com
changes-lint:
name: Detect changes for linting
runs-on: ubuntu-20.04
outputs:
matrix: |
{
"chart": ${{ steps.list-changed.outputs.charts }}
}
detected: ${{ steps.list-changed.outputs.detected }}
needs:
- pr-metadata
- generate-readme
if: |
needs.generate-readme.outputs.commitHash == ''
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.1.0
- name: Run chart-testing (list-changed)
id: list-changed
run: |
EXCLUDED=$(yq eval -o=json '.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:
name: Detect changes for install
runs-on: ubuntu-20.04
outputs:
matrix: |
{
"chart": ${{ steps.list-changed.outputs.charts }}
}
detected: ${{ steps.list-changed.outputs.detected }}
needs:
- pr-metadata
- generate-readme
if: |
needs.generate-readme.outputs.commitHash == ''
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.1.0
- name: Run chart-testing (list-changed)
id: list-changed
run: |
EXCLUDED=$(yq eval -o=json '.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:
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.6.3
- uses: actions/setup-python@v2
with:
python-version: 3.7
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.1.0
- 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.changes-lint.outputs.detected == 'true' && needs.lint.result != 'success' }}
run: exit 1
unittest:
needs:
- lint_success
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.6.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:
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.6.3
- uses: actions/setup-python@v2
with:
python-version: 3.7
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.1.0
- name: Create k3d cluster
uses: nolar/setup-k3d-k3s@v1
with:
version: v1.19
- name: Remove node taints
run: |
kubectl taint --all=true nodes node.cloudprovider.kubernetes.io/uninitialized- || true
- 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:
- changes-install
- install
if: ${{ always() }}
name: Install successful
runs-on: ubuntu-20.04
steps:
- name: Check install matrix status
if: ${{ needs.changes-install.outputs.detected == 'true' && needs.install.result != 'success' }}
run: exit 1

View File

@@ -0,0 +1,118 @@
---
name: "Metadata: Label pull requests CI status"
on:
workflow_run:
workflows:
- "Pull Request: Validate"
types:
- completed
jobs:
label-ci-status:
name: Label CI status
runs-on: ubuntu-latest
steps:
- name: Generate Token
uses: tibdex/github-app-token@v1
id: generate-token
with:
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
- name: Checkout
uses: actions/checkout@v2
with:
token: ${{ steps.generate-token.outputs.token }}
- name: Download workflow artifact
uses: dawidd6/action-download-artifact@v2.11.0
with:
github_token: ${{ steps.generate-token.outputs.token }}
workflow: pr-validate.yaml
run_id: ${{ github.event.workflow_run.id }}
name: pr_metadata
path: ./pr_metadata
- name: Read the pr_number file
id: pr_num_reader
uses: juliangruber/read-file-action@v1.0.0
with:
path: ./pr_metadata/pr_number.txt
- name: "Get workflow job status"
uses: actions/github-script@v5
id: get-workflow-jobs
with:
github-token: ${{ steps.generate-token.outputs.token }}
# https://mhagemann.medium.com/the-ultimate-way-to-slugify-a-url-string-in-javascript-b8e4a0d849e1
script: |
function slugify(string) {
const a = 'àáâäæãåāăąçćčđďèéêëēėęěğǵḧîïíīįìıİłḿñńǹňôöòóœøōõőṕŕřßśšşșťțûüùúūǘůűųẃẍÿýžźż·/_,:;'
const b = 'aaaaaaaaaacccddeeeeeeeegghiiiiiiiilmnnnnoooooooooprrsssssttuuuuuuuuuwxyyzzz------'
const p = new RegExp(a.split('').join('|'), 'g')
return string.toString().toLowerCase()
.replace(/\s+/g, '-') // Replace spaces with -
.replace(p, c => b.charAt(a.indexOf(c))) // Replace special characters
.replace(/&/g, '-and-') // Replace & with 'and'
.replace(/[^\w\-]+/g, '') // Remove all non-word characters
.replace(/\-\-+/g, '-') // Replace multiple - with single -
.replace(/^-+/, '') // Trim - from start of text
.replace(/-+$/, '') // Trim - from end of text
}
let result = new Object
const wfJobs = await github.rest.actions.listJobsForWorkflowRun({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: context.payload.workflow_run.id,
})
for (const job of wfJobs.data.jobs) {
result[slugify(job.name)] = job.conclusion
}
console.log(result)
return result
- name: Label pre-commit status
uses: ./.github/actions/label-from-status
with:
token: ${{ steps.generate-token.outputs.token }}
issue-number: ${{ steps.pr_num_reader.outputs.content }}
prefix: precommit
job-status: |-
${{ fromJSON(steps.get-workflow-jobs.outputs.result).pre-commit-check-run-pre-commit-checks || 'skipped' }}
remove-on-skipped: true
- name: Label changelog status
uses: ./.github/actions/label-from-status
with:
token: ${{ steps.generate-token.outputs.token }}
issue-number: ${{ steps.pr_num_reader.outputs.content }}
prefix: changelog
job-status: |-
${{ fromJSON(steps.get-workflow-jobs.outputs.result).charts-changelog-validate-changelog || 'skipped' }}
remove-on-skipped: true
- name: Label chart lint status
uses: ./.github/actions/label-from-status
with:
token: ${{ steps.generate-token.outputs.token }}
issue-number: ${{ steps.pr_num_reader.outputs.content }}
prefix: lint
job-status: |-
${{ fromJSON(steps.get-workflow-jobs.outputs.result).charts-lint-lint-charts || 'skipped' }}
remove-on-skipped: true
- name: Label chart install status
uses: ./.github/actions/label-from-status
with:
token: ${{ steps.generate-token.outputs.token }}
issue-number: ${{ steps.pr_num_reader.outputs.content }}
prefix: install
job-status: |-
${{ fromJSON(steps.get-workflow-jobs.outputs.result).charts-test-install-successful || 'skipped' }}
remove-on-skipped: true

View File

@@ -1,5 +1,5 @@
---
name: 'Metadata: Label Commenter'
name: "Metadata: Label Commenter"
on:
issues:
@@ -21,17 +21,18 @@ jobs:
name: Label commenter
runs-on: ubuntu-20.04
steps:
- uses: getsentry/action-github-app-token@v1
id: get-app-token
with:
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
- name: Generate Token
uses: tibdex/github-app-token@v1
id: generate-token
with:
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
- uses: actions/checkout@v2
with:
token: ${{ steps.get-app-token.outputs.token }}
ref: master
- uses: actions/checkout@v2
with:
token: ${{ steps.generate-token.outputs.token }}
ref: master
- uses: peaceiris/actions-label-commenter@v1
with:
github_token: ${{ steps.get-app-token.outputs.token }}
- uses: peaceiris/actions-label-commenter@v1
with:
github_token: ${{ steps.generate-token.outputs.token }}

View File

@@ -1,71 +0,0 @@
---
name: "Metadata: Label issues and pull requests"
on:
issues:
types:
- opened
- edited
- closed
- reopened
pull_request_target:
types:
- opened
- edited
- closed
- reopened
- ready_for_review
- synchronize
jobs:
label:
name: Label issues and pull requests
runs-on: ubuntu-20.04
steps:
- uses: getsentry/action-github-app-token@v1
id: get-app-token
with:
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
- uses: Videndum/label-mastermind@2.1.3
with:
GITHUB_TOKEN: ${{ steps.get-app-token.outputs.token }}
configJSON: |
{
"releaseMastermind": {
"labels": {
"kind:incorrect-title": {
"name": "kind:incorrect-title",
"colour": "#ffb700",
"description": "Incorrect title"
}
},
"runners": [
{
"root": ".",
"versioning": {
"source": "milestones",
"type": "other"
},
"pr": {
"labels": {
"kind:incorrect-title": {
"requires": 2,
"conditions": [
{
"type": "creatorMatches",
"pattern": "^(?!renovate).+"
},
{
"type": "titleMatches",
"pattern": "^(?!\\[[a-z0-9\\-]+\\]\\s.+).+"
}
]
}
}
}
}
]
}
}

View File

@@ -1,126 +0,0 @@
---
name: "Metadata: Label pull requests CI status"
on:
workflow_run:
workflows:
- "Pre-commit consistency check"
- "Charts: Validate"
types:
- completed
jobs:
label-precommit:
name: Label pre-commit status
runs-on: ubuntu-20.04
if: "${{ github.event.workflow.name == 'Pre-commit consistency check' }}"
steps:
- uses: getsentry/action-github-app-token@v1
id: get-app-token
with:
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
- name: "Get information about the origin 'CI' run"
uses: potiuk/get-workflow-origin@v1_3
id: source-run-info
with:
token: ${{ steps.get-app-token.outputs.token }}
sourceRunId: ${{ github.event.workflow_run.id }}
- name: Label precommit success
uses: andymckay/labeler@1.0.4
if: ${{ github.event.workflow_run.conclusion == 'success' }}
with:
repo-token: ${{ steps.get-app-token.outputs.token }}
issue-number: ${{ steps.source-run-info.outputs.pullRequestNumber }}
add-labels: "precommit:ok"
remove-labels: "precommit:failed"
- name: Label precommit failure
uses: andymckay/labeler@1.0.4
if: ${{ github.event.workflow_run.conclusion == 'failure' }}
with:
repo-token: ${{ steps.get-app-token.outputs.token }}
issue-number: ${{ steps.source-run-info.outputs.pullRequestNumber }}
add-labels: "precommit:failed"
remove-labels: "precommit:ok"
label-lint-install:
name: Label lint and install status
runs-on: ubuntu-20.04
if: "${{ github.event.workflow.name == 'Charts: Validate' }}"
steps:
- uses: getsentry/action-github-app-token@v1
id: get-app-token
with:
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
- name: "Get information about the origin 'CI' run"
uses: potiuk/get-workflow-origin@v1_3
id: source-run-info
with:
token: ${{ steps.get-app-token.outputs.token }}
sourceRunId: ${{ github.event.workflow_run.id }}
- name: "Get workflow job status"
uses: actions/github-script@v5
id: get-workflow-jobs
with:
github-token: ${{ steps.get-app-token.outputs.token }}
script: |
let result = new Object
const wfJobs = await github.rest.actions.listJobsForWorkflowRun({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: context.payload.workflow_run.id,
})
for (const job of wfJobs.data.jobs) {
if (job.name === 'Lint successful') {
result['lint'] = job.conclusion
} else if (job.name === 'Install successful') {
result['install'] = job.conclusion
}
}
console.log(result)
return result
- name: Label lint success
uses: andymckay/labeler@1.0.4
if: ${{ fromJSON(steps.get-workflow-jobs.outputs.result).lint == 'success' }}
with:
repo-token: ${{ steps.get-app-token.outputs.token }}
issue-number: ${{ steps.source-run-info.outputs.pullRequestNumber }}
add-labels: "lint:ok"
remove-labels: "lint:failed"
- name: Label lint failure
uses: andymckay/labeler@1.0.4
if: ${{ fromJSON(steps.get-workflow-jobs.outputs.result).lint == 'failure' }}
with:
repo-token: ${{ steps.get-app-token.outputs.token }}
issue-number: ${{ steps.source-run-info.outputs.pullRequestNumber }}
add-labels: "lint:failed"
remove-labels: "lint:ok"
- name: Label install success
uses: andymckay/labeler@1.0.4
if: ${{ fromJSON(steps.get-workflow-jobs.outputs.result).install == 'success' }}
with:
repo-token: ${{ steps.get-app-token.outputs.token }}
issue-number: ${{ steps.source-run-info.outputs.pullRequestNumber }}
add-labels: "install:ok"
remove-labels: "install:failed"
- name: Label install failure
uses: andymckay/labeler@1.0.4
if: ${{ fromJSON(steps.get-workflow-jobs.outputs.result).install == 'failure' }}
with:
repo-token: ${{ steps.get-app-token.outputs.token }}
issue-number: ${{ steps.source-run-info.outputs.pullRequestNumber }}
add-labels: "install:failed"
remove-labels: "install:ok"

View File

@@ -0,0 +1,39 @@
---
name: "Metadata: Label pull requests"
on:
pull_request_target:
types:
- opened
- edited
- closed
- reopened
- ready_for_review
- synchronize
jobs:
label-size:
name: Label Size
runs-on: ubuntu-latest
steps:
- name: Generate Token
uses: tibdex/github-app-token@v1
id: generate-token
with:
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
- name: Label Size
uses: pascalgn/size-label-action@v0.4.3
env:
GITHUB_TOKEN: "${{ steps.generate-token.outputs.token }}"
with:
sizes: >
{
"0": "XS",
"20": "S",
"50": "M",
"200": "L",
"800": "XL",
"2000": "XXL"
}

60
.github/workflows/pr-metadata.yaml vendored Normal file
View File

@@ -0,0 +1,60 @@
name: "Pull Request: Get metadata"
on:
workflow_call:
outputs:
isRenovatePR:
description: "Is the PR coming from Renovate?"
value: ${{ jobs.pr-metadata.outputs.isRenovatePR }}
isFork:
description: "Is the PR coming from a forked repo?"
value: ${{ jobs.pr-metadata.outputs.isFork }}
addedOrModified:
description: "Does the PR contain any changes?"
value: ${{ jobs.pr-changes.outputs.addedOrModified }}
addedOrModifiedFiles:
description: "A list of the files changed in this PR"
value: ${{ jobs.pr-changes.outputs.addedOrModifiedFiles }}
addedOrModifiedCharts:
description: "A list of the charts changed in this PR"
value: ${{ jobs.pr-changes.outputs.addedOrModifiedCharts }}
jobs:
pr-metadata:
name: Collect PR metadata
runs-on: ubuntu-latest
outputs:
isRenovatePR: ${{ startsWith(steps.branch-name.outputs.current_branch, 'renovate/') }}
isFork: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
steps:
- name: Get branch name
id: branch-name
uses: tj-actions/branch-names@v5.1
- name: Save PR data to file
env:
PR_NUMBER: ${{ github.event.number }}
run: |
echo $PR_NUMBER > pr_number.txt
- name: Store pr data in artifact
uses: actions/upload-artifact@v2
with:
name: pr_metadata
path: ./pr_number.txt
retention-days: 5
pr-changes:
name: Collect PR changes
runs-on: ubuntu-latest
outputs:
addedOrModified: ${{ steps.collect-changes.outputs.changesDetected }}
addedOrModifiedFiles: ${{ steps.collect-changes.outputs.addedOrModifiedFiles }}
addedOrModifiedCharts: ${{ steps.collect-changes.outputs.addedOrModifiedCharts }}
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Collect changes
id: collect-changes
uses: ./.github/actions/collect-changes

47
.github/workflows/pr-validate.yaml vendored Normal file
View File

@@ -0,0 +1,47 @@
name: "Pull Request: Validate"
on:
pull_request:
branches:
- master
concurrency:
group: ${{ github.head_ref }}-pr-validate
# cancel-in-progress: true
jobs:
pr-metadata:
uses: k8s-at-home/charts/.github/workflows/pr-metadata.yaml@master
pre-commit-check:
uses: k8s-at-home/charts/.github/workflows/pre-commit-check.yaml@master
needs:
- pr-metadata
with:
modifiedFiles: ${{ needs.pr-metadata.outputs.addedOrModifiedFiles }}
charts-changelog:
uses: k8s-at-home/charts/.github/workflows/charts-changelog.yaml@master
needs:
- pr-metadata
- pre-commit-check
with:
isRenovatePR: ${{ needs.pr-metadata.outputs.isRenovatePR }}
modifiedCharts: ${{ needs.pr-metadata.outputs.addedOrModifiedCharts }}
charts-lint:
uses: k8s-at-home/charts/.github/workflows/charts-lint.yaml@master
needs:
- pr-metadata
- charts-changelog
with:
checkoutCommit: ${{ needs.charts-changelog.outputs.commitHash }}
charts-test:
uses: k8s-at-home/charts/.github/workflows/charts-test.yaml@master
needs:
- pr-metadata
- charts-changelog
- charts-lint
with:
checkoutCommit: ${{ needs.charts-changelog.outputs.commitHash }}

View File

@@ -1,41 +1,21 @@
name: "Pre-commit consistency check"
on:
workflow_dispatch:
pull_request:
concurrency:
group: ${{ github.head_ref }}-precommit
cancel-in-progress: true
workflow_call:
inputs:
modifiedFiles:
required: true
type: string
jobs:
pre-commit-check:
name: Run pre-commit checks
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Checkout
uses: actions/checkout@v2
- uses: dorny/paths-filter@v2
id: filter
with:
list-files: shell
filters: |
addedOrModified:
- added|modified: '**'
# run only if changed files were detected
- name: Run against changes
uses: pre-commit/action@v2.0.3
if: steps.filter.outputs.addedOrModified == 'true'
with:
extra_args: --files ${{ steps.filter.outputs.addedOrModified_files }}
# run if no changed files were detected (e.g. workflow_dispatch on master branch)
- name: Run against all files
uses: pre-commit/action@v2.0.3
if: steps.filter.outputs.addedOrModified != 'true'
with:
extra_args: --all-files
- name: Run against changes
uses: pre-commit/action@v2.0.3
with:
extra_args: --files ${{ inputs.modifiedFiles }}

View File

@@ -0,0 +1,32 @@
---
name: "Schedule: Sync labels"
on: # yamllint disable-line rule:truthy
workflow_dispatch:
schedule:
- cron: "0 * * * *"
jobs:
labels:
name: Sync Labels
runs-on: ubuntu-latest
if: github.repository == 'k8s-at-home/charts'
steps:
- name: Generate Token
uses: tibdex/github-app-token@v1
id: generate-token
with:
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
- name: Checkout
uses: actions/checkout@v2
with:
token: ${{ steps.generate-token.outputs.token }}
- name: Sync Labels
uses: EndBug/label-sync@v2
with:
config-file: .github/labels.yaml
token: "${{ steps.generate-token.outputs.token }}"
delete-other-labels: true

View File

@@ -1,6 +1,7 @@
---
name: "Mark or close stale issues and PRs"
on:
workflow_dispatch:
schedule:
# Run the stalebot every day at 8pm UTC
- cron: "00 20 * * *"
@@ -9,11 +10,19 @@ jobs:
stale:
runs-on: ubuntu-20.04
steps:
- uses: actions/stale@v4
- name: Generate Token
uses: tibdex/github-app-token@v1
id: generate-token
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-issue-stale: 90
days-before-pr-stale: 90
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
- name: Check for stale issues and PRs
uses: actions/stale@v4
with:
repo-token: ${{ steps.generate-token.outputs.token }}
days-before-issue-stale: 60
days-before-pr-stale: 60
days-before-close: 14
days-before-pr-close: 14
stale-issue-message: >

View File

@@ -1,6 +1,6 @@
# Helm charts
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-53-orange.svg?style=flat-square)](#contributors-)
[![All Contributors](https://img.shields.io/badge/all_contributors-56-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://docs.k8s-at-home.com/)
@@ -115,6 +115,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<td align="center"><a href="https://www.carrierlost.net"><img src="https://avatars.githubusercontent.com/u/969721?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Roberto Santalla</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=roobre" title="Code">💻</a></td>
<td align="center"><a href="http://www.greghaskins.com"><img src="https://avatars.githubusercontent.com/u/285310?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Greg Haskins</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=greghaskins" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/jlrgraham"><img src="https://avatars.githubusercontent.com/u/2184689?v=4?s=100" width="100px;" alt=""/><br /><sub><b>jlrgraham</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=jlrgraham" title="Code">💻</a></td>
<td align="center"><a href="https://cronix.cc"><img src="https://avatars.githubusercontent.com/u/181302?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Lukas Wingerberg</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=psych0d0g" title="Code">💻</a></td>
<td align="center"><a href="http://www.djvg.net"><img src="https://avatars.githubusercontent.com/u/17107225?v=4?s=100" width="100px;" alt=""/><br /><sub><b>TheDJVG</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=TheDJVG" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/rschoultz"><img src="https://avatars.githubusercontent.com/u/727834?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Rickard Schoultz</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=rschoultz" title="Code">💻</a></td>
</tr>
</table>

View File

@@ -26,10 +26,12 @@
| [deluge](stable/deluge) | Deluge is a torrent download client |
| [dizquetv](stable/dizquetv) | Create live TV channel streams from media on your Plex servers. |
| [dnsmadeeasy-webhook](stable/dnsmadeeasy-webhook) | Cert-Manager Webhook for DNSMadeEasy |
| [dokuwiki](stable/dokuwiki) | DokuWiki is a simple to use and highly versatile Open Source wiki software that doesn't require a database. |
| [double-take](stable/double-take) | Unified UI and API for processing and training images for facial recognition. |
| [dsmr-reader](stable/dsmr-reader) | DSMR-protocol reader, telegram data storage and energy consumption visualizer. |
| [duplicati](stable/duplicati) | Store securely encrypted backups on cloud storage services! |
| [emby](stable/emby) | Emby Server is a home media server |
| [error-pages](stable/error-pages) | Server error pages in the docker image |
| [esphome](stable/esphome) | ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems. |
| [facebox](stable/facebox) | Facebox detects and identifies faces in photos. You can teach facebox with as little as one sample image. |
| [filebrowser](stable/filebrowser) | filebrowser provides a file managing interface within a specified directory |
@@ -67,6 +69,7 @@
| [lidarr](stable/lidarr) | Looks and smells like Sonarr but made for music |
| [littlelink-server](stable/littlelink-server) | A lightweight open source alternative to linktree |
| [lychee](stable/lychee) | Lychee is a free photo-management tool, which runs on your server or web-space |
| [maddy](stable/maddy) | Maddy Mail Server |
| [magic-mirror](stable/magic-mirror) | magic-mirror helm package |
| [mealie](stable/mealie) | Mealie is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. |
| [miniflux](stable/miniflux) | Miniflux is a minimalist and opinionated feed reader. |
@@ -99,8 +102,10 @@
| [piaware](stable/piaware) | Program for forwarding ADS-B data to FlightAware |
| [plex](stable/plex) | Plex Media Server |
| [pod-gateway](stable/pod-gateway) | Admision controller to change the default gateway and DNS server of PODs |
| [powerdns-admin](stable/powerdns-admin) | A PowerDNS web interface with advanced features |
| [powerdns](stable/powerdns) | PowerDNS is a DNS server, written in C++ and licensed under the GPL. It runs on most Unix derivatives. PowerDNS features a large number of different backends ranging from simple BIND style zonefiles to relational databases and load balancing/failover algorithms. A DNS recursor is provided as a separate program. |
| [pretend-youre-xyzzy](stable/pretend-youre-xyzzy) | pretend-youre-xyzzy, a cards against humanity clone |
| [privatebin](stable/privatebin) | A minimalist, open source online pastebin running on an Nginx, php-fpm & Alpine Linux stack |
| [promcord](stable/promcord) | Discord bot that provides metrics from a Discord server |
| [prometheus-nut-exporter](stable/prometheus-nut-exporter) | Prometheus NUT Exporter a service monitor to send NUT server metrics to a Prometheus instance. |
| [protonmail-bridge](stable/protonmail-bridge) | Container for protonmail bridge to work on the network. |
@@ -108,6 +113,7 @@
| [pyload](stable/pyload) | pyLoad is a Free and Open Source download manager written in Python and designed to be extremely lightweight, easily extensible and fully manageable via web. |
| [qbittorrent](stable/qbittorrent) | qBittorrent is a cross-platform free and open-source BitTorrent client |
| [radarr](stable/radarr) | A fork of Sonarr to work with movies à la Couchpotato |
| [radicale](stable/radicale) | A simple CalDAV (calendar) and CardDAV (contact) server. |
| [readarr](stable/readarr) | A fork of Radarr to work with Books & AudioBooks |
| [recipes](stable/recipes) | Recipes is a Django application to manage, tag and search recipes using either built in models or external storage providers hosting PDF's, Images or other files. |
| [reg](stable/reg) | Docker registry v2 command line client and repo listing generator with security checks. |
@@ -170,3 +176,4 @@
| [seafile](incubator/seafile) | seafile helm package |
| [sinusbot](incubator/sinusbot) | TeamSpeak & Discord Bot |
| [teamspeak](incubator/teamspeak) | TeamSpeak Server |
| [torrserver](incubator/torrserver) | TorrServer streams torrent to http |

View File

@@ -1,9 +1,9 @@
---
apiVersion: v2
appVersion: 0.5.1
appVersion: 0.6.0
description: Dendrite Matrix Homeserver
name: dendrite
version: 1.0.1
version: 2.0.0
kubeVersion: ">=1.16.0-0"
keywords:
- dendrite
@@ -26,7 +26,13 @@ dependencies:
version: 10.14.4
repository: https://charts.bitnami.com/bitnami
condition: postgresql.enabled
- name: nats
version: 0.12.1
repository: https://nats-io.github.io/k8s/helm/charts/
condition: nats.enabled
annotations:
artifacthub.io/changes: |
- kind: changed
description: Upgraded `postgresql` chart dependency to version `10.14.4`.
description: NATS is now used instead of Kafka
- kind: changed
description: App version bumped to v0.6.0

View File

@@ -1,6 +1,6 @@
# dendrite
![Version: 1.0.1](https://img.shields.io/badge/Version-1.0.1-informational?style=flat-square) ![AppVersion: 0.5.1](https://img.shields.io/badge/AppVersion-0.5.1-informational?style=flat-square)
![Version: 2.0.0](https://img.shields.io/badge/Version-2.0.0-informational?style=flat-square) ![AppVersion: 0.6.0](https://img.shields.io/badge/AppVersion-0.6.0-informational?style=flat-square)
Dendrite Matrix Homeserver
@@ -21,6 +21,7 @@ Kubernetes: `>=1.16.0-0`
|------------|------|---------|
| https://charts.bitnami.com/bitnami | postgresql | 10.14.4 |
| https://library-charts.k8s-at-home.com | common | 4.3.0 |
| https://nats-io.github.io/k8s/helm/charts/ | nats | 0.12.1 |
## TL;DR
@@ -107,8 +108,15 @@ N/A
| image.repository | string | `"matrixdotorg/dendrite-monolith"` | image repository |
| image.tag | string | `"v0.5.1"` | image tag |
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
| nats.enabled | bool | See value.yaml | Enable and configure NATS for dendrite. Can be disabled for monolith deployments - an internal NATS server will be used in its place. |
| nats.image | string | `"nats:2.7.1-alpine"` | |
| nats.jetstream.enabled | bool | `true` | |
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
| persistence.jetstream | object | See values.yaml | Configure Jetsream persistence. This is highly recommended in production. |
| postgresql.enabled | bool | See value.yaml | Enable and configure postgres as the database for dendrite. |
| postgresql.image.repository | string | `"bitnami/postgresql"` | |
| postgresql.image.tag | string | `"14.1.0"` | |
| postgresql.initdbScriptsConfigMap | string | `"dendrite-postgresql-init-scripts"` | |
| postgresql.persistence.enabled | bool | `false` | |
| postgresql.postgresqlDatabase | string | `"dendrite"` | |
| postgresql.postgresqlPassword | string | `"changeme"` | |
@@ -119,7 +127,7 @@ N/A
## Changelog
### Version 1.0.1
### Version 2.0.0
#### Added
@@ -127,7 +135,8 @@ N/A
#### Changed
* Upgraded `postgresql` chart dependency to version `10.14.4`.
* NATS is now used instead of Kafka
* App version bumped to v0.6.0
#### Fixed

View File

@@ -38,13 +38,5 @@ subPath:
{{- $_ := set .Values.persistence "dendrite-key" (include "dendrite.keyVolume" . | fromYaml) -}}
{{- $_ := set .Values.persistence "dendrite-config" (include "dendrite.configVolume" . | fromYaml) -}}
{{- $_ := set .Values.persistence "dendrite-tls" (include "dendrite.tlsVolume" . | fromYaml) -}}
{{- define "postgresql.initdbScripts" -}}
create_db.sh: |
#!/bin/sh
for db in userapi_accounts userapi_devices mediaapi syncapi roomserver keyserver federationapi appservice naffka; do
createdb -U dendrite -O dendrite dendrite_$db
done
{{- end -}}
{{- $_ := set .Values.postgresql "initdbScripts" (include "postgresql.initdbScripts" . | fromYaml) -}}
{{ include "common.all" . }}

View File

@@ -18,14 +18,16 @@ stringData:
well_known_server_name: {{ default "" .Values.dendrite.global.well_known_server_name | quote }}
trusted_third_party_id_servers:
{{- toYaml .Values.dendrite.global.trusted_third_party_id_servers | nindent 8 }}
kafka:
jetstream:
addresses:
{{- if .Values.nats.enabled }}
- {{ include "nats.fullname" .Subcharts.nats }}:4222
{{- else }}
[]
{{- end }}
in_memory: {{ not .Values.persistence.jetstream.enabled }}
storage_path: {{ .Values.persistence.jetstream.mountPath }}
topic_prefix: "Dendrite"
use_naffka: true
naffka_database:
connection_string: {{ $connectionString }}dendrite_naffka?sslmode=disable
max_open_conns: {{ .Values.dendrite.database.max_open_conns }}
max_idle_conns: {{ .Values.dendrite.database.max_idle_conns }}
conn_max_lifetime: {{ .Values.dendrite.database.conn_max_lifetime }}
metrics:
enabled: {{ default false .Values.dendrite.global.metrics.enabled }}
basic_auth:

View File

@@ -0,0 +1,14 @@
{{- if .Values.postgresql.enabled }}
---
apiVersion: v1
kind: ConfigMap
metadata:
creationTimestamp: null
name: {{ .Values.postgresql.initdbScriptsConfigMap | quote }}
data:
create-db.sh: |
#!/bin/sh
for db in userapi_accounts userapi_devices mediaapi syncapi roomserver keyserver federationapi appservice naffka; do
createdb -U {{ .Values.postgresql.postgresqlUsername }} -O {{ .Values.postgresql.postgresqlUsername }} dendrite_$db
done
{{- end }}

View File

@@ -47,6 +47,11 @@ persistence:
media:
enabled: false
mountPath: &mediaPath /var/dendrite/media
# -- Configure Jetsream persistence. This is highly recommended in production.
# @default -- See values.yaml
jetstream:
enabled: false
mountPath: /var/dendrite/jetstream
# -- Configuration for Dendrite.
# For more information see [the sample
@@ -201,8 +206,21 @@ postgresql:
# -- Enable and configure postgres as the database for dendrite.
# @default -- See value.yaml
enabled: false
image:
repository: bitnami/postgresql
tag: "14.1.0"
postgresqlUsername: dendrite
postgresqlPassword: changeme
postgresqlDatabase: dendrite
persistence:
enabled: false
initdbScriptsConfigMap: "dendrite-postgresql-init-scripts"
nats:
# -- Enable and configure NATS for dendrite. Can be disabled for monolith
# deployments - an internal NATS server will be used in its place.
# @default -- See value.yaml
enabled: false
image: nats:2.7.1-alpine
jetstream:
enabled: true

View File

@@ -0,0 +1,26 @@
# 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
# helm-docs templates
*.gotmpl

View File

@@ -0,0 +1,24 @@
apiVersion: v2
appVersion: 1.0.111
description: TorrServer streams torrent to http
name: torrserver
version: 1.0.0
kubeVersion: ">=1.16.0-0"
keywords:
- torrserver
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/torrserver
icon: https://github.com/YouROK/TorrServer/raw/6868979f1fee009204ffe272f89905fcaa03fb72/server/web/pages/template/pages/apple-touch-icon.png
sources:
- https://github.com/MGlants/docker-torrserver
- https://github.com/YouROK/TorrServer
maintainers:
- name: MGlants
email: mark@glants.xyz
dependencies:
- name: common
repository: https://library-charts.k8s-at-home.com
version: 4.3.0
annotations:
artifacthub.io/changes: |
- kind: added
description: Initial version

View File

@@ -0,0 +1,119 @@
# torrserver
![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: 1.0.111](https://img.shields.io/badge/AppVersion-1.0.111-informational?style=flat-square)
TorrServer streams torrent to http
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
## Source Code
* <https://github.com/MGlants/docker-torrserver>
* <https://github.com/YouROK/TorrServer>
## Requirements
Kubernetes: `>=1.16.0-0`
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.k8s-at-home.com | common | 4.3.0 |
## TL;DR
```console
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update
helm install torrserver k8s-at-home/torrserver
```
## Installing the Chart
To install the chart with the release name `torrserver`
```console
helm install torrserver k8s-at-home/torrserver
```
## Uninstalling the Chart
To uninstall the `torrserver` deployment
```console
helm uninstall torrserver
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
## Configuration
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install torrserver \
--set env.TZ="America/New York" \
k8s-at-home/torrserver
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install torrserver k8s-at-home/torrserver -f values.yaml
```
## Custom configuration
N/A
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| env | object | See below | environment variables. See more environment variables in the [torrserver documentation](https://torrserver.org/docs). |
| env.TS_CONF_PATH | string | `"/data"` | Set data dir |
| env.TS_TORR_DIRL | string | `"/data/torrents"` | Set torrent-tiles dir |
| env.TZ | string | `"UTC"` | Set the container timezone |
| hostNetwork | bool | `false` | Set this to `true` to allow using DLNA |
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
| image.repository | string | `"smailkoz/torrserver"` | image repository |
| image.tag | string | chart.appVersion | image tag |
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
| service | object | See values.yaml | Configures service settings for the chart. |
## Changelog
### Version 1.0.0
#### Added
* Initial version
#### Changed
N/A
#### Fixed
N/A
### Older versions
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/torrserver?modal=changelog)
## Support
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v0.1.1](https://github.com/k8s-at-home/helm-docs/releases/v0.1.1)

View File

@@ -0,0 +1,176 @@
{{- define "custom.repository.organization" -}}
k8s-at-home
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/k8s-at-home/charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://k8s-at-home.com/charts/
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install.tldr" -}}
## TL;DR
```console
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
helm repo update
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstalling the Chart
To uninstall the `{{ template "chart.name" . }}` deployment
```console
helm uninstall {{ template "chart.name" . }}
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
{{- end -}}
{{- define "custom.configuration.readValues" -}}
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
{{- end -}}
{{- define "custom.configuration.example.set" -}}
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install {{ template "chart.name" . }} \
--set env.TZ="America/New York" \
{{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.configuration.example.file" -}}
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
```
{{- end -}}
{{- define "custom.valuesSection" -}}
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
{{ template "chart.valuesTable" . }}
{{- end -}}
{{- define "custom.support" -}}
## Support
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
{{- end -}}
{{- define "custom.changelog" -}}
{{ $changeTypes := list "added" "changed" "fixed" }}
## Changelog
### Version {{ template "chart.version" . }}
{{ range $changeType := $changeTypes }}
{{- with (index $.Annotations "artifacthub.io/changes") }}
{{- print "#### " ($changeType | title) | nindent 0 }}
{{- print "" | nindent 0 }}
{{- $changesFound := false }}
{{- range (print "changes:\n" . | fromYaml).changes }}
{{- if eq .kind $changeType }}
{{- print "* " .description | nindent 0 }}
{{- $changesFound = true }}
{{- end }}
{{- end }}
{{- if not $changesFound }}
{{- print "N/A" | nindent 0 }}
{{- end }}
{{- print "" | nindent 0 }}
{{- end }}
{{- end }}
### Older versions
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/{{- template "chart.name" . }}?modal=changelog)
{{- end -}}
{{ template "chart.header" . }}
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
{{ template "chart.sourcesSection" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install.tldr" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.configuration.header" . }}
{{ template "custom.configuration.readValues" . }}
{{ template "custom.configuration.example.set" . }}
{{ template "custom.configuration.example.file" . }}
{{ template "custom.custom.configuration" . }}
{{ template "custom.valuesSection" . }}
{{ template "custom.changelog" . }}
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}
{{ "" }}

View File

@@ -0,0 +1,9 @@
{{- define "custom.custom.configuration.header" -}}
## Custom configuration
{{- end -}}
{{- define "custom.custom.configuration" -}}
{{ template "custom.custom.configuration.header" . }}
N/A
{{- end -}}

View File

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

View File

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

View File

@@ -0,0 +1,48 @@
#
# IMPORTANT NOTE
#
# This chart inherits from our common library chart. You can check the default values/options here:
# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml
#
image:
# -- image repository
repository: smailkoz/torrserver
# -- image tag
# @default -- chart.appVersion
tag:
# -- image pull policy
pullPolicy: IfNotPresent
# -- environment variables. See more environment variables in the [torrserver documentation](https://torrserver.org/docs).
# @default -- See below
env:
# -- Set the container timezone
TZ: UTC
# -- Set data dir
TS_CONF_PATH: /data
# -- Set torrent-tiles dir
TS_TORR_DIRL: /data/torrents
# -- Set this to `true` to allow using DLNA
hostNetwork: false
# -- Configures service settings for the chart.
# @default -- See values.yaml
service:
main:
ports:
http:
port: 8090
ingress:
# -- Enable and configure ingress settings for the chart under this key.
# @default -- See values.yaml
main:
enabled: false
# -- Configure persistence settings for the chart under this key.
# @default -- See values.yaml
persistence:
data:
enabled: false
mountPath: /data

View File

@@ -1,8 +1,8 @@
apiVersion: v2
appVersion: 2.12.01
appVersion: 2.12.06
description: deCONZ is an easy to use control software, with which you can set up and control Zigbee networks of any size without further programming effort.
name: deconz
version: 6.2.0
version: 6.3.0
kubeVersion: ">=1.16.0-0"
keywords:
- deconz
@@ -13,7 +13,7 @@ home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/deconz
icon: https://avatars1.githubusercontent.com/u/4217524?s=400&v=4
sources:
- https://github.com/dresden-elektronik/deconz-rest-plugin
- https://github.com/marthoc/docker-deconz
- https://github.com/deconz-community/deconz-docker
maintainers:
- name: billimek
email: jeff@billimek.com
@@ -24,4 +24,8 @@ dependencies:
annotations:
artifacthub.io/changes: |
- kind: changed
description: Upgraded `common` chart dependency to version `4.3.0`.
description: Changed repository from `marthoc/deconz` to `deconzcommunity/deconz`.
- kind: changed
description: Bumped application version to `2.12.06` from https://phoscon.de/en/changelog/.
- kind: changed
description: Changed config mounthPath to `/opt/deCONZ` as required by new image.

View File

@@ -1,6 +1,6 @@
# deconz
![Version: 6.2.0](https://img.shields.io/badge/Version-6.2.0-informational?style=flat-square) ![AppVersion: 2.12.01](https://img.shields.io/badge/AppVersion-2.12.01-informational?style=flat-square)
![Version: 6.3.0](https://img.shields.io/badge/Version-6.3.0-informational?style=flat-square) ![AppVersion: 2.12.06](https://img.shields.io/badge/AppVersion-2.12.06-informational?style=flat-square)
deCONZ is an easy to use control software, with which you can set up and control Zigbee networks of any size without further programming effort.
@@ -9,7 +9,7 @@ deCONZ is an easy to use control software, with which you can set up and control
## Source Code
* <https://github.com/dresden-elektronik/deconz-rest-plugin>
* <https://github.com/marthoc/docker-deconz>
* <https://github.com/deconz-community/deconz-docker>
## Requirements
@@ -86,8 +86,8 @@ N/A
| env.DECONZ_WS_PORT | int | `443` | Websocket listen port |
| env.TZ | string | `"UTC"` | Set the container timezone |
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
| image.repository | string | `"marthoc/deconz"` | image repository |
| image.tag | string | `"2.12.01"` | image tag |
| image.repository | string | `"deconzcommunity/deconz"` | image repository |
| image.tag | string | `"2.12.06"` | image tag |
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
| persistence.usb | object | See values.yaml | Configure a hostPathMount to mount a USB device in the container. |
@@ -96,7 +96,7 @@ N/A
## Changelog
### Version 6.2.0
### Version 6.3.0
#### Added
@@ -104,7 +104,9 @@ N/A
#### Changed
* Upgraded `common` chart dependency to version `4.3.0`.
* Changed repository from `marthoc/deconz` to `deconzcommunity/deconz`.
* Bumped application version to `2.12.06` from https://phoscon.de/en/changelog/.
* Changed config mounthPath to `/opt/deCONZ` as required by new image.
#### Fixed
@@ -120,6 +122,3 @@ A historical overview of changes can be found on [ArtifactHUB](https://artifacth
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v0.1.1](https://github.com/k8s-at-home/helm-docs/releases/v0.1.1)

View File

@@ -7,9 +7,9 @@
image:
# -- image repository
repository: marthoc/deconz
repository: deconzcommunity/deconz
# -- image tag
tag: 2.12.01
tag: 2.12.06
# -- image pull policy
pullPolicy: IfNotPresent
@@ -63,7 +63,7 @@ securityContext:
persistence:
config:
enabled: false
mountPath: /root/.local/share/dresden-elektronik/deCONZ
mountPath: /opt/deCONZ
# -- Configure a hostPathMount to mount a USB device in the container.
# @default -- See values.yaml
usb:

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 1.2.0
description: Cert-Manager Webhook for DNSMadeEasy
name: dnsmadeeasy-webhook
version: 4.4.0
version: 4.4.1
keywords:
- cert-manager
- dnsmadeeasy
@@ -21,9 +21,9 @@ dependencies:
version: 4.3.0
- name: cert-manager
repository: https://charts.jetstack.io
version: v1.6.1
version: v1.6.2
condition: cert-manager.enabled
annotations:
artifacthub.io/changes: |
- kind: changed
description: Upgraded `common` chart dependency to version `4.3.0`.
description: Upgraded `cert-manager` chart dependency to version `v1.6.2`.

View File

@@ -1,6 +1,6 @@
# dnsmadeeasy-webhook
![Version: 4.4.0](https://img.shields.io/badge/Version-4.4.0-informational?style=flat-square) ![AppVersion: 1.2.0](https://img.shields.io/badge/AppVersion-1.2.0-informational?style=flat-square)
![Version: 4.4.1](https://img.shields.io/badge/Version-4.4.1-informational?style=flat-square) ![AppVersion: 1.2.0](https://img.shields.io/badge/AppVersion-1.2.0-informational?style=flat-square)
Cert-Manager Webhook for DNSMadeEasy
@@ -17,7 +17,7 @@ Cert-Manager Webhook for DNSMadeEasy
| Repository | Name | Version |
|------------|------|---------|
| https://charts.jetstack.io | cert-manager | v1.6.1 |
| https://charts.jetstack.io | cert-manager | v1.6.2 |
| https://library-charts.k8s-at-home.com | common | 4.3.0 |
## TL;DR
@@ -87,7 +87,7 @@ N/A
## Changelog
### Version 4.4.0
### Version 4.4.1
#### Added
@@ -95,7 +95,7 @@ N/A
#### Changed
* Upgraded `common` chart dependency to version `4.3.0`.
* Upgraded `cert-manager` chart dependency to version `v1.6.2`.
#### Fixed

View File

@@ -0,0 +1,26 @@
# 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
# helm-docs templates
*.gotmpl

View File

@@ -0,0 +1,25 @@
apiVersion: v2
appVersion: 20200729.0.0
description: DokuWiki is a simple to use and highly versatile Open Source wiki software that doesn't require a database.
name: dokuwiki
version: 1.0.0
kubeVersion: ">=1.16.0-0"
keywords:
- dokuwiki
- wiki
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/dokuwiki
icon: https://www.dokuwiki.org/lib/tpl/dokuwiki/images/logo.png
sources:
- https://github.com/splitbrain/dokuwiki
- https://github.com/linuxserver/docker-dokuwiki
maintainers:
- name: psych0d0g
email: psych0d0g@users.noreply.github.com
dependencies:
- name: common
repository: https://library-charts.k8s-at-home.com
version: 4.3.0
annotations:
artifacthub.io/changes: |
- kind: added
description: Initial chart version

View File

@@ -0,0 +1,116 @@
# dokuwiki
![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: 20200729.0.0](https://img.shields.io/badge/AppVersion-20200729.0.0-informational?style=flat-square)
DokuWiki is a simple to use and highly versatile Open Source wiki software that doesn't require a database.
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
## Source Code
* <https://github.com/splitbrain/dokuwiki>
* <https://github.com/linuxserver/docker-dokuwiki>
## Requirements
Kubernetes: `>=1.16.0-0`
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.k8s-at-home.com | common | 4.3.0 |
## TL;DR
```console
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update
helm install dokuwiki k8s-at-home/dokuwiki
```
## Installing the Chart
To install the chart with the release name `dokuwiki`
```console
helm install dokuwiki k8s-at-home/dokuwiki
```
## Uninstalling the Chart
To uninstall the `dokuwiki` deployment
```console
helm uninstall dokuwiki
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
## Configuration
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install dokuwiki \
--set env.TZ="America/New York" \
k8s-at-home/dokuwiki
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install dokuwiki k8s-at-home/dokuwiki -f values.yaml
```
## Custom configuration
N/A
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| env | object | See below (only deviations from the default settings are specified) | environment variables. See [image docs](https://docs.kanboard.org/en/latest/admin_guide/docker.html#environment-variables) and [application docs](# https://docs.kanboard.org/en/latest/admin_guide/config_file.html) for more details. |
| env.TZ | string | `"Europe/London"` | Application Timezone |
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
| image.repository | string | `"linuxserver/dokuwiki"` | image repository |
| image.tag | string | `"version-2020-07-29"` | image tag |
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
| service | object | See values.yaml | Configures service settings for the chart. |
## Changelog
### Version 1.0.0
#### Added
* Initial chart version
#### Changed
N/A
#### Fixed
N/A
### Older versions
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/dokuwiki?modal=changelog)
## Support
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v0.1.1](https://github.com/k8s-at-home/helm-docs/releases/v0.1.1)

View File

@@ -0,0 +1,176 @@
{{- define "custom.repository.organization" -}}
k8s-at-home
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/k8s-at-home/charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://k8s-at-home.com/charts/
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install.tldr" -}}
## TL;DR
```console
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
helm repo update
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstalling the Chart
To uninstall the `{{ template "chart.name" . }}` deployment
```console
helm uninstall {{ template "chart.name" . }}
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
{{- end -}}
{{- define "custom.configuration.readValues" -}}
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
{{- end -}}
{{- define "custom.configuration.example.set" -}}
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install {{ template "chart.name" . }} \
--set env.TZ="America/New York" \
{{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.configuration.example.file" -}}
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
```
{{- end -}}
{{- define "custom.valuesSection" -}}
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
{{ template "chart.valuesTable" . }}
{{- end -}}
{{- define "custom.support" -}}
## Support
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
{{- end -}}
{{- define "custom.changelog" -}}
{{ $changeTypes := list "added" "changed" "fixed" }}
## Changelog
### Version {{ template "chart.version" . }}
{{ range $changeType := $changeTypes }}
{{- with (index $.Annotations "artifacthub.io/changes") }}
{{- print "#### " ($changeType | title) | nindent 0 }}
{{- print "" | nindent 0 }}
{{- $changesFound := false }}
{{- range (print "changes:\n" . | fromYaml).changes }}
{{- if eq .kind $changeType }}
{{- print "* " .description | nindent 0 }}
{{- $changesFound = true }}
{{- end }}
{{- end }}
{{- if not $changesFound }}
{{- print "N/A" | nindent 0 }}
{{- end }}
{{- print "" | nindent 0 }}
{{- end }}
{{- end }}
### Older versions
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/{{- template "chart.name" . }}?modal=changelog)
{{- end -}}
{{ template "chart.header" . }}
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
{{ template "chart.sourcesSection" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install.tldr" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.configuration.header" . }}
{{ template "custom.configuration.readValues" . }}
{{ template "custom.configuration.example.set" . }}
{{ template "custom.configuration.example.file" . }}
{{ template "custom.custom.configuration" . }}
{{ template "custom.valuesSection" . }}
{{ template "custom.changelog" . }}
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}
{{ "" }}

View File

@@ -0,0 +1,9 @@
{{- define "custom.custom.configuration.header" -}}
## Custom configuration
{{- end -}}
{{- define "custom.custom.configuration" -}}
{{ template "custom.custom.configuration.header" . }}
N/A
{{- end -}}

View File

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

View File

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

View File

@@ -0,0 +1,42 @@
# IMPORTANT NOTE
#
# This chart inherits from our common library chart. You can check the default values/options here:
# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml
#
image:
# -- image repository
repository: linuxserver/dokuwiki
# -- image tag
tag: version-2020-07-29
# -- image pull policy
pullPolicy: IfNotPresent
# -- environment variables. See [image docs](https://docs.kanboard.org/en/latest/admin_guide/docker.html#environment-variables)
# and [application docs](# https://docs.kanboard.org/en/latest/admin_guide/config_file.html) for more details.
# @default -- See below (only deviations from the default settings are specified)
env:
# Application Configuration
# -- Application Timezone
TZ: UTC
# -- Configures service settings for the chart.
# @default -- See values.yaml
service:
main:
ports:
http:
port: 80
ingress:
# -- Enable and configure ingress settings for the chart under this key.
# @default -- See values.yaml
main:
enabled: false
# -- Configure persistence settings for the chart under this key.
# @default -- See values.yaml
persistence:
data:
enabled: false
mountPath: /config

View File

@@ -0,0 +1,26 @@
# 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
# helm-docs templates
*.gotmpl

View File

@@ -0,0 +1,24 @@
apiVersion: v2
appVersion: 2.6.0
description: Server error pages in the docker image
name: error-pages
version: 1.0.0
kubeVersion: ">=1.16.0-0"
keywords:
- traefik
- error-pages
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/error-pages
icon: https://hsto.org/webt/rm/9y/ww/rm9ywwx3gjv9agwkcmllhsuyo7k.png
sources:
- https://github.com/tarampampam/error-pages
maintainers:
- name: billimek
email: jeff@billimek.com
dependencies:
- name: common
repository: https://library-charts.k8s-at-home.com
version: 4.3.0
annotations:
artifacthub.io/changes: |
- kind: added
description: Initial version

View File

@@ -0,0 +1,156 @@
# error-pages
![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: 2.6.0](https://img.shields.io/badge/AppVersion-2.6.0-informational?style=flat-square)
Server error pages in the docker image
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
## Source Code
* <https://github.com/tarampampam/error-pages>
## Requirements
Kubernetes: `>=1.16.0-0`
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.k8s-at-home.com | common | 4.3.0 |
## TL;DR
```console
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update
helm install error-pages k8s-at-home/error-pages
```
## Installing the Chart
To install the chart with the release name `error-pages`
```console
helm install error-pages k8s-at-home/error-pages
```
## Uninstalling the Chart
To uninstall the `error-pages` deployment
```console
helm uninstall error-pages
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
## Configuration
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install error-pages \
--set env.TZ="America/New York" \
k8s-at-home/error-pages
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install error-pages k8s-at-home/error-pages -f values.yaml
```
## Custom configuration
For use with Traefik you will also need to create a `IngressRoute` and `Middleware`, see the examples below:
```yaml
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: error-pages
namespace: networking
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: HostRegexp(`{host:.+}`)
priority: 1
services:
- kind: Service
name: error-pages
port: 8080
tls:
secretName: error-pages-tls
```
```yaml
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: error-pages
namespace: networking
spec:
errors:
status:
- "400-599"
query: /{status}.html
service:
name: error-pages
port: 8080
```
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| env | object | See below | environment variables. See the [error-pages documentation](https://github.com/tarampampam/error-pages/wiki/HTTP-server) for more info. |
| env.SHOW_DETAILS | string | `"false"` | Enable details on error pages |
| env.TEMPLATE_NAME | string | `"l7-dark"` | Set the template |
| env.TZ | string | `"UTC"` | Set the container timezone |
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
| image.repository | string | `"ghcr.io/tarampampam/error-pages"` | image repository |
| image.tag | string | `"2.6.0"` | image tag |
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
| service.main.ports.http.port | int | `8080` | |
## Changelog
### Version 1.0.0
#### Added
* Initial version
#### Changed
N/A
#### Fixed
N/A
### Older versions
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/error-pages?modal=changelog)
## Support
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v0.1.1](https://github.com/k8s-at-home/helm-docs/releases/v0.1.1)

View File

@@ -0,0 +1,176 @@
{{- define "custom.repository.organization" -}}
k8s-at-home
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/k8s-at-home/charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://k8s-at-home.com/charts/
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install.tldr" -}}
## TL;DR
```console
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
helm repo update
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstalling the Chart
To uninstall the `{{ template "chart.name" . }}` deployment
```console
helm uninstall {{ template "chart.name" . }}
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
{{- end -}}
{{- define "custom.configuration.readValues" -}}
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
{{- end -}}
{{- define "custom.configuration.example.set" -}}
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install {{ template "chart.name" . }} \
--set env.TZ="America/New York" \
{{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.configuration.example.file" -}}
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
```
{{- end -}}
{{- define "custom.valuesSection" -}}
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
{{ template "chart.valuesTable" . }}
{{- end -}}
{{- define "custom.support" -}}
## Support
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
{{- end -}}
{{- define "custom.changelog" -}}
{{ $changeTypes := list "added" "changed" "fixed" }}
## Changelog
### Version {{ template "chart.version" . }}
{{ range $changeType := $changeTypes }}
{{- with (index $.Annotations "artifacthub.io/changes") }}
{{- print "#### " ($changeType | title) | nindent 0 }}
{{- print "" | nindent 0 }}
{{- $changesFound := false }}
{{- range (print "changes:\n" . | fromYaml).changes }}
{{- if eq .kind $changeType }}
{{- print "* " .description | nindent 0 }}
{{- $changesFound = true }}
{{- end }}
{{- end }}
{{- if not $changesFound }}
{{- print "N/A" | nindent 0 }}
{{- end }}
{{- print "" | nindent 0 }}
{{- end }}
{{- end }}
### Older versions
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/{{- template "chart.name" . }}?modal=changelog)
{{- end -}}
{{ template "chart.header" . }}
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
{{ template "chart.sourcesSection" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install.tldr" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.configuration.header" . }}
{{ template "custom.configuration.readValues" . }}
{{ template "custom.configuration.example.set" . }}
{{ template "custom.configuration.example.file" . }}
{{ template "custom.custom.configuration" . }}
{{ template "custom.valuesSection" . }}
{{ template "custom.changelog" . }}
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}
{{ "" }}

View File

@@ -0,0 +1,50 @@
{{- define "custom.custom.configuration.header" -}}
## Custom configuration
{{- end -}}
{{- define "custom.custom.configuration" -}}
{{ template "custom.custom.configuration.header" . }}
For use with Traefik you will also need to create a `IngressRoute` and `Middleware`, see the examples below:
```yaml
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: error-pages
namespace: networking
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: HostRegexp(`{host:.+}`)
priority: 1
services:
- kind: Service
name: error-pages
port: 8080
tls:
secretName: error-pages-tls
```
```yaml
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: error-pages
namespace: networking
spec:
errors:
status:
- "400-599"
query: /{status}.html
service:
name: error-pages
port: 8080
```
{{- end -}}

View File

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

View File

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

View File

@@ -0,0 +1,42 @@
#
# IMPORTANT NOTE
#
# This chart inherits from our common library chart. You can check the default values/options here:
# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml
#
image:
# -- image repository
repository: ghcr.io/tarampampam/error-pages
# -- image tag
tag: 2.6.0
# -- image pull policy
pullPolicy: IfNotPresent
# -- environment variables. See the [error-pages documentation](https://github.com/tarampampam/error-pages/wiki/HTTP-server) for more info.
# @default -- See below
env:
# -- Set the container timezone
TZ: UTC
# -- Set the template
TEMPLATE_NAME: l7-dark
# -- Enable details on error pages
SHOW_DETAILS: "false"
service:
main:
ports:
http:
port: 8080
ingress:
# -- Enable and configure ingress settings for the chart under this key.
# @default -- See values.yaml
main:
enabled: false
# -- Configure persistence settings for the chart under this key.
# @default -- See values.yaml
persistence:
config:
enabled: false

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 4.27.2
description: Ghost is a blogging and publishing software
name: ghost
version: 1.1.0
version: 1.1.2
kubeVersion: ">=1.19.0-0"
keywords:
- ghost
@@ -25,7 +25,5 @@ dependencies:
condition: mariadb.enabled
annotations:
artifacthub.io/changes: |
- kind: changed
description: Upgraded `common` chart dependency to version `4.3.0`.
- kind: changed
description: Upgraded `mariadb` chart dependency to version `10.2.0`.
- kind: fixed
description: Fixed database host to match mariadb-svc

View File

@@ -1,6 +1,6 @@
# ghost
![Version: 1.1.0](https://img.shields.io/badge/Version-1.1.0-informational?style=flat-square) ![AppVersion: 4.27.2](https://img.shields.io/badge/AppVersion-4.27.2-informational?style=flat-square)
![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.2-informational?style=flat-square) ![AppVersion: 4.27.2](https://img.shields.io/badge/AppVersion-4.27.2-informational?style=flat-square)
Ghost is a blogging and publishing software
@@ -80,7 +80,7 @@ N/A
| env.NODE_ENV | string | `"production"` | |
| env.database__client | string | `"mysql"` | |
| env.database__connection__database | string | `"ghost"` | |
| env.database__connection__host | string | `"mariadb"` | |
| env.database__connection__host | string | `"ghost-mariadb"` | |
| env.database__connection__password | string | `"ghost"` | |
| env.database__connection__user | string | `"ghost"` | |
| env.url | string | `"http://some-ghost.example.com"` | |
@@ -100,7 +100,7 @@ N/A
## Changelog
### Version 1.1.0
### Version 1.1.2
#### Added
@@ -108,12 +108,11 @@ N/A
#### Changed
* Upgraded `common` chart dependency to version `4.3.0`.
* Upgraded `mariadb` chart dependency to version `10.2.0`.
N/A
#### Fixed
N/A
* Fixed database host to match mariadb-svc
### Older versions

View File

@@ -3,11 +3,10 @@
{{/* Append the hardcoded settings */}}
{{- define "ghost.hardcodedValues" -}}
persistence:
{{- if not .Values.persistence.content.enabled }}
persistence:
content:
enabled: "true"
enabled: true
type: "emptyDir"
{{- end }}
{{- end -}}

View File

@@ -17,7 +17,7 @@ image:
env:
url: "http://some-ghost.example.com"
database__client: mysql
database__connection__host: mariadb
database__connection__host: ghost-mariadb
database__connection__user: ghost
database__connection__password: ghost
database__connection__database: ghost

View File

@@ -1,8 +1,8 @@
apiVersion: v2
appVersion: v3.0.1
appVersion: version-v3.1.3
description: ERP beyond your fridge - grocy is a web-based self-hosted groceries & household management solution for your home
name: grocy
version: 8.2.0
version: 8.3.0
kubeVersion: ">=1.16.0-0"
keywords:
- grocy
@@ -20,4 +20,6 @@ dependencies:
annotations:
artifacthub.io/changes: |
- kind: changed
description: Upgraded `common` chart dependency to version `4.3.0`.
description: Updated application version to v3.1.3.
- kind: added
description: Added `emptyDir` volume for the viewcache in order to prevent problems when upgrading the image that would require manual intervention.

View File

@@ -1,6 +1,6 @@
# grocy
![Version: 8.2.0](https://img.shields.io/badge/Version-8.2.0-informational?style=flat-square) ![AppVersion: v3.0.1](https://img.shields.io/badge/AppVersion-v3.0.1-informational?style=flat-square)
![Version: 8.3.0](https://img.shields.io/badge/Version-8.3.0-informational?style=flat-square) ![AppVersion: version-v3.1.3](https://img.shields.io/badge/AppVersion-version--v3.1.3-informational?style=flat-square)
ERP beyond your fridge - grocy is a web-based self-hosted groceries & household management solution for your home
@@ -81,22 +81,23 @@ N/A
| env.TZ | string | `"UTC"` | Set the container timezone |
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
| image.repository | string | `"linuxserver/grocy"` | image repository |
| image.tag | string | `"version-v3.0.1"` | image tag |
| image.tag | string | chart.appVersion | image tag |
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
| persistence.viewcache | object | `{"enabled":true,"mountPath":"/config/data/viewcache","type":"emptyDir"}` | there will cases of blank pages when upgrading the image that require manually clearing the directory |
| service | object | See values.yaml | Configures service settings for the chart. |
## Changelog
### Version 8.2.0
### Version 8.3.0
#### Added
N/A
* Added `emptyDir` volume for the viewcache in order to prevent problems when upgrading the image that would require manual intervention.
#### Changed
* Upgraded `common` chart dependency to version `4.3.0`.
* Updated application version to v3.1.3.
#### Fixed

View File

@@ -9,7 +9,8 @@ image:
# -- image repository
repository: linuxserver/grocy
# -- image tag
tag: version-v3.0.1
# @default -- chart.appVersion
tag:
# -- image pull policy
pullPolicy: IfNotPresent
@@ -42,3 +43,10 @@ ingress:
persistence:
config:
enabled: false
# Let the viewcache only persist for the lifetime of the pod, otherwise
# there will cases of blank pages when upgrading the image that require
# manually clearing the directory
viewcache:
enabled: true
type: emptyDir
mountPath: /config/data/viewcache

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: v1.0.0.2255
description: Looks and smells like Sonarr but made for music
name: lidarr
version: 13.2.0
version: 14.0.0
kubeVersion: ">=1.16.0-0"
keywords:
- lidarr
@@ -23,4 +23,4 @@ dependencies:
annotations:
artifacthub.io/changes: |
- kind: changed
description: Upgraded `common` chart dependency to version `4.3.0`.
description: Updated exportarr to v1.0.0

View File

@@ -1,6 +1,6 @@
# lidarr
![Version: 13.2.0](https://img.shields.io/badge/Version-13.2.0-informational?style=flat-square) ![AppVersion: v1.0.0.2255](https://img.shields.io/badge/AppVersion-v1.0.0.2255-informational?style=flat-square)
![Version: 14.0.0](https://img.shields.io/badge/Version-14.0.0-informational?style=flat-square) ![AppVersion: v1.0.0.2255](https://img.shields.io/badge/AppVersion-v1.0.0.2255-informational?style=flat-square)
Looks and smells like Sonarr but made for music
@@ -88,7 +88,7 @@ N/A
| metrics.exporter.env.unknownQueueItems | bool | `false` | Set to true to enable gathering unknown queue items |
| metrics.exporter.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
| metrics.exporter.image.repository | string | `"ghcr.io/onedr0p/exportarr"` | image repository |
| metrics.exporter.image.tag | string | `"v0.6.2"` | image tag |
| metrics.exporter.image.tag | string | `"v1.0.0"` | image tag |
| metrics.prometheusRule | object | See values.yaml | Enable and configure Prometheus Rules for the chart under this key. |
| metrics.prometheusRule.rules | list | See prometheusrules.yaml | Configure additionial rules for the chart under this key. |
| metrics.serviceMonitor.interval | string | `"3m"` | |
@@ -100,7 +100,7 @@ N/A
## Changelog
### Version 13.2.0
### Version 14.0.0
#### Added
@@ -108,7 +108,7 @@ N/A
#### Changed
* Upgraded `common` chart dependency to version `4.3.0`.
* Updated exportarr to v1.0.0
#### Fixed

View File

@@ -7,9 +7,9 @@ persistence:
additionalContainers:
exportarr:
name: exportarr
image: ghcr.io/onedr0p/exportarr:v0.6.1
image: ghcr.io/onedr0p/exportarr:v1.0.0
imagePullPolicy: IfNotPresent
args: ["exportarr", "lidarr"]
args: ["lidarr"]
env:
- name: PORT
value: "32123"

View File

@@ -9,7 +9,7 @@ additionalContainers:
name: exporter
image: "{{ .Values.metrics.exporter.image.repository }}:{{ .Values.metrics.exporter.image.tag }}"
imagePullPolicy: {{ .Values.metrics.exporter.image.pullPolicy }}
args: ["exportarr", "lidarr"]
args: ["lidarr"]
env:
- name: URL
value: "http://localhost"

View File

@@ -97,7 +97,7 @@ metrics:
# -- image repository
repository: ghcr.io/onedr0p/exportarr
# -- image tag
tag: v0.6.2
tag: v1.0.0
# -- image pull policy
pullPolicy: IfNotPresent
env:

View File

@@ -0,0 +1,26 @@
# 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
# helm-docs templates
*.gotmpl

View File

@@ -0,0 +1,31 @@
apiVersion: v2
appVersion: v0.5.2
description: Maddy Mail Server
name: maddy
version: 2.0.0
kubeVersion: ">=1.16.0-0"
keywords:
- maddy
- mail
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/maddy
# Project has no icon yet
# icon: https://maddy.org/icon
sources:
- https://github.com/foxcpp/maddy
maintainers:
- name: angelnu
email: git@angelnu.com
dependencies:
- name: common
repository: https://library-charts.k8s-at-home.com
version: 4.3.0
- name: postgresql
version: 10.14.4
repository: https://charts.bitnami.com/bitnami
condition: postgresql.enabled
annotations:
artifacthub.io/changes: |
- kind: changed
description: **Breaking**: `alias` content moved from `maddy.alias` to `maddy.config_files.alias`
- kid: added
description: additional settings for imap and local_mailboxes under `extra_settings`.

View File

@@ -0,0 +1,146 @@
# maddy
![Version: 2.0.0](https://img.shields.io/badge/Version-2.0.0-informational?style=flat-square) ![AppVersion: v0.5.2](https://img.shields.io/badge/AppVersion-v0.5.2-informational?style=flat-square)
Maddy Mail Server
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
## Source Code
* <https://github.com/foxcpp/maddy>
## Requirements
Kubernetes: `>=1.16.0-0`
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
| https://charts.bitnami.com/bitnami | postgresql | 10.14.4 |
| https://library-charts.k8s-at-home.com | common | 4.3.0 |
## TL;DR
```console
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update
helm install maddy k8s-at-home/maddy
```
## Installing the Chart
To install the chart with the release name `maddy`
```console
helm install maddy k8s-at-home/maddy
```
## Uninstalling the Chart
To uninstall the `maddy` deployment
```console
helm uninstall maddy
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
## Configuration
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install maddy \
--set env.TZ="America/New York" \
k8s-at-home/maddy
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install maddy k8s-at-home/maddy -f values.yaml
```
## Custom configuration
After you have deployed the Helm chart you need to update your DNS. See
[Maddy initial setup instructions](https://maddy.email/tutorials/setting-up/)
about how to do this.
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
| image.repository | string | `"foxcpp/maddy"` | image repository |
| image.tag | string | chart.appVersion | image tag |
| maddy.auth.ldap | object | See [See Maddy auth](https://maddy.email/man/_generated_maddy-auth.5/#configuration-directives_5) | If type is ldap the following options are required |
| maddy.auth.ldap."bind plain" | string | `"\"cn=maddy,ou=people,dc=maddy,dc=test\" \"123456\""` | Specify initial bind credentials. Not required ('bind off') if DN template is used. |
| maddy.auth.ldap.base_dn | string | `"\"ou=people,dc=maddy,dc=test\""` | Specify base_dn to lookup DN. |
| maddy.auth.ldap.connect_timeout | string | `"1m"` | Timeout for initial connection to the directory server. |
| maddy.auth.ldap.debug | string | `"off"` | Enable verbose logging. You don't need that unless you are reporting a bug. |
| maddy.auth.ldap.dn_template | string | `"\"cn={username},ou=people,dc=maddy,dc=test\""` | Specify DN template to skip lookup. |
| maddy.auth.ldap.filter | string | `"\"(&(objectClass=posixAccount)(uid={username}))\""` | Specify filter to lookup DN. |
| maddy.auth.ldap.starttls | string | `"off"` | Whether to upgrade connection to TLS using STARTTLS. |
| maddy.auth.ldap.urls | string | `"ldap://maddy.test:389"` | URLs of the directory servers to use. First available server is used - no load-balancing is done. |
| maddy.auth.type | string | `"sql"` | Where to store authorised users. Valid values are `sql` and `ldap` |
| maddy.config_files.alias | string | `"## Replace 'cat' with any domain to 'dog'.\n## E.g. cat@example.net -> dog@example.net\n# cat: dog\n\n## Replace cat@example.org with cat@example.com.\n## Takes priority over the previous line.\n#cat@example.org: cat@example.com\n"` | Alias file used in smtp_rule See [alias examples](https://maddy.email/man/_generated_maddy-filters.5/). |
| maddy.extra_settings.imap | object | `{}` | Additional settings for imap backend |
| maddy.extra_settings.local_mailboxes | object | `{}` | Additional settings for local_mailboxes storage |
| maddy.hostname | string | `"mx.example.com"` | Hostname the service will listen to (incoming SMTP and IMAP) |
| maddy.primary_domain | string | `"example.com"` | Primary domain - will be included in SMTP protocol |
| maddy.secondary_domains | string | `nil` | Space separated list of additional domains this server handles |
| maddy.smtp_rules | object | See values.yaml | The main part of the configuration - rules for the smtp pipelines. You can define multiple blocks. Content comes from the chart when setting `file` (see files/smtp_rules folder) and/or the custom block |
| maddy.sql.postgres_dsn | object | See [Go DSN](https://pkg.go.dev/github.com/lib/pq?utm_source=godoc#hdr-Connection_String_Parameters) | If type is postgres configure the Data Source Name (DSN) |
| maddy.sql.postgres_dsn.dbname | string | DB name set in embedded postgres chart | The name of the DB |
| maddy.sql.postgres_dsn.host | string | host of embedded postgres chart | The host to connect to |
| maddy.sql.postgres_dsn.password | string | user set in embedded postgres chart | The DB user password |
| maddy.sql.postgres_dsn.sslmode | string | `"disable"` | SSL model for the DB disable - No SSL require - Always SSL (skip verification) verify-ca - Always SSL (verify that the certificate presented by the server was signed by a trusted CA) verify-full - Always SSL (verify that the certification presented by the server was signed by a trusted CA and the server host name matches the one in the certificate) |
| maddy.sql.postgres_dsn.user | string | user set in embedded postgres chart | The DB user |
| maddy.sql.type | string | `"sqlite3"` | DB type to use. Supported are `sqlite3` and `postgres` Database is used to store IMAP indexes and (when not using LDAP) authorized users |
| maddy.tls_secret_name | string | `"myTLSSecret"` | name of K8S secret containing the cert and key to use by maddy. |
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
| postgresql | object | see bellow | Bitnami postgres chart. For more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql |
| postgresql.enabled | bool | `false` | Enable if you want to use the embedded postgresql chart (not neeeded if you use your own postgres DB). |
| postgresql.persistence.enabled | bool | `false` | if database is stored to a PVC. Set to true when you are done testing. |
| postgresql.postgresqlDatabase | string | `"postgres"` | Postgres database password |
| postgresql.postgresqlPassword | string | `"changeme"` | Postgres database password |
| postgresql.postgresqlUsername | string | `"postgres"` | Postgres database user name |
| service | object | See values.yaml | Configures service settings for the chart. |
## Changelog
### Version 2.0.0
#### Added
N/A
#### Changed
N/A
#### Fixed
N/A
### Older versions
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/maddy?modal=changelog)
## Support
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v0.1.1](https://github.com/k8s-at-home/helm-docs/releases/v0.1.1)

View File

@@ -0,0 +1,176 @@
{{- define "custom.repository.organization" -}}
k8s-at-home
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/k8s-at-home/charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://k8s-at-home.com/charts/
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install.tldr" -}}
## TL;DR
```console
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
helm repo update
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstalling the Chart
To uninstall the `{{ template "chart.name" . }}` deployment
```console
helm uninstall {{ template "chart.name" . }}
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
{{- end -}}
{{- define "custom.configuration.readValues" -}}
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
{{- end -}}
{{- define "custom.configuration.example.set" -}}
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install {{ template "chart.name" . }} \
--set env.TZ="America/New York" \
{{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.configuration.example.file" -}}
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
```
{{- end -}}
{{- define "custom.valuesSection" -}}
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
{{ template "chart.valuesTable" . }}
{{- end -}}
{{- define "custom.support" -}}
## Support
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
{{- end -}}
{{- define "custom.changelog" -}}
{{ $changeTypes := list "added" "changed" "fixed" }}
## Changelog
### Version {{ template "chart.version" . }}
{{ range $changeType := $changeTypes }}
{{- with (index $.Annotations "artifacthub.io/changes") }}
{{- print "#### " ($changeType | title) | nindent 0 }}
{{- print "" | nindent 0 }}
{{- $changesFound := false }}
{{- range (print "changes:\n" . | fromYaml).changes }}
{{- if eq .kind $changeType }}
{{- print "* " .description | nindent 0 }}
{{- $changesFound = true }}
{{- end }}
{{- end }}
{{- if not $changesFound }}
{{- print "N/A" | nindent 0 }}
{{- end }}
{{- print "" | nindent 0 }}
{{- end }}
{{- end }}
### Older versions
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/{{- template "chart.name" . }}?modal=changelog)
{{- end -}}
{{ template "chart.header" . }}
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
{{ template "chart.sourcesSection" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install.tldr" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.configuration.header" . }}
{{ template "custom.configuration.readValues" . }}
{{ template "custom.configuration.example.set" . }}
{{ template "custom.configuration.example.file" . }}
{{ template "custom.custom.configuration" . }}
{{ template "custom.valuesSection" . }}
{{ template "custom.changelog" . }}
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}
{{ "" }}

View File

@@ -0,0 +1,11 @@
{{- define "custom.custom.configuration.header" -}}
## Custom configuration
{{- end -}}
{{- define "custom.custom.configuration" -}}
{{ template "custom.custom.configuration.header" . }}
After you have deployed the Helm chart you need to update your DNS. See
[Maddy initial setup instructions](https://maddy.email/tutorials/setting-up/)
about how to do this.
{{- end -}}

View File

@@ -0,0 +1,95 @@
secret:
# These are dummy keys not used outside test
tls.crt: |
-----BEGIN CERTIFICATE-----
MIIFazCCA1OgAwIBAgIUZbgDUsWP0qXbhbXbEhnj5eJVeNAwDQYJKoZIhvcNAQEL
BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMjAxMjMyMjU2MDdaFw0yMzAx
MjMyMjU2MDdaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggIiMA0GCSqGSIb3DQEB
AQUAA4ICDwAwggIKAoICAQCjcRK1LMlRW5rCnTm1o85GR8JqXjvOpi1UoHwLnnhR
SdbbUIt+5iR6r2b9RQrv1AS8r/5rXaW6xp+pQfu7aTfOHygp0PKxkTCy1bF384Pm
RCsFopdvW/L0myg+irluldR/vzmw4FLDEoUyIc6FAWou8+wBkJOMCqG933Afef09
JamB8AwbtuhHVP0JI3jQihaZ7N9zng/kqcpUuesfu8RWr/WGgAjuLnlxU9DchwQm
QaTSzWvqamNLNVbCWfBNNZ5mj6FTwsH4RpaTzj+jgy1kc1/X0sjMgJV77y7IF/kA
qDGZ9Gn6VhfdGjAdRxQ1lazcwAn2/7/+2bfJxhyywYwZbH0fjMK54jL50kJSrk1k
tDIHfTUcNsntZ7NhBFjUHR58l66QV6t8R2hzAv+F6zgpU0UzynJbCaOp8Fqj2B2M
V9S/XgStFzbBL4rEt2qUBHC+28V3gvhSbq/F/mpgOAxGHn9itqPym5HFuUCoa/PB
ozv548oSQt+KCbhJlqJgYR1ShZfEloC9HZrdP2bC+aM0vaR3RGNJfA81tHk1cRLQ
gQNuFzzdiCPi3YPxWbH3mLVROrqj8Pbwvqxxt9E+XKClEPZ891A9KCJrzD0tQKbN
K1fe0ACABwMo6uRmpitvxcacaSvU1VzqC6daHdFMVK6368xrjgpWwar6JJ9XSzeN
mwIDAQABo1MwUTAdBgNVHQ4EFgQU4Fnp9UecLzcHUW2Ho7f4fP375+IwHwYDVR0j
BBgwFoAU4Fnp9UecLzcHUW2Ho7f4fP375+IwDwYDVR0TAQH/BAUwAwEB/zANBgkq
hkiG9w0BAQsFAAOCAgEAMaoKr3wbyhHYMZsAOWhETcEZ62nNFIb1rTkqjcBND7Gj
ruf2Qax5aNDkyf9Uy9Kpx96k7W3KMTgqNsmyq53Yt09SNzy3+aqG36WnpX+JKoP9
9Mt2U6OYQXqGDVuEVOc2+GnWwM6UNd4CELMFHtyNErCiapR2M/y/2L3koZZYkkvC
RsnEJ8wjOqgZtxMRWGXqZebhr+zfLXya+0INdXRYEMiJBPTGw0AQTRIcY8VDpmTZ
XsQDSwALay3/kYxdhZ7cjTUlBjOtpXzOSbPoCrdrAWZ0d7Yacyzxz2XclaJ7WJEX
uLPCHvA6EaSEz4wEp4YACTR739cCr9SmqkSb6RqTf1JoYVluImZMegtehEJ1Fwqs
ekW+xrp8tYj4mXLaCUboNknpuEsuQCHbxVaZsoEMQpUhCYQPTMjZ7EEQN3enYsyB
gXA7eoLVVO9qpZXovuIP0dKVTE3THsZyf20Vp86qYzSxXnsu1eR3WinewyKb0kl1
URR1pBgwTn7kNjyNmQxPmzETuW4UjhwEX16Qy3Hmvq0guuPnVTpfv711SkK7kamZ
9qUWDwMks4/JESwmvDjTo/RPvSQYdFiX4xSUYaMXQQQRwZjfZBUjfd/sKH7Szrsh
kaWj0jqst1nkKL/VKszKh0n0jxweqcHMjPqbEwsiODRioxp0vTLzv46+CPsNusg=
-----END CERTIFICATE-----
tls.key: |
-----BEGIN PRIVATE KEY-----
MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQCjcRK1LMlRW5rC
nTm1o85GR8JqXjvOpi1UoHwLnnhRSdbbUIt+5iR6r2b9RQrv1AS8r/5rXaW6xp+p
Qfu7aTfOHygp0PKxkTCy1bF384PmRCsFopdvW/L0myg+irluldR/vzmw4FLDEoUy
Ic6FAWou8+wBkJOMCqG933Afef09JamB8AwbtuhHVP0JI3jQihaZ7N9zng/kqcpU
uesfu8RWr/WGgAjuLnlxU9DchwQmQaTSzWvqamNLNVbCWfBNNZ5mj6FTwsH4RpaT
zj+jgy1kc1/X0sjMgJV77y7IF/kAqDGZ9Gn6VhfdGjAdRxQ1lazcwAn2/7/+2bfJ
xhyywYwZbH0fjMK54jL50kJSrk1ktDIHfTUcNsntZ7NhBFjUHR58l66QV6t8R2hz
Av+F6zgpU0UzynJbCaOp8Fqj2B2MV9S/XgStFzbBL4rEt2qUBHC+28V3gvhSbq/F
/mpgOAxGHn9itqPym5HFuUCoa/PBozv548oSQt+KCbhJlqJgYR1ShZfEloC9HZrd
P2bC+aM0vaR3RGNJfA81tHk1cRLQgQNuFzzdiCPi3YPxWbH3mLVROrqj8Pbwvqxx
t9E+XKClEPZ891A9KCJrzD0tQKbNK1fe0ACABwMo6uRmpitvxcacaSvU1VzqC6da
HdFMVK6368xrjgpWwar6JJ9XSzeNmwIDAQABAoICAD+BF7u9gxtRdHhZjqq80tEL
4MZjhulsOADBunDpSeaLwifEy+6qjVH+BQ4zXWSCBLUrzLb61AIWWsLxGFZhM4Wr
JXfZ7/J+b2WNEj+BJqa5pd2ypxRlrajNAH4MeLA3FzHrowbOolmZQJeR+yRCwHct
321cN3gaSW30+yO/yl2P3KTYGFxMXUQaCZcbaT3d6Zo1Jz1NFO/L6Qmyk2DpHAhy
pft0lAO3mwglgOmurDYRG3Gsz1ltrNb0CpnJSE03oCxJcm2RJrzI8IjNgnyN4308
NuksxUhwTaSx8oNcjStsLpmbFfJmsS7/leJKU9feKCQ9maGXDYqAHaEQkOYDveMj
5Y6chEt+tp7+01WNrHzFU3FkClJ0RatRECXy7vrOUpC8f5SqnYW98JWe/KfRraiM
gXCkT3nbjHGc/6aniSOCS8H9CjrZCtDTVro9iI81fevQCA5rxKQPRoB2QQAcxPfW
YtUTcm/aSnovvUh2CU23Q8Ji7AlrHzQVH4fuuiAtvN+f0cpHRmwyP8jMV3rUAC9f
NJHoYBhJVbvnV7wVfbDjTVKme9gJXuXmTkPlzZIkbR/zANHfLBx8th4g4zPuseDw
T8uh4vY35Xq0giWAREC3UXt5mJxZjGNsp6svuHfBoi/VJbj1WeJOpZZmfjPvFAeP
b/vxchzAQbiofRBIH3rBAoIBAQDVC+5bYSJ0XgBIgh30sp6nbHXsL8rjCVnqAElL
WqhELP8Oo2AOh1wKSd78ewdimYpnTxJY3rcZUVElMYgfsXUoWnvQBVz/dYnV/jre
cXZNgrMW4tpSX+6u1pr3AryPqe/FzN8XhIgLkC6r/tl5E7mghpBOZhQXZPjKNgxh
K/ZfUVLHkSl54467u1Nqol3n4iB5md8ZCmbVRvuLQWAN/zgbLMvBTVXkzFGM3owz
7aAE9fk4Sa7u600Njut94Xb+sVFhY2JeP/dJ9lp9AhKoGKby94vMfmpr/L80W1WV
IEZcJ4CPOMLLdx1v5NJIk3iCWriE9uPU2Yt4dcGcPtdP0nN3AoIBAQDEZNyQA9Au
MVQLYErprfie01WnQwVB0NOasvEWKJRE5zSES5lhz26zcd11ub/G5UtBb4YpRXvG
b6ah+BdisFe76TXfv9tcJDQSIlGBcKnrPIelzSfO2GlXBpy0jNAoDTLsvLGQFnSm
GaxXvPDGdia6Y8Mcw/q4TPkd2pPtTHEqmmbiH5kCjGrbW9kr3fqhC5nxKWMJoMfa
1qbEZ/mbcC7ymqftZTW17nTfM6YXhD37LyyT2JQsc28qIda+d6cEHp8vXb2v/91d
NcXt3XdifZJHUEqJsz8A/9ksu38ETKKD0j7sohloNdPsBwD+7953H7vO1MW37F5d
FrrNfKRIclf9AoIBAB61zJMhilzp2/KXxwep49LQgKMeNInLpEll5yrUk6LYNZ//
ju4pNuxIv7r3ZRYied/wdv2WhSBCJ4dL/4pKA1Bg0q4mx8QPRmIxdnzwMBR2PaiT
5NKw/2/2gXoPy+yNm4GQyavTL+Uy0Hd8kg6w+DYaj5ytfEHvDSng5qHvO2F8EImx
9B+c3MtU8m5Rn2W4o+PDeXRbmn0t8T6emuEJpCXOrEReCH6lsS+0ONOXclSkvFsP
zAampoHI00te/88w8kEumVRqthPUTjDs5pGSlCY75swAgQi18z3x2IFZmKraCt8a
WIIJ1pV1j5Zko59uwmBwUmExRriDiPgj2tenx3sCggEBALuHoAC4U2o4Wgs+2GmI
YJWwMOK1IWj2MYhPg9vnxaSBrWkCEyUNgKRCfvgx9QjD2/dQuafhHE6gQFn63sGy
pyPcjT/pIFo8i6ghMvjJjsb7ln9ghbmCdhvOSYYxy3XjHJRnnZl7h8kvTJy+4p5v
JY3nQuDN1jNz9JBoLcZyrsDCjKkxCNchI8vwSVAU94Qd4tIf9dy0tQGm47k5m2Os
XHf165HIid/+IYUb+WYNNW4LXqKSNPK5CxYNF9PpxwYtA02kUkOjq0mc1jHKvnvC
chI8feA801Vt+H85ThDZ6Hi9Iq6sHlyewYxoJ7BHdYMEPz5Bd8anInf7A0bB1NEE
tjUCggEBAJvvZTVymzj8X0y16EiAs9sUZCxltgbVeJOaYw+b87GU01am5Idod9CU
GG0v5UdfGmFqap/OHQJE2ae6wNPyTLf2Jk7JTk8uARiVGRqhmQZgxCG9IWp8UDog
5QNr5ahRhAaEHR7IZu03MtmViwN3y/CGaLycmA5T9dDle/Cu7BStqI74VHafUjvz
eqLe3Veec4pvSbRbAtaCv1NsfAXOu/hWC6WsQxIWtqzypEFcVVH3EzWTTMeCgV62
vOUqPaiqwZUxfzKbPVg2aCYCDSau/a7O0g54/OjnmujuTgvU6M68E66+Rg2EPRh7
LlEj5P4CZ1a6mRjUphWK++ggYhqEtp4=
-----END PRIVATE KEY-----
maddy:
tls_secret_name: '{{ include "common.names.fullname" . }}'
service:
main:
type: ClusterIP # LoadBalancer does not work in test env

View File

@@ -0,0 +1,130 @@
## Maddy Mail Server - default configuration file (2021-08-16)
# Suitable for small-scale deployments. Uses its own format for local users DB,
# should be managed via maddyctl utility.
#
# See tutorials at https://maddy.email for guidance on typical
# configuration changes.
#
# See manual pages (also available at https://maddy.email) for reference
# documentation.
# ----------------------------------------------------------------------------
# Base variables
$(hostname) = {{ .Values.maddy.hostname }}
$(primary_domain) = {{ .Values.maddy.primary_domain }}
$(local_domains) = $(primary_domain) {{ if .Values.maddy.secondary_domains }}{{ .Values.maddy.secondary_domains }}{{ end }}
$(alias_file) = /config/aliases
# ----------------------------------------------------------------------------
# Persistency path
state_dir {{ .Values.persistence.data.mountPath }}
# ----------------------------------------------------------------------------
# TLS server certs (IMAP and SMTP)
tls file /certificates/tls.crt /certificates/tls.key
# ----------------------------------------------------------------------------
# Open Metrics
{{ if .Values.service.openmetrics.ports.openmetrics.enabled -}}
openmetrics tcp://127.0.0.1:{{ .Values.service.openmetrics.ports.openmetrics.port }} { }
{{- else -}}
# Not enabled in Helm
{{- end }}
# ----------------------------------------------------------------------------
# Local storage & authentication
# pass_table provides local hashed passwords storage for authentication of
# users. It can be configured to use any "table" module, in default
# configuration a table in SQLite DB is used.
# Table can be replaced to use e.g. a file for passwords. Or pass_table module
# can be replaced altogether to use some external source of credentials (e.g.
# PAM, /etc/shadow file).
#
# If table module supports it (sql_table does) - credentials can be managed
# using 'maddyctl creds' command.
{{ if eq .Values.maddy.auth.type "sql" -}}
auth.pass_table local_authdb {
table sql_table {
{{- if eq .Values.maddy.sql.type "sqlite3" }}
driver sqlite3
dsn credentials.db
table_name passwords
{{- else if eq .Values.maddy.sql.type "postgres" }}
driver postgres
dsn {{ $.Values.maddy.sql.postgres_dsn_line }}
table_name passwords
{{- else }}
{{- fail (printf "Not a valid sql type (%s)" .Values.maddy.sql.type ) }}
{{- end }}
}
}
{{- else if eq .Values.maddy.auth.type "ldap" -}}
auth.ldap local_authdb {
{{- range $option, $value := .Values.maddy.auth.ldap }}
{{ $option}} {{ $value }}
{{- end }}
}
{{- else -}}
{{- fail (printf "Not a valid auth type (%s)" .Values.maddy.auth.type ) }}
{{- end }}
# imapsql module stores all indexes and metadata necessary for IMAP using a
# relational database. It is used by IMAP endpoint for mailbox access and
# also by SMTP & Submission endpoints for delivery of local messages.
#
# IMAP accounts, mailboxes and all message metadata can be inspected using
# imap-* subcommands of maddyctl utility.
storage.imapsql local_mailboxes {
{{- if eq .Values.maddy.sql.type "sqlite3" }}
driver sqlite3
dsn imapsql.db
{{- else if eq .Values.maddy.sql.type "postgres" }}
driver postgres
dsn {{ $.Values.maddy.sql.postgres_dsn_line }}
{{- else }}
{{- fail (printf "Not a valid sql type (%s)" .Values.maddy.sql.type ) }}
{{- end }}
# Other settings
{{- range $option, $value := .Values.maddy.extra_settings.local_mailboxes }}
{{ $option }} {{ tpl $value $ }}
{{- end }}
}
# ----------------------------------------------------------------------------
# SMTP endpoints + message routing
hostname $(hostname)
{{ range $name, $rule := .Values.maddy.smtp_rules -}}
{{- if $rule.enabled }}
## Rule {{ $name }}
{{- if $rule.file }}
### from file "{{ $rule.file }}"
{{ tpl ($.Files.Get (printf "files/smtp_rules/%s" $rule.file) ) $ }}
{{- end }}
{{- if $rule.custom }}
### from custom block"
{{ tpl $rule.custom $ }}
{{- end }}
{{- end }}
{{- end }}
# ----------------------------------------------------------------------------
# IMAP endpoints
imap tls://0.0.0.0:{{ .Values.service.main.ports.imaps.port }} tcp://0.0.0.0:{{ .Values.service.main.ports.imap.port }} {
auth &local_authdb
storage &local_mailboxes
# Other settings
{{- range $option, $value := .Values.maddy.extra_settings.imap }}
{{ $option }} {{ tpl $value $ }}
{{- end }}
}

View File

@@ -0,0 +1,122 @@
table.chain local_rewrites {
optional_step regexp "(.+)\+(.+)@(.+)" "$1@$3"
optional_step static {
entry postmaster postmaster@$(primary_domain)
}
optional_step file $(alias_file)
}
msgpipeline local_routing {
# Insert handling for special-purpose local domains here.
# e.g.
# destination lists.example.org {
# deliver_to lmtp tcp://127.0.0.1:8024
# }
destination postmaster $(local_domains) {
modify {
replace_rcpt &local_rewrites
}
deliver_to &local_mailboxes
}
default_destination {
reject 550 5.1.1 "User doesn't exist"
}
}
smtp tcp://0.0.0.0:25 {
limits {
# Up to 20 msgs/sec across max. 10 SMTP connections.
all rate 20 1s
all concurrency 10
}
dmarc yes
check {
require_mx_record
dkim
spf
}
source $(local_domains) {
reject 501 5.1.8 "Use Submission for outgoing SMTP"
}
default_source {
destination postmaster $(local_domains) {
deliver_to &local_routing
}
default_destination {
reject 550 5.1.1 "User doesn't exist"
}
}
}
# Outgoing email
submission tls://0.0.0.0:465 tcp://0.0.0.0:587 {
limits {
# Up to 50 msgs/sec across any amount of SMTP connections.
all rate 50 1s
}
auth &local_authdb
source $(local_domains) {
check {
authorize_sender {
prepare_email &local_rewrites
user_to_email identity
}
}
destination postmaster $(local_domains) {
deliver_to &local_routing
}
default_destination {
modify {
dkim $(primary_domain) $(local_domains) default
}
deliver_to &remote_queue
}
}
default_source {
reject 501 5.1.8 "Non-local sender domain"
}
}
target.remote outbound_delivery {
limits {
# Up to 20 msgs/sec across max. 10 SMTP connections
# for each recipient domain.
destination rate 20 1s
destination concurrency 10
}
mx_auth {
dane
mtasts {
cache fs
fs_dir mtasts_cache/
}
local_policy {
min_tls_level encrypted
min_mx_level none
}
}
}
target.queue remote_queue {
target &outbound_delivery
autogenerated_msg_domain $(primary_domain)
bounce {
destination postmaster $(local_domains) {
deliver_to &local_routing
}
default_destination {
reject 550 5.0.0 "Refusing to send DSNs to non-local addresses"
}
}
}

View File

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

View File

@@ -0,0 +1,60 @@
{{/* Make sure all variables are set properly */}}
{{- include "common.values.setup" . }}
{{/* if host is not set use internal postgres chart */}}
{{- if eq .Values.maddy.sql.postgres_dsn.host "" -}}
{{- $_ := set .Values.maddy.sql.postgres_dsn "host" (printf "%s-postgresql" .Release.Name) -}}
{{- end -}}
{{/* if dbname is not set use internal postgres chart */}}
{{- if eq .Values.maddy.sql.postgres_dsn.dbname "" -}}
{{- $_ := set .Values.maddy.sql.postgres_dsn "dbname" .Values.postgresql.postgresqlDatabase -}}
{{- end -}}
{{/* if user is not set use internal postgres chart */}}
{{- if eq .Values.maddy.sql.postgres_dsn.user "" -}}
{{- $_ := set .Values.maddy.sql.postgres_dsn "user" .Values.postgresql.postgresqlUsername -}}
{{- end -}}
{{/* if password is not set use internal postgres chart */}}
{{- if eq .Values.maddy.sql.postgres_dsn.password "" -}}
{{- $_ := set .Values.maddy.sql.postgres_dsn "password" .Values.postgresql.postgresqlPassword -}}
{{- end -}}
{{- define "maddy.postgresDsn" -}}
{{- range $option, $value := .Values.maddy.sql.postgres_dsn }}{{ $option }}='{{ $value }}' {{ end -}}
{{- end -}}
{{- $_ := set .Values.maddy.sql "postgres_dsn_line" (include "maddy.postgresDsn" . | trim | quote) -}}
{{/* Append the hardcoded settings */}}
{{- define "maddy.harcodedValues" -}}
configmap:
config:
enabled: true
data:
maddy.conf: |
{{ tpl (.Files.Get "files/maddy.conf") . | nindent 8 }}
{{- range $configfile, $configfilecontent := .Values.maddy.config_files }}
{{ tpl $configfile $ }}: |
{{ tpl $configfilecontent $ | nindent 8 }}
{{- end }}
persistence:
config:
enabled: true
mountPath: /config
type: configMap
name: {{ include "common.names.fullname" . }}-config
certificates:
enabled: true
mountPath: /certificates
type: secret
name: {{ tpl (.Values.maddy.tls_secret_name) .}}
command:
- /bin/maddy
- -config
- /config/maddy.conf
{{- end -}}
{{- $_ := mergeOverwrite .Values (include "maddy.harcodedValues" . | fromYaml) -}}
{{ include "common.all" . }}

View File

@@ -0,0 +1,182 @@
#
# IMPORTANT NOTE
#
# This chart inherits from our common library chart. You can check the default values/options here:
# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml
#
image:
# -- image repository
repository: foxcpp/maddy
# -- image tag
# @default -- chart.appVersion
tag:
# -- image pull policy
pullPolicy: IfNotPresent
maddy:
# -- Hostname the service will listen to (incoming SMTP and IMAP)
hostname: mx.example.com
# -- name of K8S secret containing the cert and key to use by maddy.
tls_secret_name: myTLSSecret
# -- Primary domain - will be included in SMTP protocol
primary_domain: example.com
# -- Space separated list of additional domains this server handles
secondary_domains:
sql:
# -- DB type to use. Supported are `sqlite3` and `postgres`
# Database is used to store IMAP indexes and (when not using LDAP) authorized users
type: sqlite3
# -- If type is postgres configure the Data Source Name (DSN)
# @default -- See [Go DSN](https://pkg.go.dev/github.com/lib/pq?utm_source=godoc#hdr-Connection_String_Parameters)
postgres_dsn:
# -- The host to connect to
# @default -- host of embedded postgres chart
host: ""
# -- The name of the DB
# @default -- DB name set in embedded postgres chart
dbname: ""
# -- The DB user
# @default -- user set in embedded postgres chart
user: ""
# -- The DB user password
# @default -- user set in embedded postgres chart
password: ""
# -- SSL model for the DB
# disable - No SSL
# require - Always SSL (skip verification)
# verify-ca - Always SSL (verify that the certificate presented by the
# server was signed by a trusted CA)
# verify-full - Always SSL (verify that the certification presented by
# the server was signed by a trusted CA and the server host name
# matches the one in the certificate)
sslmode: disable
auth:
# -- Where to store authorised users. Valid values are `sql` and `ldap`
type: sql
# -- If type is ldap the following options are required
# @default -- See [See Maddy auth](https://maddy.email/man/_generated_maddy-auth.5/#configuration-directives_5)
ldap:
# -- URLs of the directory servers to use. First available server is used - no load-balancing is done.
urls: ldap://maddy.test:389
# -- Specify initial bind credentials. Not required ('bind off') if DN template is used.
bind plain: '"cn=maddy,ou=people,dc=maddy,dc=test" "123456"'
# -- Specify DN template to skip lookup.
dn_template: '"cn={username},ou=people,dc=maddy,dc=test"'
# -- Specify base_dn to lookup DN.
base_dn: '"ou=people,dc=maddy,dc=test"'
# -- Specify filter to lookup DN.
filter: '"(&(objectClass=posixAccount)(uid={username}))"'
# -- Whether to upgrade connection to TLS using STARTTLS.
starttls: 'off'
# -- Enable verbose logging. You don't need that unless you are reporting a bug.
debug: 'off'
# -- Timeout for initial connection to the directory server.
connect_timeout: 1m
# -- The main part of the configuration - rules for the smtp pipelines.
# You can define multiple blocks. Content comes from the chart when setting `file`
# (see files/smtp_rules folder) and/or the custom block
# @default -- See values.yaml
smtp_rules:
default:
enabled: true
file: default.conf
custom_example:
enabled: false
custom: |
# Rule block example
config_files:
# -- Alias file used in smtp_rule
# See [alias examples](https://maddy.email/man/_generated_maddy-filters.5/).
alias: |
## Replace 'cat' with any domain to 'dog'.
## E.g. cat@example.net -> dog@example.net
# cat: dog
## Replace cat@example.org with cat@example.com.
## Takes priority over the previous line.
#cat@example.org: cat@example.com
extra_settings:
# -- Additional settings for local_mailboxes storage
local_mailboxes: {}
# imap_filter: |
# {
# command /etc/maddy/sieve.sh {account_name}
# }
# -- Additional settings for imap backend
imap: {}
# debug: yes
# io_debug: yes
# -- Configures service settings for the chart.
# @default -- See values.yaml
service:
main:
type: LoadBalancer
externalTrafficPolicy: Local
ports:
http:
enabled: false
smtp:
enabled: true
port: 25
imap:
enabled: true
port: 143
imaps:
enabled: true
port: 993
tls:
enabled: true
port: 465
starttls:
enabled: true
port: 587
openmetrics:
enabled: false
port: 9749
openmetrics:
ports:
# See https://maddy.email/openmetrics/
openmetrics:
enabled: false
port: 9749
# -- Configure persistence settings for the chart under this key.
# @default -- See values.yaml
persistence:
data:
enabled: false
mountPath: /data
# -- Bitnami postgres chart. For more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql
# @default -- see bellow
postgresql:
# -- Enable if you want to use the embedded postgresql chart (not neeeded if you use your own postgres DB).
enabled: false
# -- Postgres database user name
postgresqlUsername: postgres
# -- Postgres database password
postgresqlPassword: "changeme"
# -- Postgres database password
postgresqlDatabase: postgres
persistence:
# -- if database is stored to a PVC. Set to true when you are done testing.
enabled: false
# storageClass: ""

View File

@@ -0,0 +1,26 @@
# 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
# helm-docs templates
*.gotmpl

View File

@@ -0,0 +1,25 @@
apiVersion: v2
appVersion: v0.2.4
description: A PowerDNS web interface with advanced features
name: powerdns-admin
version: 1.0.0
kubeVersion: ">=1.16.0-0"
keywords:
- powerdns
- pdns
- powerdns-admin
- admin
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/powerdns-admin
sources:
- https://github.com/PowerDNS-Admin/PowerDNS-Admin
maintainers:
- name: psych0d0g
email: psych0d0g@users.noreply.github.com
dependencies:
- name: common
repository: https://library-charts.k8s-at-home.com
version: 4.3.0
annotations:
artifacthub.io/changes: |
- kind: added
description: Initial chart version

View File

@@ -0,0 +1,120 @@
# powerdns-admin
![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: v0.2.4](https://img.shields.io/badge/AppVersion-v0.2.4-informational?style=flat-square)
A PowerDNS web interface with advanced features
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
## Source Code
* <https://github.com/PowerDNS-Admin/PowerDNS-Admin>
## Requirements
Kubernetes: `>=1.16.0-0`
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.k8s-at-home.com | common | 4.3.0 |
## TL;DR
```console
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update
helm install powerdns-admin k8s-at-home/powerdns-admin
```
## Installing the Chart
To install the chart with the release name `powerdns-admin`
```console
helm install powerdns-admin k8s-at-home/powerdns-admin
```
## Uninstalling the Chart
To uninstall the `powerdns-admin` deployment
```console
helm uninstall powerdns-admin
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
## Configuration
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install powerdns-admin \
--set env.TZ="America/New York" \
k8s-at-home/powerdns-admin
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install powerdns-admin k8s-at-home/powerdns-admin -f values.yaml
```
## Custom configuration
N/A
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| env | object | See below (only deviations from the default settings are specified) | environment variables. See [undocumented configs](https://github.com/PowerDNS-Admin/PowerDNS-Admin/blob/master/configs/docker_config.py) and [application docs](# https://github.com/PowerDNS-Admin/PowerDNS-Admin/blob/master/configs/development.py) for more details. |
| env.GUNICORN_LOGLEVEL | string | `"DEBUG"` | Gunicorn loglevel to use |
| env.GUNICORN_TIMEOUT | int | `60` | Timeout for Gunicorn workers |
| env.GUNICORN_WORKERS | int | `2` | How many Gunicorn workers to spawn |
| env.SECRET_KEY | string | `"changeme"` | Unique app Key |
| env.SQLALCHEMY_DATABASE_URI | string | `"mysql://db_user:db_pass@db_host/powerdns_admin"` | Database connection string - if not set uses internal sqlite db |
| env.TZ | string | `"UTC"` | Application Timezone |
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
| image.repository | string | `"ngoduykhanh/powerdns-admin"` | image repository |
| image.tag | string | `"v0.2.4"` | image tag |
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. this persists the internal sqlite DB if no other database is enabled |
| service | object | See values.yaml | Configures service settings for the chart. |
## Changelog
### Version 1.0.0
#### Added
* Initial chart version
#### Changed
N/A
#### Fixed
N/A
### Older versions
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/powerdns-admin?modal=changelog)
## Support
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v0.1.1](https://github.com/k8s-at-home/helm-docs/releases/v0.1.1)

View File

@@ -0,0 +1,176 @@
{{- define "custom.repository.organization" -}}
k8s-at-home
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/k8s-at-home/charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://k8s-at-home.com/charts/
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install.tldr" -}}
## TL;DR
```console
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
helm repo update
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstalling the Chart
To uninstall the `{{ template "chart.name" . }}` deployment
```console
helm uninstall {{ template "chart.name" . }}
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
{{- end -}}
{{- define "custom.configuration.readValues" -}}
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
{{- end -}}
{{- define "custom.configuration.example.set" -}}
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install {{ template "chart.name" . }} \
--set env.TZ="America/New York" \
{{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.configuration.example.file" -}}
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
```
{{- end -}}
{{- define "custom.valuesSection" -}}
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
{{ template "chart.valuesTable" . }}
{{- end -}}
{{- define "custom.support" -}}
## Support
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
{{- end -}}
{{- define "custom.changelog" -}}
{{ $changeTypes := list "added" "changed" "fixed" }}
## Changelog
### Version {{ template "chart.version" . }}
{{ range $changeType := $changeTypes }}
{{- with (index $.Annotations "artifacthub.io/changes") }}
{{- print "#### " ($changeType | title) | nindent 0 }}
{{- print "" | nindent 0 }}
{{- $changesFound := false }}
{{- range (print "changes:\n" . | fromYaml).changes }}
{{- if eq .kind $changeType }}
{{- print "* " .description | nindent 0 }}
{{- $changesFound = true }}
{{- end }}
{{- end }}
{{- if not $changesFound }}
{{- print "N/A" | nindent 0 }}
{{- end }}
{{- print "" | nindent 0 }}
{{- end }}
{{- end }}
### Older versions
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/{{- template "chart.name" . }}?modal=changelog)
{{- end -}}
{{ template "chart.header" . }}
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
{{ template "chart.sourcesSection" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install.tldr" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.configuration.header" . }}
{{ template "custom.configuration.readValues" . }}
{{ template "custom.configuration.example.set" . }}
{{ template "custom.configuration.example.file" . }}
{{ template "custom.custom.configuration" . }}
{{ template "custom.valuesSection" . }}
{{ template "custom.changelog" . }}
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}
{{ "" }}

View File

@@ -0,0 +1,9 @@
{{- define "custom.custom.configuration.header" -}}
## Custom configuration
{{- end -}}
{{- define "custom.custom.configuration" -}}
{{ template "custom.custom.configuration.header" . }}
N/A
{{- end -}}

View File

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

View File

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

View File

@@ -0,0 +1,52 @@
# IMPORTANT NOTE
#
# This chart inherits from our common library chart. You can check the default values/options here:
# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml
#
image:
# -- image repository
repository: ngoduykhanh/powerdns-admin
# -- image tag
tag: v0.2.4
# -- image pull policy
pullPolicy: IfNotPresent
# -- environment variables. See [undocumented configs](https://github.com/PowerDNS-Admin/PowerDNS-Admin/blob/master/configs/docker_config.py)
# and [application docs](# https://github.com/PowerDNS-Admin/PowerDNS-Admin/blob/master/configs/development.py) for more details.
# @default -- See below (only deviations from the default settings are specified)
env:
# Application Configuration
# -- Application Timezone
TZ: UTC
# -- Unique app Key
SECRET_KEY: changeme
# -- Database connection string - if not set uses internal sqlite db
# SQLALCHEMY_DATABASE_URI: mysql://db_user:db_pass@db_host/powerdns_admin
# -- Timeout for Gunicorn workers
GUNICORN_TIMEOUT: 60
# -- How many Gunicorn workers to spawn
GUNICORN_WORKERS: 2
# -- Gunicorn loglevel to use
GUNICORN_LOGLEVEL: DEBUG
# -- Configures service settings for the chart.
# @default -- See values.yaml
service:
main:
ports:
http:
port: 80
ingress:
# -- Enable and configure ingress settings for the chart under this key.
# @default -- See values.yaml
main:
enabled: false
# -- Configure persistence settings for the chart under this key.
# this persists the internal sqlite DB if no other database is enabled
# @default -- See values.yaml
persistence:
data:
enabled: false

View File

@@ -0,0 +1,26 @@
# 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
# helm-docs templates
*.gotmpl

View File

@@ -0,0 +1,29 @@
apiVersion: v2
appVersion: 1.3.5
description: A minimalist, open source online pastebin running on an Nginx, php-fpm & Alpine Linux stack
name: privatebin
version: 1.0.0
kubeVersion: ">=1.16.0-0"
keywords:
- privatebin
- pastebin
home: https://github.com/k8s-at-home/charts/tree/master/charts/incubator/privatebin
icon: https://privatebin.info/theme/img/icon.svg
sources:
- https://github.com/PrivateBin/PrivateBin
- https://github.com/PrivateBin/docker-nginx-fpm-alpine
maintainers:
- name: psych0d0g
email: psych0d0g@users.noreply.github.com
dependencies:
- name: common
repository: https://library-charts.k8s-at-home.com
version: 4.3.0
- name: postgresql
version: 10.14.4
repository: https://charts.bitnami.com/bitnami
condition: postgresql.enabled
annotations:
artifacthub.io/changes: |
- kind: added
description: Initial chart version

View File

@@ -0,0 +1,120 @@
# privatebin
![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: 1.3.5](https://img.shields.io/badge/AppVersion-1.3.5-informational?style=flat-square)
A minimalist, open source online pastebin running on an Nginx, php-fpm & Alpine Linux stack
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
## Source Code
* <https://github.com/PrivateBin/PrivateBin>
* <https://github.com/PrivateBin/docker-nginx-fpm-alpine>
## Requirements
Kubernetes: `>=1.16.0-0`
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
| https://charts.bitnami.com/bitnami | postgresql | 10.14.4 |
| https://library-charts.k8s-at-home.com | common | 4.3.0 |
## TL;DR
```console
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update
helm install privatebin k8s-at-home/privatebin
```
## Installing the Chart
To install the chart with the release name `privatebin`
```console
helm install privatebin k8s-at-home/privatebin
```
## Uninstalling the Chart
To uninstall the `privatebin` deployment
```console
helm uninstall privatebin
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
## Configuration
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install privatebin \
--set env.TZ="America/New York" \
k8s-at-home/privatebin
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install privatebin k8s-at-home/privatebin -f values.yaml
```
## Custom configuration
N/A
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| config | object | See values.yaml | Application Settings. See https://github.com/PrivateBin/PrivateBin/blob/master/cfg/conf.sample.php for a description of every setting |
| env | object | See below (only deviations from the default settings are specified) | environment variables. See [image docs](https://docs.kanboard.org/en/latest/admin_guide/docker.html#environment-variables) and [application docs](# https://docs.kanboard.org/en/latest/admin_guide/config_file.html) for more details. |
| env.PHP_TZ | string | `"UTC"` | PHP timezone (usually should match the containers TZ) |
| env.TZ | string | `"UTC"` | container timezone |
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
| image.repository | string | `"privatebin/pdo"` | image repository |
| image.tag | string | `"1.3.5"` | image tag |
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
| postgresql | object | See values.yaml | Enable and configure postgresql database subchart under this key. For more options see [postgresql chart documentation](https://github.com/bitnami/charts/tree/master/bitnami/postgresql) |
| service | object | See values.yaml | Configures service settings for the chart. |
## Changelog
### Version 1.0.0
#### Added
* Initial chart version
#### Changed
N/A
#### Fixed
N/A
### Older versions
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/privatebin?modal=changelog)
## Support
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v0.1.1](https://github.com/k8s-at-home/helm-docs/releases/v0.1.1)

View File

@@ -0,0 +1,176 @@
{{- define "custom.repository.organization" -}}
k8s-at-home
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/k8s-at-home/charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://k8s-at-home.com/charts/
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install.tldr" -}}
## TL;DR
```console
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
helm repo update
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstalling the Chart
To uninstall the `{{ template "chart.name" . }}` deployment
```console
helm uninstall {{ template "chart.name" . }}
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
{{- end -}}
{{- define "custom.configuration.readValues" -}}
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
{{- end -}}
{{- define "custom.configuration.example.set" -}}
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install {{ template "chart.name" . }} \
--set env.TZ="America/New York" \
{{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.configuration.example.file" -}}
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
```
{{- end -}}
{{- define "custom.valuesSection" -}}
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
{{ template "chart.valuesTable" . }}
{{- end -}}
{{- define "custom.support" -}}
## Support
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
{{- end -}}
{{- define "custom.changelog" -}}
{{ $changeTypes := list "added" "changed" "fixed" }}
## Changelog
### Version {{ template "chart.version" . }}
{{ range $changeType := $changeTypes }}
{{- with (index $.Annotations "artifacthub.io/changes") }}
{{- print "#### " ($changeType | title) | nindent 0 }}
{{- print "" | nindent 0 }}
{{- $changesFound := false }}
{{- range (print "changes:\n" . | fromYaml).changes }}
{{- if eq .kind $changeType }}
{{- print "* " .description | nindent 0 }}
{{- $changesFound = true }}
{{- end }}
{{- end }}
{{- if not $changesFound }}
{{- print "N/A" | nindent 0 }}
{{- end }}
{{- print "" | nindent 0 }}
{{- end }}
{{- end }}
### Older versions
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/{{- template "chart.name" . }}?modal=changelog)
{{- end -}}
{{ template "chart.header" . }}
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
{{ template "chart.sourcesSection" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install.tldr" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.configuration.header" . }}
{{ template "custom.configuration.readValues" . }}
{{ template "custom.configuration.example.set" . }}
{{ template "custom.configuration.example.file" . }}
{{ template "custom.custom.configuration" . }}
{{ template "custom.valuesSection" . }}
{{ template "custom.changelog" . }}
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}
{{ "" }}

View File

@@ -0,0 +1,9 @@
{{- define "custom.custom.configuration.header" -}}
## Custom configuration
{{- end -}}
{{- define "custom.custom.configuration" -}}
{{ template "custom.custom.configuration.header" . }}
N/A
{{- end -}}

View File

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

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