Compare commits
522 Commits
statping-5
...
renovate/p
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a4937c0d70 | ||
|
|
d19ed5d480 | ||
|
|
7990906462 | ||
|
|
5dd0cd93d2 | ||
|
|
14c7624fce | ||
|
|
645a857f7e | ||
|
|
770390c59f | ||
|
|
d6d28bf27b | ||
|
|
402fa10cb1 | ||
|
|
ed357b1f13 | ||
|
|
535821d65a | ||
|
|
fcfe860c7a | ||
|
|
a4d622cbb3 | ||
|
|
fa3028961e | ||
|
|
155a9558b1 | ||
|
|
e2cba2c602 | ||
|
|
c30b6976c3 | ||
|
|
6574501569 | ||
|
|
c32c6a24d8 | ||
|
|
7288861d79 | ||
|
|
c679761009 | ||
|
|
24f6568867 | ||
|
|
c1604d9ec8 | ||
|
|
144fd832f6 | ||
|
|
f7afe9ca37 | ||
|
|
948e0dc592 | ||
|
|
e6655559c6 | ||
|
|
014938a1b3 | ||
|
|
3143732494 | ||
|
|
4925d1f08c | ||
|
|
ad814f200b | ||
|
|
80cfaabf86 | ||
|
|
89a5f49e15 | ||
|
|
02c96ebc05 | ||
|
|
1cf4fdcfd0 | ||
|
|
cc371396eb | ||
|
|
509bc55eec | ||
|
|
418e6cea1e | ||
|
|
9c1e76f8b1 | ||
|
|
c6de36c34c | ||
|
|
1bf86d16d1 | ||
|
|
d4926f5a70 | ||
|
|
d068e85edc | ||
|
|
f65e42910a | ||
|
|
7bcfb345b2 | ||
|
|
f0345c078a | ||
|
|
02a7f4e62e | ||
|
|
d0bc990f67 | ||
|
|
8d77a215aa | ||
|
|
81ca3d5d06 | ||
|
|
4e9ed6d6c3 | ||
|
|
acc39e1d4b | ||
|
|
95a6930b67 | ||
|
|
db2d3eca46 | ||
|
|
f16e4a6295 | ||
|
|
3ba86144eb | ||
|
|
9495b968cd | ||
|
|
319503daaf | ||
|
|
ff8a6b3237 | ||
|
|
c28612368c | ||
|
|
802a863deb | ||
|
|
72dbc21972 | ||
|
|
4ec0145538 | ||
|
|
9d6206ebb9 | ||
|
|
c7c3dfa100 | ||
|
|
ce43362859 | ||
|
|
caa523f29a | ||
|
|
6d3a74356f | ||
|
|
c209d7415d | ||
|
|
465ec021bb | ||
|
|
e2bf88265a | ||
|
|
0ed409014f | ||
|
|
83420cbef9 | ||
|
|
0b409cb25d | ||
|
|
95209955ec | ||
|
|
b53babbfe9 | ||
|
|
baa62ae091 | ||
|
|
b834072bc3 | ||
|
|
0df44560c5 | ||
|
|
07d6c67695 | ||
|
|
8ed1c8c575 | ||
|
|
3203fc1e09 | ||
|
|
5d0765db75 | ||
|
|
8bbf2dfc3e | ||
|
|
19357c418c | ||
|
|
829d17511d | ||
|
|
cdec16007d | ||
|
|
f6d88b41f2 | ||
|
|
bc859d8d17 | ||
|
|
9e7b43170f | ||
|
|
6cece45f1e | ||
|
|
e09b86ac82 | ||
|
|
0bfd054a6a | ||
|
|
84127b59d3 | ||
|
|
9da60809f4 | ||
|
|
3a97cd13e6 | ||
|
|
7ed07024e0 | ||
|
|
fffd91fd61 | ||
|
|
53a7dc2c50 | ||
|
|
30edb42ead | ||
|
|
8042cc87c6 | ||
|
|
73d499922c | ||
|
|
bb3612fff0 | ||
|
|
359a05eadf | ||
|
|
c6ceb4994e | ||
|
|
dbc0a46faf | ||
|
|
70a20f3881 | ||
|
|
6dee535dd6 | ||
|
|
f62f4cc93c | ||
|
|
0dcd16947a | ||
|
|
718a9dc3b9 | ||
|
|
7c1a567093 | ||
|
|
787fb5fee3 | ||
|
|
735eb99a1b | ||
|
|
7f042d18cc | ||
|
|
ca8b9d9a68 | ||
|
|
03a61e4283 | ||
|
|
9c2e650a53 | ||
|
|
d592b0035c | ||
|
|
4ad9491cb1 | ||
|
|
02621d64b6 | ||
|
|
3b54c90168 | ||
|
|
d35052eb8a | ||
|
|
26aadd37e8 | ||
|
|
6d73f60e6a | ||
|
|
35fdac841b | ||
|
|
8e29cf2920 | ||
|
|
2df2224ea6 | ||
|
|
da002fda82 | ||
|
|
d5ce3d0906 | ||
|
|
44add29118 | ||
|
|
bcfc817d6e | ||
|
|
9ef09d7bdb | ||
|
|
36ef9fc534 | ||
|
|
fe4c265938 | ||
|
|
d2f18a6fb9 | ||
|
|
4cad496822 | ||
|
|
795f747866 | ||
|
|
1befa1e65f | ||
|
|
5cc6edc0da | ||
|
|
5bc8abe09c | ||
|
|
b3142f8547 | ||
|
|
a1ad4b8ce4 | ||
|
|
b68d5ca4e6 | ||
|
|
93b52f1910 | ||
|
|
7a849b1e16 | ||
|
|
5cb613c87a | ||
|
|
9246ef58dc | ||
|
|
432b5db9d5 | ||
|
|
41da804d60 | ||
|
|
f1509e7a59 | ||
|
|
770bdfa9ca | ||
|
|
0818e384a9 | ||
|
|
22ec029d47 | ||
|
|
e39cc70589 | ||
|
|
43c99b2eca | ||
|
|
27649b40bf | ||
|
|
88544af340 | ||
|
|
e59cde5bb0 | ||
|
|
9bbe007af5 | ||
|
|
55a2925851 | ||
|
|
7f38be11d9 | ||
|
|
af94b06ad9 | ||
|
|
25f4f3bd54 | ||
|
|
be37d1dc3a | ||
|
|
bb420441c9 | ||
|
|
a91e7ba232 | ||
|
|
08d70d2b60 | ||
|
|
9d91ac81c0 | ||
|
|
82e5e914ac | ||
|
|
11bc80140e | ||
|
|
37c0bf2fba | ||
|
|
a1e59f2ce8 | ||
|
|
469d3d0d96 | ||
|
|
f868f0f0e1 | ||
|
|
78c260f39e | ||
|
|
ddd9e2f85d | ||
|
|
3cf5a1b679 | ||
|
|
f4dde05b33 | ||
|
|
894e49f6ab | ||
|
|
5da9ddbb9c | ||
|
|
7c8381234f | ||
|
|
9cee080c8e | ||
|
|
037dde5049 | ||
|
|
31f76182c0 | ||
|
|
c8c3826973 | ||
|
|
7bb7557710 | ||
|
|
33f07cea4e | ||
|
|
862610b516 | ||
|
|
93406f9b93 | ||
|
|
670659e035 | ||
|
|
b02b4eefdb | ||
|
|
16accfa8c7 | ||
|
|
2a11166887 | ||
|
|
556d1a454f | ||
|
|
e30fab9184 | ||
|
|
4e8db95e48 | ||
|
|
31c1b26010 | ||
|
|
39814b662e | ||
|
|
2b68d4b40e | ||
|
|
bac9ba2906 | ||
|
|
2ce3544796 | ||
|
|
2b097b5f78 | ||
|
|
fba4a8d90d | ||
|
|
b1dca7b790 | ||
|
|
cb695b3804 | ||
|
|
8eff184f7d | ||
|
|
dc30fbad17 | ||
|
|
0957637d89 | ||
|
|
1d41fdc931 | ||
|
|
f83027a4be | ||
|
|
76ce1af9ad | ||
|
|
4409099438 | ||
|
|
f77d9f5d90 | ||
|
|
6df48910e4 | ||
|
|
78abbef0b0 | ||
|
|
ffbfbdb8bd | ||
|
|
6586b17b51 | ||
|
|
7d3df61980 | ||
|
|
ef74abbe1f | ||
|
|
17b9317ad6 | ||
|
|
e7696b46a9 | ||
|
|
729be86fa6 | ||
|
|
269ab2c0ad | ||
|
|
4327aa0297 | ||
|
|
26b01f90c4 | ||
|
|
97d17c3e77 | ||
|
|
49c28640f9 | ||
|
|
80840cd907 | ||
|
|
405da28cd3 | ||
|
|
c0e176fcb9 | ||
|
|
aaedd037d2 | ||
|
|
dce7d51afa | ||
|
|
12d8790717 | ||
|
|
44056e680c | ||
|
|
0a0c2ef87e | ||
|
|
0564e120b2 | ||
|
|
fae94f6e36 | ||
|
|
9a5d3b2e2a | ||
|
|
3a47a625b6 | ||
|
|
f49a79bdf6 | ||
|
|
b12a8d1041 | ||
|
|
738a907a5f | ||
|
|
ca702a62f3 | ||
|
|
932f7aa9b4 | ||
|
|
29f0d11b5d | ||
|
|
cfd656a76f | ||
|
|
a7cc4fb3d4 | ||
|
|
ca03d11676 | ||
|
|
035ed59188 | ||
|
|
375ee9a796 | ||
|
|
3e94aa60ef | ||
|
|
2776e41c99 | ||
|
|
b3fbb33f88 | ||
|
|
3d590ced65 | ||
|
|
147378866f | ||
|
|
10f2dca826 | ||
|
|
5bccd66201 | ||
|
|
7d70766735 | ||
|
|
933e8fe3a5 | ||
|
|
b7b712c6ca | ||
|
|
eee90ebd7c | ||
|
|
4aed6aa920 | ||
|
|
d7895d8672 | ||
|
|
66a65617cc | ||
|
|
506dccddc7 | ||
|
|
22492639cb | ||
|
|
091c7c735b | ||
|
|
4c4c47d415 | ||
|
|
8b9568109b | ||
|
|
82b28dda47 | ||
|
|
567758c75b | ||
|
|
a93974a6d4 | ||
|
|
da65604a53 | ||
|
|
e420963bdd | ||
|
|
b9634fda7c | ||
|
|
9591420716 | ||
|
|
cb104ea594 | ||
|
|
6d5ee6ce91 | ||
|
|
e24bb4275d | ||
|
|
dc541c7bdc | ||
|
|
246c7f41a8 | ||
|
|
b9ebbd8b93 | ||
|
|
989083decc | ||
|
|
32e06cf5ff | ||
|
|
21895621b8 | ||
|
|
3defc35d4a | ||
|
|
d65124ec8b | ||
|
|
ef813bda6e | ||
|
|
5ed3273609 | ||
|
|
b0fc5e52e3 | ||
|
|
f5a6c52ccc | ||
|
|
515e0aea0f | ||
|
|
b3308eb940 | ||
|
|
710e873e7c | ||
|
|
4062e4730e | ||
|
|
f5a80e0a45 | ||
|
|
c7cd3c30de | ||
|
|
4ef4259a96 | ||
|
|
fdcc8a6dd4 | ||
|
|
5c62fc8d5d | ||
|
|
95a834e73d | ||
|
|
0890ec9196 | ||
|
|
0ba34d5d4b | ||
|
|
a572689e16 | ||
|
|
07366a2313 | ||
|
|
9edf3fc002 | ||
|
|
bb3e59cc86 | ||
|
|
b78794d3bc | ||
|
|
85dc5a826d | ||
|
|
c500db777a | ||
|
|
57f9aabc7a | ||
|
|
3ce30c8ac3 | ||
|
|
e2767c00e2 | ||
|
|
d4e1f124d1 | ||
|
|
f46a8d08f1 | ||
|
|
458aaea9e0 | ||
|
|
40ac623e3c | ||
|
|
1a7b78f5df | ||
|
|
471101b5b5 | ||
|
|
5243f370f5 | ||
|
|
703559d660 | ||
|
|
d19e6c1a89 | ||
|
|
cf35450ca5 | ||
|
|
e92fd316b0 | ||
|
|
ae81ca4b5a | ||
|
|
fb6c58165b | ||
|
|
49077c43e0 | ||
|
|
e6a8fc7caa | ||
|
|
78e8e2d29a | ||
|
|
a83aba1e2a | ||
|
|
997b3c13db | ||
|
|
92105a4ae2 | ||
|
|
593cd38508 | ||
|
|
e33bde7446 | ||
|
|
dd22935f93 | ||
|
|
6ae2682e0b | ||
|
|
319fc288c7 | ||
|
|
d784e69c85 | ||
|
|
26c33aa8f1 | ||
|
|
655caff53b | ||
|
|
bc3811ac01 | ||
|
|
eaec12cc82 | ||
|
|
7bb050d177 | ||
|
|
f7a4cddaee | ||
|
|
6b276162e6 | ||
|
|
9a8fe0e854 | ||
|
|
7b85e388a1 | ||
|
|
1d89c3f86e | ||
|
|
236bd21e02 | ||
|
|
dc60a1911c | ||
|
|
a10c53cce3 | ||
|
|
7f3a976430 | ||
|
|
1f35105f3c | ||
|
|
7c19db377d | ||
|
|
798bfdf3af | ||
|
|
0fa3722295 | ||
|
|
e1d68c84f2 | ||
|
|
05af1b178a | ||
|
|
8856491aaa | ||
|
|
b5aff5e52b | ||
|
|
a389c0ed86 | ||
|
|
dddd47c090 | ||
|
|
10dc3ac9da | ||
|
|
d6c1f1f5d4 | ||
|
|
a4d859efe5 | ||
|
|
c82a11bf8b | ||
|
|
c439af7018 | ||
|
|
644bc1070d | ||
|
|
ed6fb93413 | ||
|
|
84bf867daf | ||
|
|
af1313a8f0 | ||
|
|
28236d89fe | ||
|
|
9a350b7074 | ||
|
|
d15c8e49f9 | ||
|
|
a377c3d2d3 | ||
|
|
dcb2200ccd | ||
|
|
715ebb37d5 | ||
|
|
fbf582680b | ||
|
|
4caa8f82a1 | ||
|
|
f0984b954c | ||
|
|
4991c13b0d | ||
|
|
7a6f41ba9f | ||
|
|
4585ca9f66 | ||
|
|
d73f54fbd7 | ||
|
|
1a0a42cff0 | ||
|
|
8e09367a5a | ||
|
|
ba355365b8 | ||
|
|
372312e13d | ||
|
|
deed7f4497 | ||
|
|
15ba418e8a | ||
|
|
bb7c421bb8 | ||
|
|
18c032fcbf | ||
|
|
1477ff26c3 | ||
|
|
c84b3c3eae | ||
|
|
f59e1af294 | ||
|
|
9d8ef6eee6 | ||
|
|
4b4e136fba | ||
|
|
24832aaef0 | ||
|
|
452c738a52 | ||
|
|
d77018b242 | ||
|
|
eedb10b767 | ||
|
|
e307719bae | ||
|
|
4d112565b7 | ||
|
|
00ba361853 | ||
|
|
eacbf95b91 | ||
|
|
7ee1f9914d | ||
|
|
4cc083d7a2 | ||
|
|
a33219152a | ||
|
|
ff26315c57 | ||
|
|
6851e89504 | ||
|
|
79b8752934 | ||
|
|
f18a4d895d | ||
|
|
edc4318a6a | ||
|
|
7a4b852013 | ||
|
|
2c01769411 | ||
|
|
c3cdd2b5af | ||
|
|
ade46f17fa | ||
|
|
f30da71898 | ||
|
|
09328441f2 | ||
|
|
a97785f85e | ||
|
|
c650ff5335 | ||
|
|
a587be6fcc | ||
|
|
2350c47efb | ||
|
|
d1d63ffa3f | ||
|
|
11d62d84f3 | ||
|
|
5178d5495e | ||
|
|
c00ab02809 | ||
|
|
777437a3da | ||
|
|
72d0df12fd | ||
|
|
926b96499a | ||
|
|
90e92b65c9 | ||
|
|
48196fac6f | ||
|
|
2523cb7b5e | ||
|
|
aa69f69828 | ||
|
|
0d229ec376 | ||
|
|
5475a5ffff | ||
|
|
c156819394 | ||
|
|
bb314ce2d9 | ||
|
|
ffe4297db0 | ||
|
|
ee03d09780 | ||
|
|
90a62afddc | ||
|
|
05347d1716 | ||
|
|
f7b54c65ff | ||
|
|
a7aaa5a524 | ||
|
|
e2bb5d8ed4 | ||
|
|
fbf13879b8 | ||
|
|
f8cbead63b | ||
|
|
6d51e3cf22 | ||
|
|
e5238adde0 | ||
|
|
0c3f44e3b7 | ||
|
|
f4a5eb4603 | ||
|
|
5c3101f03e | ||
|
|
00cc4540ea | ||
|
|
68b03c60fc | ||
|
|
7cc2b37c68 | ||
|
|
cc52622614 | ||
|
|
3f50891603 | ||
|
|
e8e2d25873 | ||
|
|
2e63e3740b | ||
|
|
951d2c20f3 | ||
|
|
34dea81127 | ||
|
|
c3e83ecaa0 | ||
|
|
4474e30af2 | ||
|
|
a2e26d5a0f | ||
|
|
574f6529c5 | ||
|
|
c0317251aa | ||
|
|
17f0578b4f | ||
|
|
de1d9c2580 | ||
|
|
356a0f2f16 | ||
|
|
0065e83f75 | ||
|
|
bbb81ffb9e | ||
|
|
f74e6ebe07 | ||
|
|
a8e0296ddf | ||
|
|
fc2e341c47 | ||
|
|
1395771b7f | ||
|
|
2b92555678 | ||
|
|
fe6ae00012 | ||
|
|
6e3e59fa73 | ||
|
|
01ca1d423f | ||
|
|
998aa05027 | ||
|
|
2a58efa68e | ||
|
|
54f9b87b70 | ||
|
|
5e5f23c69d | ||
|
|
19b3af8f2f | ||
|
|
8003e17a76 | ||
|
|
a101402e74 | ||
|
|
085bd01f1a | ||
|
|
b4af8c56c1 | ||
|
|
ee6b8361da | ||
|
|
1db3745ec4 | ||
|
|
9c4cc4fefd | ||
|
|
66ee00cb63 | ||
|
|
47deacc271 | ||
|
|
98a0ac4d90 | ||
|
|
85348178f1 | ||
|
|
6dd5f3ff0b | ||
|
|
ae9e3c02a1 | ||
|
|
000771d79f | ||
|
|
8c3edda840 | ||
|
|
8b2121e522 | ||
|
|
a3582f3c83 | ||
|
|
42dbe4ee4a | ||
|
|
8b6f481099 | ||
|
|
803f9433eb | ||
|
|
9e8aa6d2eb | ||
|
|
d111bcdcad | ||
|
|
133647a1c5 | ||
|
|
07bcb33623 | ||
|
|
523ce4e823 | ||
|
|
eee839e548 | ||
|
|
50d0d5e7c8 | ||
|
|
278351c2de | ||
|
|
85ac8697fb | ||
|
|
f02beeb9f0 | ||
|
|
b1fc8dd547 | ||
|
|
8f5d80ab5e | ||
|
|
8b37db4b7c | ||
|
|
7f51945eff | ||
|
|
49266748b1 | ||
|
|
78fe13e697 | ||
|
|
a92c96b422 |
@@ -481,6 +481,132 @@
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "tvories",
|
||||
"name": "Taylor Vories",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/13934524?v=4",
|
||||
"profile": "http://taylorvories.com",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "djjudas21",
|
||||
"name": "Jonathan",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/604595?v=4",
|
||||
"profile": "http://www.jonathangazeley.com",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "johanneskastl",
|
||||
"name": "Johannes Kastl",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/26167225?v=4",
|
||||
"profile": "https://www.b1-systems.de",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "funkypenguin",
|
||||
"name": "David Young",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1524686?v=4",
|
||||
"profile": "https://www.funkypenguin.co.nz",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "bikram990",
|
||||
"name": "Bikramjeet Singh",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/6782131?v=4",
|
||||
"profile": "https://github.com/bikram990",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "geraldwuhoo",
|
||||
"name": "Gerald Wu",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/22160945?v=4",
|
||||
"profile": "http://geraldwu.com",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "ntrp",
|
||||
"name": "Ivan Gregurić Ortolan",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/720492?v=4",
|
||||
"profile": "http://ntrpigo.blogspot.com",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "lucacalcaterra",
|
||||
"name": "Luca Calcaterra",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/879825?v=4",
|
||||
"profile": "https://github.com/lucacalcaterra",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "Omar007",
|
||||
"name": "Omar Pakker",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/5380079?v=4",
|
||||
"profile": "https://github.com/Omar007",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "frezbo",
|
||||
"name": "Noel Georgi",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/18496730?v=4",
|
||||
"profile": "https://resume.frezbo.dev",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "lanquarden",
|
||||
"name": "lanquarden",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/446743?v=4",
|
||||
"profile": "https://github.com/lanquarden",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
}
|
||||
],
|
||||
"contributorsPerLine": 7,
|
||||
|
||||
2
.github/CODEOWNERS
vendored
2
.github/CODEOWNERS
vendored
@@ -1,2 +1,2 @@
|
||||
# https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners
|
||||
* @onedr0p @bjw-s @billimek @carpenike
|
||||
* @onedr0p @bjw-s @billimek @carpenike @Truxnell
|
||||
|
||||
36
.github/ISSUE_TEMPLATE/bug-report.md
vendored
36
.github/ISSUE_TEMPLATE/bug-report.md
vendored
@@ -1,36 +0,0 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: kind:bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
# Details
|
||||
|
||||
**Helm chart name and version:**
|
||||
|
||||
<!-- Note: This should be the helm chart name and version you have deployed. e.g. jackett 5.4.0 -->
|
||||
|
||||
**Container name and tag:**
|
||||
|
||||
<!-- Note: This should be the container image version you have deployed. e.g. linuxserver/jackett:v0.16.2106 -->
|
||||
|
||||
**What steps did you take and what happened:**
|
||||
|
||||
<!-- Note: This should be a clear and concise description of what the bug is. -->
|
||||
|
||||
**Relevant Helm values:**
|
||||
|
||||
<!-- Note: Please include a snippet of the relevant values in (or a Pastebin/similar link to) your values.yaml. -->
|
||||
|
||||
**What did you expect to happen:**
|
||||
|
||||
**Anything else you would like to add:**
|
||||
|
||||
<!-- Note: Miscellaneous information that will assist in solving the issue. -->
|
||||
|
||||
**Additional Information:**
|
||||
|
||||
<!-- Note: Anything to give further context to the bug report. -->
|
||||
98
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
Normal file
98
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
Normal file
@@ -0,0 +1,98 @@
|
||||
---
|
||||
name: Bug report
|
||||
description: Create a report to help us improve
|
||||
title: '[<chart name>] Concise description of the issue'
|
||||
labels: ["bug"]
|
||||
|
||||
# Header
|
||||
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Have a question? 👉 [Start a new discussion](https://github.com/k8s-at-home/organization/discussions/new) or [ask on our Discord](https://discord.gg/k8s-at-home).
|
||||
|
||||
Before opening an issue, please check [the documentation](https://docs.k8s-at-home.com/our-helm-charts/introduction/) and see if it helps you resolve your issue. Please also make sure that you followed the installation instructions.
|
||||
|
||||
Finally, please search issues and discussions before opening a new bug report.
|
||||
|
||||
# Helm Chart details
|
||||
|
||||
- type: input
|
||||
id: chart-name
|
||||
attributes:
|
||||
label: Helm chart name
|
||||
description: Name of the Helm chart this issue relates to
|
||||
placeholder: e.g. sonarr
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: chart-version
|
||||
attributes:
|
||||
label: Helm chart version
|
||||
description: Version of the Helm chart this issue relates to
|
||||
placeholder: e.g. 16.1.0
|
||||
validations:
|
||||
required: true
|
||||
|
||||
# Container details
|
||||
|
||||
- type: input
|
||||
id: container-image
|
||||
attributes:
|
||||
label: Container name
|
||||
description: Name of the container image this issue relates to
|
||||
placeholder: e.g. ghcr.io/k8s-at-home/sonarr
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: container-tag
|
||||
attributes:
|
||||
label: Container tag
|
||||
description: Tag of the container image this issue relates to
|
||||
placeholder: e.g. v3.0.7.1477
|
||||
validations:
|
||||
required: true
|
||||
|
||||
# Issue details
|
||||
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: A clear and concise description of what the bug is.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: expected-result
|
||||
attributes:
|
||||
label: Expected result
|
||||
description: What did you expect to happen
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: helm-values
|
||||
attributes:
|
||||
label: Helm values to reproduce
|
||||
description: A snippet of the relevant Helm values
|
||||
placeholder: |
|
||||
Enter your relevant YAML values here
|
||||
render: YAML
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: other-info
|
||||
attributes:
|
||||
label: Additional Information
|
||||
description: Anything to give further context to the bug report or information that will assist in solving the issue
|
||||
|
||||
- type: textarea
|
||||
id: repository-link
|
||||
attributes:
|
||||
label: Repo link
|
||||
description: A link to a (public) Git repository where your values are available
|
||||
2
.github/ISSUE_TEMPLATE/config.yml
vendored
2
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -1,7 +1,7 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Discuss on Discord
|
||||
url: https://discord.com/invite/sTMX7Vh
|
||||
url: https://discord.gg/k8s-at-home
|
||||
about: Join our Discord community
|
||||
- name: Ask a question
|
||||
url: https://github.com/k8s-at-home/organization/discussions
|
||||
|
||||
26
.github/ISSUE_TEMPLATE/enhancement.md
vendored
26
.github/ISSUE_TEMPLATE/enhancement.md
vendored
@@ -1,26 +0,0 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: kind:enhancement
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
# Details
|
||||
|
||||
**Helm chart name:**
|
||||
|
||||
<!-- Note: This should be the helm chart name you are referring to. e.g. jackett -->
|
||||
|
||||
**Describe the solution you'd like:**
|
||||
|
||||
<!-- Note: A clear and concise description of what you want to happen. -->
|
||||
|
||||
**Anything else you would like to add:**
|
||||
|
||||
<!-- Note: Miscellaneous information that will assist in solving the issue. -->
|
||||
|
||||
**Additional Information:**
|
||||
|
||||
<!-- Note: Anything to give further context to the requested new feature. -->
|
||||
40
.github/ISSUE_TEMPLATE/enhancement.yml
vendored
Normal file
40
.github/ISSUE_TEMPLATE/enhancement.yml
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
name: Feature request
|
||||
description: Suggest an idea for this project
|
||||
title: '[<chart name>] Concise description of the enhancement'
|
||||
labels: ["enhancement"]
|
||||
|
||||
# Header
|
||||
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Have a question? 👉 [Start a new discussion](https://github.com/k8s-at-home/organization/discussions/new) or [ask on our Discord](https://discord.gg/k8s-at-home).
|
||||
|
||||
# Helm Chart details
|
||||
|
||||
- type: input
|
||||
id: chart-name
|
||||
attributes:
|
||||
label: Helm chart name
|
||||
description: Name of the Helm chart this issue relates to
|
||||
placeholder: e.g. sonarr
|
||||
validations:
|
||||
required: true
|
||||
|
||||
# Enhancement details
|
||||
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Describe the solution you'd like
|
||||
description: A clear and concise description of what you want to happen
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: other-info
|
||||
attributes:
|
||||
label: Additional Information
|
||||
description: Anything to give further context to the requested new feature
|
||||
5
.github/PULL_REQUEST_TEMPLATE.md
vendored
5
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -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 -->
|
||||
|
||||
45
.github/actions/collect-changes/action.yaml
vendored
Normal file
45
.github/actions/collect-changes/action.yaml
vendored
Normal 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[*]}"
|
||||
48
.github/actions/label-from-status/action.yaml
vendored
Normal file
48
.github/actions/label-from-status/action.yaml
vendored
Normal 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"
|
||||
44
.github/ct-install.yaml
vendored
44
.github/ct-install.yaml
vendored
@@ -2,25 +2,29 @@ remote: origin
|
||||
target-branch: master
|
||||
helm-extra-args: --timeout 600s
|
||||
chart-dirs:
|
||||
- charts/incubator
|
||||
- charts/stable
|
||||
- charts/incubator
|
||||
- charts/stable
|
||||
excluded-charts:
|
||||
- charts/stable/alertmanager-bot
|
||||
- charts/stable/alertmanager-discord
|
||||
- charts/stable/amcrest2mqtt
|
||||
- charts/stable/facebox
|
||||
- charts/stable/foundryvtt
|
||||
- charts/stable/heimdall
|
||||
- charts/stable/multus
|
||||
- charts/stable/pod-gateway
|
||||
- charts/stable/promcord
|
||||
- charts/stable/reg
|
||||
- charts/stable/ser2sock
|
||||
- charts/stable/zalando-postgres-cluster
|
||||
- charts/stable/zigbee2mqtt
|
||||
- charts/stable/wireguard
|
||||
- charts/incubator/kah-common-chart
|
||||
- charts/incubator/sdtd
|
||||
- charts/stable/alertmanager-bot
|
||||
- charts/stable/alertmanager-discord
|
||||
- charts/stable/amcrest2mqtt
|
||||
- charts/stable/facebox
|
||||
- charts/stable/factorio
|
||||
- charts/stable/foundryvtt
|
||||
- charts/stable/heimdall
|
||||
- charts/stable/multus
|
||||
- charts/stable/pod-gateway
|
||||
- charts/stable/promcord
|
||||
- charts/stable/reg
|
||||
- charts/stable/ser2sock
|
||||
- charts/stable/satisfactory
|
||||
- charts/stable/zalando-postgres-cluster
|
||||
- charts/stable/zigbee2mqtt
|
||||
- charts/stable/wireguard
|
||||
chart-repos:
|
||||
- bitnami=https://charts.bitnami.com/bitnami
|
||||
- k8s-at-home-libraries=https://library-charts.k8s-at-home.com
|
||||
- k8s-at-home=https://k8s-at-home.com/charts
|
||||
- jetstack=https://charts.jetstack.io
|
||||
- bitnami=https://charts.bitnami.com/bitnami
|
||||
- k8s-at-home-libraries=https://library-charts.k8s-at-home.com
|
||||
- k8s-at-home=https://k8s-at-home.com/charts
|
||||
- jetstack=https://charts.jetstack.io
|
||||
|
||||
2
.github/ct-lint.yaml
vendored
2
.github/ct-lint.yaml
vendored
@@ -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 }}
|
||||
|
||||
22
.github/label-commenter-config.yml
vendored
22
.github/label-commenter-config.yml
vendored
@@ -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
111
.github/labels.yaml
vendored
Normal 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.
|
||||
40
.github/renovate.json5
vendored
40
.github/renovate.json5
vendored
@@ -5,7 +5,6 @@
|
||||
"assigneesFromCodeOwners": true,
|
||||
"reviewersFromCodeOwners": true,
|
||||
"suppressNotifications": ["prIgnoreNotification"],
|
||||
"rebaseWhen": "conflicted",
|
||||
"prConcurrentLimit": 5,
|
||||
"helm-values": {
|
||||
"enabled": false
|
||||
@@ -26,62 +25,77 @@
|
||||
"matchPackageNames": ["potiuk/get-workflow-origin"],
|
||||
"versioning": "regex:^v(?<major>\\d+)_(?<minor>\\d+)(_(?<patch>\\d+))?$"
|
||||
},
|
||||
///
|
||||
/// Automatically update minor/patch Github Actions
|
||||
///
|
||||
{
|
||||
"matchManagers": ["github-actions"],
|
||||
"automerge": true,
|
||||
"automergeType": "branch",
|
||||
"matchUpdateTypes": ["minor", "patch"]
|
||||
},
|
||||
//
|
||||
// Common library dep
|
||||
//
|
||||
{
|
||||
"matchDatasources": ["helm"],
|
||||
"commitMessagePrefix": "[{{{parentDir}}}]",
|
||||
"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"]
|
||||
},
|
||||
{
|
||||
"matchDatasources": ["helm"],
|
||||
"updateTypes": ["minor"],
|
||||
"bumpVersion": "minor",
|
||||
"labels": ["dependency/minor"],
|
||||
"labels": ["type/minor"],
|
||||
"packageNames": ["common"],
|
||||
"groupName": ["internal minor dep"]
|
||||
"groupName": ["common library minor"]
|
||||
},
|
||||
{
|
||||
"matchDatasources": ["helm"],
|
||||
"updateTypes": ["patch"],
|
||||
"bumpVersion": "patch",
|
||||
"labels": ["dependency/patch"],
|
||||
"labels": ["type/patch"],
|
||||
"packageNames": ["common"],
|
||||
"groupName": ["internal patch dep"]
|
||||
"groupName": ["common library patch"]
|
||||
},
|
||||
//
|
||||
// Other library deps
|
||||
// Other external chart deps
|
||||
//
|
||||
{
|
||||
"matchDatasources": ["helm"],
|
||||
"commitMessagePrefix": "[{{{parentDir}}}]",
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"matchDatasources": ["helm"],
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"matchDatasources": ["helm"],
|
||||
"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"
|
||||
]
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -35,8 +35,6 @@ fi
|
||||
for chart in ${charts}; do
|
||||
chart_directory="$(dirname "${chart}")"
|
||||
echo "-] Copying templates to ${chart_directory}"
|
||||
# Copy README template into each Chart directory, overwrite if exists
|
||||
cp "${readme_template}" "${chart_directory}"
|
||||
# Copy CONFIG template to each Chart directory, do not overwrite if exists
|
||||
cp -n "${readme_config_template}" "${chart_directory}" || true
|
||||
done
|
||||
@@ -44,6 +42,6 @@ done
|
||||
# Run helm-docs for charts using the common library and the common library itself
|
||||
helm-docs \
|
||||
--ignore-file="${repository}/.helmdocsignore" \
|
||||
--template-files="$(basename "${readme_template}")" \
|
||||
--template-files="${readme_template}" \
|
||||
--template-files="$(basename "${readme_config_template}")" \
|
||||
--chart-search-root="${root}"
|
||||
153
.github/scripts/renovate-releasenotes.py
vendored
Executable file
153
.github/scripts/renovate-releasenotes.py
vendored
Executable file
@@ -0,0 +1,153 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import os
|
||||
import sys
|
||||
import typer
|
||||
|
||||
from git import Repo
|
||||
from loguru import logger
|
||||
from pathlib import Path
|
||||
|
||||
from ruamel.yaml import YAML
|
||||
from ruamel.yaml.comments import CommentedMap
|
||||
from ruamel.yaml.scalarstring import LiteralScalarString
|
||||
from typing import List
|
||||
|
||||
app = typer.Typer(add_completion=False)
|
||||
|
||||
|
||||
def _setup_logging(debug):
|
||||
"""
|
||||
Setup the log formatter for this script
|
||||
"""
|
||||
|
||||
log_level = "INFO"
|
||||
if debug:
|
||||
log_level = "DEBUG"
|
||||
|
||||
logger.remove()
|
||||
logger.add(
|
||||
sys.stdout,
|
||||
colorize=True,
|
||||
format="<level>{message}</level>",
|
||||
level=log_level,
|
||||
)
|
||||
|
||||
|
||||
@app.command()
|
||||
def main(
|
||||
chart_folders: List[Path] = typer.Argument(
|
||||
..., help="Folders containing the chart to process"),
|
||||
check_branch: str = typer.Option(
|
||||
None, help="The branch to compare against."),
|
||||
chart_base_folder: Path = typer.Option(
|
||||
"charts", help="The base folder where the charts reside."),
|
||||
debug: bool = False,
|
||||
):
|
||||
_setup_logging(debug)
|
||||
|
||||
git_repository = Repo(search_parent_directories=True)
|
||||
|
||||
if check_branch:
|
||||
logger.info(f"Trying to find branch {check_branch}...")
|
||||
branch = next(
|
||||
(ref for ref in git_repository.remotes.origin.refs if ref.name == check_branch),
|
||||
None
|
||||
)
|
||||
else:
|
||||
logger.info(f"Trying to determine default branch...")
|
||||
branch = next(
|
||||
(ref for ref in git_repository.remotes.origin.refs if ref.name == "origin/HEAD"),
|
||||
None
|
||||
)
|
||||
|
||||
if not branch:
|
||||
logger.error(
|
||||
f"Could not find branch {check_branch} to compare against.")
|
||||
raise typer.Exit(1)
|
||||
|
||||
logger.info(f"Comparing against branch {branch}")
|
||||
|
||||
for chart_folder in chart_folders:
|
||||
chart_folder = chart_base_folder.joinpath(chart_folder)
|
||||
if not chart_folder.is_dir():
|
||||
logger.error(f"Could not find folder {str(chart_folder)}")
|
||||
raise typer.Exit(1)
|
||||
|
||||
chart_metadata_file = chart_folder.joinpath('Chart.yaml')
|
||||
|
||||
if not chart_metadata_file.is_file():
|
||||
logger.error(f"Could not find file {str(chart_metadata_file)}")
|
||||
raise typer.Exit(1)
|
||||
|
||||
logger.info(f"Updating changelog annotation for chart {chart_folder}")
|
||||
|
||||
yaml = YAML(typ=['rt', 'string'])
|
||||
yaml.indent(mapping=2, sequence=4, offset=2)
|
||||
yaml.explicit_start = True
|
||||
yaml.preserve_quotes = True
|
||||
yaml.width = 4096
|
||||
|
||||
old_chart_metadata = yaml.load(
|
||||
git_repository.git.show(f"{branch}:{chart_metadata_file}")
|
||||
)
|
||||
new_chart_metadata = yaml.load(chart_metadata_file.read_text())
|
||||
|
||||
try:
|
||||
old_chart_dependencies = old_chart_metadata["dependencies"]
|
||||
except KeyError:
|
||||
old_chart_dependencies = []
|
||||
|
||||
try:
|
||||
new_chart_dependencies = new_chart_metadata["dependencies"]
|
||||
except KeyError:
|
||||
new_chart_dependencies = []
|
||||
|
||||
annotations = []
|
||||
for dependency in new_chart_dependencies:
|
||||
old_dep = None
|
||||
if "alias" in dependency.keys():
|
||||
old_dep = next(
|
||||
(old_dep for old_dep in old_chart_dependencies if "alias" in old_dep.keys(
|
||||
) and old_dep["alias"] == dependency["alias"]),
|
||||
None
|
||||
)
|
||||
else:
|
||||
old_dep = next(
|
||||
(old_dep for old_dep in old_chart_dependencies if old_dep["name"] == dependency["name"]),
|
||||
None
|
||||
)
|
||||
|
||||
add_annotation = False
|
||||
if old_dep:
|
||||
if dependency["version"] != old_dep["version"]:
|
||||
add_annotation = True
|
||||
else:
|
||||
add_annotation = True
|
||||
|
||||
if add_annotation:
|
||||
if "alias" in dependency.keys():
|
||||
annotations.append({
|
||||
"kind": "changed",
|
||||
"description": f"Upgraded `{dependency['name']}` chart dependency to version {dependency['version']} for alias '{dependency['alias']}'"
|
||||
})
|
||||
else:
|
||||
annotations.append({
|
||||
"kind": "changed",
|
||||
"description": f"Upgraded `{dependency['name']}` chart dependency to version {dependency['version']}"
|
||||
})
|
||||
|
||||
if annotations:
|
||||
annotations = YAML(typ=['rt', 'string']
|
||||
).dump_to_string(annotations)
|
||||
|
||||
if not "annotations" in new_chart_metadata:
|
||||
new_chart_metadata["annotations"] = CommentedMap()
|
||||
|
||||
new_chart_metadata["annotations"]["artifacthub.io/changes"] = LiteralScalarString(
|
||||
annotations)
|
||||
yaml.dump(new_chart_metadata, chart_metadata_file)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app()
|
||||
5
.github/scripts/requirements.txt
vendored
Normal file
5
.github/scripts/requirements.txt
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
GitPython==3.1.27
|
||||
loguru==0.6.0
|
||||
ruamel.yaml==0.17.21
|
||||
ruamel.yaml.string==0.1.0
|
||||
typer==0.6.1
|
||||
81
.github/workflows/charts-changelog.yaml
vendored
Normal file
81
.github/workflows/charts-changelog.yaml
vendored
Normal file
@@ -0,0 +1,81 @@
|
||||
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@v3
|
||||
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@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Annotate Charts.yaml for Renovate PR's
|
||||
if: inputs.isRenovatePR == 'true'
|
||||
env:
|
||||
CHECK_BRANCH: "origin/${{ github.event.repository.default_branch }}"
|
||||
run: |
|
||||
pip install -r ./.github/scripts/requirements.txt
|
||||
./.github/scripts/renovate-releasenotes.py --check-branch "$CHECK_BRANCH" ${{ inputs.modifiedCharts }}
|
||||
|
||||
- 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"
|
||||
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
|
||||
54
.github/workflows/charts-lint.yaml
vendored
Normal file
54
.github/workflows/charts-lint.yaml
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
name: "Charts: Lint"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
checkoutCommit:
|
||||
required: true
|
||||
type: string
|
||||
chartChangesDetected:
|
||||
required: true
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
name: Lint charts
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: Install Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@v0.8.2
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@v2.2.1
|
||||
|
||||
- name: Collect changes
|
||||
id: list-changed
|
||||
if: inputs.chartChangesDetected == 'true'
|
||||
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
|
||||
169
.github/workflows/charts-release.yaml
vendored
169
.github/workflows/charts-release.yaml
vendored
@@ -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@v3
|
||||
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.2
|
||||
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@v3
|
||||
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.4.0
|
||||
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@v3
|
||||
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
|
||||
|
||||
134
.github/workflows/charts-test.yaml
vendored
Normal file
134
.github/workflows/charts-test.yaml
vendored
Normal file
@@ -0,0 +1,134 @@
|
||||
name: "Charts: Test"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
checkoutCommit:
|
||||
required: true
|
||||
type: string
|
||||
chartChangesDetected:
|
||||
required: true
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
unit-test:
|
||||
name: Run unit tests
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: Install Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@v0.8.2
|
||||
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@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@v2.2.1
|
||||
|
||||
- name: Run chart-testing (list-changed)
|
||||
id: list-changed
|
||||
if: inputs.chartChangesDetected == 'true'
|
||||
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: false
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: Install Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@v0.8.2
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.6.3"
|
||||
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@v2.2.1
|
||||
|
||||
- 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
|
||||
351
.github/workflows/charts-validate.yaml
vendored
351
.github/workflows/charts-validate.yaml
vendored
@@ -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
|
||||
118
.github/workflows/meta-label-pr-ci-status.yaml
vendored
Normal file
118
.github/workflows/meta-label-pr-ci-status.yaml
vendored
Normal 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@v3
|
||||
with:
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
|
||||
- name: Download workflow artifact
|
||||
uses: dawidd6/action-download-artifact@v2.21.1
|
||||
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.1.4
|
||||
with:
|
||||
path: ./pr_metadata/pr_number.txt
|
||||
|
||||
- name: "Get workflow job status"
|
||||
uses: actions/github-script@v6
|
||||
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
|
||||
27
.github/workflows/metadata-label-commenter.yaml
vendored
27
.github/workflows/metadata-label-commenter.yaml
vendored
@@ -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@v3
|
||||
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 }}
|
||||
|
||||
71
.github/workflows/metadata-label-issues-prs.yaml
vendored
71
.github/workflows/metadata-label-issues-prs.yaml
vendored
@@ -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.+).+"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
126
.github/workflows/metadata-label-pr-ci-status.yaml
vendored
126
.github/workflows/metadata-label-pr-ci-status.yaml
vendored
@@ -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"
|
||||
39
.github/workflows/metadata-label-pr.yaml
vendored
Normal file
39
.github/workflows/metadata-label-pr.yaml
vendored
Normal 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
60
.github/workflows/pr-metadata.yaml
vendored
Normal 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.4
|
||||
|
||||
- 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@v3
|
||||
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@v3
|
||||
|
||||
- name: Collect changes
|
||||
id: collect-changes
|
||||
uses: ./.github/actions/collect-changes
|
||||
54
.github/workflows/pr-validate.yaml
vendored
Normal file
54
.github/workflows/pr-validate.yaml
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
name: "Pull Request: Validate"
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
types:
|
||||
- opened
|
||||
- edited
|
||||
- reopened
|
||||
- ready_for_review
|
||||
- synchronize
|
||||
|
||||
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 }}
|
||||
chartChangesDetected: ${{ needs.pr-metadata.outputs.addedOrModified }}
|
||||
|
||||
charts-test:
|
||||
uses: k8s-at-home/charts/.github/workflows/charts-test.yaml@master
|
||||
needs:
|
||||
- pr-metadata
|
||||
- charts-changelog
|
||||
with:
|
||||
checkoutCommit: ${{ needs.charts-changelog.outputs.commitHash }}
|
||||
chartChangesDetected: ${{ needs.pr-metadata.outputs.addedOrModified }}
|
||||
44
.github/workflows/pre-commit-check.yaml
vendored
44
.github/workflows/pre-commit-check.yaml
vendored
@@ -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@v3
|
||||
|
||||
- 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@v3.0.0
|
||||
with:
|
||||
extra_args: --files ${{ inputs.modifiedFiles }}
|
||||
|
||||
32
.github/workflows/schedule-sync-labels.yaml
vendored
Normal file
32
.github/workflows/schedule-sync-labels.yaml
vendored
Normal 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@v3
|
||||
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
|
||||
17
.github/workflows/stale.yaml
vendored
17
.github/workflows/stale.yaml
vendored
@@ -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@v5
|
||||
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: >
|
||||
|
||||
@@ -52,7 +52,7 @@ tasks:
|
||||
|
||||
helm-docs:
|
||||
desc: generate helm-docs
|
||||
dir: "{{.GIT_ROOT}}/hack"
|
||||
dir: "{{.GIT_ROOT}}/.github/scripts"
|
||||
cmds:
|
||||
- ./gen-helm-docs.sh "{{.CHART_TYPE}}" "{{.CHART}}"
|
||||
deps:
|
||||
|
||||
@@ -47,10 +47,8 @@ Chart releases must be immutable. Any change to a chart warrants a chart version
|
||||
|
||||
The chart `version` should follow [semver](https://semver.org/).
|
||||
|
||||
Charts should start at `1.0.0`. Any breaking (backwards incompatible) changes to a chart should:
|
||||
Charts should start at `1.0.0`. Any any breaking (backwards incompatible) changes should Bump the MAJOR version, and should describe the manual steps necessary to upgrade. All changes should be described in in the [Chart metadata](https://docs.k8s-at-home.com/our-helm-charts/development/creating-a-new-chart/#chart-metadata).
|
||||
|
||||
1. Bump the MAJOR version
|
||||
2. In the README, under a section called "Upgrading", describe the manual steps necessary to upgrade to the new (specified) MAJOR version
|
||||
|
||||
### Pre-commit
|
||||
|
||||
|
||||
4
Gemfile
4
Gemfile
@@ -4,9 +4,9 @@ source 'https://rubygems.org'
|
||||
|
||||
group :test do
|
||||
gem 'm'
|
||||
gem 'minitest', "5.15.0"
|
||||
gem 'minitest', "5.16.2"
|
||||
gem 'minitest-implicit-subject'
|
||||
gem 'minitest-reporters', "1.4.3"
|
||||
gem 'minitest-reporters', "1.5.0"
|
||||
gem 'pry', "0.14.1"
|
||||
gem 'ruby-jq'
|
||||
end
|
||||
|
||||
20
README.md
20
README.md
@@ -1,6 +1,6 @@
|
||||
# Helm charts
|
||||
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
||||
[](#contributors-)
|
||||
[](#contributors-)
|
||||
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
||||
|
||||
[](https://docs.k8s-at-home.com/)
|
||||
@@ -115,6 +115,24 @@ 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>
|
||||
<tr>
|
||||
<td align="center"><a href="http://taylorvories.com"><img src="https://avatars.githubusercontent.com/u/13934524?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Taylor Vories</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=tvories" title="Code">💻</a></td>
|
||||
<td align="center"><a href="http://www.jonathangazeley.com"><img src="https://avatars.githubusercontent.com/u/604595?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jonathan</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=djjudas21" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://www.b1-systems.de"><img src="https://avatars.githubusercontent.com/u/26167225?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Johannes Kastl</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=johanneskastl" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://www.funkypenguin.co.nz"><img src="https://avatars.githubusercontent.com/u/1524686?v=4?s=100" width="100px;" alt=""/><br /><sub><b>David Young</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=funkypenguin" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/bikram990"><img src="https://avatars.githubusercontent.com/u/6782131?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Bikramjeet Singh</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=bikram990" title="Code">💻</a></td>
|
||||
<td align="center"><a href="http://geraldwu.com"><img src="https://avatars.githubusercontent.com/u/22160945?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Gerald Wu</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=geraldwuhoo" title="Code">💻</a></td>
|
||||
<td align="center"><a href="http://ntrpigo.blogspot.com"><img src="https://avatars.githubusercontent.com/u/720492?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ivan Gregurić Ortolan</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=ntrp" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/lucacalcaterra"><img src="https://avatars.githubusercontent.com/u/879825?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Luca Calcaterra</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=lucacalcaterra" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/Omar007"><img src="https://avatars.githubusercontent.com/u/5380079?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Omar Pakker</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=Omar007" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://resume.frezbo.dev"><img src="https://avatars.githubusercontent.com/u/18496730?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Noel Georgi</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=frezbo" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/lanquarden"><img src="https://avatars.githubusercontent.com/u/446743?v=4?s=100" width="100px;" alt=""/><br /><sub><b>lanquarden</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=lanquarden" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
| [apache-musicindex](stable/apache-musicindex) | Index and stream music using apache-musicindex and m3u playlists |
|
||||
| [appdaemon](stable/appdaemon) | AppDaemon is a loosely coupled, multi-threaded, sandboxed python execution environment for writing automation apps for various types of Home Automation Software including Home Assistant and MQTT. |
|
||||
| [aria2](stable/aria2) | aria server for downloading web content |
|
||||
| [audiobookshelf](stable/audiobookshelf) | Self-hosted audiobook server for managing and playing your audiobooks |
|
||||
| [autobrr](stable/autobrr) | Autobrr monitors IRC announce channels to get releases as soon as they are available with good filtering |
|
||||
| [baikal](stable/baikal) | Baïkal is a lightweight CalDAV+CardDAV server. It offers a web interface with management of users, address books and calendars. |
|
||||
| [bazarr](stable/bazarr) | Bazarr is a companion application to Sonarr and Radarr. It manages and downloads subtitles based on your requirements |
|
||||
| [beets](stable/beets) | beets helm package |
|
||||
@@ -22,17 +24,22 @@
|
||||
| [comcast](stable/comcast) | periodic comcast data usage checks and save the results to InfluxDB |
|
||||
| [cryptofolio](stable/cryptofolio) | Track your cryptocurrency holdings/portfolio |
|
||||
| [deconz](stable/deconz) | 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. |
|
||||
| [deemix](stable/deemix) | Deemix is a Deezer Download Manager |
|
||||
| [deepstack](stable/deepstack) | An AI API engine that serves pre-built models and custom models on multiple edge devices locally or on your private cloud |
|
||||
| [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. |
|
||||
| [factorio](stable/factorio) | Factorio dedicated steam game server |
|
||||
| [filebrowser](stable/filebrowser) | filebrowser provides a file managing interface within a specified directory |
|
||||
| [firefly-iii](stable/firefly-iii) | Firefly III: a personal finances manager |
|
||||
| [flaresolverr](stable/flaresolverr) | FlareSolverr is a proxy server to bypass Cloudflare protection |
|
||||
| [flood](stable/flood) | Flood is a monitoring service for various torrent clients |
|
||||
| [focalboard](stable/focalboard) | Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana. |
|
||||
@@ -41,9 +48,11 @@
|
||||
| [frigate](stable/frigate) | NVR With Realtime Object Detection for IP Cameras |
|
||||
| [games-on-whales](stable/games-on-whales) | Streams graphic applications/games (retroarch, firefox, steam) runing on Kubernetes |
|
||||
| [gaps](stable/gaps) | Gaps searches through your Plex Server or local folders for all movies, then queries for known movies in the same collection. |
|
||||
| [gatus](stable/gatus) | A developer-oriented health dashboard that gives you the ability to monitor your services using HTTP, ICMP, TCP, and even DNS queries. |
|
||||
| [ghost](stable/ghost) | Ghost is a blogging and publishing software |
|
||||
| [gollum](stable/gollum) | Gollum is a simple wiki system built on top of Git |
|
||||
| [gonic](stable/gonic) | Music streaming server / subsonic server API implementation |
|
||||
| [gotify](stable/gotify) | A simple server for sending and receiving messages |
|
||||
| [grocy](stable/grocy) | ERP beyond your fridge - grocy is a web-based self-hosted groceries & household management solution for your home |
|
||||
| [haste-server](stable/haste-server) | Simple text sharing |
|
||||
| [healthchecks](stable/healthchecks) | Healthchecks is a cron job monitoring service. It listens for HTTP requests and email messages ("pings") from your cron jobs and scheduled tasks ("checks"). When a ping does not arrive on time, Healthchecks sends out alerts. |
|
||||
@@ -54,19 +63,22 @@
|
||||
| [hyperion-ng](stable/hyperion-ng) | Hyperion is an opensource Bias or Ambient Lighting implementation |
|
||||
| [icantbelieveitsnotvaletudo](stable/icantbelieveitsnotvaletudo) | Create live map data from Valetudo powered robots |
|
||||
| [icinga2](stable/icinga2) | A monitoring system which checks the availability of your network resources, notifies users of outages, and generates performance data for reporting. |
|
||||
| [ihatemoney](stable/ihatemoney) | A web application made to ease shared budget management |
|
||||
| [influxdb-exporter](stable/influxdb-exporter) | An exporter for metrics in the InfluxDB format, transforms them and exposes them for consumption by Prometheus. |
|
||||
| [intel-gpu-plugin](stable/intel-gpu-plugin) | The Intel GPU plugin facilitates offloading the processing of computation intensive workloads to GPU hardware |
|
||||
| [jackett](stable/jackett) | API Support for your favorite torrent trackers |
|
||||
| [jellyfin](stable/jellyfin) | Jellyfin is a Free Software Media System |
|
||||
| [jetbrains-projector](stable/jetbrains-projector) | Projector is a technology to run and access JetBrains IDEs remotely |
|
||||
| [joplin-server](stable/joplin-server) | This server allows you to sync any Joplin client |
|
||||
| [kanboard](stable/kanboard) | Kanboard is a free and open source Kanban project management software. |
|
||||
| [komga](stable/komga) | A comics/mangas server to serve/stream pages via API |
|
||||
| [kube-ops-view](stable/kube-ops-view) | A read-only system dashboard for multiple K8s clusters |
|
||||
| [lazylibrarian](stable/lazylibrarian) | A Helm chart for deploying LazyLibrarian |
|
||||
| [leaf2mqtt](stable/leaf2mqtt) | Nissan Leaf connected services to MQTT adapter |
|
||||
| [librespeed](stable/librespeed) | Librespeed is a HTML5 webpage to test upload and download speeds |
|
||||
| [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. |
|
||||
@@ -74,12 +86,16 @@
|
||||
| [modem-stats](stable/modem-stats) | periodic cable modem data collection and save the results to InfluxDB |
|
||||
| [monica](stable/monica) | A Personal Relationship Management tool to help you organize your social life |
|
||||
| [mosquitto](stable/mosquitto) | Eclipse Mosquitto - An open source MQTT broker |
|
||||
| [mqtt-exporter](stable/mqtt-exporter) | Simple and generic Prometheus exporter for MQTT. Tested with Mosquitto MQTT and Xiaomi sensors. |
|
||||
| [multus](stable/multus) | multus CNI allows multiple NICs per pod |
|
||||
| [mylar](stable/mylar) | Mylar is the automated Comic Book downloader (cbr/cbz) for use with various download clients. |
|
||||
| [navidrome](stable/navidrome) | Navidrome is an open source web-based music collection server and streamer |
|
||||
| [neolink](stable/neolink) | Neolink - RTSP bridge to Reolink IP cameras |
|
||||
| [network-ups-tools](stable/network-ups-tools) | Network UPS Tools is a collection of programs which provide a common interface for monitoring and administering UPS, PDU and SCD hardware. |
|
||||
| [nginx-php](stable/nginx-php) | Nginx and PHP FPM for running PHP applications |
|
||||
| [nightscout](stable/nightscout) | nightscout helm package |
|
||||
| [node-red](stable/node-red) | Node-RED is low-code programming for event-driven applications |
|
||||
| [ntfy](stable/ntfy) | Send push notifications to your phone or desktop using PUT/POST |
|
||||
| [nullserv](stable/nullserv) | A simple null file http and https server |
|
||||
| [nzbget](stable/nzbget) | NZBGet is a Usenet downloader client |
|
||||
| [nzbhydra2](stable/nzbhydra2) | Usenet meta search |
|
||||
@@ -90,35 +106,44 @@
|
||||
| [openemr](stable/openemr) | OpenEMR is the most popular open source electronic health records and medical practice management solution. |
|
||||
| [openkm](stable/openkm) | OpenKM integrates all essential documents management, collaboration and an advanced search functionality into one easy to use solution. |
|
||||
| [organizr](stable/organizr) | HTPC/Homelab Services Organizer |
|
||||
| [otel-collector](stable/otel-collector) | OpenTelemetry collector helm package |
|
||||
| [overleaf](stable/overleaf) | A web-based collaborative LaTeX editor |
|
||||
| [overseerr](stable/overseerr) | Overseerr is a free and open source software application for managing requests for your media library. It integrates with your existing services such as Sonarr, Radarr and Plex! |
|
||||
| [owncast](stable/owncast) | Take control over your live stream video by running it yourself. Streaming + chat out of the box. |
|
||||
| [owncloud-ocis](stable/owncloud-ocis) | ownCloud Infinite Scale is a self-hosted file sync and share server. |
|
||||
| [paperless](stable/paperless) | Paperless - Index and archive all of your scanned paper documents |
|
||||
| [photoprism](stable/photoprism) | PhotoPrism® is a server-based application for browsing, organizing and sharing your personal photo collection |
|
||||
| [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](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. |
|
||||
| [powerdns-admin](stable/powerdns-admin) | A PowerDNS web interface with advanced features |
|
||||
| [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. |
|
||||
| [prowlarr](stable/prowlarr) | Indexer manager/proxy built on the popular arr net base stack to integrate with your various PVR apps. |
|
||||
| [puppeteer](stable/puppeteer) | Headless Chrome Node.js API |
|
||||
| [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. |
|
||||
| [resilio-sync](stable/resilio-sync) | Resilio Sync is a fast, reliable, and simple file sync and share solution, powered by P2P technology |
|
||||
| [reverse-proxy](stable/reverse-proxy) | Creates ingress reverse-proxies for external hosts with minimum boilerplate |
|
||||
| [rhasspy](stable/rhasspy) | rhasspy helm package |
|
||||
| [rtorrent-flood](stable/rtorrent-flood) | rTorrent is a stable, high-performance and low resource consumption BitTorrent client. |
|
||||
| [rtorrent-rutorrent](stable/rtorrent-rutorrent) | ruTorrent is a popular rtorrent client with a webui for ease of use. |
|
||||
| [rtsp-to-web](stable/rtsp-to-web) | RTSPtoWeb converts RTSP streams to WebRTC, LL-HLS, HLS, MSE |
|
||||
| [sabnzbd](stable/sabnzbd) | Free and easy binary newsreader |
|
||||
| [samba](stable/samba) | A simple in-cluster Samba server |
|
||||
| [satisfactory](stable/satisfactory) | Satisfactory dedicated server |
|
||||
| [seafile](stable/seafile) | seafile helm package |
|
||||
| [searx](stable/searx) | Searx is a privacy-respecting, hackable metasearch engine |
|
||||
| [send](stable/send) | Simple, private file sharing. |
|
||||
| [ser2sock](stable/ser2sock) | Serial to Socket Redirector |
|
||||
| [sharry](stable/sharry) | Sharry allows to share files with others in a simple way. It is a self-hosted web application. The basic concept is to upload files and get a url back that can then be shared. |
|
||||
| [shinobi](stable/shinobi) | shinobi helm package |
|
||||
| [shlink](stable/shlink) | A self-hosted and PHP-based URL shortener application with CLI and REST interfaces |
|
||||
| [smarter-device-manager](stable/smarter-device-manager) | Manage hardware resource allocation without a need for privileged containers |
|
||||
| [sonarr](stable/sonarr) | Smart PVR for newsgroup and bittorrent users |
|
||||
@@ -126,15 +151,15 @@
|
||||
| [stash](stable/stash) | An organizer for your porn, written in Go |
|
||||
| [statping](stable/statping) | Status page for monitoring your websites and applications |
|
||||
| [syncthing](stable/syncthing) | Open Source Continuous File Synchronization |
|
||||
| [syslog-ng](stable/syslog-ng) | syslog-ng allows you to flexibly collect, parse, classify, rewrite and correlate logs. |
|
||||
| [tautulli](stable/tautulli) | A Python based monitoring and tracking tool for Plex Media Server |
|
||||
| [tdarr](stable/tdarr) | Tdarr is a self hosted web-app for automating media library transcode/remux management and making sure your files are exactly how you need them to be in terms of codecs/streams/containers etc. |
|
||||
| [teedy](stable/teedy) | Teedy is an open source, lightweight document management system for individuals and businesses. |
|
||||
| [teslamate](stable/teslamate) | A self-hosted data logger for your Tesla 🚘 |
|
||||
| [thelounge](stable/thelounge) | The Lounge, modern web IRC client designed for self-hosting |
|
||||
| [traccar](stable/traccar) | Traccar is an open source GPS tracking system. |
|
||||
| [theme-park](stable/theme-park) | theme-park helm package |
|
||||
| [traefik-forward-auth](stable/traefik-forward-auth) | A minimal forward authentication service that provides OAuth/SSO login and authentication for the traefik reverse proxy/load balancer |
|
||||
| [transmission](stable/transmission) | Transmission is a cross-platform BitTorrent client |
|
||||
| [truecommand](stable/truecommand) | Central Management of TrueNAS storage systems |
|
||||
| [tt-rss](stable/tt-rss) | Tiny Tiny RSS is a free and open source web-based news feed (RSS/Atom) reader and aggregator |
|
||||
| [tvheadend](stable/tvheadend) | TVheadend - a TV streaming server and digital video recorder |
|
||||
| [unifi-poller](stable/unifi-poller) | Collect ALL UniFi Controller, Site, Device & Client Data - Export to InfluxDB or Prometheus |
|
||||
@@ -162,11 +187,21 @@
|
||||
### Incubator charts:
|
||||
| Chart | Description |
|
||||
| ----- | ----------- |
|
||||
| [babybuddy](incubator/babybuddy) | A buddy for babies! Helps caregivers track sleep, feedings, diaper changes, tummy time and more to learn about and predict baby's needs without (as much) guess work. |
|
||||
| [changedetection-io](incubator/changedetection-io) | changedetection-io helm package |
|
||||
| [cryptpad](incubator/cryptpad) | cryptpad helm package |
|
||||
| [dendrite](incubator/dendrite) | Dendrite Matrix Homeserver |
|
||||
| [handbrake](incubator/handbrake) | handbrake helm package |
|
||||
| [kah-common-chart](incubator/kah-common-chart) | A KaH-common powered chart template. This can be useful for small projects that don't have their own chart. |
|
||||
| [lancache](incubator/lancache) | LanCache Monolithic - a caching proxy server for game download content |
|
||||
| [mopidy](incubator/mopidy) | mopidy helm package |
|
||||
| [openhab](incubator/openhab) | openhab helm package |
|
||||
| [seafile](incubator/seafile) | seafile helm package |
|
||||
| [scrypted](incubator/scrypted) | scrypted helm package |
|
||||
| [sdtd](incubator/sdtd) | Dedicated server for 7 Days to Die |
|
||||
| [signal-cli-rest-api](incubator/signal-cli-rest-api) | Dockerized Signal Messenger REST API |
|
||||
| [sinusbot](incubator/sinusbot) | TeamSpeak & Discord Bot |
|
||||
| [snapcast](incubator/snapcast) | snapcast helm package |
|
||||
| [strongswan](incubator/strongswan) | strongSwan – the OpenSource IPsec-based VPN Solution |
|
||||
| [teamspeak](incubator/teamspeak) | TeamSpeak Server |
|
||||
| [torrserver](incubator/torrserver) | TorrServer streams torrent to http |
|
||||
| [warrior](incubator/warrior) | The Archive Team Warrior is a virtual archiving appliance. You can run it to help with the Archive Team archiving efforts. It will download sites and upload them to our archive—and it’s really easy to do! |
|
||||
|
||||
26
charts/incubator/babybuddy/Chart.yaml
Normal file
26
charts/incubator/babybuddy/Chart.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
apiVersion: v2
|
||||
appVersion: 1.10.2
|
||||
description: A buddy for babies! Helps caregivers track sleep, feedings, diaper changes, tummy time and more to learn about and predict baby's needs without (as much) guess work.
|
||||
name: babybuddy
|
||||
version: 1.2.0
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
keywords:
|
||||
- babybuddy
|
||||
- baby
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/incubator/babybuddy
|
||||
icon: https://github.com/babybuddy/babybyddy/blob/master/babybuddy/static_src/logo/icon.png?raw=true
|
||||
sources:
|
||||
- https://github.com/babybuddy/babybuddy
|
||||
- https://hub.docker.com/r/linuxserver/babybuddy
|
||||
maintainers:
|
||||
- name: brianporeilly
|
||||
email: brianporeilly@gmail.com
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 4.5.0
|
||||
annotations:
|
||||
artifacthub.io/changes: |-
|
||||
- kind: changed
|
||||
description: Upgraded `common` chart dependency to version 4.5.0
|
||||
116
charts/incubator/babybuddy/README.md
Normal file
116
charts/incubator/babybuddy/README.md
Normal file
@@ -0,0 +1,116 @@
|
||||
# babybuddy
|
||||
|
||||
 
|
||||
|
||||
A buddy for babies! Helps caregivers track sleep, feedings, diaper changes, tummy time and more to learn about and predict baby's needs without (as much) guess work.
|
||||
|
||||
**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/babybuddy/babybuddy>
|
||||
* <https://hub.docker.com/r/linuxserver/babybuddy>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://library-charts.k8s-at-home.com | common | 4.5.0 |
|
||||
|
||||
## TL;DR
|
||||
|
||||
```console
|
||||
helm repo add k8s-at-home https://k8s-at-home.com/charts/
|
||||
helm repo update
|
||||
helm install babybuddy k8s-at-home/babybuddy
|
||||
```
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `babybuddy`
|
||||
|
||||
```console
|
||||
helm install babybuddy k8s-at-home/babybuddy
|
||||
```
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall the `babybuddy` deployment
|
||||
|
||||
```console
|
||||
helm uninstall babybuddy
|
||||
```
|
||||
|
||||
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 babybuddy \
|
||||
--set env.TZ="America/New York" \
|
||||
k8s-at-home/babybuddy
|
||||
```
|
||||
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install babybuddy k8s-at-home/babybuddy -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 [babybuddy docs](https://docs.baby-buddy.net/setup/configuration/) for more details. |
|
||||
| env.TZ | string | `"UTC"` | Set the container timezone |
|
||||
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||
| image.repository | string | `"linuxserver/babybuddy"` | image repository |
|
||||
| image.tag | string | `nil` | |
|
||||
| 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.2.0
|
||||
|
||||
#### Added
|
||||
|
||||
N/A
|
||||
|
||||
#### Changed
|
||||
|
||||
* Upgraded `common` chart dependency to version 4.5.0
|
||||
|
||||
#### Fixed
|
||||
|
||||
N/A
|
||||
|
||||
### Older versions
|
||||
|
||||
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/babybuddy?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)
|
||||
@@ -6,11 +6,14 @@
|
||||
#
|
||||
|
||||
image:
|
||||
repository: ixsystems/truecommand
|
||||
tag: 2.0.1
|
||||
# -- image repository
|
||||
repository: linuxserver/babybuddy
|
||||
# @default -- chart.appVersion
|
||||
tag:
|
||||
# -- image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# -- environment variables. See [image docs](https://hub.docker.com/r/ixsystems/truecommand) for more details.
|
||||
# -- environment variables. See [babybuddy docs](https://docs.baby-buddy.net/setup/configuration/) for more details.
|
||||
# @default -- See below
|
||||
env:
|
||||
# -- Set the container timezone
|
||||
@@ -22,7 +25,7 @@ service:
|
||||
main:
|
||||
ports:
|
||||
http:
|
||||
port: 80
|
||||
port: 8000
|
||||
|
||||
ingress:
|
||||
# -- Enable and configure ingress settings for the chart under this key.
|
||||
@@ -33,6 +36,6 @@ ingress:
|
||||
# -- Configure persistence settings for the chart under this key.
|
||||
# @default -- See values.yaml
|
||||
persistence:
|
||||
data:
|
||||
config:
|
||||
enabled: false
|
||||
mountPath: /data
|
||||
mountPath: /config
|
||||
@@ -1,8 +1,9 @@
|
||||
---
|
||||
apiVersion: v2
|
||||
appVersion: "0.39.4"
|
||||
description: changedetection-io helm package
|
||||
name: changedetection-io
|
||||
version: 1.3.0
|
||||
version: 1.5.0
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
keywords:
|
||||
- changedetection.io
|
||||
@@ -19,8 +20,8 @@ maintainers:
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 4.3.0
|
||||
version: 4.5.0
|
||||
annotations:
|
||||
artifacthub.io/changes: |
|
||||
artifacthub.io/changes: |-
|
||||
- kind: changed
|
||||
description: Upgraded `common` chart dependency to version `4.3.0`.
|
||||
description: Upgraded `common` chart dependency to version 4.5.0
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# changedetection-io
|
||||
|
||||
 
|
||||
 
|
||||
|
||||
changedetection-io helm package
|
||||
|
||||
@@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0`
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://library-charts.k8s-at-home.com | common | 4.3.0 |
|
||||
| https://library-charts.k8s-at-home.com | common | 4.5.0 |
|
||||
|
||||
## TL;DR
|
||||
|
||||
@@ -87,7 +87,7 @@ N/A
|
||||
|
||||
## Changelog
|
||||
|
||||
### Version 1.3.0
|
||||
### Version 1.5.0
|
||||
|
||||
#### Added
|
||||
|
||||
@@ -95,7 +95,7 @@ N/A
|
||||
|
||||
#### Changed
|
||||
|
||||
* Upgraded `common` chart dependency to version `4.3.0`.
|
||||
* Upgraded `common` chart dependency to version 4.5.0
|
||||
|
||||
#### Fixed
|
||||
|
||||
|
||||
@@ -1,176 +0,0 @@
|
||||
{{- define "custom.repository.organization" -}}
|
||||
k8s-at-home
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.repository.url" -}}
|
||||
https://github.com/k8s-at-home/charts
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.url" -}}
|
||||
https://k8s-at-home.com/charts/
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.path" -}}
|
||||
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.notes" -}}
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.requirements" -}}
|
||||
## Requirements
|
||||
|
||||
{{ template "chart.kubeVersionLine" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.dependencies" -}}
|
||||
## Dependencies
|
||||
|
||||
{{ template "chart.requirementsTable" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install.tldr" -}}
|
||||
## TL;DR
|
||||
|
||||
```console
|
||||
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
|
||||
helm repo update
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install" -}}
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `{{ template "chart.name" . }}`
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.uninstall" -}}
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall the `{{ template "chart.name" . }}` deployment
|
||||
|
||||
```console
|
||||
helm uninstall {{ template "chart.name" . }}
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.header" -}}
|
||||
## Configuration
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.readValues" -}}
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](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" . }}
|
||||
{{ "" }}
|
||||
@@ -1,8 +1,9 @@
|
||||
---
|
||||
apiVersion: v2
|
||||
appVersion: v4.12.0-nginx
|
||||
appVersion: v4.14.1-nginx
|
||||
description: cryptpad helm package
|
||||
name: cryptpad
|
||||
version: 0.2.0
|
||||
version: 0.4.0
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
keywords:
|
||||
- cryptpad
|
||||
@@ -16,8 +17,8 @@ maintainers:
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 4.3.0
|
||||
version: 4.5.0
|
||||
annotations:
|
||||
artifacthub.io/changes: |
|
||||
artifacthub.io/changes: |-
|
||||
- kind: changed
|
||||
description: Upgraded `common` chart dependency to version `4.3.0`.
|
||||
description: Upgraded `common` chart dependency to version 4.5.0
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# cryptpad
|
||||
|
||||
 
|
||||
 
|
||||
|
||||
cryptpad helm package
|
||||
|
||||
@@ -18,7 +18,7 @@ Kubernetes: `>=1.16.0-0`
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://library-charts.k8s-at-home.com | common | 4.3.0 |
|
||||
| https://library-charts.k8s-at-home.com | common | 4.5.0 |
|
||||
|
||||
## TL;DR
|
||||
|
||||
@@ -95,7 +95,7 @@ N/A
|
||||
|
||||
## Changelog
|
||||
|
||||
### Version 0.2.0
|
||||
### Version 0.4.0
|
||||
|
||||
#### Added
|
||||
|
||||
@@ -103,7 +103,7 @@ N/A
|
||||
|
||||
#### Changed
|
||||
|
||||
* Upgraded `common` chart dependency to version `4.3.0`.
|
||||
* Upgraded `common` chart dependency to version 4.5.0
|
||||
|
||||
#### Fixed
|
||||
|
||||
|
||||
@@ -1,176 +0,0 @@
|
||||
{{- define "custom.repository.organization" -}}
|
||||
k8s-at-home
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.repository.url" -}}
|
||||
https://github.com/k8s-at-home/charts
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.url" -}}
|
||||
https://k8s-at-home.com/charts/
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.path" -}}
|
||||
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.notes" -}}
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.requirements" -}}
|
||||
## Requirements
|
||||
|
||||
{{ template "chart.kubeVersionLine" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.dependencies" -}}
|
||||
## Dependencies
|
||||
|
||||
{{ template "chart.requirementsTable" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install.tldr" -}}
|
||||
## TL;DR
|
||||
|
||||
```console
|
||||
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
|
||||
helm repo update
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install" -}}
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `{{ template "chart.name" . }}`
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.uninstall" -}}
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall the `{{ template "chart.name" . }}` deployment
|
||||
|
||||
```console
|
||||
helm uninstall {{ template "chart.name" . }}
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.header" -}}
|
||||
## Configuration
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.readValues" -}}
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](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" . }}
|
||||
{{ "" }}
|
||||
@@ -1,7 +1,9 @@
|
||||
{{- include "common.values.setup" . -}}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ template "common.names.fullname" . }}-config
|
||||
name: {{ include "common.names.fullname" . }}-config
|
||||
labels:
|
||||
{{- include "common.labels" . | nindent 4 }}
|
||||
data:
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
---
|
||||
apiVersion: v2
|
||||
appVersion: 0.5.1
|
||||
appVersion: v0.8.9
|
||||
description: Dendrite Matrix Homeserver
|
||||
name: dendrite
|
||||
version: 1.0.1
|
||||
version: 6.1.1
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
keywords:
|
||||
- dendrite
|
||||
@@ -11,6 +11,7 @@ keywords:
|
||||
- homeserver
|
||||
- monolith
|
||||
- federation
|
||||
- polylith
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/dendrite
|
||||
sources:
|
||||
- https://github.com/matrix-org/dendrite
|
||||
@@ -21,12 +22,66 @@ maintainers:
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 4.3.0
|
||||
version: 4.5.0
|
||||
- name: postgresql
|
||||
version: 10.14.4
|
||||
version: 11.6.20
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
condition: postgresql.enabled
|
||||
- name: nats
|
||||
version: 0.17.3
|
||||
repository: https://nats-io.github.io/k8s/helm/charts/
|
||||
condition: nats.enabled
|
||||
# Client API
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 4.5.0
|
||||
alias: clientapi
|
||||
condition: dendrite.polylithEnabled
|
||||
# Media API
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 4.5.0
|
||||
alias: mediaapi
|
||||
condition: dendrite.polylithEnabled
|
||||
# Sync API
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 4.5.0
|
||||
alias: syncapi
|
||||
condition: dendrite.polylithEnabled
|
||||
# Room Server
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 4.5.0
|
||||
alias: roomserver
|
||||
condition: dendrite.polylithEnabled
|
||||
# Federation API
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 4.5.0
|
||||
alias: federationapi
|
||||
condition: dendrite.polylithEnabled
|
||||
# Key Server
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 4.5.0
|
||||
alias: keyserver
|
||||
condition: dendrite.polylithEnabled
|
||||
# User API
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 4.5.0
|
||||
alias: userapi
|
||||
condition: dendrite.polylithEnabled
|
||||
# App Service API
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 4.5.0
|
||||
alias: appserviceapi
|
||||
condition: dendrite.polylithEnabled
|
||||
annotations:
|
||||
artifacthub.io/changes: |
|
||||
artifacthub.io/changes: |-
|
||||
- kind: changed
|
||||
description: Upgraded `postgresql` chart dependency to version `10.14.4`.
|
||||
description: Upgraded `postgresql` chart dependency to version 11.6.20
|
||||
- kind: changed
|
||||
description: Upgraded `nats` chart dependency to version 0.17.3
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# dendrite
|
||||
|
||||
 
|
||||
 
|
||||
|
||||
Dendrite Matrix Homeserver
|
||||
|
||||
@@ -19,8 +19,17 @@ Kubernetes: `>=1.16.0-0`
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://charts.bitnami.com/bitnami | postgresql | 10.14.4 |
|
||||
| https://library-charts.k8s-at-home.com | common | 4.3.0 |
|
||||
| https://charts.bitnami.com/bitnami | postgresql | 11.6.12 |
|
||||
| https://library-charts.k8s-at-home.com | common | 4.5.0 |
|
||||
| https://library-charts.k8s-at-home.com | keyserver(common) | 4.5.0 |
|
||||
| https://library-charts.k8s-at-home.com | clientapi(common) | 4.5.0 |
|
||||
| https://library-charts.k8s-at-home.com | mediaapi(common) | 4.5.0 |
|
||||
| https://library-charts.k8s-at-home.com | syncapi(common) | 4.5.0 |
|
||||
| https://library-charts.k8s-at-home.com | roomserver(common) | 4.5.0 |
|
||||
| https://library-charts.k8s-at-home.com | federationapi(common) | 4.5.0 |
|
||||
| https://library-charts.k8s-at-home.com | userapi(common) | 4.5.0 |
|
||||
| https://library-charts.k8s-at-home.com | appserviceapi(common) | 4.5.0 |
|
||||
| https://nats-io.github.io/k8s/helm/charts/ | nats | 0.17.1 |
|
||||
|
||||
## TL;DR
|
||||
|
||||
@@ -69,7 +78,14 @@ helm install dendrite k8s-at-home/dendrite -f values.yaml
|
||||
|
||||
## Custom configuration
|
||||
|
||||
N/A
|
||||
### Polylith Ingress
|
||||
|
||||
Due to the complexity of setting up ingress for each individual component it
|
||||
is left up to the individual to add the necessary ingress fields to polylith deployments.
|
||||
|
||||
For more information see:
|
||||
- https://github.com/matrix-org/dendrite/blob/master/docs/INSTALL.md#nginx-or-other-reverse-proxy
|
||||
- and https://github.com/matrix-org/dendrite/blob/master/docs/nginx/polylith-sample.conf
|
||||
|
||||
## Values
|
||||
|
||||
@@ -77,49 +93,149 @@ N/A
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| dendrite | object | See values.yaml | Configuration for Dendrite. For more information see [the sample denrite-config.yaml](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml) |
|
||||
| dendrite.components | object | See values.yaml | Configure the dendrite components. |
|
||||
| dendrite.components.app_service_api | object | See values.yaml | Configure the App Service API |
|
||||
| dendrite.components.client_api | object | `{"captcha":{"enabled":false,"recaptcha_bypass_secret":"","recaptcha_private_key":"","recaptcha_public_key":"","recaptcha_siteverify_api":""},"rate_limiting":{"cooloff_ms":500,"enabled":true,"threshold":5},"registration_disabled":false,"registration_shared_secret":"","turn":{"turn_password":"","turn_shared_secret":"","turn_uris":[],"turn_user_lifetime":"","turn_username":""}}` | Configure the Client API |
|
||||
| dendrite.components.client_api.captcha | object | See values.yaml | Configure captcha for registration |
|
||||
| dendrite.components.client_api.rate_limiting | object | values.yaml | Configure rate limiting. |
|
||||
| dendrite.components.client_api.registration_disabled | bool | `false` | Enable or disable registration for this homeserver. |
|
||||
| dendrite.components.client_api.registration_shared_secret | string | `""` | Shared secret that allows registration, despite registration_disabled. |
|
||||
| dendrite.components.client_api.turn | object | See values.yaml | Configure TURN |
|
||||
| dendrite.components.federation_api | object | values.yaml | Configure the Federation API |
|
||||
| dendrite.components.media_api | object | values.yaml | Configure the Media API |
|
||||
| appserviceapi | object | See values.yaml | Configure the app service api. For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/main/dendrite-sample.polylith.yaml) |
|
||||
| appserviceapi.database | object | See values.yaml | Override general dendrite.database parameters. |
|
||||
| appserviceapi.database.conn_max_lifetime | string | dendrite.database.conn_max_lifetime | Maximum connection lifetime |
|
||||
| appserviceapi.database.connection_string | string | file or derived from included postgresql deployment | Custom connection string |
|
||||
| appserviceapi.database.max_idle_conns | string | dendrite.database.max_idle_conns | Maximum dile connections |
|
||||
| appserviceapi.database.max_open_conns | string | dendrite.database.max_open_conns | Maximum open connections |
|
||||
| appserviceapi.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||
| appserviceapi.image.repository | string | `"matrixdotorg/dendrite-polylith"` | image repository |
|
||||
| appserviceapi.image.tag | string | chart.appVersion | image tag |
|
||||
| clientapi | object | See values.yaml | Configuration for the client api component. For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/main/dendrite-sample.polylith.yaml) |
|
||||
| clientapi.config.captcha | object | See values.yaml | Configure captcha for registration |
|
||||
| clientapi.config.rate_limiting | object | values.yaml | Configure rate limiting. |
|
||||
| clientapi.config.registration_disabled | bool | `false` | Enable or disable registration for this homeserver. |
|
||||
| clientapi.config.registration_shared_secret | string | `""` | Shared secret that allows registration, despite registration_disabled. |
|
||||
| clientapi.config.turn | object | See values.yaml | Configure TURN |
|
||||
| clientapi.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||
| clientapi.image.repository | string | `"matrixdotorg/dendrite-polylith"` | image repository |
|
||||
| clientapi.image.tag | string | chart.appVersion | image tag |
|
||||
| database | object | See values.yaml | Override general dendrite.database parameters. |
|
||||
| database.conn_max_lifetime | string | dendrite.database.conn_max_lifetime | Maximum connection lifetime |
|
||||
| database.connection_string | string | file or derived from included postgresql deployment | Custom connection string |
|
||||
| database.max_idle_conns | string | dendrite.database.max_idle_conns | Maximum dile connections |
|
||||
| database.max_open_conns | string | dendrite.database.max_open_conns | Maximum open connections |
|
||||
| dendrite | object | See values.yaml | Configuration for Dendrite. For more information see [the sample denrite-config.yaml](https://github.com/matrix-org/dendrite/blob/main/dendrite-sample.polylith.yaml) |
|
||||
| dendrite.database | object | See values.yaml | Configure database connection parameters. |
|
||||
| dendrite.global | object | See values.yaml | Configure the global settings for dendrite. |
|
||||
| dendrite.global.disable_federation | bool | `false` | Disables federation |
|
||||
| dendrite.global.dns_cache | object | See values.yaml | Configure DNS cache. |
|
||||
| dendrite.global.dns_cache.enabled | bool | See values.yaml | If enabled, dns cache will be enabled. |
|
||||
| dendrite.global.key_validity_period | string | `"168h0m0s"` | Configure the key_validity period |
|
||||
| dendrite.global.metrics | object | See values.yaml | Configure prometheus metrics collection for dendrite. |
|
||||
| dendrite.global.metrics.enabled | bool | See values.yaml | If enabled, metrics collection will be enabled |
|
||||
| dendrite.global.mscs | list | `[]` | Configure experimental MSC's |
|
||||
| dendrite.global.presence | object | `{"enable_inbound":false,"enable_outbound":false}` | Configure handling of presence events |
|
||||
| dendrite.global.presence.enable_inbound | bool | `false` | Whether inbound presence events are allowed, e.g. receiving presence events from other servers |
|
||||
| dendrite.global.presence.enable_outbound | bool | `false` | Whether outbound presence events are allowed, e.g. sending presence events to other servers |
|
||||
| dendrite.global.server_name | string | `"localhost"` | (required) Configure the server name for the dendrite instance. |
|
||||
| dendrite.global.server_notices | object | `{"avatar_url":"","display_name":"Server alerts","enabled":false,"local_part":"_server","room_name":"Server Alerts"}` | Server notices allows server admins to send messages to all users. |
|
||||
| dendrite.global.server_notices.avatar_url | string | `""` | The mxid of the avatar to use |
|
||||
| dendrite.global.server_notices.display_name | string | `"Server alerts"` | The displayname to be used when sending notices |
|
||||
| dendrite.global.server_notices.local_part | string | `"_server"` | The server localpart to be used when sending notices, ensure this is not yet taken |
|
||||
| dendrite.global.server_notices.room_name | string | `"Server Alerts"` | The roomname to be used when creating messages |
|
||||
| dendrite.global.trusted_third_party_id_servers | list | `["matrix.org","vector.im"]` | Configure the list of domains the server will trust as identity servers |
|
||||
| dendrite.global.well_known_server_name | string | `""` | Configure the well-known server name and optional port |
|
||||
| dendrite.logging | list | See values.yaml | Configure logging. |
|
||||
| dendrite.matrix_key_secret | object | See values.yaml | If enabled, use an existing secret for matrix_key.pem. Otherwise a matrix_key.pem must be mounted to `/etc/dendrite`. |
|
||||
| dendrite.matrix_key_secret.create | bool | `false` | Create matrix_key secret using the keyBody below. |
|
||||
| dendrite.matrix_key_secret.existingSecret | string | `""` | Use an existing secret |
|
||||
| dendrite.matrix_key_secret.keyBody | string | `""` | New Key Body |
|
||||
| dendrite.matrix_key_secret.secretPath | string | `"matrix_key.pem"` | Field in the secret to get the key from |
|
||||
| dendrite.polylithEnabled | bool | `false` | Enable polylith deployment |
|
||||
| dendrite.polylith_ingress | object | See values.yaml | Enable and configure polylith ingress as per https://github.com/matrix-org/dendrite/blob/main/docs/nginx/polylith-sample.conf |
|
||||
| dendrite.polylith_ingress.syncapi_paths | list | See values.yaml | Sync API Paths are a little tricky since they require regular expressions. Therefore the paths will depend on the ingress controller used. See values.yaml for nginx and traefik. |
|
||||
| dendrite.report_stats | object | `{"enabled":false,"endpoint":""}` | Usage statistics reporting configuration |
|
||||
| dendrite.report_stats.enabled | bool | false | Enable or disable usage reporting |
|
||||
| dendrite.report_stats.endpoint | string | `""` | Push endpoint for usage statistics |
|
||||
| dendrite.tls_secret | object | See values.yaml | If enabled, use an existing secrets for the TLS certificate and key. Otherwise, to enable TLS a `server.crt` and `server.key` must be mounted at `/etc/dendrite`. |
|
||||
| dendrite.tracing | object | See values.yaml | Configure opentracing. |
|
||||
| image | object | `{"pullPolicy":"IfNotPresent","repository":"matrixdotorg/dendrite-monolith","tag":"v0.5.1"}` | 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 |
|
||||
| federationapi | object | values.yaml | Configure the Federation API For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/main/dendrite-sample.polylith.yaml) |
|
||||
| federationapi.database | object | See values.yaml | Override general dendrite.database parameters. |
|
||||
| federationapi.database.conn_max_lifetime | string | dendrite.database.conn_max_lifetime | Maximum connection lifetime |
|
||||
| federationapi.database.connection_string | string | file or derived from included postgresql deployment | Custom connection string |
|
||||
| federationapi.database.max_idle_conns | string | dendrite.database.max_idle_conns | Maximum dile connections |
|
||||
| federationapi.database.max_open_conns | string | dendrite.database.max_open_conns | Maximum open connections |
|
||||
| federationapi.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||
| federationapi.image.repository | string | `"matrixdotorg/dendrite-polylith"` | image repository |
|
||||
| federationapi.image.tag | string | chart.appVersion | image tag |
|
||||
| image | object | `{"pullPolicy":"IfNotPresent","repository":"matrixdotorg/dendrite-monolith","tag":null}` | 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.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||
| 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. |
|
||||
| image.tag | string | chart.appVersion | image tag |
|
||||
| ingress.main | object | See values.yaml | (Monolith Only) Enable and configure ingress settings for the chart under this key. |
|
||||
| keyserver | object | See values.yaml | Configure the key server. For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/main/dendrite-sample.polylith.yaml) |
|
||||
| keyserver.database | object | See values.yaml | Override general dendrite.database parameters. |
|
||||
| keyserver.database.conn_max_lifetime | string | dendrite.database.conn_max_lifetime | Maximum connection lifetime |
|
||||
| keyserver.database.connection_string | string | file or derived from included postgresql deployment | Custom connection string |
|
||||
| keyserver.database.max_idle_conns | string | dendrite.database.max_idle_conns | Maximum dile connections |
|
||||
| keyserver.database.max_open_conns | string | dendrite.database.max_open_conns | Maximum open connections |
|
||||
| keyserver.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||
| keyserver.image.repository | string | `"matrixdotorg/dendrite-polylith"` | image repository |
|
||||
| keyserver.image.tag | string | chart.appVersion | image tag |
|
||||
| mediaapi | object | values.yaml | Configure the Media API For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/main/dendrite-sample.polylith.yaml) |
|
||||
| mediaapi.database | object | See values.yaml | Override general dendrite.database parameters. |
|
||||
| mediaapi.database.conn_max_lifetime | string | dendrite.database.conn_max_lifetime | Maximum connection lifetime |
|
||||
| mediaapi.database.connection_string | string | file or derived from included postgresql deployment | Custom connection string |
|
||||
| mediaapi.database.max_idle_conns | string | dendrite.database.max_idle_conns | Maximum dile connections |
|
||||
| mediaapi.database.max_open_conns | string | dendrite.database.max_open_conns | Maximum open connections |
|
||||
| mediaapi.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||
| mediaapi.image.repository | string | `"matrixdotorg/dendrite-polylith"` | image repository |
|
||||
| mediaapi.image.tag | string | chart.appVersion | image tag |
|
||||
| mscs | object | values.yaml | Configuration for experimental MSCs For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/main/dendrite-sample.polylith.yaml) |
|
||||
| mscs.database | object | See values.yaml | Override general dendrite.database parameters. |
|
||||
| mscs.database.conn_max_lifetime | string | dendrite.database.conn_max_lifetime | Maximum connection lifetime |
|
||||
| mscs.database.connection_string | string | file or derived from included postgresql deployment | Custom connection string |
|
||||
| mscs.database.max_idle_conns | string | dendrite.database.max_idle_conns | Maximum dile connections |
|
||||
| mscs.database.max_open_conns | string | dendrite.database.max_open_conns | Maximum open connections |
|
||||
| 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.nats.image | string | `"nats:2.7.1-alpine"` | |
|
||||
| nats.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.auth.database | string | `"dendrite"` | |
|
||||
| postgresql.auth.password | string | `"changeme"` | |
|
||||
| postgresql.auth.username | string | `"dendrite"` | |
|
||||
| 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.persistence.enabled | bool | `false` | |
|
||||
| postgresql.postgresqlDatabase | string | `"dendrite"` | |
|
||||
| postgresql.postgresqlPassword | string | `"changeme"` | |
|
||||
| postgresql.postgresqlUsername | string | `"dendrite"` | |
|
||||
| postgresql.primary.initdb.scriptsConfigMap | string | `"dendrite-postgresql-init-scripts"` | |
|
||||
| roomserver | object | values.yaml | Configure the Room Server For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/main/dendrite-sample.polylith.yaml) |
|
||||
| roomserver.database | object | See values.yaml | Override general dendrite.database parameters. |
|
||||
| roomserver.database.conn_max_lifetime | string | dendrite.database.conn_max_lifetime | Maximum connection lifetime |
|
||||
| roomserver.database.connection_string | string | file or derived from included postgresql deployment | Custom connection string |
|
||||
| roomserver.database.max_idle_conns | string | dendrite.database.max_idle_conns | Maximum dile connections |
|
||||
| roomserver.database.max_open_conns | string | dendrite.database.max_open_conns | Maximum open connections |
|
||||
| roomserver.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||
| roomserver.image.repository | string | `"matrixdotorg/dendrite-polylith"` | image repository |
|
||||
| roomserver.image.tag | string | chart.appVersion | image tag |
|
||||
| service | object | See values.yaml | If added dendrite will start a HTTP and HTTPS listener args: - "--tls-cert=server.crt" - "--tls-key=server.key" -- Configures service settings for the chart. |
|
||||
| service.main.ports.http | object | See values.yaml | Configures the default HTTP listener for dendrite |
|
||||
| service.main.ports.https | object | See values.yaml | Configures the HTTPS listener for dendrite |
|
||||
| syncapi | object | values.yaml | Configure the Sync API For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/main/dendrite-sample.polylith.yaml) |
|
||||
| syncapi.database | object | See values.yaml | Override general dendrite.database parameters. |
|
||||
| syncapi.database.conn_max_lifetime | string | dendrite.database.conn_max_lifetime | Maximum connection lifetime |
|
||||
| syncapi.database.connection_string | string | file or derived from included postgresql deployment | Custom connection string |
|
||||
| syncapi.database.max_idle_conns | string | dendrite.database.max_idle_conns | Maximum dile connections |
|
||||
| syncapi.database.max_open_conns | string | dendrite.database.max_open_conns | Maximum open connections |
|
||||
| syncapi.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||
| syncapi.image.repository | string | `"matrixdotorg/dendrite-polylith"` | image repository |
|
||||
| syncapi.image.tag | string | chart.appVersion | image tag |
|
||||
| userapi | object | values.yaml | Configure the User API For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/main/dendrite-sample.polylith.yaml) |
|
||||
| userapi.config.bcrypt_cost | int | 10 | bcrypt cost (2^[cost] = rounds) |
|
||||
| userapi.database | object | See values.yaml | Override general dendrite.database parameters. |
|
||||
| userapi.database.conn_max_lifetime | string | dendrite.database.conn_max_lifetime | Maximum connection lifetime |
|
||||
| userapi.database.connection_string | string | file or derived from included postgresql deployment | Custom connection string |
|
||||
| userapi.database.max_idle_conns | string | dendrite.database.max_idle_conns | Maximum dile connections |
|
||||
| userapi.database.max_open_conns | string | dendrite.database.max_open_conns | Maximum open connections |
|
||||
| userapi.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||
| userapi.image.repository | string | `"matrixdotorg/dendrite-polylith"` | image repository |
|
||||
| userapi.image.tag | string | chart.appVersion | image tag |
|
||||
|
||||
## Changelog
|
||||
|
||||
### Version 1.0.1
|
||||
### Version 6.1.0
|
||||
|
||||
#### Added
|
||||
|
||||
@@ -127,7 +243,15 @@ N/A
|
||||
|
||||
#### Changed
|
||||
|
||||
* Upgraded `postgresql` chart dependency to version `10.14.4`.
|
||||
* Upgraded `common` chart dependency to version 4.5.0
|
||||
* Upgraded `common` chart dependency to version 4.5.0 for alias 'clientapi'
|
||||
* Upgraded `common` chart dependency to version 4.5.0 for alias 'mediaapi'
|
||||
* Upgraded `common` chart dependency to version 4.5.0 for alias 'syncapi'
|
||||
* Upgraded `common` chart dependency to version 4.5.0 for alias 'roomserver'
|
||||
* Upgraded `common` chart dependency to version 4.5.0 for alias 'federationapi'
|
||||
* Upgraded `common` chart dependency to version 4.5.0 for alias 'keyserver'
|
||||
* Upgraded `common` chart dependency to version 4.5.0 for alias 'userapi'
|
||||
* Upgraded `common` chart dependency to version 4.5.0 for alias 'appserviceapi'
|
||||
|
||||
#### Fixed
|
||||
|
||||
|
||||
@@ -1,176 +0,0 @@
|
||||
{{- define "custom.repository.organization" -}}
|
||||
k8s-at-home
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.repository.url" -}}
|
||||
https://github.com/k8s-at-home/charts
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.url" -}}
|
||||
https://k8s-at-home.com/charts/
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.path" -}}
|
||||
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.notes" -}}
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.requirements" -}}
|
||||
## Requirements
|
||||
|
||||
{{ template "chart.kubeVersionLine" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.dependencies" -}}
|
||||
## Dependencies
|
||||
|
||||
{{ template "chart.requirementsTable" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install.tldr" -}}
|
||||
## TL;DR
|
||||
|
||||
```console
|
||||
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
|
||||
helm repo update
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install" -}}
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `{{ template "chart.name" . }}`
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.uninstall" -}}
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall the `{{ template "chart.name" . }}` deployment
|
||||
|
||||
```console
|
||||
helm uninstall {{ template "chart.name" . }}
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.header" -}}
|
||||
## Configuration
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.readValues" -}}
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](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" . }}
|
||||
{{ "" }}
|
||||
@@ -5,5 +5,13 @@
|
||||
{{- define "custom.custom.configuration" -}}
|
||||
{{ template "custom.custom.configuration.header" . }}
|
||||
|
||||
N/A
|
||||
### Polylith Ingress
|
||||
|
||||
Due to the complexity of setting up ingress for each individual component it
|
||||
is left up to the individual to add the necessary ingress fields to polylith deployments.
|
||||
|
||||
For more information see:
|
||||
- https://github.com/matrix-org/dendrite/blob/master/docs/INSTALL.md#nginx-or-other-reverse-proxy
|
||||
- and https://github.com/matrix-org/dendrite/blob/master/docs/nginx/polylith-sample.conf
|
||||
|
||||
{{- end -}}
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
---
|
||||
dendrite:
|
||||
matrix_key_secret:
|
||||
enabled: true
|
||||
secret:
|
||||
matrix_key.pem: |
|
||||
-----BEGIN MATRIX PRIVATE KEY-----
|
||||
Key-ID: ed25519:P8gZqV
|
||||
create: true
|
||||
keyBody: |
|
||||
-----BEGIN MATRIX PRIVATE KEY-----
|
||||
Key-ID: ed25519:P8gZqV
|
||||
|
||||
qVzy2Cwokt15RjGy8OzFSq6z0JFmI6QX/1Zw1VP73uU=
|
||||
-----END MATRIX PRIVATE KEY-----
|
||||
qVzy2Cwokt15RjGy8OzFSq6z0JFmI6QX/1Zw1VP73uU=
|
||||
-----END MATRIX PRIVATE KEY-----
|
||||
|
||||
12
charts/incubator/dendrite/ci/nats-values.yaml
Normal file
12
charts/incubator/dendrite/ci/nats-values.yaml
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
dendrite:
|
||||
matrix_key_secret:
|
||||
create: true
|
||||
keyBody: |
|
||||
-----BEGIN MATRIX PRIVATE KEY-----
|
||||
Key-ID: ed25519:P8gZqV
|
||||
|
||||
qVzy2Cwokt15RjGy8OzFSq6z0JFmI6QX/1Zw1VP73uU=
|
||||
-----END MATRIX PRIVATE KEY-----
|
||||
nats:
|
||||
enabled: true
|
||||
13
charts/incubator/dendrite/ci/polylith-basic-values.yaml
Normal file
13
charts/incubator/dendrite/ci/polylith-basic-values.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
dendrite:
|
||||
polylithEnabled: true
|
||||
matrix_key_secret:
|
||||
create: true
|
||||
keyBody: |
|
||||
-----BEGIN MATRIX PRIVATE KEY-----
|
||||
Key-ID: ed25519:P8gZqV
|
||||
|
||||
qVzy2Cwokt15RjGy8OzFSq6z0JFmI6QX/1Zw1VP73uU=
|
||||
-----END MATRIX PRIVATE KEY-----
|
||||
nats:
|
||||
enabled: true
|
||||
21
charts/incubator/dendrite/ci/polylith-full-values.yaml
Normal file
21
charts/incubator/dendrite/ci/polylith-full-values.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
dendrite:
|
||||
polylithEnabled: true
|
||||
matrix_key_secret:
|
||||
create: true
|
||||
keyBody: |
|
||||
-----BEGIN MATRIX PRIVATE KEY-----
|
||||
Key-ID: ed25519:P8gZqV
|
||||
|
||||
qVzy2Cwokt15RjGy8OzFSq6z0JFmI6QX/1Zw1VP73uU=
|
||||
-----END MATRIX PRIVATE KEY-----
|
||||
polylith_ingress:
|
||||
enabled: true
|
||||
host: matrix.k8s-at-home.org
|
||||
nats:
|
||||
enabled: true
|
||||
persistence:
|
||||
jetstream:
|
||||
enabled: true
|
||||
postgresql:
|
||||
enabled: true
|
||||
12
charts/incubator/dendrite/ci/postresql-values.yaml
Normal file
12
charts/incubator/dendrite/ci/postresql-values.yaml
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
dendrite:
|
||||
matrix_key_secret:
|
||||
create: true
|
||||
keyBody: |
|
||||
-----BEGIN MATRIX PRIVATE KEY-----
|
||||
Key-ID: ed25519:P8gZqV
|
||||
|
||||
qVzy2Cwokt15RjGy8OzFSq6z0JFmI6QX/1Zw1VP73uU=
|
||||
-----END MATRIX PRIVATE KEY-----
|
||||
postgresql:
|
||||
enabled: true
|
||||
3
charts/incubator/dendrite/templates/_helper.tpl
Normal file
3
charts/incubator/dendrite/templates/_helper.tpl
Normal file
@@ -0,0 +1,3 @@
|
||||
{{- define "dendrite.names.key" -}}
|
||||
{{- default (printf "%s-key" (include "common.names.fullname" .)) .Values.dendrite.matrix_key_secret.existingSecret -}}
|
||||
{{- end -}}
|
||||
@@ -1,50 +1,77 @@
|
||||
{{ include "common.values.setup" . }}
|
||||
|
||||
{{- define "dendrite.keyVolume" -}}
|
||||
enabled: {{ .Values.dendrite.matrix_key_secret.enabled | quote }}
|
||||
type: "custom"
|
||||
volumeSpec:
|
||||
secret:
|
||||
defaultMode: 0600
|
||||
secretName: {{ default (include "common.names.fullname" .) .Values.dendrite.matrix_key_secret.secretName }}
|
||||
subPath:
|
||||
- path: {{ .Values.dendrite.matrix_key_secret.key }}
|
||||
mountPath: "/etc/dendrite/matrix_key.pem"
|
||||
{{- if .Values.dendrite.polylithEnabled }}
|
||||
{{ $components := list "clientapi" "appserviceapi" "federationapi" "userapi" "keyserver" "mediaapi" "syncapi" "roomserver" }}
|
||||
{{- range $components }}
|
||||
{{- include "common.values.setup" (index $.Subcharts .) }}
|
||||
{{- with (index $.Values .) }}
|
||||
{{- with .image }}
|
||||
{{- $_ := set . "tag" (default $.Chart.AppVersion .tag) -}}
|
||||
{{- end -}}
|
||||
{{- if not .persistence }}
|
||||
{{- $_ := set . "persistence" (dict)}}
|
||||
{{- end }}
|
||||
{{- $_ := set .persistence "dendrite-key" (include "dendrite.keyVolume" $ | fromYaml) -}}
|
||||
{{- $_ := set .persistence "dendrite-config" (include "dendrite.configVolume" $ | fromYaml) -}}
|
||||
{{- $_ := set .persistence "dendrite-tls" (include "dendrite.tlsVolume" $ | fromYaml) -}}
|
||||
{{- $_ := set .persistence "jetstream" $.Values.persistence.jetstream -}}
|
||||
{{- end }}
|
||||
{{- include "common.all" (index $.Subcharts .) }}
|
||||
{{- end }}
|
||||
{{- with (index $.Values "mediaapi") }}
|
||||
{{- $_ := set .persistence "media" $.Values.persistence.media -}}
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
{{ include "common.values.setup" . }}
|
||||
{{- $_ := 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) -}}
|
||||
{{ include "common.all" . }}
|
||||
{{- end }}
|
||||
{{- define "dendrite.hardcodedValues" -}}
|
||||
probes:
|
||||
liveness:
|
||||
enabled: true
|
||||
custom: true
|
||||
spec:
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 10
|
||||
httpGet:
|
||||
path: /_dendrite/monitor/health
|
||||
{{- if .Values.dendrite.polylithEnabled }}
|
||||
port: internal
|
||||
{{ else }}
|
||||
port: http
|
||||
{{ end }}
|
||||
readiness:
|
||||
enabled: true
|
||||
custom: true
|
||||
spec:
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 10
|
||||
httpGet:
|
||||
path: /_dendrite/monitor/health
|
||||
{{- if .Values.dendrite.polylithEnabled }}
|
||||
port: internal
|
||||
{{ else }}
|
||||
port: http
|
||||
{{ end }}
|
||||
startup:
|
||||
enabled: true
|
||||
custom: true
|
||||
spec:
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 10
|
||||
httpGet:
|
||||
path: /_dendrite/monitor/up
|
||||
{{- if .Values.dendrite.polylithEnabled }}
|
||||
port: internal
|
||||
{{ else }}
|
||||
port: http
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
{{- define "dendrite.tlsVolume" -}}
|
||||
enabled: {{ .Values.dendrite.tls_secret.enabled }}
|
||||
type: "custom"
|
||||
volumeSpec:
|
||||
secret:
|
||||
defaultMode: 0600
|
||||
secretName: {{ .Values.dendrite.tls_secret.secretName }}
|
||||
subPath:
|
||||
- path: {{ .Values.dendrite.tls_secret.crtKey }}
|
||||
mountPath: "/etc/dendrite/server.crt"
|
||||
- path: {{ .Values.dendrite.tls_secret.keyKey }}
|
||||
mountPath: "/etc/dendrite/server.key"
|
||||
{{- end -}}
|
||||
{{- define "dendrite.configVolume" -}}
|
||||
enabled: "true"
|
||||
type: "custom"
|
||||
volumeSpec:
|
||||
secret:
|
||||
defaultMode: 0600
|
||||
secretName: {{ include "common.names.fullname" . }}-config
|
||||
subPath:
|
||||
- path: dendrite.yaml
|
||||
mountPath: "/etc/dendrite/dendrite.yaml"
|
||||
{{- end -}}
|
||||
{{- $_ := 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" . }}
|
||||
{{- $_ := mergeOverwrite .Values (include "dendrite.hardcodedValues" . | fromYaml) -}}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
{{- $connectionString := "file:" -}}
|
||||
{{- if .Values.postgresql.enabled}}
|
||||
{{- $connectionString = print "postgresql://" .Values.postgresql.postgresqlUsername ":" .Values.postgresql.postgresqlPassword "@dendrite-postgresql/" -}}
|
||||
{{- $connectionString = print "postgresql://" .Values.postgresql.auth.username ":" .Values.postgresql.auth.password "@" (include "common.names.fullname" $.Subcharts.postgresql) "/" -}}
|
||||
{{- end}}
|
||||
{{- $componentSpecificDatabaseConfig := or .Values.dendrite.polylithEnabled (not .Values.postgresql.enabled) -}}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
@@ -10,7 +11,7 @@ metadata:
|
||||
type: Opaque
|
||||
stringData:
|
||||
dendrite.yaml: |
|
||||
version: 1
|
||||
version: 2
|
||||
global:
|
||||
server_name: {{ required "A server_name must be provided." .Values.dendrite.global.server_name | quote }}
|
||||
private_key: matrix_key.pem
|
||||
@@ -18,14 +19,29 @@ 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:
|
||||
disable_federation: {{ default false .Values.dendrite.global.disable_federation }}
|
||||
presence:
|
||||
enable_inbound: {{ default false .Values.dendrite.global.presence.enable_inbound}}
|
||||
enable_outbound: {{ default false .Values.dendrite.global.presence.enable_outbound }}
|
||||
report_stats:
|
||||
enabled: {{ default false .Values.dendrite.report_stats.enabled }}
|
||||
endpoint: {{ default "https://matrix.org/report-usage-stats/push" .Values.dendrite.report_stats.endpoint }}
|
||||
server_notices:
|
||||
enabled: {{ default false .Values.dendrite.global.server_notices.enabled }}
|
||||
local_part: {{ default "_server" .Values.dendrite.global.server_notices.local_part | quote }}
|
||||
display_name: {{ default "Server alerts" .Values.dendrite.global.server_notices.display_name | quote }}
|
||||
avatar_url: {{ default "" .Values.dendrite.global.server_notices.avatar_url | quote }}
|
||||
room_name: {{ default "Server Alerts" .Values.dendrite.global.server_notices.room_name | quote }}
|
||||
jetstream:
|
||||
addresses:
|
||||
{{- if .Values.nats.enabled }}
|
||||
- {{ template "common.names.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:
|
||||
@@ -35,118 +51,157 @@ stringData:
|
||||
enabled: {{ default false .Values.dendrite.global.dns_cache.enabled }}
|
||||
cache_size: {{ default 256 .Values.dendrite.global.dns_cache.cache_size }}
|
||||
cache_lifetime: {{ default "5m" .Values.dendrite.global.dns_cache.cache_lifetime }}
|
||||
app_service_api:
|
||||
internal_api:
|
||||
listen: http://0.0.0.0:7777
|
||||
connect: http://appservice_api:7777
|
||||
{{- if not $componentSpecificDatabaseConfig }}
|
||||
database:
|
||||
connection_string: {{ $connectionString }}dendrite_appservice?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 }}
|
||||
config_files: {{- toYaml .Values.dendrite.components.app_service_api.config_files | nindent 8 }}
|
||||
connection_string: {{ default (print $connectionString "dendrite?sslmode=disable") .Values.database.connection_string }}
|
||||
max_open_conns: {{ default 100 .Values.database.max_open_conns }}
|
||||
max_idle_conns: {{ default 5 .Values.database.max_idle_conns }}
|
||||
conn_max_lifetime: {{default -1 .Values.database.conn_max_lifetime }}
|
||||
{{- end }}
|
||||
app_service_api:
|
||||
{{- if .Values.dendrite.polylithEnabled }}
|
||||
internal_api:
|
||||
listen: http://0.0.0.0:{{ .Values.appserviceapi.service.main.ports.internal.port }}
|
||||
connect: http://{{ include "common.names.fullname" (index $.Subcharts "appserviceapi") }}:{{ .Values.appserviceapi.service.main.ports.internal.port }}
|
||||
{{- end }}
|
||||
{{- if $componentSpecificDatabaseConfig }}
|
||||
database:
|
||||
connection_string: {{ default (print $connectionString "dendrite_appservice?sslmode=disable") .Values.appserviceapi.database.connection_string }}
|
||||
max_open_conns: {{ default .Values.dendrite.database.max_open_conns .Values.appserviceapi.database.max_open_conns }}
|
||||
max_idle_conns: {{ default .Values.dendrite.database.max_idle_conns .Values.appserviceapi.database.max_idle_conns }}
|
||||
conn_max_lifetime: {{ default .Values.dendrite.database.conn_max_lifetime .Values.appserviceapi.database.conn_max_lifetime }}
|
||||
{{- end }}
|
||||
config_files: {{- toYaml .Values.appserviceapi.config.config_files | nindent 8 }}
|
||||
client_api:
|
||||
{{- if .Values.dendrite.polylithEnabled }}
|
||||
internal_api:
|
||||
listen: http://0.0.0.0:7771
|
||||
connect: http://client_api:7771
|
||||
listen: http://0.0.0.0:{{ .Values.clientapi.service.main.ports.internal.port }}
|
||||
connect: http://{{ include "common.names.fullname" (index $.Subcharts "clientapi") }}:{{ .Values.clientapi.service.main.ports.internal.port }}
|
||||
external_api:
|
||||
listen: http://0.0.0.0:8071
|
||||
registration_disabled: {{ default false .Values.dendrite.components.client_api.registration_disabled }}
|
||||
registration_shared_secret: {{ default "" .Values.dendrite.components.client_api.registration_shared_secret | quote }}
|
||||
enable_registration_captcha: {{ default false .Values.dendrite.components.client_api.captcha.enabled }}
|
||||
recaptcha_public_key: {{ default "" .Values.dendrite.components.client_api.captcha.recaptcha_public_key | quote }}
|
||||
recaptcha_private_key: {{ default "" .Values.dendrite.components.client_api.captcha.recaptcha_private_key | quote }}
|
||||
recaptcha_bypass_secret: {{ default "" .Values.dendrite.components.client_api.captcha.recaptcha_bypass_secret | quote }}
|
||||
recaptcha_siteverify_api: {{ default "" .Values.dendrite.components.client_api.captcha.recaptcha_siteverify_api | quote }}
|
||||
turn: {{- toYaml .Values.dendrite.components.client_api.turn | nindent 8 }}
|
||||
listen: http://0.0.0.0:{{ .Values.clientapi.service.main.ports.external.port }}
|
||||
{{- end }}
|
||||
registration_disabled: {{ default true .Values.clientapi.config.registration_disabled }}
|
||||
registration_shared_secret: {{ default "" .Values.clientapi.config.registration_shared_secret | quote }}
|
||||
enable_registration_captcha: {{ default false .Values.clientapi.config.captcha.enabled }}
|
||||
recaptcha_public_key: {{ default "" .Values.clientapi.config.captcha.recaptcha_public_key | quote }}
|
||||
recaptcha_private_key: {{ default "" .Values.clientapi.config.captcha.recaptcha_private_key | quote }}
|
||||
recaptcha_bypass_secret: {{ default "" .Values.clientapi.config.captcha.recaptcha_bypass_secret | quote }}
|
||||
recaptcha_siteverify_api: {{ default "" .Values.clientapi.config.captcha.recaptcha_siteverify_api | quote }}
|
||||
turn: {{- toYaml .Values.clientapi.config.turn | nindent 8 }}
|
||||
rate_limiting:
|
||||
enabled: {{ default true .Values.dendrite.components.client_api.rate_limiting.enabled }}
|
||||
threshold: {{ default 5 .Values.dendrite.components.client_api.rate_limiting.threshold }}
|
||||
cooloff_ms: {{ default 500 .Values.dendrite.components.client_api.rate_limiting.cooloff_ms }}
|
||||
edu_server:
|
||||
internal_api:
|
||||
listen: http://0.0.0.0:7778
|
||||
connect: http://edu_server:7778
|
||||
enabled: {{ default true .Values.clientapi.config.rate_limiting.enabled }}
|
||||
threshold: {{ default 5 .Values.clientapi.config.rate_limiting.threshold }}
|
||||
cooloff_ms: {{ default 500 .Values.clientapi.config.rate_limiting.cooloff_ms }}
|
||||
exempt_user_ids: {{ .Values.clientapi.config.exempt_user_ids }}
|
||||
federation_api:
|
||||
{{- if .Values.dendrite.polylithEnabled }}
|
||||
internal_api:
|
||||
listen: http://0.0.0.0:7772
|
||||
connect: http://federation_api:7772
|
||||
connect: http://{{ include "common.names.fullname" (index $.Subcharts "federationapi") }}:7772
|
||||
external_api:
|
||||
listen: http://0.0.0.0:8072
|
||||
database:
|
||||
connection_string: {{ $connectionString }}dendrite_federationapi?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 }}
|
||||
federation_certificates: {{- toYaml .Values.dendrite.components.federation_api.federation_certificates | nindent 8 }}
|
||||
send_max_retries: {{ default 16 .Values.dendrite.components.federation_api.send_max_retries }}
|
||||
disable_tls_validation: {{ default false .Values.dendrite.components.federation_api.disable_tls_validation }}
|
||||
conn_max_lifetime: {{ default .Values.dendrite.database.conn_max_lifetime .Values.federationapi.database.conn_max_lifetime }}
|
||||
federation_certificates: {{- toYaml .Values.federationapi.config.federation_certificates | nindent 8 }}
|
||||
proxy_outbound:
|
||||
enabled: {{ default false .Values.dendrite.components.federation_api.proxy_outbound.enabled }}
|
||||
protocol: {{ default "http" .Values.dendrite.components.federation_api.proxy_outbound.protocol | quote }}
|
||||
host: {{ default "localhost" .Values.dendrite.components.federation_api.proxy_outbound.host | quote }}
|
||||
port: {{ default 8080 .Values.dendrite.components.federation_api.proxy_outbound.port }}
|
||||
key_perspectives: {{- toYaml .Values.dendrite.components.federation_api.key_perspectives | nindent 8 }}
|
||||
prefer_direct_fetch: {{ default false .Values.dendrite.components.federation_api.prefer_direct_fetch }}
|
||||
enabled: {{ default false .Values.federationapi.config.proxy_outbound.enabled }}
|
||||
protocol: {{ default "http" .Values.federationapi.config.proxy_outbound.protocol | quote }}
|
||||
host: {{ default "localhost" .Values.federationapi.config.proxy_outbound.host | quote }}
|
||||
port: {{ default 8080 .Values.federationapi.config.proxy_outbound.port }}
|
||||
{{- end }}
|
||||
{{- if $componentSpecificDatabaseConfig }}
|
||||
database:
|
||||
connection_string: {{ default (print $connectionString "dendrite_federationapi?sslmode=disable") .Values.federationapi.database.connection_string }}
|
||||
max_open_conns: {{ default .Values.dendrite.database.max_open_conns .Values.federationapi.database.max_open_conns }}
|
||||
max_idle_conns: {{ default .Values.dendrite.database.max_idle_conns .Values.federationapi.database.max_idle_conns }}
|
||||
{{- end }}
|
||||
send_max_retries: {{ default 16 .Values.federationapi.config.send_max_retries }}
|
||||
disable_tls_validation: {{ default false .Values.federationapi.config.disable_tls_validation }}
|
||||
key_perspectives: {{- toYaml .Values.federationapi.config.key_perspectives | nindent 8 }}
|
||||
prefer_direct_fetch: {{ default false .Values.federationapi.config.prefer_direct_fetch }}
|
||||
key_server:
|
||||
{{- if .Values.dendrite.polylithEnabled }}
|
||||
internal_api:
|
||||
listen: http://0.0.0.0:7779
|
||||
connect: http://key_server:7779
|
||||
connect: http://{{ include "common.names.fullname" (index $.Subcharts "keyserver") }}:7779
|
||||
{{- end }}
|
||||
{{- if $componentSpecificDatabaseConfig }}
|
||||
database:
|
||||
connection_string: {{ $connectionString }}dendrite_keyserver?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 }}
|
||||
connection_string: {{ default (print $connectionString "dendrite_keyserver?sslmode=disable") .Values.keyserver.database.connection_string }}
|
||||
max_open_conns: {{ default .Values.dendrite.database.max_open_conns .Values.keyserver.database.max_open_conns }}
|
||||
max_idle_conns: {{ default .Values.dendrite.database.max_idle_conns .Values.keyserver.database.max_idle_conns }}
|
||||
conn_max_lifetime: {{ default .Values.dendrite.database.conn_max_lifetime .Values.keyserver.database.conn_max_lifetime }}
|
||||
{{- end }}
|
||||
media_api:
|
||||
{{- if .Values.dendrite.polylithEnabled }}
|
||||
internal_api:
|
||||
listen: http://0.0.0.0:7774
|
||||
connect: http://media_api:7774
|
||||
connect: http://{{ include "common.names.fullname" (index $.Subcharts "mediaapi") }}:7774
|
||||
external_api:
|
||||
listen: http://0.0.0.0:8074
|
||||
{{- end }}
|
||||
{{- if $componentSpecificDatabaseConfig }}
|
||||
database:
|
||||
connection_string: {{ $connectionString }}dendrite_mediaapi?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 }}
|
||||
base_path: {{ default "/var/dendrite/media" .Values.dendrite.components.media_api.base_path | quote }}
|
||||
max_file_size_bytes: {{ default 10485760 .Values.dendrite.components.media_api.max_file_size_bytes }}
|
||||
dynamic_thumbnails: {{ default false .Values.dendrite.components.media_api.dynamic_thumbnails }}
|
||||
max_thumbnail_generators: {{ default 10 .Values.dendrite.components.media_api.max_thumbnail_generators }}
|
||||
thumbnail_sizes: {{- toYaml .Values.dendrite.components.media_api.thumbnail_sizes | nindent 8 }}
|
||||
connection_string: {{ default (print $connectionString "dendrite_mediaapi?sslmode=disable") .Values.mediaapi.database.connection_string }}
|
||||
max_open_conns: {{ default .Values.dendrite.database.max_open_conns .Values.mediaapi.database.max_open_conns }}
|
||||
max_idle_conns: {{ default .Values.dendrite.database.max_idle_conns .Values.mediaapi.database.max_idle_conns }}
|
||||
conn_max_lifetime: {{ default .Values.dendrite.database.conn_max_lifetime .Values.mediaapi.database.conn_max_lifetime }}
|
||||
{{- end }}
|
||||
base_path: {{ default "/var/dendrite/media" .Values.mediaapi.config.base_path | quote }}
|
||||
max_file_size_bytes: {{ int ( default 10485760 .Values.mediaapi.config.max_file_size_bytes ) }}
|
||||
dynamic_thumbnails: {{ default false .Values.mediaapi.config.dynamic_thumbnails }}
|
||||
max_thumbnail_generators: {{ default 10 .Values.mediaapi.config.max_thumbnail_generators }}
|
||||
thumbnail_sizes: {{- toYaml .Values.mediaapi.config.thumbnail_sizes | nindent 8 }}
|
||||
mscs:
|
||||
mscs: {{ .Values.dendrite.global.mscs | toYaml | nindent 8 }}
|
||||
{{- if $componentSpecificDatabaseConfig }}
|
||||
database:
|
||||
connection_string: {{ default (print $connectionString "dendrite_mscs?sslmode=disable") .Values.mscs.database.connection_string }}
|
||||
max_open_conns: {{ default .Values.dendrite.database.max_open_conns .Values.mscs.database.max_open_conns }}
|
||||
max_idle_conns: {{ default .Values.dendrite.database.max_idle_conns .Values.mscs.database.max_idle_conns }}
|
||||
conn_max_lifetime: {{ default .Values.dendrite.database.conn_max_lifetime .Values.mscs.database.conn_max_lifetime }}
|
||||
{{- end }}
|
||||
room_server:
|
||||
{{- if .Values.dendrite.polylithEnabled }}
|
||||
internal_api:
|
||||
listen: http://0.0.0.0:7770
|
||||
connect: http://room_server:7770
|
||||
connect: http://{{ include "common.names.fullname" (index $.Subcharts "roomserver") }}:7770
|
||||
{{- end }}
|
||||
{{- if $componentSpecificDatabaseConfig }}
|
||||
database:
|
||||
connection_string: {{ $connectionString }}dendrite_roomserver?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 }}
|
||||
connection_string: {{ default (print $connectionString "dendrite_roomserver?sslmode=disable") .Values.roomserver.database.connection_string }}
|
||||
max_open_conns: {{ default .Values.dendrite.database.max_open_conns .Values.roomserver.database.max_open_conns }}
|
||||
max_idle_conns: {{ default .Values.dendrite.database.max_idle_conns .Values.roomserver.database.max_idle_conns }}
|
||||
conn_max_lifetime: {{ default .Values.dendrite.database.conn_max_lifetime .Values.roomserver.database.conn_max_lifetime }}
|
||||
{{- end }}
|
||||
sync_api:
|
||||
{{- if .Values.dendrite.polylithEnabled }}
|
||||
internal_api:
|
||||
listen: http://0.0.0.0:7773
|
||||
connect: http://sync_api:7773
|
||||
connect: http://{{ include "common.names.fullname" (index $.Subcharts "syncapi") }}:7773
|
||||
external_api:
|
||||
listen: http://0.0.0.0:8073
|
||||
{{- end }}
|
||||
{{- if $componentSpecificDatabaseConfig }}
|
||||
database:
|
||||
connection_string: {{ $connectionString }}dendrite_syncapi?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 }}
|
||||
connection_string: {{ default (print $connectionString "dendrite_syncapi?sslmode=disable") .Values.syncapi.database.connection_string }}
|
||||
max_open_conns: {{ default .Values.dendrite.database.max_open_conns .Values.syncapi.database.max_open_conns }}
|
||||
max_idle_conns: {{ default .Values.dendrite.database.max_idle_conns .Values.syncapi.database.max_idle_conns }}
|
||||
conn_max_lifetime: {{ default .Values.dendrite.database.conn_max_lifetime .Values.syncapi.database.conn_max_lifetime }}
|
||||
{{- end }}
|
||||
user_api:
|
||||
{{- if .Values.dendrite.polylithEnabled }}
|
||||
internal_api:
|
||||
listen: http://0.0.0.0:7781
|
||||
connect: http://user_api:7781
|
||||
connect: http://{{ include "common.names.fullname" (index $.Subcharts "userapi") }}:7781
|
||||
{{- end }}
|
||||
{{- if $componentSpecificDatabaseConfig }}
|
||||
account_database:
|
||||
connection_string: {{ $connectionString }}dendrite_userapi_accounts?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 }}
|
||||
device_database:
|
||||
connection_string: {{ $connectionString }}dendrite_userapi_devices?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 }}
|
||||
connection_string: {{ default (print $connectionString "dendrite_userapi_accounts?sslmode=disable") .Values.userapi.database.connection_string }}
|
||||
max_open_conns: {{ default .Values.dendrite.database.max_open_conns .Values.userapi.database.max_open_conns }}
|
||||
max_idle_conns: {{ default .Values.dendrite.database.max_idle_conns .Values.userapi.database.max_idle_conns }}
|
||||
conn_max_lifetime: {{ default .Values.dendrite.database.conn_max_lifetime .Values.userapi.database.conn_max_lifetime }}
|
||||
{{- end }}
|
||||
bcrypt_cost: {{ default 10 .Values.userapi.config.bcrypt_cost }}
|
||||
tracing:
|
||||
enabled: {{ .Values.dendrite.tracing.enabled }}
|
||||
jaeger: {{- toYaml .Values.dendrite.tracing.jaeger | nindent 8 }}
|
||||
|
||||
57
charts/incubator/dendrite/templates/ingress.yaml
Normal file
57
charts/incubator/dendrite/templates/ingress.yaml
Normal file
@@ -0,0 +1,57 @@
|
||||
{{- if .Values.dendrite.polylith_ingress.enabled -}}
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ include "common.names.fullname" . }}
|
||||
{{- if .Values.dendrite.polylith_ingress.annotations }}
|
||||
annotations: {{ toYaml .Values.dendrite.polylith_ingress.annotations | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.dendrite.tls_secret.enabled }}
|
||||
tls:
|
||||
- hosts:
|
||||
- {{ .Values.dendrite.polylith_ingress.host | quote }}
|
||||
secretName: {{ .Values.dendrite.tls_secret.existingSecret }}
|
||||
{{- end }}
|
||||
rules:
|
||||
- host: {{ .Values.dendrite.polylith_ingress.host | quote }}
|
||||
http:
|
||||
paths:
|
||||
{{- range .Values.dendrite.polylith_ingress.syncapi_paths }}
|
||||
- path: {{ . | quote }}
|
||||
pathType: Exact
|
||||
backend:
|
||||
service:
|
||||
name: {{ include "common.names.fullname" (index $.Subcharts "syncapi") }}
|
||||
port:
|
||||
number: {{ $.Values.syncapi.service.main.ports.external.port }}
|
||||
{{- end }}
|
||||
- path: /_matrix/client
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: {{ include "common.names.fullname" (index $.Subcharts "clientapi") }}
|
||||
port:
|
||||
number: {{ .Values.clientapi.service.main.ports.external.port }}
|
||||
- path: /_matrix/federation
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: {{ include "common.names.fullname" (index $.Subcharts "federationapi") }}
|
||||
port:
|
||||
number: {{ .Values.federationapi.service.main.ports.external.port }}
|
||||
- path: /_matrix/key
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: {{ include "common.names.fullname" (index $.Subcharts "federationapi") }}
|
||||
port:
|
||||
number: {{ .Values.federationapi.service.main.ports.external.port }}
|
||||
- path: /_matrix/media
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: {{ include "common.names.fullname" (index $.Subcharts "mediaapi") }}
|
||||
port:
|
||||
number: {{ .Values.mediaapi.service.main.ports.external.port }}
|
||||
{{- end -}}
|
||||
@@ -0,0 +1,9 @@
|
||||
{{- if .Values.dendrite.matrix_key_secret.create }}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ include "dendrite.names.key" . }}
|
||||
stringData:
|
||||
{{ .Values.dendrite.matrix_key_secret.secretPath }}: | {{ .Values.dendrite.matrix_key_secret.keyBody | nindent 4 }}
|
||||
{{- end }}
|
||||
14
charts/incubator/dendrite/templates/postgresql-initdb.yaml
Normal file
14
charts/incubator/dendrite/templates/postgresql-initdb.yaml
Normal file
@@ -0,0 +1,14 @@
|
||||
{{- if .Values.postgresql.enabled }}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: {{ .Values.postgresql.primary.initdb.scriptsConfigMap | quote }}
|
||||
data:
|
||||
create-db.sh: |
|
||||
#!/bin/sh
|
||||
for db in userapi_accounts mediaapi syncapi roomserver keyserver federationapi appservice; do
|
||||
createdb -U {{ .Values.postgresql.auth.username }} -O {{ .Values.postgresql.auth.username }} dendrite_$db
|
||||
done
|
||||
{{- end }}
|
||||
35
charts/incubator/dendrite/templates/volumes.yaml
Normal file
35
charts/incubator/dendrite/templates/volumes.yaml
Normal file
@@ -0,0 +1,35 @@
|
||||
{{- define "dendrite.keyVolume" -}}
|
||||
enabled: {{ .Values.dendrite.matrix_key_secret.enabled }}
|
||||
type: "custom"
|
||||
volumeSpec:
|
||||
secret:
|
||||
defaultMode: 0600
|
||||
secretName: {{ include "dendrite.names.key" . }}
|
||||
subPath:
|
||||
- path: {{ .Values.dendrite.matrix_key_secret.secretPath }}
|
||||
mountPath: "/etc/dendrite/matrix_key.pem"
|
||||
{{- end -}}
|
||||
{{- define "dendrite.tlsVolume" -}}
|
||||
enabled: {{ .Values.dendrite.tls_secret.enabled }}
|
||||
type: "custom"
|
||||
volumeSpec:
|
||||
secret:
|
||||
defaultMode: 0600
|
||||
secretName: {{ .Values.dendrite.tls_secret.existingSecret }}
|
||||
subPath:
|
||||
- path: {{ .Values.dendrite.tls_secret.crtPath }}
|
||||
mountPath: "/etc/dendrite/server.crt"
|
||||
- path: {{ .Values.dendrite.tls_secret.keyPath }}
|
||||
mountPath: "/etc/dendrite/server.key"
|
||||
{{- end -}}
|
||||
{{- define "dendrite.configVolume" -}}
|
||||
enabled: true
|
||||
type: "custom"
|
||||
volumeSpec:
|
||||
secret:
|
||||
defaultMode: 0600
|
||||
secretName: {{ include "common.names.fullname" . }}-config
|
||||
subPath:
|
||||
- path: dendrite.yaml
|
||||
mountPath: "/etc/dendrite/dendrite.yaml"
|
||||
{{- end -}}
|
||||
@@ -10,7 +10,8 @@ image:
|
||||
# -- image repository
|
||||
repository: matrixdotorg/dendrite-monolith
|
||||
# -- image tag
|
||||
tag: "v0.5.1"
|
||||
# @default -- chart.appVersion
|
||||
tag:
|
||||
# -- image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
@@ -36,7 +37,8 @@ service:
|
||||
protocol: HTTPS
|
||||
|
||||
ingress:
|
||||
# -- Enable and configure ingress settings for the chart under this key.
|
||||
# -- (Monolith Only) Enable and configure ingress settings for the chart under
|
||||
# this key.
|
||||
# @default -- See values.yaml
|
||||
main:
|
||||
enabled: false
|
||||
@@ -47,27 +49,469 @@ persistence:
|
||||
media:
|
||||
enabled: false
|
||||
mountPath: &mediaPath /var/dendrite/media
|
||||
accessMode: ReadWriteOnce
|
||||
size: 5Gi
|
||||
# -- Configure Jetsream persistence. This is highly recommended in production.
|
||||
# @default -- See values.yaml
|
||||
jetstream:
|
||||
enabled: false
|
||||
mountPath: /var/dendrite/jetstream
|
||||
accessMode: ReadWriteOnce
|
||||
size: 1Gi
|
||||
|
||||
# -- Override general dendrite.database parameters.
|
||||
# @default -- See values.yaml
|
||||
database:
|
||||
# -- Custom connection string
|
||||
# @default -- file or derived from included postgresql deployment
|
||||
connection_string: null
|
||||
# -- Maximum open connections
|
||||
# @default -- dendrite.database.max_open_conns
|
||||
max_open_conns: null
|
||||
# -- Maximum dile connections
|
||||
# @default -- dendrite.database.max_idle_conns
|
||||
max_idle_conns: null
|
||||
# -- Maximum connection lifetime
|
||||
# @default -- dendrite.database.conn_max_lifetime
|
||||
conn_max_lifetime: null
|
||||
|
||||
# -- Configure the key server.
|
||||
# For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/main/dendrite-sample.polylith.yaml)
|
||||
# @default -- See values.yaml
|
||||
keyserver:
|
||||
image:
|
||||
# -- image repository
|
||||
repository: matrixdotorg/dendrite-polylith
|
||||
# -- image tag
|
||||
# @default -- chart.appVersion
|
||||
tag:
|
||||
# -- image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
http:
|
||||
enabled: false
|
||||
internal:
|
||||
enabled: true
|
||||
port: 7779
|
||||
args: "keyserver"
|
||||
# -- Override general dendrite.database parameters.
|
||||
# @default -- See values.yaml
|
||||
database:
|
||||
# -- Custom connection string
|
||||
# @default -- file or derived from included postgresql deployment
|
||||
connection_string: null
|
||||
# -- Maximum open connections
|
||||
# @default -- dendrite.database.max_open_conns
|
||||
max_open_conns: null
|
||||
# -- Maximum dile connections
|
||||
# @default -- dendrite.database.max_idle_conns
|
||||
max_idle_conns: null
|
||||
# -- Maximum connection lifetime
|
||||
# @default -- dendrite.database.conn_max_lifetime
|
||||
conn_max_lifetime: null
|
||||
|
||||
# -- Configure the app service api.
|
||||
# For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/main/dendrite-sample.polylith.yaml)
|
||||
# @default -- See values.yaml
|
||||
appserviceapi:
|
||||
image:
|
||||
# -- image repository
|
||||
repository: matrixdotorg/dendrite-polylith
|
||||
# -- image tag
|
||||
# @default -- chart.appVersion
|
||||
tag:
|
||||
# -- image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
http:
|
||||
enabled: false
|
||||
internal:
|
||||
enabled: true
|
||||
port: 7777
|
||||
ingress:
|
||||
|
||||
args: "appservice"
|
||||
# -- Override general dendrite.database parameters.
|
||||
# @default -- See values.yaml
|
||||
database:
|
||||
# -- Custom connection string
|
||||
# @default -- file or derived from included postgresql deployment
|
||||
connection_string: null
|
||||
# -- Maximum open connections
|
||||
# @default -- dendrite.database.max_open_conns
|
||||
max_open_conns: null
|
||||
# -- Maximum dile connections
|
||||
# @default -- dendrite.database.max_idle_conns
|
||||
max_idle_conns: null
|
||||
# -- Maximum connection lifetime
|
||||
# @default -- dendrite.database.conn_max_lifetime
|
||||
conn_max_lifetime: null
|
||||
config:
|
||||
config_files: []
|
||||
|
||||
# -- Configuration for the client api component.
|
||||
# For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/main/dendrite-sample.polylith.yaml)
|
||||
# @default -- See values.yaml
|
||||
clientapi:
|
||||
image:
|
||||
# -- image repository
|
||||
repository: matrixdotorg/dendrite-polylith
|
||||
# -- image tag
|
||||
# @default -- chart.appVersion
|
||||
tag:
|
||||
# -- image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
http:
|
||||
enabled: false
|
||||
internal:
|
||||
enabled: true
|
||||
port: 7771
|
||||
external:
|
||||
enabled: true
|
||||
port: 8071
|
||||
args: "clientapi"
|
||||
config:
|
||||
# -- Enable or disable registration for this homeserver.
|
||||
registration_disabled: false
|
||||
# -- Shared secret that allows registration, despite registration_disabled.
|
||||
registration_shared_secret: ""
|
||||
# -- Configure captcha for registration
|
||||
# @default -- See values.yaml
|
||||
captcha:
|
||||
enabled: false
|
||||
recaptcha_public_key: ""
|
||||
recaptcha_private_key: ""
|
||||
recaptcha_bypass_secret: ""
|
||||
recaptcha_siteverify_api: ""
|
||||
# -- Configure TURN
|
||||
# @default -- See values.yaml
|
||||
turn:
|
||||
turn_user_lifetime: ""
|
||||
turn_uris: []
|
||||
turn_shared_secret: ""
|
||||
turn_username: ""
|
||||
turn_password: ""
|
||||
# -- Configure rate limiting.
|
||||
# @default -- values.yaml
|
||||
rate_limiting:
|
||||
enabled: true
|
||||
threshold: 5
|
||||
cooloff_ms: 500
|
||||
exempt_user_ids: []
|
||||
|
||||
# -- Configure the Federation API
|
||||
# For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/main/dendrite-sample.polylith.yaml)
|
||||
# @default -- values.yaml
|
||||
federationapi:
|
||||
image:
|
||||
# -- image repository
|
||||
repository: matrixdotorg/dendrite-polylith
|
||||
# -- image tag
|
||||
# @default -- chart.appVersion
|
||||
tag:
|
||||
# -- image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
http:
|
||||
enabled: false
|
||||
internal:
|
||||
enabled: true
|
||||
port: 7772
|
||||
external:
|
||||
enabled: true
|
||||
port: 8072
|
||||
args: "federationapi"
|
||||
# -- Override general dendrite.database parameters.
|
||||
# @default -- See values.yaml
|
||||
database:
|
||||
# -- Custom connection string
|
||||
# @default -- file or derived from included postgresql deployment
|
||||
connection_string: null
|
||||
# -- Maximum open connections
|
||||
# @default -- dendrite.database.max_open_conns
|
||||
max_open_conns: null
|
||||
# -- Maximum dile connections
|
||||
# @default -- dendrite.database.max_idle_conns
|
||||
max_idle_conns: null
|
||||
# -- Maximum connection lifetime
|
||||
# @default -- dendrite.database.conn_max_lifetime
|
||||
conn_max_lifetime: null
|
||||
config:
|
||||
federation-certificates: []
|
||||
send-max_retires: 16
|
||||
disable_tls_validation: false
|
||||
proxy_outbound:
|
||||
enabled: false
|
||||
protocol: http
|
||||
host: localhost
|
||||
port: 8080
|
||||
key_perspectives:
|
||||
- server_name: matrix.org
|
||||
keys:
|
||||
- key_id: ed25519:auto
|
||||
public_key: Noi6WqcDj0QmPxCNQqgezwTlBKrfqehY1u2FyWP9uYw
|
||||
- key_id: ed25519:a_RXGa
|
||||
public_key: l8Hft5qXKn1vfHrg3p4+W8gELQVo8N13JkluMfmn2sQ
|
||||
prefer_direct_fetch: false
|
||||
|
||||
# -- Configure the User API
|
||||
# For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/main/dendrite-sample.polylith.yaml)
|
||||
# @default -- values.yaml
|
||||
userapi:
|
||||
image:
|
||||
# -- image repository
|
||||
repository: matrixdotorg/dendrite-polylith
|
||||
# -- image tag
|
||||
# @default -- chart.appVersion
|
||||
tag:
|
||||
# -- image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
http:
|
||||
enabled: false
|
||||
internal:
|
||||
enabled: true
|
||||
port: 7781
|
||||
args: "userapi"
|
||||
# -- Override general dendrite.database parameters.
|
||||
# @default -- See values.yaml
|
||||
database:
|
||||
# -- Custom connection string
|
||||
# @default -- file or derived from included postgresql deployment
|
||||
connection_string: null
|
||||
# -- Maximum open connections
|
||||
# @default -- dendrite.database.max_open_conns
|
||||
max_open_conns: null
|
||||
# -- Maximum dile connections
|
||||
# @default -- dendrite.database.max_idle_conns
|
||||
max_idle_conns: null
|
||||
# -- Maximum connection lifetime
|
||||
# @default -- dendrite.database.conn_max_lifetime
|
||||
conn_max_lifetime: null
|
||||
config:
|
||||
# -- bcrypt cost (2^[cost] = rounds)
|
||||
# @default -- 10
|
||||
bcrypt_cost: 10
|
||||
|
||||
# -- Configure the Sync API
|
||||
# For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/main/dendrite-sample.polylith.yaml)
|
||||
# @default -- values.yaml
|
||||
syncapi:
|
||||
image:
|
||||
# -- image repository
|
||||
repository: matrixdotorg/dendrite-polylith
|
||||
# -- image tag
|
||||
# @default -- chart.appVersion
|
||||
tag:
|
||||
# -- image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
http:
|
||||
enabled: false
|
||||
internal:
|
||||
enabled: true
|
||||
port: 7773
|
||||
external:
|
||||
enabled: true
|
||||
port: 8073
|
||||
args: "syncapi"
|
||||
# -- Override general dendrite.database parameters.
|
||||
# @default -- See values.yaml
|
||||
database:
|
||||
# -- Custom connection string
|
||||
# @default -- file or derived from included postgresql deployment
|
||||
connection_string: null
|
||||
# -- Maximum open connections
|
||||
# @default -- dendrite.database.max_open_conns
|
||||
max_open_conns: null
|
||||
# -- Maximum dile connections
|
||||
# @default -- dendrite.database.max_idle_conns
|
||||
max_idle_conns: null
|
||||
# -- Maximum connection lifetime
|
||||
# @default -- dendrite.database.conn_max_lifetime
|
||||
conn_max_lifetime: null
|
||||
|
||||
# -- Configure the Room Server
|
||||
# For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/main/dendrite-sample.polylith.yaml)
|
||||
# @default -- values.yaml
|
||||
roomserver:
|
||||
image:
|
||||
# -- image repository
|
||||
repository: matrixdotorg/dendrite-polylith
|
||||
# -- image tag
|
||||
# @default -- chart.appVersion
|
||||
tag:
|
||||
# -- image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
http:
|
||||
enabled: false
|
||||
internal:
|
||||
enabled: true
|
||||
port: 7770
|
||||
args: "roomserver"
|
||||
# -- Override general dendrite.database parameters.
|
||||
# @default -- See values.yaml
|
||||
database:
|
||||
# -- Custom connection string
|
||||
# @default -- file or derived from included postgresql deployment
|
||||
connection_string: null
|
||||
# -- Maximum open connections
|
||||
# @default -- dendrite.database.max_open_conns
|
||||
max_open_conns: null
|
||||
# -- Maximum dile connections
|
||||
# @default -- dendrite.database.max_idle_conns
|
||||
max_idle_conns: null
|
||||
# -- Maximum connection lifetime
|
||||
# @default -- dendrite.database.conn_max_lifetime
|
||||
conn_max_lifetime: null
|
||||
|
||||
# -- Configure the Media API
|
||||
# For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/main/dendrite-sample.polylith.yaml)
|
||||
# @default -- values.yaml
|
||||
mediaapi:
|
||||
image:
|
||||
# -- image repository
|
||||
repository: matrixdotorg/dendrite-polylith
|
||||
# -- image tag
|
||||
# @default -- chart.appVersion
|
||||
tag:
|
||||
# -- image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
http:
|
||||
enabled: false
|
||||
internal:
|
||||
enabled: true
|
||||
port: 7774
|
||||
external:
|
||||
enabled: true
|
||||
port: 8074
|
||||
args: "mediaapi"
|
||||
# -- Override general dendrite.database parameters.
|
||||
# @default -- See values.yaml
|
||||
database:
|
||||
# -- Custom connection string
|
||||
# @default -- file or derived from included postgresql deployment
|
||||
connection_string: null
|
||||
# -- Maximum open connections
|
||||
# @default -- dendrite.database.max_open_conns
|
||||
max_open_conns: null
|
||||
# -- Maximum dile connections
|
||||
# @default -- dendrite.database.max_idle_conns
|
||||
max_idle_conns: null
|
||||
# -- Maximum connection lifetime
|
||||
# @default -- dendrite.database.conn_max_lifetime
|
||||
conn_max_lifetime: null
|
||||
config:
|
||||
base_path: *mediaPath
|
||||
max_file_size_bytes: 10485760
|
||||
dynamic_thumbnails: false
|
||||
max_thumbnail_generators: 10
|
||||
thumbnail_sizes:
|
||||
- width: 32
|
||||
height: 32
|
||||
method: crop
|
||||
- width: 96
|
||||
height: 96
|
||||
method: crop
|
||||
- width: 640
|
||||
height: 480
|
||||
method: scale
|
||||
|
||||
# -- Configuration for experimental MSCs
|
||||
# For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/main/dendrite-sample.polylith.yaml)
|
||||
# @default -- values.yaml
|
||||
mscs:
|
||||
# -- Override general dendrite.database parameters.
|
||||
# @default -- See values.yaml
|
||||
database:
|
||||
# -- Custom connection string
|
||||
# @default -- file or derived from included postgresql deployment
|
||||
connection_string: null
|
||||
# -- Maximum open connections
|
||||
# @default -- dendrite.database.max_open_conns
|
||||
max_open_conns: null
|
||||
# -- Maximum dile connections
|
||||
# @default -- dendrite.database.max_idle_conns
|
||||
max_idle_conns: null
|
||||
# -- Maximum connection lifetime
|
||||
# @default -- dendrite.database.conn_max_lifetime
|
||||
conn_max_lifetime: null
|
||||
|
||||
# -- Configuration for Dendrite.
|
||||
# For more information see [the sample
|
||||
# denrite-config.yaml](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml)
|
||||
# denrite-config.yaml](https://github.com/matrix-org/dendrite/blob/main/dendrite-sample.polylith.yaml)
|
||||
# @default -- See values.yaml
|
||||
dendrite:
|
||||
# -- Enable polylith deployment
|
||||
polylithEnabled: false
|
||||
# -- Usage statistics reporting configuration
|
||||
report_stats:
|
||||
# -- Enable or disable usage reporting
|
||||
# @default -- false
|
||||
enabled: false
|
||||
# -- Push endpoint for usage statistics
|
||||
endpoint: ""
|
||||
# -- If enabled, use an existing secrets for the TLS certificate and key.
|
||||
# Otherwise, to enable TLS a `server.crt` and `server.key` must be mounted at
|
||||
# `/etc/dendrite`.
|
||||
# @default -- See values.yaml
|
||||
tls_secret:
|
||||
enabled: false
|
||||
secretName: "dendrite-tls"
|
||||
crtKey: tls.crt
|
||||
keyKey: tls.key
|
||||
# -- If enabled, use an existing secret for matrix_key.pem. Otherwise a
|
||||
# matrix_key.pem must be mounted to `/etc/dendrite`.
|
||||
# @default -- See values.yaml
|
||||
existingSecret: ""
|
||||
crtPath: tls.crt
|
||||
keyPath: tls.key
|
||||
|
||||
matrix_key_secret:
|
||||
# -- Create matrix_key secret using the keyBody below.
|
||||
create: false
|
||||
# -- New Key Body
|
||||
keyBody: ""
|
||||
# -- Use an existing secret
|
||||
existingSecret: ""
|
||||
# -- Field in the secret to get the key from
|
||||
secretPath: matrix_key.pem
|
||||
|
||||
# -- Enable and configure polylith ingress as per
|
||||
# https://github.com/matrix-org/dendrite/blob/main/docs/nginx/polylith-sample.conf
|
||||
# @default -- See values.yaml
|
||||
polylith_ingress:
|
||||
enabled: false
|
||||
key: matrix_key.pem
|
||||
host: ""
|
||||
annotations: {}
|
||||
# -- Sync API Paths are a little tricky since they require regular expressions. Therefore
|
||||
# the paths will depend on the ingress controller used. See values.yaml for nginx and traefik.
|
||||
# @default -- See values.yaml
|
||||
syncapi_paths: []
|
||||
# For Traefik uncomment these lines
|
||||
# - /_matrix/client/{version:.*?}/rooms/{roomid:.*?}/messages
|
||||
# - /_matrix/client/{version:.*?}/keys/changes
|
||||
# - /_matrix/client/{version:.*?}/user/{userid:.*?}/filter/{filterid:.*?}
|
||||
# - /_matrix/client/{version:.*?}/user/{userid:.*?}/filter
|
||||
# - /_matrix/client/{version:.*?}/sync
|
||||
#
|
||||
# For nginx uncomment these lines and add the annotations here:
|
||||
# https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#use-regex
|
||||
# - /_matrix/client/.*?/(sync|user/.*?/filter/?.*|keys/changes|rooms/.*?/messages)$
|
||||
|
||||
# -- Configure database connection parameters.
|
||||
# @default -- See values.yaml
|
||||
database:
|
||||
@@ -87,6 +531,26 @@ dendrite:
|
||||
trusted_third_party_id_servers:
|
||||
- matrix.org
|
||||
- vector.im
|
||||
# -- Disables federation
|
||||
disable_federation: false
|
||||
# -- Configure handling of presence events
|
||||
presence:
|
||||
# -- Whether inbound presence events are allowed, e.g. receiving presence events from other servers
|
||||
enable_inbound: false
|
||||
# -- Whether outbound presence events are allowed, e.g. sending presence events to other servers
|
||||
enable_outbound: false
|
||||
|
||||
# -- Server notices allows server admins to send messages to all users.
|
||||
server_notices:
|
||||
enabled: false
|
||||
# -- The server localpart to be used when sending notices, ensure this is not yet taken
|
||||
local_part: "_server"
|
||||
# -- The displayname to be used when sending notices
|
||||
display_name: "Server alerts"
|
||||
# -- The mxid of the avatar to use
|
||||
avatar_url: ""
|
||||
# -- The roomname to be used when creating messages
|
||||
room_name: "Server Alerts"
|
||||
# -- Configure prometheus metrics collection for dendrite.
|
||||
# @default -- See values.yaml
|
||||
metrics:
|
||||
@@ -104,77 +568,9 @@ dendrite:
|
||||
enabled: false
|
||||
cache_size: 256
|
||||
cache_lifetime: "5m"
|
||||
# -- Configure the dendrite components.
|
||||
# @default -- See values.yaml
|
||||
components:
|
||||
# -- Configure the App Service API
|
||||
# @default -- See values.yaml
|
||||
app_service_api:
|
||||
config_files: []
|
||||
# -- Configure the Client API
|
||||
client_api:
|
||||
# -- Enable or disable registration for this homeserver.
|
||||
registration_disabled: false
|
||||
# -- Shared secret that allows registration, despite registration_disabled.
|
||||
registration_shared_secret: ""
|
||||
# -- Configure captcha for registration
|
||||
# @default -- See values.yaml
|
||||
captcha:
|
||||
enabled: false
|
||||
recaptcha_public_key: ""
|
||||
recaptcha_private_key: ""
|
||||
recaptcha_bypass_secret: ""
|
||||
recaptcha_siteverify_api: ""
|
||||
# -- Configure TURN
|
||||
# @default -- See values.yaml
|
||||
turn:
|
||||
turn_user_lifetime: ""
|
||||
turn_uris: []
|
||||
turn_shared_secret: ""
|
||||
turn_username: ""
|
||||
turn_password: ""
|
||||
# -- Configure rate limiting.
|
||||
# @default -- values.yaml
|
||||
rate_limiting:
|
||||
enabled: true
|
||||
threshold: 5
|
||||
cooloff_ms: 500
|
||||
# -- Configure the Federation API
|
||||
# @default -- values.yaml
|
||||
federation_api:
|
||||
federation_certificates: []
|
||||
send_max_retires: 16
|
||||
disable_tls_validation: false
|
||||
proxy_outbound:
|
||||
enabled: false
|
||||
protocol: http
|
||||
host: localhost
|
||||
port: 8080
|
||||
key_perspectives:
|
||||
- server_name: matrix.org
|
||||
keys:
|
||||
- key_id: ed25519:auto
|
||||
public_key: Noi6WqcDj0QmPxCNQqgezwTlBKrfqehY1u2FyWP9uYw
|
||||
- key_id: ed25519:a_RXGa
|
||||
public_key: l8Hft5qXKn1vfHrg3p4+W8gELQVo8N13JkluMfmn2sQ
|
||||
prefer_direct_fetch: false
|
||||
# -- Configure the Media API
|
||||
# @default -- values.yaml
|
||||
media_api:
|
||||
base_path: *mediaPath
|
||||
max_file_size_bytes: 10485760
|
||||
dynamic_thumbnails: false
|
||||
max_thumbnail_generators: 10
|
||||
thumbnail_sizes:
|
||||
- width: 32
|
||||
height: 32
|
||||
method: crop
|
||||
- width: 96
|
||||
height: 96
|
||||
method: crop
|
||||
- width: 640
|
||||
height: 480
|
||||
method: scale
|
||||
# -- Configure experimental MSC's
|
||||
mscs: []
|
||||
|
||||
# -- Configure opentracing.
|
||||
# @default -- See values.yaml
|
||||
tracing:
|
||||
@@ -189,6 +585,7 @@ dendrite:
|
||||
headers: null
|
||||
baggage_restrictions: null
|
||||
throttler: null
|
||||
|
||||
# -- Configure logging.
|
||||
# @default -- See values.yaml
|
||||
logging:
|
||||
@@ -201,8 +598,25 @@ postgresql:
|
||||
# -- Enable and configure postgres as the database for dendrite.
|
||||
# @default -- See value.yaml
|
||||
enabled: false
|
||||
postgresqlUsername: dendrite
|
||||
postgresqlPassword: changeme
|
||||
postgresqlDatabase: dendrite
|
||||
image:
|
||||
repository: bitnami/postgresql
|
||||
tag: "14.1.0"
|
||||
auth:
|
||||
username: dendrite
|
||||
password: changeme
|
||||
database: dendrite
|
||||
persistence:
|
||||
enabled: false
|
||||
primary:
|
||||
initdb:
|
||||
scriptsConfigMap: "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
|
||||
nats:
|
||||
image: nats:2.7.1-alpine
|
||||
jetstream:
|
||||
enabled: true
|
||||
|
||||
24
charts/incubator/handbrake/Chart.yaml
Normal file
24
charts/incubator/handbrake/Chart.yaml
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
apiVersion: v2
|
||||
appVersion: v1.24.2
|
||||
description: handbrake helm package
|
||||
name: handbrake
|
||||
version: 0.1.0
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
keywords:
|
||||
- handbrake
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/handbrake
|
||||
icon: https://handbrake.org/icon
|
||||
sources:
|
||||
- https://hub.docker.com/r/jlesage/handbrake
|
||||
maintainers:
|
||||
- name: lucacalcaterra
|
||||
email: calcaterra.luca@gmail.com
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 4.5.0
|
||||
annotations:
|
||||
artifacthub.io/changes: |-
|
||||
- kind: changed
|
||||
description: Upgraded `common` chart dependency to version 4.5.0
|
||||
@@ -1,15 +1,14 @@
|
||||
# truecommand
|
||||
# handbrake
|
||||
|
||||
 
|
||||
 
|
||||
|
||||
Central Management of TrueNAS storage systems
|
||||
handbrake helm package
|
||||
|
||||
**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://www.truenas.com/truecommand>
|
||||
* <https://hub.docker.com/r/ixsystems/truecommand>
|
||||
* <https://hub.docker.com/r/jlesage/handbrake>
|
||||
|
||||
## Requirements
|
||||
|
||||
@@ -19,30 +18,30 @@ Kubernetes: `>=1.16.0-0`
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://library-charts.k8s-at-home.com | common | 4.3.0 |
|
||||
| https://library-charts.k8s-at-home.com | common | 4.5.0 |
|
||||
|
||||
## TL;DR
|
||||
|
||||
```console
|
||||
helm repo add k8s-at-home https://k8s-at-home.com/charts/
|
||||
helm repo update
|
||||
helm install truecommand k8s-at-home/truecommand
|
||||
helm install handbrake k8s-at-home/handbrake
|
||||
```
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `truecommand`
|
||||
To install the chart with the release name `handbrake`
|
||||
|
||||
```console
|
||||
helm install truecommand k8s-at-home/truecommand
|
||||
helm install handbrake k8s-at-home/handbrake
|
||||
```
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall the `truecommand` deployment
|
||||
To uninstall the `handbrake` deployment
|
||||
|
||||
```console
|
||||
helm uninstall truecommand
|
||||
helm uninstall handbrake
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||
@@ -55,15 +54,15 @@ Other values may be used from the [values.yaml](https://github.com/k8s-at-home/l
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||
|
||||
```console
|
||||
helm install truecommand \
|
||||
helm install handbrake \
|
||||
--set env.TZ="America/New York" \
|
||||
k8s-at-home/truecommand
|
||||
k8s-at-home/handbrake
|
||||
```
|
||||
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install truecommand k8s-at-home/truecommand -f values.yaml
|
||||
helm install handbrake k8s-at-home/handbrake -f values.yaml
|
||||
```
|
||||
|
||||
## Custom configuration
|
||||
@@ -76,18 +75,18 @@ N/A
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| env | object | See below | environment variables. See [image docs](https://hub.docker.com/r/ixsystems/truecommand) for more details. |
|
||||
| env | object | See below | environment variables. See more environment variables in the [handbrake documentation](https://handbrake.org/docs). |
|
||||
| env.TZ | string | `"UTC"` | Set the container timezone |
|
||||
| image.pullPolicy | string | `"IfNotPresent"` | |
|
||||
| image.repository | string | `"ixsystems/truecommand"` | |
|
||||
| image.tag | string | `"2.0.1"` | |
|
||||
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||
| image.repository | string | `"jlesage/handbrake"` | 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 3.2.0
|
||||
### Version 0.1.0
|
||||
|
||||
#### Added
|
||||
|
||||
@@ -95,7 +94,7 @@ N/A
|
||||
|
||||
#### Changed
|
||||
|
||||
* Upgraded `common` chart dependency to version `4.3.0`.
|
||||
* Upgraded `common` chart dependency to version 4.5.0
|
||||
|
||||
#### Fixed
|
||||
|
||||
@@ -103,7 +102,7 @@ N/A
|
||||
|
||||
### Older versions
|
||||
|
||||
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/truecommand?modal=changelog)
|
||||
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/handbrake?modal=changelog)
|
||||
|
||||
## Support
|
||||
|
||||
51
charts/incubator/handbrake/values.yaml
Normal file
51
charts/incubator/handbrake/values.yaml
Normal file
@@ -0,0 +1,51 @@
|
||||
#
|
||||
# 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: jlesage/handbrake
|
||||
# -- image tag
|
||||
# @default -- chart.appVersion
|
||||
tag:
|
||||
# -- image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# -- environment variables. See more environment variables in the [handbrake documentation](https://handbrake.org/docs).
|
||||
# @default -- See below
|
||||
env:
|
||||
# -- Set the container timezone
|
||||
TZ: UTC
|
||||
|
||||
# -- Configures service settings for the chart.
|
||||
# @default -- See values.yaml
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
http:
|
||||
port: 5800
|
||||
vnc:
|
||||
enabled: false
|
||||
port: 5900
|
||||
|
||||
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
|
||||
mountPath: "/config"
|
||||
storage:
|
||||
enabled: false
|
||||
mountPath: "/storage"
|
||||
output:
|
||||
enabled: false
|
||||
mountPath: "/output"
|
||||
16
charts/incubator/kah-common-chart/Chart.yaml
Normal file
16
charts/incubator/kah-common-chart/Chart.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
apiVersion: v2
|
||||
description: A KaH-common powered chart template. This can be useful for small projects that don't have their own chart.
|
||||
name: kah-common-chart
|
||||
version: 1.2.0
|
||||
maintainers:
|
||||
- name: bjw-s
|
||||
email: me@bjw-s.dev
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 4.5.0
|
||||
annotations:
|
||||
artifacthub.io/changes: |-
|
||||
- kind: changed
|
||||
description: Upgraded `common` chart dependency to version 4.5.0
|
||||
2
charts/incubator/kah-common-chart/templates/common.yaml
Normal file
2
charts/incubator/kah-common-chart/templates/common.yaml
Normal file
@@ -0,0 +1,2 @@
|
||||
---
|
||||
{{ include "common.all" . }}
|
||||
1
charts/incubator/kah-common-chart/values.yaml
Normal file
1
charts/incubator/kah-common-chart/values.yaml
Normal file
@@ -0,0 +1 @@
|
||||
---
|
||||
@@ -1,8 +1,9 @@
|
||||
---
|
||||
apiVersion: v2
|
||||
appVersion: 1.0.0
|
||||
description: LanCache Monolithic - a caching proxy server for game download content
|
||||
name: lancache
|
||||
version: 0.3.0
|
||||
version: 0.6.0
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
keywords:
|
||||
- lancache
|
||||
@@ -18,8 +19,8 @@ maintainers:
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 4.3.0
|
||||
version: 4.5.0
|
||||
annotations:
|
||||
artifacthub.io/changes: |
|
||||
artifacthub.io/changes: |-
|
||||
- kind: changed
|
||||
description: Upgraded `common` chart dependency to version `4.3.0`.
|
||||
description: Upgraded `common` chart dependency to version 4.5.0
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# lancache
|
||||
|
||||
 
|
||||
 
|
||||
|
||||
LanCache Monolithic - a caching proxy server for game download content
|
||||
|
||||
@@ -20,7 +20,7 @@ Kubernetes: `>=1.16.0-0`
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://library-charts.k8s-at-home.com | common | 4.3.0 |
|
||||
| https://library-charts.k8s-at-home.com | common | 4.5.0 |
|
||||
|
||||
## TL;DR
|
||||
|
||||
@@ -104,7 +104,7 @@ N/A
|
||||
|
||||
## Changelog
|
||||
|
||||
### Version 0.3.0
|
||||
### Version 0.6.0
|
||||
|
||||
#### Added
|
||||
|
||||
@@ -112,7 +112,7 @@ N/A
|
||||
|
||||
#### Changed
|
||||
|
||||
* Upgraded `common` chart dependency to version `4.3.0`.
|
||||
* Upgraded `common` chart dependency to version 4.5.0
|
||||
|
||||
#### Fixed
|
||||
|
||||
|
||||
@@ -1,176 +0,0 @@
|
||||
{{- define "custom.repository.organization" -}}
|
||||
k8s-at-home
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.repository.url" -}}
|
||||
https://github.com/k8s-at-home/charts
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.url" -}}
|
||||
https://k8s-at-home.com/charts/
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.path" -}}
|
||||
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.notes" -}}
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.requirements" -}}
|
||||
## Requirements
|
||||
|
||||
{{ template "chart.kubeVersionLine" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.dependencies" -}}
|
||||
## Dependencies
|
||||
|
||||
{{ template "chart.requirementsTable" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install.tldr" -}}
|
||||
## TL;DR
|
||||
|
||||
```console
|
||||
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
|
||||
helm repo update
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install" -}}
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `{{ template "chart.name" . }}`
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.uninstall" -}}
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall the `{{ template "chart.name" . }}` deployment
|
||||
|
||||
```console
|
||||
helm uninstall {{ template "chart.name" . }}
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.header" -}}
|
||||
## Configuration
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.readValues" -}}
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](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" . }}
|
||||
{{ "" }}
|
||||
@@ -44,6 +44,45 @@ additionalContainers:
|
||||
- name: dns
|
||||
containerPort: 53
|
||||
protocol: UDP
|
||||
livenessProbe:
|
||||
exec:
|
||||
command:
|
||||
- bash
|
||||
- -c
|
||||
- |
|
||||
set -euo pipefail
|
||||
|
||||
# Check if LanCache DNS entries are set up.
|
||||
dig @127.0.0.1 "${LANCACHE_DNSDOMAIN}" SOA | grep localhost
|
||||
|
||||
# Check if upstream DNS server is reachable.
|
||||
dig "${LANCACHE_DNSDOMAIN}" SOA
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
- bash
|
||||
- -c
|
||||
- |
|
||||
set -euo pipefail
|
||||
|
||||
# Check if LanCache DNS entries are set up.
|
||||
dig @127.0.0.1 "${LANCACHE_DNSDOMAIN}" SOA | grep localhost
|
||||
|
||||
# Check if upstream DNS server is reachable.
|
||||
dig "${LANCACHE_DNSDOMAIN}" SOA
|
||||
startupProbe:
|
||||
exec:
|
||||
command:
|
||||
- bash
|
||||
- -c
|
||||
- |
|
||||
set -euo pipefail
|
||||
|
||||
# Check if LanCache DNS entries are set up.
|
||||
dig @127.0.0.1 "${LANCACHE_DNSDOMAIN}" SOA | grep localhost
|
||||
|
||||
# Check if upstream DNS server is reachable.
|
||||
dig "${LANCACHE_DNSDOMAIN}" SOA
|
||||
|
||||
service:
|
||||
dns:
|
||||
|
||||
@@ -40,7 +40,7 @@ service:
|
||||
port: 53
|
||||
|
||||
# -- LanCache uses custom upstream nameservers, overridable with the `UPSTREAM_DNS` variable.
|
||||
dnsPolicy: 'None'
|
||||
dnsPolicy: None
|
||||
dnsConfig:
|
||||
nameservers:
|
||||
- 127.0.0.1
|
||||
|
||||
24
charts/incubator/mopidy/Chart.yaml
Normal file
24
charts/incubator/mopidy/Chart.yaml
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
apiVersion: v2
|
||||
appVersion: latest
|
||||
description: mopidy helm package
|
||||
name: mopidy
|
||||
version: 0.1.0
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
keywords:
|
||||
- mopidy
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/mopidy
|
||||
icon: https://mopidy.org/icon
|
||||
sources:
|
||||
- https://github.com/mopidy/mopidy-docker
|
||||
maintainers:
|
||||
- name: lanquarden
|
||||
email: lanquarden@gmail.com
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 4.5.0
|
||||
annotations:
|
||||
artifacthub.io/changes: |-
|
||||
- kind: changed
|
||||
description: Upgraded `common` chart dependency to version 4.5.0
|
||||
116
charts/incubator/mopidy/README.md
Normal file
116
charts/incubator/mopidy/README.md
Normal file
@@ -0,0 +1,116 @@
|
||||
# mopidy
|
||||
|
||||
 
|
||||
|
||||
mopidy helm package
|
||||
|
||||
**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/mopidy/mopidy-docker>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://library-charts.k8s-at-home.com | common | 4.5.0 |
|
||||
|
||||
## TL;DR
|
||||
|
||||
```console
|
||||
helm repo add k8s-at-home https://k8s-at-home.com/charts/
|
||||
helm repo update
|
||||
helm install mopidy k8s-at-home/mopidy
|
||||
```
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `mopidy`
|
||||
|
||||
```console
|
||||
helm install mopidy k8s-at-home/mopidy
|
||||
```
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall the `mopidy` deployment
|
||||
|
||||
```console
|
||||
helm uninstall mopidy
|
||||
```
|
||||
|
||||
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 mopidy \
|
||||
--set env.TZ="America/New York" \
|
||||
k8s-at-home/mopidy
|
||||
```
|
||||
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install mopidy k8s-at-home/mopidy -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 | string | `"[core]\ndata_dir = /var/lib/mopidy\n\n[audio]\noutput = audioresample ! audioconvert ! audio/x-raw,rate=48000,channels=2,format=S16LE ! tcpclientsink host=snapcast port=4953\n\n[http]\nhostname = 0.0.0.0\ndefault_app = iris\n\n[mpd]\nhostname = 0.0.0.0\n\n[tidal]\nenabled = false\n\n[mixcloud]\nenabled = false\n\n[subidy]\nenabled = true\nurl = http://gonic\nusername = admin\npassword = admin\n\n[spotify]\nenabled = false\n# Fast startup because we use the Spotify HTTP API to load these instead\n# Makes playlists unavailable under Browse > Spotify.\nallow_playlists = false\n"` | |
|
||||
| env | object | See below | environment variables. See more environment variables in the [mopidy documentation](https://mopidy.org/docs). |
|
||||
| env.TZ | string | `"UTC"` | Set the container timezone |
|
||||
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||
| image.repository | string | `"jaedb/iris"` | 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 0.1.0
|
||||
|
||||
#### Added
|
||||
|
||||
N/A
|
||||
|
||||
#### Changed
|
||||
|
||||
* Upgraded `common` chart dependency to version 4.5.0
|
||||
|
||||
#### Fixed
|
||||
|
||||
N/A
|
||||
|
||||
### Older versions
|
||||
|
||||
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/mopidy?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)
|
||||
19
charts/incubator/mopidy/templates/common.yaml
Normal file
19
charts/incubator/mopidy/templates/common.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "common.values.setup" . }}
|
||||
|
||||
{{/* Append the hardcoded settings */}}
|
||||
{{- define "mopidy.hardcodedValues" -}}
|
||||
persistence:
|
||||
mopidy-config:
|
||||
enabled: "true"
|
||||
mountPath: "/config/mopidy.conf"
|
||||
subPath: "mopidy.conf"
|
||||
type: "custom"
|
||||
volumeSpec:
|
||||
configMap:
|
||||
name: {{ printf "%v-config" (include "common.names.fullname" .) }}
|
||||
{{- end -}}
|
||||
{{- $_ := mergeOverwrite .Values (include "mopidy.hardcodedValues" . | fromYaml) -}}
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{ include "common.all" . }}
|
||||
@@ -1,3 +1,5 @@
|
||||
{{- include "common.values.setup" . -}}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
@@ -5,5 +7,5 @@ metadata:
|
||||
labels:
|
||||
{{- include "common.labels" . | nindent 4 }}
|
||||
data:
|
||||
startup.sh: |
|
||||
mopidy.conf: |
|
||||
{{- .Values.config | nindent 4 }}
|
||||
79
charts/incubator/mopidy/values.yaml
Normal file
79
charts/incubator/mopidy/values.yaml
Normal file
@@ -0,0 +1,79 @@
|
||||
#
|
||||
# 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: jaedb/iris
|
||||
# -- image tag
|
||||
# @default -- chart.appVersion
|
||||
tag:
|
||||
# -- image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# -- environment variables. See more environment variables in the [mopidy documentation](https://mopidy.org/docs).
|
||||
# @default -- See below
|
||||
env:
|
||||
# -- Set the container timezone
|
||||
TZ: UTC
|
||||
PIP_PACKAGES: Mopidy-Mixcloud Mopidy-Subidy
|
||||
|
||||
# -- Configures service settings for the chart.
|
||||
# @default -- See values.yaml
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
http:
|
||||
port: 6680
|
||||
# mopidy JSON-RPC port
|
||||
json-rpc:
|
||||
enabled: true
|
||||
port: 6600
|
||||
|
||||
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
|
||||
|
||||
config: |
|
||||
[core]
|
||||
data_dir = /var/lib/mopidy
|
||||
|
||||
[audio]
|
||||
output = audioresample ! audioconvert ! audio/x-raw,rate=48000,channels=2,format=S16LE ! tcpclientsink host=snapcast port=4953
|
||||
|
||||
[http]
|
||||
hostname = 0.0.0.0
|
||||
default_app = iris
|
||||
|
||||
[mpd]
|
||||
hostname = 0.0.0.0
|
||||
|
||||
[tidal]
|
||||
enabled = false
|
||||
|
||||
[mixcloud]
|
||||
enabled = false
|
||||
|
||||
[subidy]
|
||||
enabled = true
|
||||
url = http://gonic
|
||||
username = admin
|
||||
password = admin
|
||||
|
||||
[spotify]
|
||||
enabled = false
|
||||
# Fast startup because we use the Spotify HTTP API to load these instead
|
||||
# Makes playlists unavailable under Browse > Spotify.
|
||||
allow_playlists = false
|
||||
@@ -1,8 +1,9 @@
|
||||
---
|
||||
apiVersion: v2
|
||||
appVersion: 3.2.0
|
||||
description: openhab helm package
|
||||
name: openhab
|
||||
version: 1.3.0
|
||||
version: 1.5.0
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
keywords:
|
||||
- openhab
|
||||
@@ -16,8 +17,8 @@ maintainers:
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 4.3.0
|
||||
version: 4.5.0
|
||||
annotations:
|
||||
artifacthub.io/changes: |
|
||||
artifacthub.io/changes: |-
|
||||
- kind: changed
|
||||
description: Upgraded `common` chart dependency to version `4.3.0`.
|
||||
description: Upgraded `common` chart dependency to version 4.5.0
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# openhab
|
||||
|
||||
 
|
||||
 
|
||||
|
||||
openhab helm package
|
||||
|
||||
@@ -18,7 +18,7 @@ Kubernetes: `>=1.16.0-0`
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://library-charts.k8s-at-home.com | common | 4.3.0 |
|
||||
| https://library-charts.k8s-at-home.com | common | 4.5.0 |
|
||||
|
||||
## TL;DR
|
||||
|
||||
@@ -87,7 +87,7 @@ N/A
|
||||
|
||||
## Changelog
|
||||
|
||||
### Version 1.3.0
|
||||
### Version 1.5.0
|
||||
|
||||
#### Added
|
||||
|
||||
@@ -95,7 +95,7 @@ N/A
|
||||
|
||||
#### Changed
|
||||
|
||||
* Upgraded `common` chart dependency to version `4.3.0`.
|
||||
* Upgraded `common` chart dependency to version 4.5.0
|
||||
|
||||
#### Fixed
|
||||
|
||||
|
||||
@@ -1,176 +0,0 @@
|
||||
{{- define "custom.repository.organization" -}}
|
||||
k8s-at-home
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.repository.url" -}}
|
||||
https://github.com/k8s-at-home/charts
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.url" -}}
|
||||
https://k8s-at-home.com/charts/
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.path" -}}
|
||||
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.notes" -}}
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.requirements" -}}
|
||||
## Requirements
|
||||
|
||||
{{ template "chart.kubeVersionLine" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.dependencies" -}}
|
||||
## Dependencies
|
||||
|
||||
{{ template "chart.requirementsTable" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install.tldr" -}}
|
||||
## TL;DR
|
||||
|
||||
```console
|
||||
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
|
||||
helm repo update
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install" -}}
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `{{ template "chart.name" . }}`
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.uninstall" -}}
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall the `{{ template "chart.name" . }}` deployment
|
||||
|
||||
```console
|
||||
helm uninstall {{ template "chart.name" . }}
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.header" -}}
|
||||
## Configuration
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.readValues" -}}
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](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" . }}
|
||||
{{ "" }}
|
||||
@@ -1,3 +1,5 @@
|
||||
{{- include "common.values.setup" . -}}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user