Compare commits
766 Commits
node-featu
...
nullserv-2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a7da4dbb38 | ||
|
|
96d7dde82f | ||
|
|
c25ed8a428 | ||
|
|
edc5e8099e | ||
|
|
02e8b833c9 | ||
|
|
d887e99035 | ||
|
|
ba1893871a | ||
|
|
73bd01f394 | ||
|
|
6e39a0ae19 | ||
|
|
d704fd4583 | ||
|
|
c3b20c3efe | ||
|
|
71bb5f38e2 | ||
|
|
8f7ebaeeed | ||
|
|
efa86aba46 | ||
|
|
952e704240 | ||
|
|
baf95f7cbe | ||
|
|
a9e1c99954 | ||
|
|
771e4c2e16 | ||
|
|
0012fec226 | ||
|
|
1852e81ecd | ||
|
|
0d9b0db335 | ||
|
|
102a91160b | ||
|
|
23e9f33a56 | ||
|
|
e54d84e056 | ||
|
|
2e6bdebac5 | ||
|
|
36956c2b20 | ||
|
|
5614ea7c6d | ||
|
|
da5e7b65fc | ||
|
|
837a89dbd5 | ||
|
|
1385ad29fb | ||
|
|
9070817c91 | ||
|
|
8d94e9ef4a | ||
|
|
e1b5116761 | ||
|
|
75af05159a | ||
|
|
febbc4b303 | ||
|
|
44f000572c | ||
|
|
e910e72ac5 | ||
|
|
36b01f0e23 | ||
|
|
47e214967b | ||
|
|
4b2a666701 | ||
|
|
a93ac84c5d | ||
|
|
3ceb7c803f | ||
|
|
a23c17866b | ||
|
|
f69e909109 | ||
|
|
ca6bd37216 | ||
|
|
bab0ff6126 | ||
|
|
a76d6ce9f2 | ||
|
|
101cb5405b | ||
|
|
11181f3200 | ||
|
|
8e7885b65b | ||
|
|
7dfd78ed73 | ||
|
|
47e213b1f3 | ||
|
|
65189db872 | ||
|
|
04d9b5b035 | ||
|
|
2f8d9142ff | ||
|
|
db7b71d848 | ||
|
|
820042639c | ||
|
|
57535a1662 | ||
|
|
fcdd8496c8 | ||
|
|
9a585ee3cf | ||
|
|
b61de0b706 | ||
|
|
1ea8e6bb1a | ||
|
|
88d5e02aac | ||
|
|
a0633c4967 | ||
|
|
edb77727d2 | ||
|
|
216debfc67 | ||
|
|
cd9c234ee5 | ||
|
|
e5652e6abb | ||
|
|
8273953cc4 | ||
|
|
b91b97c5a1 | ||
|
|
1329aeeca8 | ||
|
|
2807ef0d57 | ||
|
|
7c1ab59c7c | ||
|
|
cc39287410 | ||
|
|
31b125c42e | ||
|
|
c1ab113f7c | ||
|
|
20a4212105 | ||
|
|
f072cd8329 | ||
|
|
d73a85fabc | ||
|
|
0ee5613188 | ||
|
|
c0da878c87 | ||
|
|
3c0abd663a | ||
|
|
5573907216 | ||
|
|
4cbe510d4a | ||
|
|
1676ae0f0b | ||
|
|
18fe0f7516 | ||
|
|
13371cfc2e | ||
|
|
d860835181 | ||
|
|
e1f44492af | ||
|
|
bbb4aa6c7c | ||
|
|
f2741f62c0 | ||
|
|
1ac1ecbd82 | ||
|
|
da1438421b | ||
|
|
db3f0181c7 | ||
|
|
24113553e1 | ||
|
|
5e69120579 | ||
|
|
92cd353c31 | ||
|
|
057a66d0fe | ||
|
|
33f27904e0 | ||
|
|
42740ebb88 | ||
|
|
1c720e3744 | ||
|
|
468c7842da | ||
|
|
e91ee11305 | ||
|
|
adb11019c7 | ||
|
|
6cfc938d34 | ||
|
|
ba64db4255 | ||
|
|
bb0adce751 | ||
|
|
637acca530 | ||
|
|
34947d84ef | ||
|
|
cee70404f0 | ||
|
|
0a1094f6fd | ||
|
|
cc426b4593 | ||
|
|
728ebbfa23 | ||
|
|
d979e9309a | ||
|
|
c1cb492647 | ||
|
|
f01c58aaff | ||
|
|
3abce5f8d5 | ||
|
|
fa4b5ef2e0 | ||
|
|
5ccef0ec65 | ||
|
|
4dc3408914 | ||
|
|
e94b5a1679 | ||
|
|
df2e863705 | ||
|
|
2afb28717e | ||
|
|
5d55c5a0cb | ||
|
|
4814919d30 | ||
|
|
8ac0850530 | ||
|
|
b898048c9e | ||
|
|
3320a2a6aa | ||
|
|
3aa177891c | ||
|
|
307f0a5a0d | ||
|
|
df3a9b264c | ||
|
|
0f93fa47ec | ||
|
|
1170d8f8ff | ||
|
|
eb1a4cb657 | ||
|
|
b451394abf | ||
|
|
c56d02b0d1 | ||
|
|
f5306e9099 | ||
|
|
e57fc8c849 | ||
|
|
b9dc4a55bc | ||
|
|
a82e691445 | ||
|
|
ce7889aae2 | ||
|
|
2a6a05e561 | ||
|
|
dca8b2d13b | ||
|
|
753b437f0e | ||
|
|
0549695536 | ||
|
|
9b183fd674 | ||
|
|
680106d7cd | ||
|
|
901916ddda | ||
|
|
020060f948 | ||
|
|
eb8f8cbc34 | ||
|
|
d27b6a9c49 | ||
|
|
1ae43a3e8d | ||
|
|
9885be3c1d | ||
|
|
eba5e12c58 | ||
|
|
58508efaad | ||
|
|
f3fb87f608 | ||
|
|
2df5ff05e3 | ||
|
|
f5fef88848 | ||
|
|
f58881f68e | ||
|
|
372b98f1bc | ||
|
|
59ea2d192b | ||
|
|
330fe768d0 | ||
|
|
f29865981e | ||
|
|
7b89f057f5 | ||
|
|
8f34266e4f | ||
|
|
669564d6f8 | ||
|
|
42422a3b36 | ||
|
|
2d0f83c2df | ||
|
|
8af40e02e4 | ||
|
|
917ae5b927 | ||
|
|
b7d45b5c54 | ||
|
|
63b6354a67 | ||
|
|
7f835947b6 | ||
|
|
9aa89c3c4a | ||
|
|
8c79f6c375 | ||
|
|
9bb61afb12 | ||
|
|
7c73a02205 | ||
|
|
2b17c7d750 | ||
|
|
0fc65ac663 | ||
|
|
5c56e18eae | ||
|
|
faec4db9ef | ||
|
|
c3017ec800 | ||
|
|
80d311f7f6 | ||
|
|
46df74c8ae | ||
|
|
34842b9fdd | ||
|
|
e1494a5b59 | ||
|
|
5491a25b94 | ||
|
|
24ffd592f4 | ||
|
|
7ad14f58db | ||
|
|
d314ec81d9 | ||
|
|
a8a67065b0 | ||
|
|
c34ecd5a73 | ||
|
|
9f99855c90 | ||
|
|
04e9beed84 | ||
|
|
379e69a974 | ||
|
|
e9595b94b0 | ||
|
|
40678c8abc | ||
|
|
ae5e2b23dd | ||
|
|
abc787fd38 | ||
|
|
86b05e1d9f | ||
|
|
977cca1d45 | ||
|
|
1a678567c1 | ||
|
|
985f4ab257 | ||
|
|
b750382b52 | ||
|
|
f57549eeab | ||
|
|
302bdd1b95 | ||
|
|
b36d90e5f1 | ||
|
|
5165f06ca7 | ||
|
|
f16383e204 | ||
|
|
caac991f65 | ||
|
|
31c36ef258 | ||
|
|
eb2910e587 | ||
|
|
1cab628960 | ||
|
|
4aa2b5e2d6 | ||
|
|
4e7b66bb3e | ||
|
|
bfd9b94f6e | ||
|
|
ff7a384e29 | ||
|
|
aa1ec1df0c | ||
|
|
b7837a8990 | ||
|
|
1aa5bf3cbb | ||
|
|
62140f8d2c | ||
|
|
440f518efc | ||
|
|
7fd2ef4f1e | ||
|
|
2ba410d4e7 | ||
|
|
e4f3894a05 | ||
|
|
38b0952140 | ||
|
|
dff8cac8b9 | ||
|
|
a01a23d9ff | ||
|
|
1d5df59f8b | ||
|
|
d0482adec8 | ||
|
|
f6beaa7fe1 | ||
|
|
efd1fae655 | ||
|
|
5c75bb4b9e | ||
|
|
5048d694b9 | ||
|
|
d3e6d22bbd | ||
|
|
c356d9eb7d | ||
|
|
7a7850613e | ||
|
|
90036d5f6b | ||
|
|
b12bbf052d | ||
|
|
f2982489f0 | ||
|
|
55ac1bf834 | ||
|
|
6f1690ab2f | ||
|
|
4e258501c8 | ||
|
|
18d106d278 | ||
|
|
bea53e250d | ||
|
|
83e6378d97 | ||
|
|
847cecff25 | ||
|
|
faae366302 | ||
|
|
480a882ffc | ||
|
|
dc4d6fd583 | ||
|
|
354f9c7bb3 | ||
|
|
3beb9af198 | ||
|
|
52afc309db | ||
|
|
1ab2028a14 | ||
|
|
10fb48fd27 | ||
|
|
fe6403318e | ||
|
|
d80eeedd4c | ||
|
|
2216127da4 | ||
|
|
9e9d39e2b0 | ||
|
|
be699c5035 | ||
|
|
2df5b026b8 | ||
|
|
02f1040111 | ||
|
|
d44819695f | ||
|
|
e67c4213c2 | ||
|
|
fdc36dafa9 | ||
|
|
6473218dd5 | ||
|
|
4d74bfc1e2 | ||
|
|
c7186800da | ||
|
|
fb898031b4 | ||
|
|
f1d6009768 | ||
|
|
3b07afaaf0 | ||
|
|
3b04d62f28 | ||
|
|
226ccc84f0 | ||
|
|
5d1e7d6ddc | ||
|
|
b9b96e5892 | ||
|
|
34bcb259ea | ||
|
|
cfca06cb46 | ||
|
|
4c11a2f073 | ||
|
|
d21551b9d7 | ||
|
|
1cf71ea5a7 | ||
|
|
2220ef13c7 | ||
|
|
9616b91166 | ||
|
|
83b431aab9 | ||
|
|
6cf95a59f0 | ||
|
|
fc9ecd6d02 | ||
|
|
fe2b0a8eb1 | ||
|
|
5ea3df64a9 | ||
|
|
4709b114bd | ||
|
|
d576bb458b | ||
|
|
6566c4047c | ||
|
|
1e9b109f36 | ||
|
|
b6e68e7ea6 | ||
|
|
60f4945c27 | ||
|
|
5e85a73e42 | ||
|
|
55a03e7897 | ||
|
|
e80147c11f | ||
|
|
a77147b7d0 | ||
|
|
6558012215 | ||
|
|
8276fa44bf | ||
|
|
8d9993c4de | ||
|
|
bc5265c6fd | ||
|
|
b145bd21c5 | ||
|
|
4e7525476c | ||
|
|
0fc0088d9b | ||
|
|
1fdcfebbcb | ||
|
|
0f8ad35215 | ||
|
|
5481f77bf7 | ||
|
|
f77bb36710 | ||
|
|
8de01b8ffc | ||
|
|
454d818866 | ||
|
|
c0ae019bca | ||
|
|
849709775d | ||
|
|
a5b459cdfc | ||
|
|
25e2c34582 | ||
|
|
a66ace3641 | ||
|
|
1e5f1ad50a | ||
|
|
bb633c1ea2 | ||
|
|
229af21b63 | ||
|
|
b1bac1cbab | ||
|
|
adf135e69e | ||
|
|
8f10a87533 | ||
|
|
79d923d989 | ||
|
|
75a72e87dc | ||
|
|
afdece0e9a | ||
|
|
619d9e49e9 | ||
|
|
09ab372625 | ||
|
|
233bac5c47 | ||
|
|
b972760a6f | ||
|
|
24d289bcaa | ||
|
|
0c1161508e | ||
|
|
1da4c33e59 | ||
|
|
cad1e45756 | ||
|
|
d49e8c3a63 | ||
|
|
174105aeec | ||
|
|
1adc7e60b6 | ||
|
|
5a106b60f9 | ||
|
|
bf7728eec7 | ||
|
|
558f2b00c8 | ||
|
|
053a8e1f85 | ||
|
|
596f049055 | ||
|
|
ad28ce0bb0 | ||
|
|
26d3a2518b | ||
|
|
c9cdfddee8 | ||
|
|
7618262923 | ||
|
|
58e367937f | ||
|
|
40d8c8d27b | ||
|
|
7bfb7780ea | ||
|
|
79eaa14e58 | ||
|
|
d54b66eb81 | ||
|
|
d44ae609dd | ||
|
|
3e7ac9f00f | ||
|
|
4420956b18 | ||
|
|
61ae401cc7 | ||
|
|
9cd4a42465 | ||
|
|
6f67bdc46e | ||
|
|
0bdbdc4e86 | ||
|
|
e15203d023 | ||
|
|
80f5fae493 | ||
|
|
09e1596c3a | ||
|
|
cb0328ab59 | ||
|
|
0eaf35c739 | ||
|
|
dfc13670b2 | ||
|
|
79c791ce7a | ||
|
|
36efe70230 | ||
|
|
4e9a190905 | ||
|
|
482ffffbde | ||
|
|
b0fd990b6c | ||
|
|
06f98bdd5a | ||
|
|
584c3aa4ed | ||
|
|
2378ee32b1 | ||
|
|
065948be7a | ||
|
|
bba162a210 | ||
|
|
01ca4d7da1 | ||
|
|
2ef0c8d04e | ||
|
|
8b4eaf4242 | ||
|
|
0a80414ca0 | ||
|
|
8bc717291f | ||
|
|
4200998525 | ||
|
|
ba9a61c053 | ||
|
|
a795337930 | ||
|
|
43e985f60d | ||
|
|
cb2c481e17 | ||
|
|
6a388c870b | ||
|
|
d3ec5370c8 | ||
|
|
712ee55c3a | ||
|
|
86e5851a3c | ||
|
|
d4bfcc43a8 | ||
|
|
1659f3c867 | ||
|
|
750d536fbd | ||
|
|
1a86731252 | ||
|
|
e5a2f699e5 | ||
|
|
a8628dca06 | ||
|
|
fcf5efa333 | ||
|
|
414b7af680 | ||
|
|
405f263a40 | ||
|
|
7f81fdce5e | ||
|
|
4597588ff6 | ||
|
|
4747f7b2f4 | ||
|
|
82e88a43a4 | ||
|
|
c187e518d6 | ||
|
|
f276622036 | ||
|
|
34af2fc726 | ||
|
|
6eae653ea4 | ||
|
|
ee3c2a7fe0 | ||
|
|
ae91887c19 | ||
|
|
a145d13dd9 | ||
|
|
6a122a3153 | ||
|
|
57c7d7b2fd | ||
|
|
4b244cae3f | ||
|
|
1199385813 | ||
|
|
df077379bf | ||
|
|
b9828b848d | ||
|
|
301e2a92af | ||
|
|
866512eef0 | ||
|
|
690639ef33 | ||
|
|
5cba3de4cf | ||
|
|
187abe7849 | ||
|
|
f134ec7be6 | ||
|
|
ddb87d0ea5 | ||
|
|
ddbb9a6707 | ||
|
|
046b4e77d3 | ||
|
|
c2a1e40bfe | ||
|
|
e05ab1488c | ||
|
|
e9e819666d | ||
|
|
805ad3e5e8 | ||
|
|
41510259c5 | ||
|
|
38164be149 | ||
|
|
964944a6cf | ||
|
|
e517349340 | ||
|
|
953684762c | ||
|
|
a16010c772 | ||
|
|
743fb67d7d | ||
|
|
ad6211098e | ||
|
|
01a40b5431 | ||
|
|
72fdff6400 | ||
|
|
13c4cb5493 | ||
|
|
bdac05e23b | ||
|
|
9498870c02 | ||
|
|
4ab426fddb | ||
|
|
077afc9d29 | ||
|
|
687ddf88ec | ||
|
|
b2f256d380 | ||
|
|
253fbadeeb | ||
|
|
73387a3987 | ||
|
|
606c578a94 | ||
|
|
7f4f247a33 | ||
|
|
d6686e5805 | ||
|
|
0f386aee53 | ||
|
|
6b1bf47c1c | ||
|
|
7c27e23147 | ||
|
|
c45892bee6 | ||
|
|
2de98a94da | ||
|
|
5a1e4b4c96 | ||
|
|
7c28992f55 | ||
|
|
7af29b7a82 | ||
|
|
32d9f7b16a | ||
|
|
ffa8bd53c9 | ||
|
|
417dd63006 | ||
|
|
fce43fdc84 | ||
|
|
943302e00f | ||
|
|
c52f0b2b2c | ||
|
|
da4ae6c5d6 | ||
|
|
b8cc842cbf | ||
|
|
c8d6a4c612 | ||
|
|
6e610d870c | ||
|
|
446836375c | ||
|
|
ffa47f512f | ||
|
|
b62bf06af6 | ||
|
|
853442d375 | ||
|
|
42a9c434f6 | ||
|
|
58b0343233 | ||
|
|
fbecb3a3c3 | ||
|
|
747da94940 | ||
|
|
7d1d105aa8 | ||
|
|
2caae48b99 | ||
|
|
63a557ab3b | ||
|
|
e062593a2f | ||
|
|
656b00cd34 | ||
|
|
0c85e04946 | ||
|
|
012d8d7c62 | ||
|
|
0cf9ec793f | ||
|
|
25c3695e0f | ||
|
|
3d73b38c7b | ||
|
|
0c589bf088 | ||
|
|
527dd9fcc9 | ||
|
|
6766dae946 | ||
|
|
fe14d15444 | ||
|
|
5fe9446653 | ||
|
|
77ffc073cf | ||
|
|
138e4161cb | ||
|
|
9664be3916 | ||
|
|
299ed3ec71 | ||
|
|
00792aa1c0 | ||
|
|
097d61499e | ||
|
|
053e1952e8 | ||
|
|
6b8aaafbc3 | ||
|
|
baedab9658 | ||
|
|
b20bffc634 | ||
|
|
0572c4a6b7 | ||
|
|
3077b9122c | ||
|
|
b0067a5394 | ||
|
|
1e74de9af1 | ||
|
|
403b282b8b | ||
|
|
0087a7806e | ||
|
|
7b0276ffce | ||
|
|
98603fdc8a | ||
|
|
3595da8ca5 | ||
|
|
4dfb13d356 | ||
|
|
ed7e0965d3 | ||
|
|
6b9dbce1d1 | ||
|
|
89e09bde2a | ||
|
|
71a9087f05 | ||
|
|
4f5bb0a747 | ||
|
|
404ab7f4cb | ||
|
|
1bed9c1fc2 | ||
|
|
874aa19a85 | ||
|
|
d828d7148f | ||
|
|
e9f78e91ab | ||
|
|
6e261d4537 | ||
|
|
bc8aee9648 | ||
|
|
82bc14973f | ||
|
|
8d9fbc4980 | ||
|
|
047489d781 | ||
|
|
f10b49181a | ||
|
|
21ecb2e75c | ||
|
|
116b45ab1e | ||
|
|
530ba71802 | ||
|
|
6ea84f1868 | ||
|
|
b2db7ee982 | ||
|
|
4a76c38ca2 | ||
|
|
35beee5238 | ||
|
|
0771e20f09 | ||
|
|
b29c1ba744 | ||
|
|
ffea67c4d4 | ||
|
|
da27984f60 | ||
|
|
76ab38c293 | ||
|
|
6fd1f76c34 | ||
|
|
dfa264038d | ||
|
|
1340f023f9 | ||
|
|
7464125591 | ||
|
|
862c1c75d7 | ||
|
|
30fd19148f | ||
|
|
6b2491898a | ||
|
|
db04081491 | ||
|
|
03fe978070 | ||
|
|
41f2093c87 | ||
|
|
2cde36472e | ||
|
|
c6e87d10b5 | ||
|
|
17234658c8 | ||
|
|
b842379fef | ||
|
|
8b92339f42 | ||
|
|
671ff5362b | ||
|
|
4b52e9e01a | ||
|
|
b6ce1780ee | ||
|
|
cf6454cad6 | ||
|
|
53d80f14c9 | ||
|
|
c6cc0d6b3f | ||
|
|
27434c81e9 | ||
|
|
a51ce79fcf | ||
|
|
7135a2e90d | ||
|
|
4be85faf42 | ||
|
|
b0034d9a7f | ||
|
|
1e02a6c744 | ||
|
|
781b299c80 | ||
|
|
717ce706a5 | ||
|
|
012de9cd8f | ||
|
|
f117805a43 | ||
|
|
5f0390417e | ||
|
|
06ea5198bf | ||
|
|
6d67d08a2b | ||
|
|
aa871ef32e | ||
|
|
5791513e93 | ||
|
|
22c3d2386e | ||
|
|
237190216a | ||
|
|
d92b551b4a | ||
|
|
5226ba5eea | ||
|
|
21e50dd6ec | ||
|
|
1cf1012236 | ||
|
|
703496c543 | ||
|
|
f8e1cf060e | ||
|
|
0413be10c0 | ||
|
|
728d6348db | ||
|
|
df9cc45dea | ||
|
|
05db852d35 | ||
|
|
e8d2ffafaa | ||
|
|
4eec8994ef | ||
|
|
0258032687 | ||
|
|
2c91a14ee7 | ||
|
|
9e4786989d | ||
|
|
9d4d0aac04 | ||
|
|
7ea17d2597 | ||
|
|
71b339bad2 | ||
|
|
534de68571 | ||
|
|
29ae29acf9 | ||
|
|
fedf396ed3 | ||
|
|
60819426c1 | ||
|
|
84ab22ed6b | ||
|
|
6ee5e4054c | ||
|
|
a16132ba7d | ||
|
|
4bde90909a | ||
|
|
590bb3f597 | ||
|
|
110a4d4d82 | ||
|
|
a9898bb895 | ||
|
|
e6718e2234 | ||
|
|
a98f42b657 | ||
|
|
8394533292 | ||
|
|
f5e0e308b9 | ||
|
|
9a6dd78778 | ||
|
|
66a7ab60e2 | ||
|
|
e145839479 | ||
|
|
c89748678f | ||
|
|
c2a547db04 | ||
|
|
2a88f60800 | ||
|
|
d55b98d49e | ||
|
|
bcb2c84cfa | ||
|
|
34edb83ab8 | ||
|
|
068bb15c54 | ||
|
|
7241334173 | ||
|
|
c8f75feb1d | ||
|
|
6c5afb5550 | ||
|
|
4d2332b8ca | ||
|
|
447b92702c | ||
|
|
de742e58dc | ||
|
|
ccc703ae02 | ||
|
|
de642089d2 | ||
|
|
dab04a5fde | ||
|
|
201575b246 | ||
|
|
5ee354cea1 | ||
|
|
85dd0703b9 | ||
|
|
d2162a8e5d | ||
|
|
e557f0f0c1 | ||
|
|
c17712427f | ||
|
|
fef3ebedfd | ||
|
|
c2a637717d | ||
|
|
2491875d71 | ||
|
|
caedd5cb02 | ||
|
|
3a77adf1d7 | ||
|
|
04dbdccaff | ||
|
|
64bc4e2f6f | ||
|
|
4976fa0801 | ||
|
|
b4cc349fcc | ||
|
|
8e0de24007 | ||
|
|
1d4ff13a58 | ||
|
|
4b33374c88 | ||
|
|
2154ebc78e | ||
|
|
5b52f6bc4c | ||
|
|
6a88f210ed | ||
|
|
c688ce15a7 | ||
|
|
753402a960 | ||
|
|
46c148edbd | ||
|
|
1ea9ae8c14 | ||
|
|
379ea66e0d | ||
|
|
73bcaf8d90 | ||
|
|
2ebef19019 | ||
|
|
ddc0f220df | ||
|
|
ea6d401f66 | ||
|
|
9477520291 | ||
|
|
def2785528 | ||
|
|
a3ac7d6c76 | ||
|
|
05a59bd54d | ||
|
|
433a1a5ea6 | ||
|
|
2a687c360a | ||
|
|
516468ef58 | ||
|
|
76641c9225 | ||
|
|
9d8c2a2487 | ||
|
|
e853c19868 | ||
|
|
3767232a34 | ||
|
|
13d028db2f | ||
|
|
57477f7f45 | ||
|
|
93502f1946 | ||
|
|
02471a1b11 | ||
|
|
0d2abb800f | ||
|
|
a227188fae | ||
|
|
8f284df2f5 | ||
|
|
47f4ce2ffe | ||
|
|
1726590f14 | ||
|
|
56a328e8cb | ||
|
|
dfd04a3e67 | ||
|
|
841275dcef | ||
|
|
0302182b3c | ||
|
|
da42d2b8d6 | ||
|
|
a0c91706e2 | ||
|
|
0b95691902 | ||
|
|
e3a7855ce0 | ||
|
|
164459390b | ||
|
|
8c7886aca6 | ||
|
|
64b0f9e85c | ||
|
|
1f6a7848f7 | ||
|
|
9992a5d4cc | ||
|
|
5714a48d9b | ||
|
|
7c477c4a0e | ||
|
|
8def5650cd | ||
|
|
c98cae2e31 | ||
|
|
02bb8528b6 | ||
|
|
6c91d1ab33 | ||
|
|
f3fabbc093 | ||
|
|
6822478f7c | ||
|
|
ee59e9ada2 | ||
|
|
00d17bb5cc | ||
|
|
2c9806a2fd | ||
|
|
dde260bef5 | ||
|
|
91aef6139f | ||
|
|
01983ee081 | ||
|
|
09c6416bff | ||
|
|
6683b9b293 | ||
|
|
91c8466022 | ||
|
|
d8f9e8ce85 | ||
|
|
8ec4a9ab93 | ||
|
|
12df5053ab | ||
|
|
3a78db20ad | ||
|
|
1eaf501196 | ||
|
|
1a64e26400 | ||
|
|
461b727e3f | ||
|
|
8f35b43d38 | ||
|
|
134eaddf9a | ||
|
|
2b32f7ee83 | ||
|
|
dfceb6b41d | ||
|
|
f5aa0cb525 | ||
|
|
367853d6a6 | ||
|
|
5a17a2c1ec | ||
|
|
a69bef244c | ||
|
|
841b72482e | ||
|
|
8d34db1ead | ||
|
|
00ea6e06c3 | ||
|
|
f49a054d38 | ||
|
|
bb2432755e | ||
|
|
04da77a004 | ||
|
|
1335a5687e | ||
|
|
5f5b815cca | ||
|
|
e8734bef7c | ||
|
|
53f9166783 | ||
|
|
6c6bc95452 | ||
|
|
f81faa9219 | ||
|
|
11d18f1fe5 | ||
|
|
14c1ea96e3 | ||
|
|
9b04daa026 | ||
|
|
54074cc4a4 | ||
|
|
8eb2c6f8bd | ||
|
|
8b2a8b906c | ||
|
|
5119815aea | ||
|
|
060d27f9e7 | ||
|
|
76ca8d4fa3 | ||
|
|
959bdc6d6a | ||
|
|
5a0a792cc7 | ||
|
|
a5bdcad97b | ||
|
|
de46063893 | ||
|
|
70ea338e4e | ||
|
|
abf2d3b857 | ||
|
|
5b57026d00 | ||
|
|
d6fadad88f | ||
|
|
ddc9693916 | ||
|
|
6283f771be | ||
|
|
802ee07407 | ||
|
|
6a48d3fdb0 | ||
|
|
4a02be7d10 | ||
|
|
837f1c396e | ||
|
|
1b751c7d3e | ||
|
|
b191930b0c | ||
|
|
7b746e514d | ||
|
|
f6f548e7fb | ||
|
|
ab6cbbb1b0 | ||
|
|
194990c6c0 | ||
|
|
761d9996f6 | ||
|
|
e238de9de2 | ||
|
|
b648e8cddc | ||
|
|
8993e6d60b |
492
.all-contributorsrc
Normal file
492
.all-contributorsrc
Normal file
@@ -0,0 +1,492 @@
|
||||
{
|
||||
"files": [
|
||||
"README.md"
|
||||
],
|
||||
"imageSize": 100,
|
||||
"commit": false,
|
||||
"contributors": [
|
||||
{
|
||||
"login": "devfaz",
|
||||
"name": "Fabian Zimmermann",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/4060372?v=4",
|
||||
"profile": "https://github.com/devfaz",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "angelnu",
|
||||
"name": "Vegetto",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/4406403?v=4",
|
||||
"profile": "https://github.com/angelnu",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "trly",
|
||||
"name": "Travis Lyons",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/212733?v=4",
|
||||
"profile": "https://github.com/trly",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "bjw-s",
|
||||
"name": "Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/6213398?v=4",
|
||||
"profile": "https://github.com/bjw-s",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "Ornias1993",
|
||||
"name": "Kjeld Schouten-Lebbing",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/7613738?v=4",
|
||||
"profile": "http://schouten-lebbing.nl",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "rolfberkenbosch",
|
||||
"name": "Rolf Berkenbosch",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/30292281?v=4",
|
||||
"profile": "https://www.meetup.com/nl-NL/I-I-Inspiratie-Innovatie/",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "auricom",
|
||||
"name": "auricom",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/27022259?v=4",
|
||||
"profile": "https://github.com/auricom",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "acjohnson",
|
||||
"name": "Aaron Johnson",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1386238?v=4",
|
||||
"profile": "http://aaronjohnson.io",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "brujoand",
|
||||
"name": "Anders Brujordet",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/124421?v=4",
|
||||
"profile": "https://github.com/brujoand",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "Diaoul",
|
||||
"name": "Antoine Bertin",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/319220?v=4",
|
||||
"profile": "https://github.com/Diaoul",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "onedr0p",
|
||||
"name": "ᗪєνιη ᗷυнʟ",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/213795?v=4",
|
||||
"profile": "https://github.com/onedr0p",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "Ardetus",
|
||||
"name": "Ardetus",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/2253935?v=4",
|
||||
"profile": "https://github.com/Ardetus",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "dynamicat",
|
||||
"name": "Chris Golden",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/12977282?v=4",
|
||||
"profile": "https://github.com/dynamicat",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "psychopenguin",
|
||||
"name": "Fabio Brito d'Araujo e Oliveira",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1420115?v=4",
|
||||
"profile": "https://github.com/psychopenguin",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "allenporter",
|
||||
"name": "Allen Porter",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/6026418?v=4",
|
||||
"profile": "https://github.com/allenporter",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "rasmustwh",
|
||||
"name": "Rasmus Hermansen",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/2485005?v=4",
|
||||
"profile": "https://github.com/rasmustwh",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "FlipEnergy",
|
||||
"name": "Dennis Zhang",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/7714381?v=4",
|
||||
"profile": "http://pleasenoddos.com",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "cbergmann",
|
||||
"name": "Clemens Bergmann",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/112864?v=4",
|
||||
"profile": "https://cbergmann.net",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "n0rad",
|
||||
"name": "Arnaud Lemaire",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/541709?v=4",
|
||||
"profile": "http://norad.fr",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "dixneuf19",
|
||||
"name": "Julen Dixneuf",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1516762?v=4",
|
||||
"profile": "https://github.com/dixneuf19",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "DirtyCajunRice",
|
||||
"name": "Nicholas St. Germain",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/15788890?v=4",
|
||||
"profile": "https://cajun.pro",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "rwaltr",
|
||||
"name": "Ryan Walter",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/11428125?v=4",
|
||||
"profile": "https://blog.waltr.tech",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "ChipWolf",
|
||||
"name": "Chip Wolf ",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/3164166?v=4",
|
||||
"profile": "https://chipwolf.uk",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "jr0dd",
|
||||
"name": "jr0dd",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/285797?v=4",
|
||||
"profile": "https://github.com/jr0dd",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "beshkenadze",
|
||||
"name": "Aleksandr Beshkenadze",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/167288?v=4",
|
||||
"profile": "https://4xxi.com",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "unasuke",
|
||||
"name": "Yusuke Nakamura",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/4487291?v=4",
|
||||
"profile": "https://unasuke.com",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "brandon099",
|
||||
"name": "Brandon Clifford",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1628223?v=4",
|
||||
"profile": "https://github.com/brandon099",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "Truxnell",
|
||||
"name": "Nat Allan",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/19149206?v=4",
|
||||
"profile": "http://www.voltaicforge.com",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "jmmaloney4",
|
||||
"name": "Jack Maloney",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/5781547?v=4",
|
||||
"profile": "https://github.com/jmmaloney4",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "zamnuts",
|
||||
"name": "Andrew Zammit",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/4969305?v=4",
|
||||
"profile": "https://github.com/zamnuts",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "TuxOtaku",
|
||||
"name": "Ryan Draga",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/3494484?v=4",
|
||||
"profile": "https://boxingoctop.us",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "jkroepke",
|
||||
"name": "Jan-Otto Kröpke",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1560587?v=4",
|
||||
"profile": "https://github.com/jkroepke",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "chris-sanders",
|
||||
"name": "Chris Sanders",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/813115?v=4",
|
||||
"profile": "https://github.com/chris-sanders",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "alexwaibel",
|
||||
"name": "Alex Waibel",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/7026879?v=4",
|
||||
"profile": "https://waibel.us",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "simoncaron",
|
||||
"name": "Simon Caron",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/8635747?v=4",
|
||||
"profile": "https://github.com/simoncaron",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "Kimi450",
|
||||
"name": "Karan Samani",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/24758074?v=4",
|
||||
"profile": "https://github.com/Kimi450",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "reitermarkus",
|
||||
"name": "Markus Reiter",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1309829?v=4",
|
||||
"profile": "http://reitermark.us",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "brenix",
|
||||
"name": "Paul N",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1131159?v=4",
|
||||
"profile": "https://github.com/brenix",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "varac",
|
||||
"name": "Varac",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/488213?v=4",
|
||||
"profile": "https://www.varac.net",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "CoolMintChocolate",
|
||||
"name": "CoolMintChocolate",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/70276626?v=4",
|
||||
"profile": "https://github.com/CoolMintChocolate",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "PixelJonas",
|
||||
"name": "Jonas Janz",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/5434875?v=4",
|
||||
"profile": "https://github.com/PixelJonas",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "titilambert",
|
||||
"name": "Thibault Cohen",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/47721?v=4",
|
||||
"profile": "https://twitter.com/ttb_lt",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "dangmai",
|
||||
"name": "Dang Mai",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1305527?v=4",
|
||||
"profile": "http://dangmai.net",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "larivierec",
|
||||
"name": "Christopher Larivière",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/3633214?v=4",
|
||||
"profile": "https://github.com/larivierec",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "wrmilling",
|
||||
"name": "Winston R. Milling",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/6162814?v=4",
|
||||
"profile": "https://Winston.Milli.ng",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "pysen",
|
||||
"name": "Arthur",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/3030145?v=4",
|
||||
"profile": "https://github.com/pysen",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "samip5",
|
||||
"name": "Skyler Mäntysaari",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1703002?v=4",
|
||||
"profile": "https://samip.dev",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "disconn3ct",
|
||||
"name": "Dis",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/397465?v=4",
|
||||
"profile": "https://github.com/disconn3ct",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "rogerrum",
|
||||
"name": "Roger Rumao",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/10350796?v=4",
|
||||
"profile": "https://github.com/rogerrum",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "marcelloceschia",
|
||||
"name": "Marcello Ceschia",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/203448?v=4",
|
||||
"profile": "https://github.com/marcelloceschia",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "roobre",
|
||||
"name": "Roberto Santalla",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/969721?v=4",
|
||||
"profile": "https://www.carrierlost.net",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "greghaskins",
|
||||
"name": "Greg Haskins",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/285310?v=4",
|
||||
"profile": "http://www.greghaskins.com",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "jlrgraham",
|
||||
"name": "jlrgraham",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/2184689?v=4",
|
||||
"profile": "https://github.com/jlrgraham",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
}
|
||||
],
|
||||
"contributorsPerLine": 7,
|
||||
"projectName": "charts",
|
||||
"projectOwner": "k8s-at-home",
|
||||
"repoType": "github",
|
||||
"repoHost": "https://github.com",
|
||||
"skipCi": true
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.154.0/containers/ruby/.devcontainer/base.Dockerfile
|
||||
|
||||
# [Choice] Ruby version: 2, 2.7, 2.6, 2.5
|
||||
ARG VARIANT="2"
|
||||
FROM mcr.microsoft.com/vscode/devcontainers/ruby:0-${VARIANT}
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
COPY Gemfile /tmp/Gemfile
|
||||
|
||||
RUN \
|
||||
apt-get update \
|
||||
&& \
|
||||
apt-get -y install --no-install-recommends \
|
||||
jq \
|
||||
libjq-dev \
|
||||
libonig-dev \
|
||||
gnupg2 \
|
||||
&& \
|
||||
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b /usr/local/bin \
|
||||
&& \
|
||||
curl -fsSL https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | /bin/bash - \
|
||||
&& \
|
||||
bundle config set system 'true' \
|
||||
&& bundle install --gemfile /tmp/Gemfile \
|
||||
&& rm /tmp/Gemfile
|
||||
@@ -1,33 +0,0 @@
|
||||
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
|
||||
// https://github.com/microsoft/vscode-dev-containers/tree/v0.154.0/containers/ruby
|
||||
{
|
||||
"name": "Ruby",
|
||||
"build": {
|
||||
"context": "..",
|
||||
"dockerfile": "Dockerfile",
|
||||
"args": {
|
||||
// Update 'VARIANT' to pick a Ruby version: 2, 2.7, 2.6, 2.5
|
||||
"VARIANT": "2.7",
|
||||
}
|
||||
},
|
||||
|
||||
// Set *default* container specific settings.json values on container create.
|
||||
"settings": {
|
||||
"terminal.integrated.shell.linux": "/bin/bash"
|
||||
},
|
||||
|
||||
// Add the IDs of extensions you want installed when the container is created.
|
||||
"extensions": [
|
||||
"ms-kubernetes-tools.vscode-kubernetes-tools",
|
||||
"rebornix.Ruby"
|
||||
],
|
||||
|
||||
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
||||
// "forwardPorts": [],
|
||||
|
||||
// Use 'postCreateCommand' to run commands after the container is created.
|
||||
"postCreateCommand": "export RUBYJQ_USE_SYSTEM_LIBRARIES=1 && bundle install",
|
||||
|
||||
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
|
||||
"remoteUser": "vscode"
|
||||
}
|
||||
3
.github/PULL_REQUEST_TEMPLATE.md
vendored
3
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -34,7 +34,6 @@ Also don't be worried if the request is closed or not integrated sometimes our p
|
||||
**Checklist** <!-- [Place an '[X]' (no spaces) in all applicable fields. Please remove unrelated fields.] -->
|
||||
- [ ] Chart version bumped in `Chart.yaml` according to [semver](http://semver.org/).
|
||||
- [ ] Title of the PR starts with chart name (e.g. `[home-assistant]`)
|
||||
- [ ] (optional) Chart is using our [common](https://github.com/k8s-at-home/charts/tree/master/charts/common) library as a dependency.
|
||||
- [ ] (optional) Variables are documented in the README.md
|
||||
- [ ] Variables are documented in the README.md (this can be done with using our helm-docs wrapper `./hack/gen-helm-docs.sh stable <chart>`)
|
||||
|
||||
<!-- 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 -->
|
||||
|
||||
22
.github/ct-install.yaml
vendored
22
.github/ct-install.yaml
vendored
@@ -2,13 +2,25 @@ remote: origin
|
||||
target-branch: master
|
||||
helm-extra-args: --timeout 600s
|
||||
chart-dirs:
|
||||
- charts
|
||||
- charts/incubator
|
||||
- charts/stable
|
||||
excluded-charts:
|
||||
- alertmanager-bot
|
||||
- dnsmadeeasy-webhook
|
||||
- ser2sock
|
||||
- zigbee2mqtt
|
||||
- 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
|
||||
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
|
||||
|
||||
6
.github/ct-lint.yaml
vendored
6
.github/ct-lint.yaml
vendored
@@ -2,9 +2,13 @@ remote: origin
|
||||
target-branch: master
|
||||
helm-extra-args: --timeout 600s
|
||||
chart-dirs:
|
||||
- charts
|
||||
- charts/incubator
|
||||
- charts/stable
|
||||
excluded-charts:
|
||||
chart-repos:
|
||||
- bitnami=https://charts.bitnami.com/bitnami
|
||||
- k8s-at-home-libraries=https://library-charts.k8s-at-home.com
|
||||
- k8s-at-home=https://k8s-at-home.com/charts
|
||||
- jetstack=https://charts.jetstack.io
|
||||
additional-commands:
|
||||
- ./hack/check-releasenotes.sh {{ .Path }}
|
||||
|
||||
49
.github/label-commenter-config.yml
vendored
Normal file
49
.github/label-commenter-config.yml
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
---
|
||||
labels:
|
||||
- name: kind:incomplete-template
|
||||
labeled:
|
||||
issue:
|
||||
body: |
|
||||
:wave: @{{ issue.user.login }}, please follow the template provided.
|
||||
action: close
|
||||
locking: lock
|
||||
lock_reason: resolved
|
||||
|
||||
- name: kind:support
|
||||
labeled:
|
||||
issue:
|
||||
body: |
|
||||
:wave: @{{ issue.user.login }}, we use the issue tracker exclusively
|
||||
for bug reports and feature requests. However, this issue appears
|
||||
to be a support request. Please use our support channels
|
||||
to get help.
|
||||
- [Docs](https://docs.k8s-at-home.com/)
|
||||
- [Discord](https://discord.gg/sTMX7Vh)
|
||||
- [GitHub Discussions](https://github.com/k8s-at-home/organization/discussions)
|
||||
action: close
|
||||
|
||||
- name: kind:incomplete-docs
|
||||
labeled:
|
||||
pr:
|
||||
body: |
|
||||
:wave: @{{ pull_request.user.login }}, thanks for taking the time to submit this PR. 🙏🏽
|
||||
|
||||
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
|
||||
- [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!
|
||||
11
.github/renovate.json5
vendored
11
.github/renovate.json5
vendored
@@ -16,10 +16,16 @@
|
||||
"packageRules": [
|
||||
// Setup datasources
|
||||
{
|
||||
"datasources": ["helm"],
|
||||
"matchDatasources": ["helm"],
|
||||
"commitMessageTopic": "Helm chart {{depName}}",
|
||||
"separateMinorPatch": true
|
||||
},
|
||||
// Custom version schemes
|
||||
{
|
||||
"matchDatasources": ["github-tags"],
|
||||
"matchPackageNames": ["potiuk/get-workflow-origin"],
|
||||
"versioning": "regex:^v(?<major>\\d+)_(?<minor>\\d+)(_(?<patch>\\d+))?$"
|
||||
},
|
||||
//
|
||||
// Common library dep
|
||||
//
|
||||
@@ -29,7 +35,8 @@
|
||||
"updateTypes": ["major"],
|
||||
"bumpVersion": "major",
|
||||
"labels": ["dependency/major"],
|
||||
"packageNames": ["common"]
|
||||
"packageNames": ["common"],
|
||||
"groupName": ["internal major dep"]
|
||||
},
|
||||
{
|
||||
"updateTypes": ["minor"],
|
||||
|
||||
32
.github/stale.yml
vendored
32
.github/stale.yml
vendored
@@ -1,32 +0,0 @@
|
||||
# Configuration for probot-stale - https://github.com/probot/stale
|
||||
|
||||
# Number of days of inactivity before an Issue or Pull Request becomes stale
|
||||
daysUntilStale: 45
|
||||
|
||||
# Number of days of inactivity before a stale Issue or Pull Request is closed.
|
||||
daysUntilClose: 5
|
||||
|
||||
# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
|
||||
exemptLabels:
|
||||
- on-hold
|
||||
- pinned
|
||||
|
||||
# Label to use when marking as stale
|
||||
staleLabel: stale
|
||||
|
||||
issues:
|
||||
# Comment to post when marking as stale. Set to `false` to disable
|
||||
markComment: >
|
||||
This Issue has been automatically marked as "stale" because it has not had recent activity (for 45 days). It will be closed if no further activity occurs. Thanks for the feedback.
|
||||
# Comment to post when closing a stale Issue or Pull Request.
|
||||
closeComment: >
|
||||
Due to the lack of activity in the last 5 days since it was marked as "stale", we proceed to close this Issue. Do not hesitate to reopen it later if necessary.
|
||||
pulls:
|
||||
# Comment to post when marking as stale. Set to `false` to disable
|
||||
markComment: >
|
||||
This Pull Request has been automatically marked as "stale" because it has not had recent activity (for 45 days). It will be closed if no further activity occurs. Thank you for your contribution.
|
||||
# Comment to post when closing a stale Issue or Pull Request.
|
||||
closeComment: >
|
||||
Due to the lack of activity in the last 5 days since it was marked as "stale", we proceed to close this Pull Request. Do not hesitate to reopen it later if necessary.
|
||||
# Limit the number of actions per hour, from 1-30. Default is 30
|
||||
limitPerRun: 30
|
||||
48
.github/workflows/charts-helm-docs.yaml
vendored
48
.github/workflows/charts-helm-docs.yaml
vendored
@@ -1,48 +0,0 @@
|
||||
name: "Charts: helm-docs"
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "0 0 * * *"
|
||||
|
||||
jobs:
|
||||
update-helm-docs:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install Helm
|
||||
uses: azure/setup-helm@v1
|
||||
with:
|
||||
version: v3.5.3
|
||||
|
||||
- uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.7
|
||||
|
||||
- name: Install helm-docs
|
||||
run: |
|
||||
wget -O /tmp/helm-docs.deb https://github.com/norwoodj/helm-docs/releases/download/v1.5.0/helm-docs_1.5.0_linux_amd64.deb
|
||||
sudo dpkg -i /tmp/helm-docs.deb
|
||||
|
||||
- name: Update Helm docs
|
||||
run: |
|
||||
./hack/gen-helm-docs.sh
|
||||
|
||||
- name: Create pull request for helm-docs
|
||||
uses: peter-evans/create-pull-request@v3
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
branch: "helm-docs/ci"
|
||||
delete-branch: true
|
||||
title: "chore(docs): update helm-docs [ci-skip]"
|
||||
signoff: true
|
||||
committer: "${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>"
|
||||
author: "${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>"
|
||||
commit-message: "chore(docs): update helm-docs [ci-skip]"
|
||||
body: |
|
||||
Signed-off-by: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
|
||||
labels: helm-docs
|
||||
111
.github/workflows/charts-lint-test.yaml
vendored
111
.github/workflows/charts-lint-test.yaml
vendored
@@ -1,111 +0,0 @@
|
||||
name: "Charts: Lint and test"
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'charts/**'
|
||||
- '!charts/**/README.md'
|
||||
- '!charts/**/README.md.gotmpl'
|
||||
- '!charts/**/README_CHANGELOG.md.gotmpl'
|
||||
- '!charts/**/README_CONFIG.md.gotmpl'
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
if: "!contains(github.event.head_commit.message, '[ci-skip]')"
|
||||
runs-on: ubuntu-20.04
|
||||
outputs:
|
||||
changed: ${{ steps.list-changed.outputs.changed }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install Helm
|
||||
uses: azure/setup-helm@v1
|
||||
with:
|
||||
version: v3.5.3
|
||||
|
||||
- uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.7
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@v2.0.1
|
||||
|
||||
- name: Run chart-testing (list-changed)
|
||||
id: list-changed
|
||||
run: |
|
||||
changed=$(ct list-changed --config .github/ct-lint.yaml)
|
||||
if [[ -n "$changed" ]]; then
|
||||
echo "::set-output name=changed::true"
|
||||
fi
|
||||
|
||||
- name: Run chart-testing (lint)
|
||||
id: lint
|
||||
run: ct lint --config .github/ct-lint.yaml
|
||||
if: steps.list-changed.outputs.changed == 'true'
|
||||
|
||||
unittest:
|
||||
if: "!contains(github.event.head_commit.message, '[ci-skip]')"
|
||||
runs-on: ubuntu-20.04
|
||||
needs: lint
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install Dev tools
|
||||
run: sudo apt-get update && sudo apt-get install -y jq libjq-dev
|
||||
|
||||
- name: Install Helm
|
||||
uses: azure/setup-helm@v1
|
||||
with:
|
||||
version: v3.5.3
|
||||
|
||||
- name: Install Ruby
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: 2.7
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
export RUBYJQ_USE_SYSTEM_LIBRARIES=1
|
||||
bundle install
|
||||
|
||||
- name: Run tests
|
||||
run: |
|
||||
bundle exec m -r test/charts
|
||||
|
||||
install:
|
||||
if: "!contains(github.event.head_commit.message, '[ci-skip]')"
|
||||
runs-on: ubuntu-20.04
|
||||
needs: lint
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install Helm
|
||||
uses: azure/setup-helm@v1
|
||||
with:
|
||||
version: v3.5.3
|
||||
|
||||
- uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.7
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@v2.0.1
|
||||
|
||||
- name: Create k3d cluster
|
||||
uses: nolar/setup-k3d-k3s@v1
|
||||
with:
|
||||
version: v1.19
|
||||
if: needs.lint.outputs.changed == 'true'
|
||||
|
||||
- name: Run chart-testing (install)
|
||||
run: ct install --config .github/ct-install.yaml
|
||||
if: needs.lint.outputs.changed == 'true'
|
||||
84
.github/workflows/charts-release.yaml
vendored
84
.github/workflows/charts-release.yaml
vendored
@@ -1,59 +1,87 @@
|
||||
name: "Charts: Release"
|
||||
|
||||
concurrency: helm-release
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
paths:
|
||||
- 'charts/**'
|
||||
- '!charts/**/README.md'
|
||||
- '!charts/**/README.md.gotmpl'
|
||||
- '!charts/**/README_CHANGELOG.md.gotmpl'
|
||||
- '!charts/**/README_CONFIG.md.gotmpl'
|
||||
|
||||
jobs:
|
||||
pre-release:
|
||||
if: "!contains(github.event.head_commit.message, '[ci-skip]')"
|
||||
runs-on: ubuntu-20.04
|
||||
timeout-minutes: 5
|
||||
steps:
|
||||
- name: Block concurrent jobs
|
||||
uses: softprops/turnstyle@v1
|
||||
with:
|
||||
continue-after-seconds: 180
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
release:
|
||||
if: "!contains(github.event.head_commit.message, '[ci-skip]')"
|
||||
needs: pre-release
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Block concurrent jobs
|
||||
uses: softprops/turnstyle@v1
|
||||
- name: Get k8s-at-home token
|
||||
id: get-app-token
|
||||
uses: getsentry/action-github-app-token@v1
|
||||
with:
|
||||
continue-after-seconds: 180
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
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: Configure Git
|
||||
run: |
|
||||
git config user.name "$GITHUB_ACTOR"
|
||||
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
||||
git config user.name "k8s-at-home[bot]"
|
||||
git config user.email "k8s-at-home[bot]@users.noreply.github.com"
|
||||
|
||||
- name: Install Helm
|
||||
uses: azure/setup-helm@v1
|
||||
with:
|
||||
version: v3.5.3
|
||||
version: v3.6.3
|
||||
|
||||
- name: Run chart-releaser
|
||||
uses: helm/chart-releaser-action@v1.2.0
|
||||
uses: helm/chart-releaser-action@v1.2.1
|
||||
with:
|
||||
charts_dir: charts/*
|
||||
charts_repo_url: https://k8s-at-home.com/charts/
|
||||
env:
|
||||
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||
CR_TOKEN: "${{ steps.get-app-token.outputs.token }}"
|
||||
CR_SKIP_EXISTING: "true"
|
||||
|
||||
generate-summary:
|
||||
name: Auto-generate charts summary
|
||||
runs-on: ubuntu-20.04
|
||||
needs:
|
||||
- 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: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
token: ${{ steps.get-app-token.outputs.token }}
|
||||
ref: master
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install yq
|
||||
uses: chrisdickinson/setup-yq@latest
|
||||
with:
|
||||
yq-version: v4.9.3
|
||||
|
||||
- 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
|
||||
|
||||
351
.github/workflows/charts-validate.yaml
vendored
Normal file
351
.github/workflows/charts-validate.yaml
vendored
Normal file
@@ -0,0 +1,351 @@
|
||||
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
|
||||
21
.github/workflows/invalid-template.yaml
vendored
21
.github/workflows/invalid-template.yaml
vendored
@@ -1,21 +0,0 @@
|
||||
---
|
||||
|
||||
name: 'Invalid Template'
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [labeled, unlabeled, reopened]
|
||||
|
||||
jobs:
|
||||
support:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: dessant/support-requests@v2
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
support-label: 'kind:invalid-template'
|
||||
issue-comment: >
|
||||
:wave: @{issue-author}, please follow the template provided.
|
||||
close-issue: true
|
||||
lock-issue: true
|
||||
issue-lock-reason: 'resolved'
|
||||
37
.github/workflows/metadata-label-commenter.yaml
vendored
Normal file
37
.github/workflows/metadata-label-commenter.yaml
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
name: 'Metadata: Label Commenter'
|
||||
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
- labeled
|
||||
- unlabeled
|
||||
pull_request_target:
|
||||
types:
|
||||
- labeled
|
||||
- unlabeled
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
comment:
|
||||
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 }}
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
token: ${{ steps.get-app-token.outputs.token }}
|
||||
ref: master
|
||||
|
||||
- uses: peaceiris/actions-label-commenter@v1
|
||||
with:
|
||||
github_token: ${{ steps.get-app-token.outputs.token }}
|
||||
71
.github/workflows/metadata-label-issues-prs.yaml
vendored
Normal file
71
.github/workflows/metadata-label-issues-prs.yaml
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
---
|
||||
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
Normal file
126
.github/workflows/metadata-label-pr-ci-status.yaml
vendored
Normal file
@@ -0,0 +1,126 @@
|
||||
---
|
||||
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"
|
||||
41
.github/workflows/pre-commit-check.yaml
vendored
Normal file
41
.github/workflows/pre-commit-check.yaml
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
name: "Pre-commit consistency check"
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.head_ref }}-precommit
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
pre-commit-check:
|
||||
name: Run pre-commit checks
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- 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
|
||||
36
.github/workflows/stale.yaml
vendored
Normal file
36
.github/workflows/stale.yaml
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
---
|
||||
name: "Mark or close stale issues and PRs"
|
||||
on:
|
||||
schedule:
|
||||
# Run the stalebot every day at 8pm UTC
|
||||
- cron: "00 20 * * *"
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/stale@v4
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
days-before-issue-stale: 90
|
||||
days-before-pr-stale: 90
|
||||
days-before-close: 14
|
||||
days-before-pr-close: 14
|
||||
stale-issue-message: >
|
||||
This issue has been automatically marked as stale because it has not had recent activity.
|
||||
It will be closed in two weeks if no further activity occurs.
|
||||
Thank you for your contributions.
|
||||
stale-pr-message: >
|
||||
This pull request has been automatically marked as stale because it has not had
|
||||
recent activity. It will be closed in two weeks if no further activity occurs.
|
||||
Thank you for your contributions.
|
||||
close-issue-message: >
|
||||
This issue has been automatically closed due to inactivity.
|
||||
Please re-open if this still requires investigation.
|
||||
close-pr-message: >
|
||||
This pull request has been automatically closed due to inactivity.
|
||||
Please re-open if these changes are still required.
|
||||
stale-pr-label: "stale"
|
||||
stale-issue-label: "stale"
|
||||
exempt-issue-labels: "keepalive"
|
||||
exempt-pr-labels: "keepalive"
|
||||
27
.github/workflows/support.yaml
vendored
27
.github/workflows/support.yaml
vendored
@@ -1,27 +0,0 @@
|
||||
---
|
||||
|
||||
name: 'Support requests'
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [labeled, unlabeled, reopened]
|
||||
|
||||
jobs:
|
||||
support:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: dessant/support-requests@v2
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
support-label: 'kind:support'
|
||||
issue-comment: >
|
||||
:wave: @{issue-author}, we use the issue tracker exclusively
|
||||
for bug reports and feature requests. However, this issue appears
|
||||
to be a support request. Please use our support channels
|
||||
to get help.
|
||||
- [Docs](https://docs.k8s-at-home.com/)
|
||||
- [Discord](https://discord.gg/sTMX7Vh)
|
||||
- [GitHub Discussions](https://github.com/k8s-at-home/organization/discussions)
|
||||
close-issue: true
|
||||
lock-issue: false
|
||||
issue-lock-reason: 'off-topic'
|
||||
5
.gitignore
vendored
5
.gitignore
vendored
@@ -7,10 +7,11 @@
|
||||
.devcontainer/
|
||||
|
||||
# Helm resources
|
||||
charts/*/Chart.lock
|
||||
charts/*/charts
|
||||
charts/**/Chart.lock
|
||||
charts/**/charts
|
||||
|
||||
# Other rsources
|
||||
.env
|
||||
.envrc
|
||||
Gemfile.lock
|
||||
angel.yaml
|
||||
|
||||
@@ -1,21 +1,17 @@
|
||||
# See https://pre-commit.com for more information
|
||||
repos:
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v3.4.0
|
||||
rev: v4.0.1
|
||||
hooks:
|
||||
- id: trailing-whitespace
|
||||
- id: end-of-file-fixer
|
||||
- id: fix-byte-order-marker
|
||||
- id: mixed-line-ending
|
||||
- id: check-merge-conflict
|
||||
- id: check-case-conflict
|
||||
|
||||
- repo: local
|
||||
- repo: https://github.com/Lucas-C/pre-commit-hooks
|
||||
rev: v1.1.10
|
||||
hooks:
|
||||
- id: ct-lint
|
||||
name: "Chart Test: Lint"
|
||||
language: docker_image
|
||||
pass_filenames: false
|
||||
types: ['file']
|
||||
files: '^charts/.*(\.ya?ml|\.tpl|\.helmignore|NOTES.txt)'
|
||||
entry: -u 0 quay.io/helmpack/chart-testing:v3.0.0 ct
|
||||
args:
|
||||
- lint
|
||||
- id: remove-crlf
|
||||
- id: remove-tabs
|
||||
|
||||
@@ -7,27 +7,35 @@ tasks:
|
||||
desc: create new chart
|
||||
cmds:
|
||||
- git checkout -b add-chart-{{.CHART}}
|
||||
- cp -r {{.GIT_ROOT}}/templates/chart {{.GIT_ROOT}}/charts/{{.CHART}}
|
||||
- ./.bin/go-replace -s '${CHARTNAME}' -r "{{.CHART}}" --path={{.GIT_ROOT}}/charts/{{.CHART}} --path-pattern='*.*'
|
||||
- cp -r {{.GIT_ROOT}}/templates/chart "{{.GIT_ROOT}}/charts/{{.CHART_TYPE}}/{{.CHART}}"
|
||||
- ./.bin/go-replace -s '${CHARTNAME}' -r "{{.CHART}}" --path="{{.GIT_ROOT}}/charts/{{.CHART_TYPE}}/{{.CHART}}" --path-pattern='*.*'
|
||||
- task: dependency
|
||||
- echo "Congratulations, charts/{{.CHART}} successfully generated, you can now edit chart informations ( Chart.yaml and values.yaml )"
|
||||
- echo "Congratulations, charts/{{.CHART_TYPE}}/{{.CHART}} successfully generated, you can now edit chart informations ( Chart.yaml and values.yaml )"
|
||||
status:
|
||||
- test -d {{.GIT_ROOT}}/charts/{{.CHART}}
|
||||
- test -d "{{.GIT_ROOT}}/charts/{{.CHART_TYPE}}/{{.CHART}}"
|
||||
deps:
|
||||
- check-chart
|
||||
silent: true
|
||||
|
||||
dependency:
|
||||
dir: "{{.GIT_ROOT}}/charts/{{.CHART}}"
|
||||
dir: "{{.GIT_ROOT}}/charts/{{.CHART_TYPE}}/{{.CHART}}"
|
||||
cmds:
|
||||
- test -d Chart.lock && rm Chart.lock || exit 0
|
||||
- test -d tmpcharts && rm -rf tmpcharts || exit 0
|
||||
- helm dependency update
|
||||
silent: true
|
||||
|
||||
dependency-cleanup:
|
||||
desc: clean up chart dependencies
|
||||
dir: "{{.GIT_ROOT}}/charts"
|
||||
cmds:
|
||||
- find {{.GIT_ROOT}}/charts/ -type f -name 'Chart.lock' -mindepth 1 -print0 | xargs -r -0 rm
|
||||
- find {{.GIT_ROOT}}/charts/ -type d -name 'charts' -mindepth 1 -print0 | xargs -r -0 rm -rf
|
||||
silent: true
|
||||
|
||||
lint:
|
||||
desc: lint your chart code
|
||||
dir: "{{.GIT_ROOT}}/charts/{{.CHART}}"
|
||||
dir: "{{.GIT_ROOT}}/charts/{{.CHART_TYPE}}/{{.CHART}}"
|
||||
cmds:
|
||||
- helm lint
|
||||
deps:
|
||||
@@ -37,21 +45,22 @@ tasks:
|
||||
ct-lint:
|
||||
desc: run `ct lint` on your chart code
|
||||
cmds:
|
||||
- docker run --rm -it --user $(id -u):$(id -g) -e "HELM_CONFIG_HOME=/tmp/helm" -e "HELM_CACHE_HOME=/tmp/helm" -v {{.GIT_ROOT}}:/ci -w /ci quay.io/helmpack/chart-testing:latest ct lint --charts charts/{{.CHART}} --config /ci/.github/ct-lint.yaml
|
||||
- docker run --rm -it --user $(id -u):$(id -g) -e "HELM_CONFIG_HOME=/tmp/helm" -e "HELM_CACHE_HOME=/tmp/helm" -v {{.GIT_ROOT}}:/ci -w /ci quay.io/helmpack/chart-testing:latest ct lint --charts "charts/{{.CHART_TYPE}}/{{.CHART}}" --config /ci/.github/ct-lint.yaml
|
||||
deps:
|
||||
- check-chart
|
||||
- lint
|
||||
|
||||
|
||||
helm-docs:
|
||||
desc: generate helm-docs
|
||||
dir: "{{.GIT_ROOT}}/hack"
|
||||
cmds:
|
||||
- ./gen-helm-docs.sh "{{.CHART}}"
|
||||
- ./gen-helm-docs.sh "{{.CHART_TYPE}}" "{{.CHART}}"
|
||||
deps:
|
||||
- check-chart
|
||||
|
||||
# Checks Parameters
|
||||
check-chart:
|
||||
cmds:
|
||||
- test ! -z "{{.CHART_TYPE}}" || (echo "Please define CHART_TYPE parameter"; exit 1)
|
||||
- test ! -z "{{.CHART}}" || (echo "Please define CHART parameter"; exit 1)
|
||||
silent: true
|
||||
|
||||
10
.vscode/extensions.json
vendored
10
.vscode/extensions.json
vendored
@@ -1,5 +1,7 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"ms-vscode-remote.remote-containers"
|
||||
]
|
||||
}
|
||||
"recommendations": [
|
||||
"ms-kubernetes-tools.vscode-kubernetes-tools",
|
||||
"ms-vscode-remote.remote-containers",
|
||||
"mrmlnc.vscode-json5"
|
||||
]
|
||||
}
|
||||
|
||||
34
.vscode/launch.json
vendored
34
.vscode/launch.json
vendored
@@ -1,34 +0,0 @@
|
||||
{
|
||||
// Use IntelliSense to learn about possible attributes.
|
||||
// Hover to view descriptions of existing attributes.
|
||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "UnitTest - active spec file only",
|
||||
"type": "Ruby",
|
||||
"request": "launch",
|
||||
"cwd": "${workspaceRoot}",
|
||||
"program": "/usr/local/bin/bundle",
|
||||
"args": [
|
||||
"exec",
|
||||
"m",
|
||||
"-r",
|
||||
"${relativeFile}"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "UnitTest - all spec files",
|
||||
"type": "Ruby",
|
||||
"request": "launch",
|
||||
"cwd": "${workspaceRoot}",
|
||||
"program": "/usr/local/bin/bundle",
|
||||
"args": [
|
||||
"exec",
|
||||
"m",
|
||||
"-r",
|
||||
"${workspaceFolder}/test/charts"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -118,11 +118,11 @@ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||
version 2.0, available at
|
||||
[https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0].
|
||||
|
||||
Community Impact Guidelines were inspired by
|
||||
Community Impact Guidelines were inspired by
|
||||
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
|
||||
|
||||
For answers to common questions about this code of conduct, see the FAQ at
|
||||
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available
|
||||
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available
|
||||
at [https://www.contributor-covenant.org/translations][translations].
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
|
||||
4
Gemfile
4
Gemfile
@@ -4,9 +4,9 @@ source 'https://rubygems.org'
|
||||
|
||||
group :test do
|
||||
gem 'm'
|
||||
gem 'minitest', "5.14.4"
|
||||
gem 'minitest', "5.15.0"
|
||||
gem 'minitest-implicit-subject'
|
||||
gem 'minitest-reporters', "1.4.3"
|
||||
gem 'pry', "0.14.0"
|
||||
gem 'pry', "0.14.1"
|
||||
gem 'ruby-jq'
|
||||
end
|
||||
|
||||
92
README.md
92
README.md
@@ -1,9 +1,13 @@
|
||||
# Helm charts
|
||||
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
||||
[](#contributors-)
|
||||
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
||||
|
||||
[](https://github.com/pre-commit/pre-commit)
|
||||
[](https://docs.k8s-at-home.com/)
|
||||
[](https://discord.gg/sTMX7Vh)
|
||||
[](https://github.com/pre-commit/pre-commit)
|
||||
[](https://github.com/renovatebot/renovate)
|
||||
[](https://taskfile.dev/#/)
|
||||
[](https://artifacthub.io/packages/search?repo=k8s-at-home)
|
||||
|
||||
## Usage
|
||||
@@ -34,3 +38,89 @@ See [CONTRIBUTING.md](./CONTRIBUTING.md)
|
||||
## License
|
||||
|
||||
[Apache 2.0 License](./LICENSE)
|
||||
|
||||
## Contributors ✨
|
||||
|
||||
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
|
||||
|
||||
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
|
||||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/devfaz"><img src="https://avatars.githubusercontent.com/u/4060372?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Fabian Zimmermann</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=devfaz" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/angelnu"><img src="https://avatars.githubusercontent.com/u/4406403?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Vegetto</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=angelnu" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/trly"><img src="https://avatars.githubusercontent.com/u/212733?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Travis Lyons</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=trly" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/bjw-s"><img src="https://avatars.githubusercontent.com/u/6213398?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=bjw-s" title="Code">💻</a></td>
|
||||
<td align="center"><a href="http://schouten-lebbing.nl"><img src="https://avatars.githubusercontent.com/u/7613738?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kjeld Schouten-Lebbing</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=Ornias1993" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://www.meetup.com/nl-NL/I-I-Inspiratie-Innovatie/"><img src="https://avatars.githubusercontent.com/u/30292281?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Rolf Berkenbosch</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=rolfberkenbosch" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/auricom"><img src="https://avatars.githubusercontent.com/u/27022259?v=4?s=100" width="100px;" alt=""/><br /><sub><b>auricom</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=auricom" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="http://aaronjohnson.io"><img src="https://avatars.githubusercontent.com/u/1386238?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Aaron Johnson</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=acjohnson" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/brujoand"><img src="https://avatars.githubusercontent.com/u/124421?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Anders Brujordet</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=brujoand" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/Diaoul"><img src="https://avatars.githubusercontent.com/u/319220?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Antoine Bertin</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=Diaoul" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/onedr0p"><img src="https://avatars.githubusercontent.com/u/213795?v=4?s=100" width="100px;" alt=""/><br /><sub><b>ᗪєνιη ᗷυнʟ</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=onedr0p" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/Ardetus"><img src="https://avatars.githubusercontent.com/u/2253935?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ardetus</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=Ardetus" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/dynamicat"><img src="https://avatars.githubusercontent.com/u/12977282?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Chris Golden</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=dynamicat" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/psychopenguin"><img src="https://avatars.githubusercontent.com/u/1420115?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Fabio Brito d'Araujo e Oliveira</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=psychopenguin" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/allenporter"><img src="https://avatars.githubusercontent.com/u/6026418?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Allen Porter</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=allenporter" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/rasmustwh"><img src="https://avatars.githubusercontent.com/u/2485005?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Rasmus Hermansen</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=rasmustwh" title="Code">💻</a></td>
|
||||
<td align="center"><a href="http://pleasenoddos.com"><img src="https://avatars.githubusercontent.com/u/7714381?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Dennis Zhang</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=FlipEnergy" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://cbergmann.net"><img src="https://avatars.githubusercontent.com/u/112864?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Clemens Bergmann</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=cbergmann" title="Code">💻</a></td>
|
||||
<td align="center"><a href="http://norad.fr"><img src="https://avatars.githubusercontent.com/u/541709?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Arnaud Lemaire</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=n0rad" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/dixneuf19"><img src="https://avatars.githubusercontent.com/u/1516762?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Julen Dixneuf</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=dixneuf19" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://cajun.pro"><img src="https://avatars.githubusercontent.com/u/15788890?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nicholas St. Germain</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=DirtyCajunRice" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://blog.waltr.tech"><img src="https://avatars.githubusercontent.com/u/11428125?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ryan Walter</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=rwaltr" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://chipwolf.uk"><img src="https://avatars.githubusercontent.com/u/3164166?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Chip Wolf </b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=ChipWolf" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/jr0dd"><img src="https://avatars.githubusercontent.com/u/285797?v=4?s=100" width="100px;" alt=""/><br /><sub><b>jr0dd</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=jr0dd" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://4xxi.com"><img src="https://avatars.githubusercontent.com/u/167288?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Aleksandr Beshkenadze</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=beshkenadze" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://unasuke.com"><img src="https://avatars.githubusercontent.com/u/4487291?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Yusuke Nakamura</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=unasuke" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/brandon099"><img src="https://avatars.githubusercontent.com/u/1628223?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Brandon Clifford</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=brandon099" title="Code">💻</a></td>
|
||||
<td align="center"><a href="http://www.voltaicforge.com"><img src="https://avatars.githubusercontent.com/u/19149206?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nat Allan</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=Truxnell" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/jmmaloney4"><img src="https://avatars.githubusercontent.com/u/5781547?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jack Maloney</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=jmmaloney4" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/zamnuts"><img src="https://avatars.githubusercontent.com/u/4969305?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Andrew Zammit</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=zamnuts" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://boxingoctop.us"><img src="https://avatars.githubusercontent.com/u/3494484?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ryan Draga</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=TuxOtaku" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/jkroepke"><img src="https://avatars.githubusercontent.com/u/1560587?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jan-Otto Kröpke</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=jkroepke" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/chris-sanders"><img src="https://avatars.githubusercontent.com/u/813115?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Chris Sanders</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=chris-sanders" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://waibel.us"><img src="https://avatars.githubusercontent.com/u/7026879?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Alex Waibel</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=alexwaibel" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/simoncaron"><img src="https://avatars.githubusercontent.com/u/8635747?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Simon Caron</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=simoncaron" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/Kimi450"><img src="https://avatars.githubusercontent.com/u/24758074?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Karan Samani</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=Kimi450" title="Code">💻</a></td>
|
||||
<td align="center"><a href="http://reitermark.us"><img src="https://avatars.githubusercontent.com/u/1309829?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Markus Reiter</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=reitermarkus" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/brenix"><img src="https://avatars.githubusercontent.com/u/1131159?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Paul N</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=brenix" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://www.varac.net"><img src="https://avatars.githubusercontent.com/u/488213?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Varac</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=varac" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/CoolMintChocolate"><img src="https://avatars.githubusercontent.com/u/70276626?v=4?s=100" width="100px;" alt=""/><br /><sub><b>CoolMintChocolate</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=CoolMintChocolate" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/PixelJonas"><img src="https://avatars.githubusercontent.com/u/5434875?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jonas Janz</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=PixelJonas" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://twitter.com/ttb_lt"><img src="https://avatars.githubusercontent.com/u/47721?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Thibault Cohen</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=titilambert" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="http://dangmai.net"><img src="https://avatars.githubusercontent.com/u/1305527?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Dang Mai</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=dangmai" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/larivierec"><img src="https://avatars.githubusercontent.com/u/3633214?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Christopher Larivière</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=larivierec" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://Winston.Milli.ng"><img src="https://avatars.githubusercontent.com/u/6162814?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Winston R. Milling</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=wrmilling" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/pysen"><img src="https://avatars.githubusercontent.com/u/3030145?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Arthur</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=pysen" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://samip.dev"><img src="https://avatars.githubusercontent.com/u/1703002?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Skyler Mäntysaari</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=samip5" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/disconn3ct"><img src="https://avatars.githubusercontent.com/u/397465?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Dis</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=disconn3ct" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/rogerrum"><img src="https://avatars.githubusercontent.com/u/10350796?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Roger Rumao</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=rogerrum" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/marcelloceschia"><img src="https://avatars.githubusercontent.com/u/203448?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Marcello Ceschia</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=marcelloceschia" title="Code">💻</a></td>
|
||||
<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>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- markdownlint-restore -->
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
||||
|
||||
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
|
||||
|
||||
172
charts/README.md
Normal file
172
charts/README.md
Normal file
@@ -0,0 +1,172 @@
|
||||
# Helm charts overview
|
||||
### Stable charts:
|
||||
| Chart | Description |
|
||||
| ----- | ----------- |
|
||||
| [adguard-home](stable/adguard-home) | DNS proxy as ad-blocker for local network |
|
||||
| [airsonic](stable/airsonic) | Airsonic is a Free and Open Source community driven media server |
|
||||
| [alertmanager-bot](stable/alertmanager-bot) | Bot for Prometheus Alertmanager |
|
||||
| [alertmanager-discord](stable/alertmanager-discord) | Webhook for Prometheus Alertmanager to listen for notifications and pushes them to Discord channel |
|
||||
| [amcrest2mqtt](stable/amcrest2mqtt) | Expose all events from an Amcrest device to an MQTT broker |
|
||||
| [anonaddy](stable/anonaddy) | Anonaddy: Anonymous email forwarding |
|
||||
| [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 |
|
||||
| [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 |
|
||||
| [blocky](stable/blocky) | DNS proxy as ad-blocker for local network |
|
||||
| [booksonic-air](stable/booksonic-air) | Booksonic is a platform for accessing the audibooks you own wherever you are |
|
||||
| [bookstack](stable/bookstack) | A simple, self-hosted, easy-to-use platform for organising and storing information. |
|
||||
| [calibre-web](stable/calibre-web) | Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. |
|
||||
| [calibre](stable/calibre) | Calibre is a powerful and easy to use e-book manager. |
|
||||
| [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. |
|
||||
| [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 |
|
||||
| [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 |
|
||||
| [esphome](stable/esphome) | ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems. |
|
||||
| [facebox](stable/facebox) | Facebox detects and identifies faces in photos. You can teach facebox with as little as one sample image. |
|
||||
| [filebrowser](stable/filebrowser) | filebrowser provides a file managing interface within a specified directory |
|
||||
| [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. |
|
||||
| [foundryvtt](stable/foundryvtt) | An easy-to-deploy Dockerized Foundry Virtual Tabletop server |
|
||||
| [freshrss](stable/freshrss) | FreshRSS is a self-hosted RSS feed aggregator |
|
||||
| [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. |
|
||||
| [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 |
|
||||
| [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. |
|
||||
| [heimdall](stable/heimdall) | An Application dashboard and launcher |
|
||||
| [home-assistant](stable/home-assistant) | Home Assistant |
|
||||
| [homebridge](stable/homebridge) | A lightweight NodeJS server that emulates the iOS HomeKit API |
|
||||
| [homer](stable/homer) | A dead simple static HOMepage for your servER to keep your services on hand, from a simple yaml configuration file. |
|
||||
| [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. |
|
||||
| [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 |
|
||||
| [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 |
|
||||
| [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. |
|
||||
| [minio-console](stable/minio-console) | A management console for minio server and operator |
|
||||
| [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 |
|
||||
| [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. |
|
||||
| [node-red](stable/node-red) | Node-RED is low-code programming for event-driven applications |
|
||||
| [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 |
|
||||
| [octoprint](stable/octoprint) | OctoPrint is the snappy web interface for your 3D printer |
|
||||
| [omada-controller](stable/omada-controller) | Omada enables the network administrators to monitor and manage all the Omada products in the network with a centralized management platform. |
|
||||
| [ombi](stable/ombi) | Want a Movie or TV Show on Plex or Emby? Use Ombi! |
|
||||
| [onedrive](stable/onedrive) | A free Microsoft OneDrive Client which supports OneDrive Personal, OneDrive for Business, OneDrive for Office365, and SharePoint |
|
||||
| [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 |
|
||||
| [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. |
|
||||
| [pretend-youre-xyzzy](stable/pretend-youre-xyzzy) | pretend-youre-xyzzy, a cards against humanity clone |
|
||||
| [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. |
|
||||
| [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 |
|
||||
| [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 |
|
||||
| [rtorrent-flood](stable/rtorrent-flood) | rTorrent is a stable, high-performance and low resource consumption BitTorrent client. |
|
||||
| [sabnzbd](stable/sabnzbd) | Free and easy binary newsreader |
|
||||
| [samba](stable/samba) | A simple in-cluster Samba server |
|
||||
| [searx](stable/searx) | Searx is a privacy-respecting, hackable metasearch engine |
|
||||
| [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. |
|
||||
| [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 |
|
||||
| [speedtest-exporter](stable/speedtest-exporter) | Speedtest Exporter made in python using the official speedtest bin |
|
||||
| [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 |
|
||||
| [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. |
|
||||
| [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 |
|
||||
| [unifi](stable/unifi) | Ubiquiti Network's Unifi Controller |
|
||||
| [unpackerr](stable/unpackerr) | This application runs as a daemon on your download host. It checks for completed downloads and extracts them so Radarr, Lidarr, Sonarr, and Readarr may import them. |
|
||||
| [uptime-kuma](stable/uptime-kuma) | A fancy self-hosted monitoring tool for your websites and applications |
|
||||
| [uptimerobot-prometheus](stable/uptimerobot-prometheus) | Prometheus Exporter for the official uptimerobot CLI |
|
||||
| [uptimerobot](stable/uptimerobot) | A tool to get statistics from Uptime Robot and log it into InfluxDB |
|
||||
| [valheim](stable/valheim) | Valheim dedicated gameserver with automatic update and world backup support |
|
||||
| [vaultwarden](stable/vaultwarden) | Vaultwarden is a Bitwarden compatable server in Rust |
|
||||
| [vikunja](stable/vikunja) | The to-do app to organize your life |
|
||||
| [wallabag](stable/wallabag) | A self hostable application for saving web pages, freely. |
|
||||
| [webtrees](stable/webtrees) | Open-source online collaborative genealogy application |
|
||||
| [whoogle](stable/whoogle) | A self-hosted, ad-free, privacy-respecting metasearch engine |
|
||||
| [wikijs](stable/wikijs) | Make documentation a joy to write using Wiki.js's beautiful and intuitive interface! |
|
||||
| [wireguard](stable/wireguard) | Fast, modern, secure VPN tunnel |
|
||||
| [wmbusmeters](stable/wmbusmeters) | Wmbusmeters receives and decodes C1,T1 or S1 telegrams (using the wireless mbus protocol) to acquire utility meter readings. |
|
||||
| [xbackbone](stable/xbackbone) | XBackBone is a simple, self-hosted, lightweight PHP file manager that support the instant sharing tool ShareX and *NIX systems. It supports uploading and displaying images, GIF, video, code, formatted text, and file downloading and uploading. Also have a web UI with multi user management, past uploads history and search support. |
|
||||
| [xbvr](stable/xbvr) | xbvr helm package |
|
||||
| [xteve](stable/xteve) | M3U Proxy for Plex DVR and Emby Live TV. |
|
||||
| [youtubedl-material](stable/youtubedl-material) | Self-hosted YouTube downloader built on Material Design |
|
||||
| [zalando-postgres-cluster](stable/zalando-postgres-cluster) | Creates a postgres cluster using the Zalando Postgres operator and local storage |
|
||||
| [zigbee2mqtt](stable/zigbee2mqtt) | Bridges events and allows you to control your Zigbee devices via MQTT |
|
||||
| [zwavejs2mqtt](stable/zwavejs2mqtt) | Fully configurable Zwave to MQTT Gateway and Control Panel |
|
||||
### Incubator charts:
|
||||
| Chart | Description |
|
||||
| ----- | ----------- |
|
||||
| [changedetection-io](incubator/changedetection-io) | changedetection-io helm package |
|
||||
| [cryptpad](incubator/cryptpad) | cryptpad helm package |
|
||||
| [dendrite](incubator/dendrite) | Dendrite Matrix Homeserver |
|
||||
| [lancache](incubator/lancache) | LanCache Monolithic - a caching proxy server for game download content |
|
||||
| [openhab](incubator/openhab) | openhab helm package |
|
||||
| [seafile](incubator/seafile) | seafile helm package |
|
||||
| [sinusbot](incubator/sinusbot) | TeamSpeak & Discord Bot |
|
||||
| [teamspeak](incubator/teamspeak) | TeamSpeak Server |
|
||||
@@ -1,15 +0,0 @@
|
||||
apiVersion: v2
|
||||
appVersion: v0.102.0
|
||||
description: DNS proxy as ad-blocker for local network
|
||||
name: adguard-home
|
||||
version: 2.2.1
|
||||
keywords:
|
||||
- adguard-home
|
||||
- adguard
|
||||
- dns
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/adguard-home
|
||||
icon: https://avatars3.githubusercontent.com/u/8361145?s=200&v=4?sanitize=true
|
||||
sources:
|
||||
- https://github.com/AdguardTeam/AdGuardHome
|
||||
maintainers:
|
||||
- name: billimek
|
||||
@@ -1,265 +0,0 @@
|
||||
# adguard-home
|
||||
|
||||
 
|
||||
|
||||
DNS proxy as ad-blocker for local network
|
||||
|
||||
**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/AdguardTeam/AdGuardHome>
|
||||
|
||||
## Requirements
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
|
||||
## TL;DR
|
||||
|
||||
```console
|
||||
helm repo add k8s-at-home https://k8s-at-home.com/charts/
|
||||
helm repo update
|
||||
helm install adguard-home k8s-at-home/adguard-home
|
||||
```
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `adguard-home`
|
||||
|
||||
```console
|
||||
helm install adguard-home k8s-at-home/adguard-home
|
||||
```
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall the `adguard-home` deployment
|
||||
|
||||
```console
|
||||
helm uninstall adguard-home
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||
|
||||
## Configuration
|
||||
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common).
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||
|
||||
```console
|
||||
helm install adguard-home \
|
||||
--set env.TZ="America/New York" \
|
||||
k8s-at-home/adguard-home
|
||||
```
|
||||
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install adguard-home k8s-at-home/adguard-home -f values.yaml
|
||||
```
|
||||
|
||||
## Custom configuration
|
||||
|
||||
N/A
|
||||
|
||||
## Values
|
||||
|
||||
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/)
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| affinity | object | `{}` | |
|
||||
| configAsCode.config.bind_host | string | `"0.0.0.0"` | |
|
||||
| configAsCode.config.bind_port | int | `3000` | |
|
||||
| configAsCode.config.clients | list | `[]` | |
|
||||
| configAsCode.config.debug_pprof | bool | `false` | |
|
||||
| configAsCode.config.dhcp.enabled | bool | `false` | |
|
||||
| configAsCode.config.dhcp.gateway_ip | string | `""` | |
|
||||
| configAsCode.config.dhcp.icmp_timeout_msec | int | `1000` | |
|
||||
| configAsCode.config.dhcp.interface_name | string | `""` | |
|
||||
| configAsCode.config.dhcp.lease_duration | int | `86400` | |
|
||||
| configAsCode.config.dhcp.range_end | string | `""` | |
|
||||
| configAsCode.config.dhcp.range_start | string | `""` | |
|
||||
| configAsCode.config.dhcp.subnet_mask | string | `""` | |
|
||||
| configAsCode.config.dns.aaaa_disabled | bool | `false` | |
|
||||
| configAsCode.config.dns.all_servers | bool | `false` | |
|
||||
| configAsCode.config.dns.allowed_clients | list | `[]` | |
|
||||
| configAsCode.config.dns.anonymize_client_ip | bool | `false` | |
|
||||
| configAsCode.config.dns.bind_host | string | `"0.0.0.0"` | |
|
||||
| configAsCode.config.dns.blocked_hosts | list | `[]` | |
|
||||
| configAsCode.config.dns.blocked_response_ttl | int | `10` | |
|
||||
| configAsCode.config.dns.blocked_services | list | `[]` | |
|
||||
| configAsCode.config.dns.blocking_ipv4 | string | `""` | |
|
||||
| configAsCode.config.dns.blocking_ipv6 | string | `""` | |
|
||||
| configAsCode.config.dns.blocking_mode | string | `"default"` | |
|
||||
| configAsCode.config.dns.bogus_nxdomain | list | `[]` | |
|
||||
| configAsCode.config.dns.bootstrap_dns[0] | string | `"9.9.9.10"` | |
|
||||
| configAsCode.config.dns.bootstrap_dns[1] | string | `"149.112.112.10"` | |
|
||||
| configAsCode.config.dns.bootstrap_dns[2] | string | `"2620:fe::10"` | |
|
||||
| configAsCode.config.dns.bootstrap_dns[3] | string | `"2620:fe::fe:10"` | |
|
||||
| configAsCode.config.dns.cache_size | int | `4194304` | |
|
||||
| configAsCode.config.dns.cache_time | int | `30` | |
|
||||
| configAsCode.config.dns.cache_ttl_max | int | `0` | |
|
||||
| configAsCode.config.dns.cache_ttl_min | int | `0` | |
|
||||
| configAsCode.config.dns.disallowed_clients | list | `[]` | |
|
||||
| configAsCode.config.dns.edns_client_subnet | bool | `false` | |
|
||||
| configAsCode.config.dns.enable_dnssec | bool | `false` | |
|
||||
| configAsCode.config.dns.fastest_addr | bool | `false` | |
|
||||
| configAsCode.config.dns.filtering_enabled | bool | `true` | |
|
||||
| configAsCode.config.dns.filters_update_interval | int | `24` | |
|
||||
| configAsCode.config.dns.parental_block_host | string | `"family-block.dns.adguard.com"` | |
|
||||
| configAsCode.config.dns.parental_cache_size | int | `1048576` | |
|
||||
| configAsCode.config.dns.parental_enabled | bool | `false` | |
|
||||
| configAsCode.config.dns.port | int | `53` | |
|
||||
| configAsCode.config.dns.protection_enabled | bool | `true` | |
|
||||
| configAsCode.config.dns.querylog_enabled | bool | `true` | |
|
||||
| configAsCode.config.dns.querylog_interval | int | `90` | |
|
||||
| configAsCode.config.dns.querylog_size_memory | int | `1000` | |
|
||||
| configAsCode.config.dns.ratelimit | int | `0` | |
|
||||
| configAsCode.config.dns.ratelimit_whitelist | list | `[]` | |
|
||||
| configAsCode.config.dns.refuse_any | bool | `true` | |
|
||||
| configAsCode.config.dns.rewrites | list | `[]` | |
|
||||
| configAsCode.config.dns.safebrowsing_block_host | string | `"standard-block.dns.adguard.com"` | |
|
||||
| configAsCode.config.dns.safebrowsing_cache_size | int | `1048576` | |
|
||||
| configAsCode.config.dns.safebrowsing_enabled | bool | `false` | |
|
||||
| configAsCode.config.dns.safesearch_cache_size | int | `1048576` | |
|
||||
| configAsCode.config.dns.safesearch_enabled | bool | `false` | |
|
||||
| configAsCode.config.dns.statistics_interval | int | `1` | |
|
||||
| configAsCode.config.dns.upstream_dns[0] | string | `"https://dns10.quad9.net/dns-query"` | |
|
||||
| configAsCode.config.filters[0].enabled | bool | `true` | |
|
||||
| configAsCode.config.filters[0].id | int | `1` | |
|
||||
| configAsCode.config.filters[0].name | string | `"AdGuard DNS filter"` | |
|
||||
| configAsCode.config.filters[0].url | string | `"https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt"` | |
|
||||
| configAsCode.config.filters[1].enabled | bool | `false` | |
|
||||
| configAsCode.config.filters[1].id | int | `2` | |
|
||||
| configAsCode.config.filters[1].name | string | `"AdAway"` | |
|
||||
| configAsCode.config.filters[1].url | string | `"https://adaway.org/hosts.txt"` | |
|
||||
| configAsCode.config.filters[2].enabled | bool | `false` | |
|
||||
| configAsCode.config.filters[2].id | int | `4` | |
|
||||
| configAsCode.config.filters[2].name | string | `"MalwareDomainList.com Hosts List"` | |
|
||||
| configAsCode.config.filters[2].url | string | `"https://www.malwaredomainlist.com/hostslist/hosts.txt"` | |
|
||||
| configAsCode.config.http_proxy | string | `""` | |
|
||||
| configAsCode.config.language | string | `"en"` | |
|
||||
| configAsCode.config.log_file | string | `""` | |
|
||||
| configAsCode.config.rlimit_nofile | int | `0` | |
|
||||
| configAsCode.config.schema_version | int | `6` | |
|
||||
| configAsCode.config.tls.allow_unencrypted_doh | bool | `false` | |
|
||||
| configAsCode.config.tls.certificate_chain | string | `""` | |
|
||||
| configAsCode.config.tls.certificate_path | string | `""` | |
|
||||
| configAsCode.config.tls.enabled | bool | `false` | |
|
||||
| configAsCode.config.tls.force_https | bool | `false` | |
|
||||
| configAsCode.config.tls.port_dns_over_tls | int | `853` | |
|
||||
| configAsCode.config.tls.port_https | int | `443` | |
|
||||
| configAsCode.config.tls.private_key | string | `""` | |
|
||||
| configAsCode.config.tls.private_key_path | string | `""` | |
|
||||
| configAsCode.config.tls.server_name | string | `""` | |
|
||||
| configAsCode.config.tls.strict_sni_check | bool | `false` | |
|
||||
| configAsCode.config.user_rules | list | `[]` | |
|
||||
| configAsCode.config.users | list | `[]` | |
|
||||
| configAsCode.config.verbose | bool | `false` | |
|
||||
| configAsCode.config.web_session_ttl | int | `720` | |
|
||||
| configAsCode.config.whitelist_filters | list | `[]` | |
|
||||
| configAsCode.enabled | bool | `false` | |
|
||||
| configAsCode.image.pullPolicy | string | `"Always"` | |
|
||||
| configAsCode.image.repository | string | `"busybox"` | |
|
||||
| configAsCode.image.tag | string | `"latest"` | |
|
||||
| configAsCode.resources | object | `{}` | |
|
||||
| fullnameOverride | string | `""` | |
|
||||
| image.pullPolicy | string | `"IfNotPresent"` | |
|
||||
| image.repository | string | `"adguard/adguardhome"` | |
|
||||
| ingress.annotations | object | `{}` | |
|
||||
| ingress.enabled | bool | `false` | |
|
||||
| ingress.hosts[0] | string | `"chart-example.local"` | |
|
||||
| ingress.path | string | `"/"` | |
|
||||
| ingress.tls | list | `[]` | |
|
||||
| nameOverride | string | `""` | |
|
||||
| nodeSelector | object | `{}` | |
|
||||
| persistence.config.accessMode | string | `"ReadWriteOnce"` | |
|
||||
| persistence.config.enabled | bool | `true` | |
|
||||
| persistence.config.size | string | `"20Mi"` | |
|
||||
| persistence.config.skipuninstall | bool | `false` | |
|
||||
| persistence.work.accessMode | string | `"ReadWriteOnce"` | |
|
||||
| persistence.work.enabled | bool | `true` | |
|
||||
| persistence.work.size | string | `"10Gi"` | |
|
||||
| persistence.work.skipuninstall | bool | `false` | |
|
||||
| podAnnotations."prometheus.io/port" | string | `"api"` | |
|
||||
| podAnnotations."prometheus.io/scrape" | string | `"true"` | |
|
||||
| podSecurityContext | object | `{}` | |
|
||||
| probes.liveness.enabled | bool | `true` | |
|
||||
| probes.liveness.failureThreshold | int | `5` | |
|
||||
| probes.liveness.initialDelaySeconds | int | `5` | |
|
||||
| probes.liveness.periodSeconds | int | `10` | |
|
||||
| probes.readiness.enabled | bool | `false` | |
|
||||
| probes.readiness.failureThreshold | int | `5` | |
|
||||
| probes.readiness.initialDelaySeconds | int | `5` | |
|
||||
| probes.readiness.periodSeconds | int | `10` | |
|
||||
| probes.startup.enabled | bool | `false` | |
|
||||
| probes.startup.failureThreshold | int | `30` | |
|
||||
| probes.startup.initialDelaySeconds | int | `5` | |
|
||||
| probes.startup.periodSeconds | int | `10` | |
|
||||
| resources | object | `{}` | |
|
||||
| securityContext | object | `{}` | |
|
||||
| service.annotations | object | `{}` | |
|
||||
| service.type | string | `"ClusterIP"` | |
|
||||
| serviceDHCP.annotations | object | `{}` | |
|
||||
| serviceDHCP.enabled | bool | `false` | |
|
||||
| serviceDHCP.loadBalancerIP | string | `""` | |
|
||||
| serviceDHCP.type | string | `"NodePort"` | |
|
||||
| serviceDNSOverTLS.annotations | object | `{}` | |
|
||||
| serviceDNSOverTLS.enabled | bool | `false` | |
|
||||
| serviceDNSOverTLS.loadBalancerIP | string | `""` | |
|
||||
| serviceDNSOverTLS.type | string | `"NodePort"` | |
|
||||
| serviceMonitor.additionalLabels | object | `{}` | |
|
||||
| serviceMonitor.enabled | bool | `false` | |
|
||||
| serviceTCP.annotations | object | `{}` | |
|
||||
| serviceTCP.enabled | bool | `false` | |
|
||||
| serviceTCP.loadBalancerIP | string | `""` | |
|
||||
| serviceTCP.type | string | `"NodePort"` | |
|
||||
| serviceUDP.annotations | object | `{}` | |
|
||||
| serviceUDP.enabled | bool | `true` | |
|
||||
| serviceUDP.loadBalancerIP | string | `""` | |
|
||||
| serviceUDP.type | string | `"NodePort"` | |
|
||||
| strategyType | string | `"Recreate"` | |
|
||||
| timezone | string | `"UTC"` | |
|
||||
| tlsSecretName | string | `""` | |
|
||||
| tolerations | list | `[]` | |
|
||||
| volumePermissions.image.pullPolicy | string | `"Always"` | |
|
||||
| volumePermissions.image.repository | string | `"busybox"` | |
|
||||
| volumePermissions.image.tag | string | `"latest"` | |
|
||||
| volumePermissions.resources | object | `{}` | |
|
||||
|
||||
## Changelog
|
||||
|
||||
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog).
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### [2.2.0]
|
||||
|
||||
#### Added
|
||||
|
||||
- N/A
|
||||
|
||||
#### Changed
|
||||
|
||||
- Use helm-docs
|
||||
|
||||
#### Removed
|
||||
|
||||
- N/A
|
||||
|
||||
[2.2.0]: #2.2.0
|
||||
|
||||
## 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 v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)
|
||||
@@ -1,27 +0,0 @@
|
||||
{{- define "custom.changelog.header" -}}
|
||||
## Changelog
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.changelog" -}}
|
||||
{{ template "custom.changelog.header" . }}
|
||||
|
||||
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog).
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### [2.2.1]
|
||||
|
||||
#### Added
|
||||
|
||||
- N/A
|
||||
|
||||
#### Changed
|
||||
|
||||
- Use helm-docs
|
||||
|
||||
#### Removed
|
||||
|
||||
- N/A
|
||||
|
||||
[2.2.1]: #2.2.1
|
||||
{{- end -}}
|
||||
@@ -1,15 +0,0 @@
|
||||
1. Get the application URL by running these commands:
|
||||
{{- if contains "NodePort" .Values.serviceUDP.type }}
|
||||
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "adguard-home.fullname" . }})
|
||||
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
|
||||
echo http://$NODE_IP:$NODE_PORT
|
||||
{{- else if contains "LoadBalancer" .Values.serviceUDP.type }}
|
||||
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
|
||||
You can watch the status of by running 'kubectl get svc -w {{ include "adguard-home.fullname" . }}'
|
||||
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "adguard-home.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
|
||||
echo http://$SERVICE_IP:{{ .Values.serviceUDP.port }}
|
||||
{{- else if contains "ClusterIP" .Values.serviceUDP.type }}
|
||||
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "adguard-home.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
|
||||
echo "Visit http://127.0.0.1:8080 to use your application"
|
||||
kubectl port-forward $POD_NAME 8080:3000
|
||||
{{- end }}
|
||||
@@ -1,32 +0,0 @@
|
||||
{{/* vim: set filetype=mustache: */}}
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "adguard-home.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "adguard-home.fullname" -}}
|
||||
{{- if .Values.fullnameOverride -}}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
||||
{{- if contains $name .Release.Name -}}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "adguard-home.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
@@ -1,29 +0,0 @@
|
||||
|
||||
{{- if and .Values.persistence.config.enabled (not .Values.persistence.config.existingClaim) }}
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: {{ template "adguard-home.fullname" . }}-config
|
||||
{{- if .Values.persistence.config.skipuninstall }}
|
||||
annotations:
|
||||
"helm.sh/resource-policy": keep
|
||||
{{- end }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
|
||||
helm.sh/chart: {{ include "adguard-home.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
spec:
|
||||
accessModes:
|
||||
- {{ .Values.persistence.config.accessMode | quote }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.persistence.config.size | quote }}
|
||||
{{- if .Values.persistence.config.storageClass }}
|
||||
{{- if (eq "-" .Values.persistence.config.storageClass) }}
|
||||
storageClassName: ""
|
||||
{{- else }}
|
||||
storageClassName: "{{ .Values.persistence.config.storageClass }}"
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
@@ -1,14 +0,0 @@
|
||||
{{- if .Values.configAsCode.enabled }}
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: {{ include "adguard-home.fullname" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
|
||||
helm.sh/chart: {{ include "adguard-home.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
data:
|
||||
AdGuardHome.yaml: |
|
||||
{{- toYaml .Values.configAsCode.config | nindent 4 }}
|
||||
{{- end }}
|
||||
@@ -1,196 +0,0 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ include "adguard-home.fullname" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
|
||||
helm.sh/chart: {{ include "adguard-home.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: {{ .Values.strategyType }}
|
||||
revisionHistoryLimit: 3
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
annotations:
|
||||
{{- with .Values.podAnnotations }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.configAsCode.enabled }}
|
||||
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
|
||||
{{- end }}
|
||||
spec:
|
||||
securityContext:
|
||||
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
||||
{{- if or .Values.configAsCode.enabled .Values.securityContext.runAsUser }}
|
||||
initContainers:
|
||||
{{- if .Values.configAsCode.enabled }}
|
||||
- name: "config"
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: true
|
||||
image: "{{ .Values.configAsCode.image.repository }}:{{ .Values.configAsCode.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.configAsCode.image.pullPolicy }}
|
||||
command: ["sh", "-c", "cat /configmap/AdGuardHome.yaml > /opt/adguardhome/conf/AdGuardHome.yaml"]
|
||||
resources: {{- toYaml .Values.configAsCode.resources | nindent 12 }}
|
||||
volumeMounts:
|
||||
- name: configmap
|
||||
mountPath: /configmap
|
||||
- name: config
|
||||
mountPath: /opt/adguardhome/conf
|
||||
readOnly: false
|
||||
{{- end }}
|
||||
{{- if .Values.securityContext.runAsUser }}
|
||||
- name: "volume-permissions"
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: true
|
||||
image: "{{ .Values.volumePermissions.image.repository }}:{{ .Values.volumePermissions.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.volumePermissions.image.pullPolicy }}
|
||||
command: ["/bin/chown", "-R", "{{ .Values.securityContext.runAsUser }}:", "/opt/adguardhome/work", "/opt/adguardhome/conf"]
|
||||
resources: {{- toYaml .Values.volumePermissions.resources | nindent 12 }}
|
||||
volumeMounts:
|
||||
- name: work
|
||||
mountPath: /opt/adguardhome/work
|
||||
readOnly: false
|
||||
- name: config
|
||||
mountPath: /opt/adguardhome/conf
|
||||
readOnly: false
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ .Chart.Name }}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
image: "{{ .Values.image.repository }}:{{ default .Chart.AppVersion .Values.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
env:
|
||||
{{- if .Values.timezone }}
|
||||
- name: TZ
|
||||
value: {{ .Values.timezone | quote }}
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
- name: work
|
||||
mountPath: /opt/adguardhome/work
|
||||
readOnly: false
|
||||
- name: config
|
||||
mountPath: /opt/adguardhome/conf
|
||||
readOnly: false
|
||||
{{- if .Values.tlsSecretName }}
|
||||
- name: certs
|
||||
mountPath: /certs
|
||||
readOnly: false
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: http
|
||||
{{- if .Values.configAsCode.enabled }}
|
||||
containerPort: {{ .Values.configAsCode.config.bind_port | default 3000 }}
|
||||
{{- else }}
|
||||
containerPort: 3000
|
||||
{{- end }}
|
||||
- name: dns
|
||||
{{- if .Values.configAsCode.enabled }}
|
||||
containerPort: {{ .Values.configAsCode.config.dns.port | default 53 }}
|
||||
{{- else }}
|
||||
containerPort: 53
|
||||
{{- end }}
|
||||
protocol: TCP
|
||||
- name: dns-udp
|
||||
{{- if .Values.configAsCode.enabled }}
|
||||
containerPort: {{ .Values.configAsCode.config.dns.port | default 53 }}
|
||||
{{- else }}
|
||||
containerPort: 53
|
||||
{{- end }}
|
||||
protocol: UDP
|
||||
{{- if .Values.serviceDHCP.enabled }}
|
||||
- name: dhcp-server-udp
|
||||
containerPort: 67
|
||||
protocol: UDP
|
||||
- name: dhcp-client-tcp
|
||||
containerPort: 68
|
||||
protocol: TCP
|
||||
- name: dhcp-client-udp
|
||||
containerPort: 68
|
||||
protocol: UDP
|
||||
{{- end }}
|
||||
{{- if .Values.serviceDNSOverTLS.enabled }}
|
||||
- name: dns-over-tls
|
||||
containerPort: 853
|
||||
protocol: TCP
|
||||
{{- end }}
|
||||
{{- if .Values.probes.liveness.enabled }}
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /login.html
|
||||
port: http
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: {{ .Values.probes.liveness.initialDelaySeconds }}
|
||||
failureThreshold: {{ .Values.probes.liveness.failureThreshold }}
|
||||
periodSeconds: {{ .Values.probes.liveness.periodSeconds }}
|
||||
{{- end }}
|
||||
{{- if .Values.probes.readiness.enabled }}
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /login.html
|
||||
port: http
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: {{ .Values.probes.readiness.initialDelaySeconds }}
|
||||
failureThreshold: {{ .Values.probes.readiness.failureThreshold }}
|
||||
periodSeconds: {{ .Values.probes.readiness.periodSeconds }}
|
||||
{{- end }}
|
||||
{{- if .Values.probes.startup.enabled }}
|
||||
startupProbe:
|
||||
httpGet:
|
||||
path: /login.html
|
||||
port: http
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: {{ .Values.probes.startup.initialDelaySeconds }}
|
||||
failureThreshold: {{ .Values.probes.startup.failureThreshold }}
|
||||
periodSeconds: {{ .Values.probes.startup.periodSeconds }}
|
||||
{{- end }}
|
||||
resources:
|
||||
{{- toYaml .Values.resources | nindent 12 }}
|
||||
volumes:
|
||||
{{- if .Values.tlsSecretName }}
|
||||
- name: certs
|
||||
secret:
|
||||
secretName: {{ .Values.tlsSecretName }}
|
||||
{{- end }}
|
||||
{{- if .Values.configAsCode.enabled }}
|
||||
- name: configmap
|
||||
configMap:
|
||||
name: {{ include "adguard-home.fullname" . }}
|
||||
{{- end }}
|
||||
- name: config
|
||||
{{- if .Values.persistence.config.enabled }}
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ if .Values.persistence.config.existingClaim }}{{ .Values.persistence.config.existingClaim }}{{- else }}{{ template "adguard-home.fullname" . }}-config{{- end }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{- end }}
|
||||
- name: work
|
||||
{{- if .Values.persistence.work.enabled }}
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ if .Values.persistence.work.existingClaim }}{{ .Values.persistence.work.existingClaim }}{{- else }}{{ template "adguard-home.fullname" . }}-work{{- end }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{- end }}
|
||||
{{- with .Values.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.affinity }}
|
||||
affinity:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
@@ -1,38 +0,0 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $fullName := include "adguard-home.fullname" . -}}
|
||||
{{- $ingressPath := .Values.ingress.path -}}
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ $fullName }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
|
||||
helm.sh/chart: {{ include "adguard-home.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- with .Values.ingress.annotations }}
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
{{- range .Values.ingress.tls }}
|
||||
- hosts:
|
||||
{{- range .hosts }}
|
||||
- {{ . | quote }}
|
||||
{{- end }}
|
||||
secretName: {{ .secretName }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ . | quote }}
|
||||
http:
|
||||
paths:
|
||||
- path: {{ $ingressPath }}
|
||||
backend:
|
||||
serviceName: {{ $fullName }}
|
||||
servicePort: http
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -1,45 +0,0 @@
|
||||
{{- if .Values.serviceDHCP.enabled }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "adguard-home.fullname" . }}-dhcp
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
|
||||
helm.sh/chart: {{ include "adguard-home.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- if .Values.serviceDHCP.annotations }}
|
||||
annotations:
|
||||
{{ toYaml .Values.serviceDHCP.annotations | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.serviceDHCP.type }}
|
||||
{{- if .Values.serviceDHCP.loadBalancerIP }}
|
||||
loadBalancerIP: {{ .Values.serviceDHCP.loadBalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.serviceDHCP.loadBalancerSourceRanges }}
|
||||
loadBalancerSourceRanges:
|
||||
{{ toYaml .Values.serviceDHCP.loadBalancerSourceRanges | indent 4 }}
|
||||
{{- end -}}
|
||||
{{- if .Values.serviceDHCP.externalIPs }}
|
||||
externalIPs:
|
||||
{{ toYaml .Values.serviceDHCP.externalIPs | indent 4 }}
|
||||
{{- end }}
|
||||
externalTrafficPolicy: {{ .Values.serviceDHCP.externalTrafficPolicy }}
|
||||
ports:
|
||||
- port: 67
|
||||
targetPort: dhcp-server-udp
|
||||
protocol: UDP
|
||||
name: dhcp-server-udp
|
||||
- port: 68
|
||||
targetPort: dhcp-client-tcp
|
||||
protocol: TCP
|
||||
name: dhcp-client-tcp
|
||||
- port: 68
|
||||
targetPort: dhcp-client-udp
|
||||
protocol: UDP
|
||||
name: dhcp-client-udp
|
||||
selector:
|
||||
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
@@ -1,37 +0,0 @@
|
||||
{{- if .Values.serviceDNSOverTLS.enabled }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "adguard-home.fullname" . }}-dns-over-tls
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
|
||||
helm.sh/chart: {{ include "adguard-home.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- if .Values.serviceDNSOverTLS.annotations }}
|
||||
annotations:
|
||||
{{ toYaml .Values.serviceDNSOverTLS.annotations | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.serviceDNSOverTLS.type }}
|
||||
{{- if .Values.serviceDNSOverTLS.loadBalancerIP }}
|
||||
loadBalancerIP: {{ .Values.serviceDNSOverTLS.loadBalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.serviceDNSOverTLS.loadBalancerSourceRanges }}
|
||||
loadBalancerSourceRanges:
|
||||
{{ toYaml .Values.serviceDNSOverTLS.loadBalancerSourceRanges | indent 4 }}
|
||||
{{- end -}}
|
||||
{{- if .Values.serviceDNSOverTLS.externalIPs }}
|
||||
externalIPs:
|
||||
{{ toYaml .Values.serviceDNSOverTLS.externalIPs | indent 4 }}
|
||||
{{- end }}
|
||||
externalTrafficPolicy: {{ .Values.serviceDNSOverTLS.externalTrafficPolicy }}
|
||||
ports:
|
||||
- port: 853
|
||||
targetPort: dns-over-tls
|
||||
protocol: TCP
|
||||
name: dns-over-tls
|
||||
selector:
|
||||
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
@@ -1,37 +0,0 @@
|
||||
{{- if .Values.serviceTCP.enabled }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "adguard-home.fullname" . }}-tcp
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
|
||||
helm.sh/chart: {{ include "adguard-home.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- if .Values.serviceTCP.annotations }}
|
||||
annotations:
|
||||
{{ toYaml .Values.serviceTCP.annotations | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.serviceTCP.type }}
|
||||
{{- if .Values.serviceTCP.loadBalancerIP }}
|
||||
loadBalancerIP: {{ .Values.serviceTCP.loadBalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.serviceTCP.loadBalancerSourceRanges }}
|
||||
loadBalancerSourceRanges:
|
||||
{{ toYaml .Values.serviceTCP.loadBalancerSourceRanges | indent 4 }}
|
||||
{{- end -}}
|
||||
{{- if .Values.serviceTCP.externalIPs }}
|
||||
externalIPs:
|
||||
{{ toYaml .Values.serviceTCP.externalIPs | indent 4 }}
|
||||
{{- end }}
|
||||
externalTrafficPolicy: {{ .Values.serviceTCP.externalTrafficPolicy }}
|
||||
ports:
|
||||
- port: 53
|
||||
targetPort: dns
|
||||
protocol: TCP
|
||||
name: dns
|
||||
selector:
|
||||
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
@@ -1,37 +0,0 @@
|
||||
{{- if .Values.serviceUDP.enabled }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "adguard-home.fullname" . }}-udp
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
|
||||
helm.sh/chart: {{ include "adguard-home.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- if .Values.serviceUDP.annotations }}
|
||||
annotations:
|
||||
{{ toYaml .Values.serviceUDP.annotations | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.serviceUDP.type }}
|
||||
{{- if .Values.serviceUDP.loadBalancerIP }}
|
||||
loadBalancerIP: {{ .Values.serviceUDP.loadBalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.serviceUDP.loadBalancerSourceRanges }}
|
||||
loadBalancerSourceRanges:
|
||||
{{ toYaml .Values.serviceUDP.loadBalancerSourceRanges | indent 4 }}
|
||||
{{- end -}}
|
||||
{{- if .Values.serviceUDP.externalIPs }}
|
||||
externalIPs:
|
||||
{{ toYaml .Values.serviceUDP.externalIPs | indent 4 }}
|
||||
{{- end }}
|
||||
externalTrafficPolicy: {{ .Values.serviceUDP.externalTrafficPolicy }}
|
||||
ports:
|
||||
- port: 53
|
||||
targetPort: dns-udp
|
||||
protocol: UDP
|
||||
name: dns-udp
|
||||
selector:
|
||||
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
@@ -1,35 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "adguard-home.fullname" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
|
||||
helm.sh/chart: {{ include "adguard-home.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- if .Values.service.annotations }}
|
||||
annotations:
|
||||
{{ toYaml .Values.service.annotations | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.service.type }}
|
||||
{{- if .Values.service.loadBalancerIP }}
|
||||
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.service.loadBalancerSourceRanges }}
|
||||
loadBalancerSourceRanges:
|
||||
{{ toYaml .Values.service.loadBalancerSourceRanges | indent 4 }}
|
||||
{{- end -}}
|
||||
{{- if .Values.service.externalIPs }}
|
||||
externalIPs:
|
||||
{{ toYaml .Values.service.externalIPs | indent 4 }}
|
||||
{{- end }}
|
||||
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy }}
|
||||
ports:
|
||||
- port: 3000
|
||||
targetPort: http
|
||||
protocol: TCP
|
||||
name: http
|
||||
selector:
|
||||
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
@@ -1,23 +0,0 @@
|
||||
{{- if .Values.serviceMonitor.enabled }}
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: {{ include "adguard-home.fullname" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
helm.sh/chart: {{ include "adguard-home.chart" . }}
|
||||
{{- with .Values.serviceMonitor.additionalLabels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
endpoints:
|
||||
- port: http
|
||||
interval: 30s
|
||||
path: /
|
||||
{{- end }}
|
||||
@@ -1,29 +0,0 @@
|
||||
|
||||
{{- if and .Values.persistence.work.enabled (not .Values.persistence.work.existingClaim) }}
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: {{ template "adguard-home.fullname" . }}-work
|
||||
{{- if .Values.persistence.work.skipuninstall }}
|
||||
annotations:
|
||||
"helm.sh/resource-policy": keep
|
||||
{{- end }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
|
||||
helm.sh/chart: {{ include "adguard-home.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
spec:
|
||||
accessModes:
|
||||
- {{ .Values.persistence.work.accessMode | quote }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.persistence.work.size | quote }}
|
||||
{{- if .Values.persistence.work.storageClass }}
|
||||
{{- if (eq "-" .Values.persistence.work.storageClass) }}
|
||||
storageClassName: ""
|
||||
{{- else }}
|
||||
storageClassName: "{{ .Values.persistence.work.storageClass }}"
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
@@ -1,362 +0,0 @@
|
||||
# upgrade strategy type (e.g. Recreate or RollingUpdate)
|
||||
strategyType: Recreate
|
||||
|
||||
configAsCode:
|
||||
enabled: false
|
||||
resources: {}
|
||||
# requests:
|
||||
# memory: 128Mi
|
||||
# cpu: 100m
|
||||
image:
|
||||
repository: busybox
|
||||
tag: latest
|
||||
pullPolicy: Always
|
||||
config:
|
||||
bind_host: 0.0.0.0
|
||||
bind_port: 3000
|
||||
users: []
|
||||
# - name: admin
|
||||
# password: $2y$05$mV4GSa5Dymk4Hjg3NCscBuCYSckCGfc2mbS57SNkBkBAfvqfOdFfm
|
||||
http_proxy: ""
|
||||
language: "en"
|
||||
rlimit_nofile: 0
|
||||
debug_pprof: false
|
||||
web_session_ttl: 720
|
||||
dns:
|
||||
bind_host: 0.0.0.0
|
||||
port: 53
|
||||
statistics_interval: 1
|
||||
querylog_enabled: true
|
||||
querylog_interval: 90
|
||||
querylog_size_memory: 1000
|
||||
anonymize_client_ip: false
|
||||
protection_enabled: true
|
||||
blocking_mode: default
|
||||
blocking_ipv4: ""
|
||||
blocking_ipv6: ""
|
||||
blocked_response_ttl: 10
|
||||
parental_block_host: family-block.dns.adguard.com
|
||||
safebrowsing_block_host: standard-block.dns.adguard.com
|
||||
ratelimit: 0
|
||||
ratelimit_whitelist: []
|
||||
refuse_any: true
|
||||
upstream_dns:
|
||||
- https://dns10.quad9.net/dns-query
|
||||
bootstrap_dns:
|
||||
- 9.9.9.10
|
||||
- 149.112.112.10
|
||||
- 2620:fe::10
|
||||
- 2620:fe::fe:10
|
||||
all_servers: false
|
||||
fastest_addr: false
|
||||
allowed_clients: []
|
||||
# - 10.0.0.1
|
||||
# - 10.0.1.1/24
|
||||
disallowed_clients: []
|
||||
# - 10.0.1.1
|
||||
# - 10.0.11.1/24
|
||||
blocked_hosts: []
|
||||
# - example.org
|
||||
# - '*.example.org'
|
||||
# - '||example.org^'
|
||||
cache_size: 4194304
|
||||
cache_ttl_min: 0
|
||||
cache_ttl_max: 0
|
||||
bogus_nxdomain: []
|
||||
aaaa_disabled: false
|
||||
enable_dnssec: false
|
||||
edns_client_subnet: false
|
||||
filtering_enabled: true
|
||||
filters_update_interval: 24
|
||||
parental_enabled: false
|
||||
safesearch_enabled: false
|
||||
safebrowsing_enabled: false
|
||||
safebrowsing_cache_size: 1048576
|
||||
safesearch_cache_size: 1048576
|
||||
parental_cache_size: 1048576
|
||||
cache_time: 30
|
||||
rewrites: []
|
||||
# - domain: example.org
|
||||
# answer: 127.0.0.1
|
||||
# - domain: '*.example.org'
|
||||
# answer: 127.0.0.1
|
||||
blocked_services: []
|
||||
# - facebook
|
||||
# - origin
|
||||
# - twitter
|
||||
# - snapchat
|
||||
# - skype
|
||||
# - whatsapp
|
||||
# - instagram
|
||||
# - youtube
|
||||
# - netflix
|
||||
# - twitch
|
||||
# - discord
|
||||
# - amazon
|
||||
# - ebay
|
||||
# - cloudflare
|
||||
# - steam
|
||||
# - epic_games
|
||||
# - reddit
|
||||
# - ok
|
||||
# - vk
|
||||
# - mail_ru
|
||||
# - tiktok
|
||||
tls:
|
||||
enabled: false
|
||||
server_name: ""
|
||||
force_https: false
|
||||
port_https: 443
|
||||
port_dns_over_tls: 853
|
||||
allow_unencrypted_doh: false
|
||||
strict_sni_check: false
|
||||
certificate_chain: ""
|
||||
private_key: ""
|
||||
certificate_path: ""
|
||||
private_key_path: ""
|
||||
filters:
|
||||
- enabled: true
|
||||
url: https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
|
||||
name: AdGuard DNS filter
|
||||
id: 1
|
||||
- enabled: false
|
||||
url: https://adaway.org/hosts.txt
|
||||
name: AdAway
|
||||
id: 2
|
||||
- enabled: false
|
||||
url: https://www.malwaredomainlist.com/hostslist/hosts.txt
|
||||
name: MalwareDomainList.com Hosts List
|
||||
id: 4
|
||||
whitelist_filters: []
|
||||
# - enabled: true
|
||||
# url: https://easylist-downloads.adblockplus.org/exceptionrules.txt
|
||||
# name: Allow nonintrusive advertising
|
||||
# id: 1595760241
|
||||
user_rules: []
|
||||
# - '||example.org^'
|
||||
# - '@@||example.org^'
|
||||
# - 127.0.0.1 example.org
|
||||
# - '! Here goes a comment'
|
||||
# - '# Also a comment'
|
||||
dhcp:
|
||||
enabled: false
|
||||
interface_name: ""
|
||||
gateway_ip: ""
|
||||
subnet_mask: ""
|
||||
range_start: ""
|
||||
range_end: ""
|
||||
lease_duration: 86400
|
||||
icmp_timeout_msec: 1000
|
||||
clients: []
|
||||
# - name: myuser
|
||||
# tags:
|
||||
# - user_admin
|
||||
# ids:
|
||||
# - 192.168.91.1
|
||||
# use_global_settings: true
|
||||
# filtering_enabled: false
|
||||
# parental_enabled: false
|
||||
# safesearch_enabled: false
|
||||
# safebrowsing_enabled: false
|
||||
# use_global_blocked_services: true
|
||||
# blocked_services: []
|
||||
# upstreams: []
|
||||
log_file: ""
|
||||
verbose: false
|
||||
schema_version: 6
|
||||
|
||||
tlsSecretName: ""
|
||||
# name of the secret that contains the tls cert and key.
|
||||
# this secret will be mounted inside the adguard container /certs path. e.g. works with cert-manager
|
||||
|
||||
image:
|
||||
repository: adguard/adguardhome
|
||||
# Image tag is set via charts appVersion. If you want to override the tag, specify it here
|
||||
# tag: vX.Y.Z
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
|
||||
podSecurityContext: {}
|
||||
# fsGroup: 2000
|
||||
|
||||
securityContext: {}
|
||||
# capabilities:
|
||||
# drop:
|
||||
# - ALL
|
||||
# add:
|
||||
# - NET_BIND_SERVICE
|
||||
# readOnlyRootFilesystem: true
|
||||
# runAsNonRoot: true
|
||||
# runAsUser: 1000
|
||||
|
||||
timezone: "UTC"
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
annotations: {}
|
||||
# kubernetes.io/ingress.class: nginx
|
||||
# kubernetes.io/tls-acme: "true"
|
||||
path: /
|
||||
hosts:
|
||||
- chart-example.local
|
||||
tls: []
|
||||
# - secretName: chart-example-tls
|
||||
# hosts:
|
||||
# - chart-example.local
|
||||
|
||||
|
||||
# Probes configuration
|
||||
probes:
|
||||
liveness:
|
||||
enabled: true
|
||||
initialDelaySeconds: 5
|
||||
failureThreshold: 5
|
||||
periodSeconds: 10
|
||||
readiness:
|
||||
enabled: false
|
||||
initialDelaySeconds: 5
|
||||
failureThreshold: 5
|
||||
periodSeconds: 10
|
||||
startup:
|
||||
enabled: false
|
||||
initialDelaySeconds: 5
|
||||
failureThreshold: 30
|
||||
periodSeconds: 10
|
||||
|
||||
service:
|
||||
type: ClusterIP
|
||||
# externalTrafficPolicy: Local
|
||||
# externalIPs: []
|
||||
# loadBalancerIP: ""
|
||||
# a fixed LoadBalancer IP
|
||||
# loadBalancerSourceRanges: []
|
||||
annotations: {}
|
||||
# metallb.universe.tf/address-pool: network-services
|
||||
# metallb.universe.tf/allow-shared-ip: adguard-home-svc
|
||||
|
||||
serviceTCP:
|
||||
enabled: false
|
||||
type: NodePort
|
||||
# externalTrafficPolicy: Local
|
||||
# externalIPs: []
|
||||
loadBalancerIP: ""
|
||||
# a fixed LoadBalancer IP
|
||||
# loadBalancerSourceRanges: []
|
||||
annotations: {}
|
||||
# metallb.universe.tf/address-pool: network-services
|
||||
# metallb.universe.tf/allow-shared-ip: adguard-home-svc
|
||||
|
||||
serviceUDP:
|
||||
enabled: true
|
||||
type: NodePort
|
||||
# externalTrafficPolicy: Local
|
||||
# externalIPs: []
|
||||
loadBalancerIP: ""
|
||||
# a fixed LoadBalancer IP
|
||||
# loadBalancerSourceRanges: []
|
||||
annotations: {}
|
||||
# metallb.universe.tf/address-pool: network-services
|
||||
# metallb.universe.tf/allow-shared-ip: adguard-home-svc
|
||||
|
||||
serviceDNSOverTLS:
|
||||
enabled: false
|
||||
## Enable if you use AdGuard as a DNS over TLS/HTTPS server
|
||||
type: NodePort
|
||||
# externalTrafficPolicy: Local
|
||||
# externalIPs: []
|
||||
loadBalancerIP: ""
|
||||
# a fixed LoadBalancer IP
|
||||
# loadBalancerSourceRanges: []
|
||||
annotations: {}
|
||||
# metallb.universe.tf/address-pool: network-services
|
||||
# metallb.universe.tf/allow-shared-ip: adguard-home-svc
|
||||
|
||||
serviceDHCP:
|
||||
enabled: false
|
||||
## Enable if you use AdGuard as a DHCP Server
|
||||
type: NodePort
|
||||
# externalTrafficPolicy: Local
|
||||
# externalIPs: []
|
||||
loadBalancerIP: ""
|
||||
# a fixed LoadBalancer IP
|
||||
annotations: {}
|
||||
# metallb.universe.tf/address-pool: network-services
|
||||
# metallb.universe.tf/allow-shared-ip: adguard-home-svc
|
||||
|
||||
serviceMonitor:
|
||||
enabled: false
|
||||
additionalLabels: {}
|
||||
|
||||
## Pod Annotations
|
||||
podAnnotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "api"
|
||||
|
||||
persistence:
|
||||
config:
|
||||
enabled: true
|
||||
## adguard-home configuration data Persistent Volume Storage Class
|
||||
## If defined, storageClassName: <storageClass>
|
||||
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
||||
## If undefined (the default) or set to null, no storageClassName spec is
|
||||
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
||||
## GKE, AWS & OpenStack)
|
||||
##
|
||||
# storageClass: "-"
|
||||
##
|
||||
## If you want to reuse an existing claim, you can pass the name of the PVC using
|
||||
## the existingClaim variable
|
||||
# existingClaim: your-claim
|
||||
# subPath: some-subpath
|
||||
accessMode: ReadWriteOnce
|
||||
size: 20Mi
|
||||
## Do not delete the pvc upon helm uninstall
|
||||
skipuninstall: false
|
||||
work:
|
||||
enabled: true
|
||||
## adguard-home work volume configuration
|
||||
## If defined, storageClassName: <storageClass>
|
||||
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
||||
## If undefined (the default) or set to null, no storageClassName spec is
|
||||
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
||||
## GKE, AWS & OpenStack)
|
||||
##
|
||||
# storageClass: "-"
|
||||
##
|
||||
## If you want to reuse an existing claim, you can pass the name of the PVC using
|
||||
## the existingClaim variable
|
||||
# existingClaim: your-claim
|
||||
# subPath: some-subpath
|
||||
accessMode: ReadWriteOnce
|
||||
size: 10Gi
|
||||
## Do not delete the pvc upon helm uninstall
|
||||
skipuninstall: false
|
||||
|
||||
volumePermissions:
|
||||
image:
|
||||
repository: busybox
|
||||
tag: latest
|
||||
pullPolicy: Always
|
||||
resources: {}
|
||||
# requests:
|
||||
# memory: 128Mi
|
||||
# cpu: 100m
|
||||
|
||||
resources: {}
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
# limits:
|
||||
# memory: 500Mi
|
||||
# requests:
|
||||
# cpu: 50m
|
||||
# memory: 275Mi
|
||||
|
||||
nodeSelector: {}
|
||||
|
||||
tolerations: []
|
||||
|
||||
affinity: {}
|
||||
@@ -1,21 +0,0 @@
|
||||
apiVersion: v2
|
||||
appVersion: 10.6.2
|
||||
description: Airsonic is a Free and Open Source community driven media server
|
||||
name: airsonic
|
||||
version: 1.2.0
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
keywords:
|
||||
- airsonic
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/airsonic
|
||||
icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/airsonic-logo.png
|
||||
sources:
|
||||
- https://github.com/airsonic/airsonic
|
||||
- https://github.com/linuxserver/docker-airsonic
|
||||
- https://github.com/k8s-at-home/charts/tree/master/charts/airsonic
|
||||
maintainers:
|
||||
- name: Patricol
|
||||
url: https://patricol.co/
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 1.0.0
|
||||
@@ -1,27 +0,0 @@
|
||||
{{- define "custom.changelog.header" -}}
|
||||
## Changelog
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.changelog" -}}
|
||||
{{ template "custom.changelog.header" . }}
|
||||
|
||||
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog).
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### [1.0.0]
|
||||
|
||||
#### Added
|
||||
|
||||
- N/A
|
||||
|
||||
#### Changed
|
||||
|
||||
- N/A
|
||||
|
||||
#### Removed
|
||||
|
||||
- N/A
|
||||
|
||||
[1.0.0]: #1.0.0
|
||||
{{- end -}}
|
||||
@@ -1,63 +0,0 @@
|
||||
#
|
||||
# IMPORTANT NOTE
|
||||
#
|
||||
# This chart inherits from our common library chart. You can check the default values/options here:
|
||||
# https://github.com/k8s-at-home/charts/tree/master/charts/common/values.yaml
|
||||
#
|
||||
|
||||
image:
|
||||
repository: linuxserver/airsonic
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v10.6.2-ls97
|
||||
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
env: {}
|
||||
# TZ: UTC
|
||||
# PUID: "1001"
|
||||
# PGID: "1001"
|
||||
# CONTEXT_PATH: "url-base" # Used to set the base path for reverse proxies eg. /booksonic, /books, etc.
|
||||
# JAVA_OPTS: "" # For passing additional java options. For some reverse proxies, you may need to pass JAVA_OPTS=-Dserver.use-forward-headers=true for airsonic to generate the proper URL schemes.
|
||||
|
||||
|
||||
service:
|
||||
port:
|
||||
port: 4040
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
|
||||
persistence:
|
||||
config:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
|
||||
music:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
mountPath: /music
|
||||
## Persistent Volume Storage Class
|
||||
## If defined, storageClassName: <storageClass>
|
||||
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
||||
## If undefined (the default) or set to null, no storageClassName spec is
|
||||
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
||||
## GKE, AWS & OpenStack)
|
||||
# storageClass: "-"
|
||||
# accessMode: ReadWriteOnce
|
||||
# size: 1Gi
|
||||
## Do not delete the pvc upon helm uninstall
|
||||
# skipuninstall: false
|
||||
# existingClaim: ""
|
||||
playlists:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
mountPath: /playlists
|
||||
podcasts:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
mountPath: /podcasts
|
||||
media:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
mountPath: /media
|
||||
@@ -1,22 +0,0 @@
|
||||
apiVersion: v2
|
||||
appVersion: 0.4.2
|
||||
description: Bot for Prometheus Alertmanager
|
||||
name: alertmanager-bot
|
||||
version: 3.2.0
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
keywords:
|
||||
- alertmanager
|
||||
- telegram
|
||||
- bot
|
||||
- alerting
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/alertmanager-bot
|
||||
sources:
|
||||
- https://hub.docker.com/r/metalmatze/alertmanager-bot
|
||||
- https://github.com/metalmatze/alertmanager-bot
|
||||
maintainers:
|
||||
- name: billimek
|
||||
email: jeff@billimek.com
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 1.0.0
|
||||
@@ -1,27 +0,0 @@
|
||||
{{- define "custom.changelog.header" -}}
|
||||
## Changelog
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.changelog" -}}
|
||||
{{ template "custom.changelog.header" . }}
|
||||
|
||||
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog).
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### [1.0.0]
|
||||
|
||||
#### Added
|
||||
|
||||
- N/A
|
||||
|
||||
#### Changed
|
||||
|
||||
- N/A
|
||||
|
||||
#### Removed
|
||||
|
||||
- N/A
|
||||
|
||||
[1.0.0]: #1.0.0
|
||||
{{- end -}}
|
||||
@@ -1,42 +0,0 @@
|
||||
#
|
||||
# IMPORTANT NOTE
|
||||
#
|
||||
# This chart inherits from our common library chart. You can check the default values/options here:
|
||||
# https://github.com/k8s-at-home/charts/tree/master/charts/common/values.yaml
|
||||
#
|
||||
|
||||
image:
|
||||
repository: metalmatze/alertmanager-bot
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 0.4.2
|
||||
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
# See more environment varaibles in the alertmanager-botdocumentation
|
||||
# https://github.com/metalmatze/alertmanager-bot
|
||||
env:
|
||||
STORE: bolt
|
||||
BOLT_PATH: /data/bot.db
|
||||
# ALERTMANAGER_URL:
|
||||
# TELEGRAM_ADMIN:
|
||||
# TELEGRAM_TOKEN:
|
||||
|
||||
service:
|
||||
enabled: false
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
|
||||
probes:
|
||||
liveness:
|
||||
enabled: false
|
||||
readiness:
|
||||
enabled: false
|
||||
startup:
|
||||
enabled: false
|
||||
|
||||
persistence:
|
||||
data:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
@@ -1,21 +0,0 @@
|
||||
apiVersion: v2
|
||||
appVersion: 4.0.5
|
||||
description: AppDaemon is a loosely coupled, multi-threaded, sandboxed python execution environment for writing automation apps for various types of Home Automation Software including Home Assistant and MQTT.
|
||||
name: appdaemon
|
||||
version: 3.2.0
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
keywords:
|
||||
- appdaemon
|
||||
- home-automation
|
||||
- home-assistant
|
||||
- mqtt
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/appdaemon
|
||||
sources:
|
||||
- https://github.com/AppDaemon/appdaemon
|
||||
maintainers:
|
||||
- name: billimek
|
||||
email: jeff@billimek.com
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 1.0.0
|
||||
@@ -1,27 +0,0 @@
|
||||
{{- define "custom.changelog.header" -}}
|
||||
## Changelog
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.changelog" -}}
|
||||
{{ template "custom.changelog.header" . }}
|
||||
|
||||
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog).
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### [1.0.0]
|
||||
|
||||
#### Added
|
||||
|
||||
- N/A
|
||||
|
||||
#### Changed
|
||||
|
||||
- N/A
|
||||
|
||||
#### Removed
|
||||
|
||||
- N/A
|
||||
|
||||
[1.0.0]: #1.0.0
|
||||
{{- end -}}
|
||||
@@ -1,51 +0,0 @@
|
||||
#
|
||||
# IMPORTANT NOTE
|
||||
#
|
||||
# This chart inherits from our common library chart. You can check the default values/options here:
|
||||
# https://github.com/k8s-at-home/charts/tree/master/charts/common/values.yaml
|
||||
#
|
||||
|
||||
# Use our own image at https://github.com/k8s-at-home/container-images/tree/main/appdaemon
|
||||
# until https://github.com/AppDaemon/appdaemon/pull/1002 is merged
|
||||
image:
|
||||
repository: k8sathome/appdaemon
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v4.0.5
|
||||
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
service:
|
||||
port:
|
||||
port: 5050
|
||||
|
||||
# Environment variables that can be configure can be seen at
|
||||
# https://appdaemon.readthedocs.io/en/latest/DOCKER_TUTORIAL.html
|
||||
env: {}
|
||||
# TZ:
|
||||
# LATITUDE:
|
||||
# LONGITUDE:
|
||||
# ELEVATION:
|
||||
# HA_URL:
|
||||
# DASH_URL:
|
||||
# TOKEN:
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
|
||||
persistence:
|
||||
config:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
## Persistent Volume Storage Class
|
||||
## If defined, storageClassName: <storageClass>
|
||||
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
||||
## If undefined (the default) or set to null, no storageClassName spec is
|
||||
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
||||
## GKE, AWS & OpenStack)
|
||||
# storageClass: "-"
|
||||
# accessMode: ReadWriteOnce
|
||||
# size: 1Gi
|
||||
## Set to true to retain the PVC upon helm uninstall
|
||||
# skipuninstall: false
|
||||
# existingClaim: ""
|
||||
@@ -1,25 +0,0 @@
|
||||
apiVersion: v2
|
||||
appVersion: v0.9.0.5
|
||||
description: Bazarr is a companion application to Sonarr and Radarr. It manages and downloads subtitles based on your requirements
|
||||
name: bazarr
|
||||
version: 6.2.0
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
keywords:
|
||||
- bazarr
|
||||
- radarr
|
||||
- sonarr
|
||||
- subtitles
|
||||
- usenet
|
||||
- torrent
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/bazarr
|
||||
icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/bazarr.png
|
||||
sources:
|
||||
- https://hub.docker.com/r/linuxserver/bazarr/
|
||||
- https://github.com/morpheus65535/bazarr
|
||||
maintainers:
|
||||
- name: billimek
|
||||
email: jeff@billimek.com
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 1.0.0
|
||||
@@ -1,145 +0,0 @@
|
||||
{{- define "custom.repository.organization" -}}
|
||||
k8s-at-home
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.repository.url" -}}
|
||||
https://github.com/k8s-at-home/charts
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.url" -}}
|
||||
https://k8s-at-home.com/charts/
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.path" -}}
|
||||
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.notes" -}}
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.requirements" -}}
|
||||
## Requirements
|
||||
|
||||
{{ template "chart.kubeVersionLine" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.dependencies" -}}
|
||||
## Dependencies
|
||||
|
||||
{{ template "chart.requirementsTable" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install.tldr" -}}
|
||||
## TL;DR
|
||||
|
||||
```console
|
||||
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
|
||||
helm repo update
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install" -}}
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `{{ template "chart.name" . }}`
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.uninstall" -}}
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall the `{{ template "chart.name" . }}` deployment
|
||||
|
||||
```console
|
||||
helm uninstall {{ template "chart.name" . }}
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.header" -}}
|
||||
## Configuration
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.readValues" -}}
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common).
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.example.set" -}}
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} \
|
||||
--set env.TZ="America/New York" \
|
||||
{{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.example.file" -}}
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.valuesSection" -}}
|
||||
## Values
|
||||
|
||||
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/)
|
||||
|
||||
{{ template "chart.valuesTable" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.support" -}}
|
||||
## Support
|
||||
|
||||
- See the [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 -}}
|
||||
|
||||
{{ 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,27 +0,0 @@
|
||||
{{- define "custom.changelog.header" -}}
|
||||
## Changelog
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.changelog" -}}
|
||||
{{ template "custom.changelog.header" . }}
|
||||
|
||||
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog).
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### [1.0.0]
|
||||
|
||||
#### Added
|
||||
|
||||
- N/A
|
||||
|
||||
#### Changed
|
||||
|
||||
- N/A
|
||||
|
||||
#### Removed
|
||||
|
||||
- N/A
|
||||
|
||||
[1.0.0]: #1.0.0
|
||||
{{- end -}}
|
||||
@@ -1,48 +0,0 @@
|
||||
#
|
||||
# IMPORTANT NOTE
|
||||
#
|
||||
# This chart inherits from our common library chart. You can check the default values/options here:
|
||||
# https://github.com/k8s-at-home/charts/tree/master/charts/common/values.yaml
|
||||
#
|
||||
|
||||
image:
|
||||
repository: linuxserver/bazarr
|
||||
pullPolicy: IfNotPresent
|
||||
tag: version-v0.9.0.5
|
||||
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
env: {}
|
||||
# TZ: UTC
|
||||
# PUID: 1001
|
||||
# PGID: 1001
|
||||
|
||||
service:
|
||||
port:
|
||||
port: 6767
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
|
||||
persistence:
|
||||
config:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
|
||||
media:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
mountPath: /media
|
||||
## Persistent Volume Storage Class
|
||||
## If defined, storageClassName: <storageClass>
|
||||
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
||||
## If undefined (the default) or set to null, no storageClassName spec is
|
||||
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
||||
## GKE, AWS & OpenStack)
|
||||
# storageClass: "-"
|
||||
# accessMode: ReadWriteOnce
|
||||
# size: 1Gi
|
||||
## Do not delete the pvc upon helm uninstall
|
||||
# skipuninstall: false
|
||||
# existingClaim: ""
|
||||
@@ -1,19 +0,0 @@
|
||||
apiVersion: v2
|
||||
name: bitwardenrs
|
||||
description: Unofficial Bitwarden compatible server written in Rust
|
||||
type: application
|
||||
version: 2.0.1
|
||||
appVersion: 1.18.0
|
||||
keywords:
|
||||
- bitwarden
|
||||
- bitwardenrs
|
||||
- bitwarden_rs
|
||||
- password
|
||||
- rust
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/bitwardenrs
|
||||
sources:
|
||||
- https://github.com/dani-garcia/bitwarden_rs
|
||||
maintainers:
|
||||
- name: DirtyCajunRice
|
||||
email: nick@cajun.pro
|
||||
icon: https://raw.githubusercontent.com/bitwarden/brand/master/icons/256x256.png
|
||||
@@ -1,185 +0,0 @@
|
||||
# bitwardenrs
|
||||
|
||||
  
|
||||
|
||||
Unofficial Bitwarden compatible server written in Rust
|
||||
|
||||
**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/dani-garcia/bitwarden_rs>
|
||||
|
||||
## Requirements
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
|
||||
## TL;DR
|
||||
|
||||
```console
|
||||
helm repo add k8s-at-home https://k8s-at-home.com/charts/
|
||||
helm repo update
|
||||
helm install bitwardenrs k8s-at-home/bitwardenrs
|
||||
```
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `bitwardenrs`
|
||||
|
||||
```console
|
||||
helm install bitwardenrs k8s-at-home/bitwardenrs
|
||||
```
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall the `bitwardenrs` deployment
|
||||
|
||||
```console
|
||||
helm uninstall bitwardenrs
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||
|
||||
## Configuration
|
||||
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common).
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||
|
||||
```console
|
||||
helm install bitwardenrs \
|
||||
--set env.TZ="America/New York" \
|
||||
k8s-at-home/bitwardenrs
|
||||
```
|
||||
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install bitwardenrs k8s-at-home/bitwardenrs -f values.yaml
|
||||
```
|
||||
|
||||
## Custom configuration
|
||||
|
||||
N/A
|
||||
|
||||
## Values
|
||||
|
||||
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/)
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| affinity | object | `{}` | |
|
||||
| autoscaling.enabled | bool | `false` | |
|
||||
| autoscaling.maxReplicas | int | `100` | |
|
||||
| autoscaling.minReplicas | int | `1` | |
|
||||
| autoscaling.targetCPUUtilizationPercentage | int | `80` | |
|
||||
| bitwardenrs.admin.disableAdminToken | bool | `false` | |
|
||||
| bitwardenrs.admin.enabled | bool | `true` | |
|
||||
| bitwardenrs.admin.existingSecret.enabled | bool | `false` | |
|
||||
| bitwardenrs.admin.existingSecret.name | string | `""` | |
|
||||
| bitwardenrs.admin.existingSecret.tokenKey | string | `""` | |
|
||||
| bitwardenrs.domain | string | `""` | |
|
||||
| bitwardenrs.externalDatabase.database | string | `""` | |
|
||||
| bitwardenrs.externalDatabase.enabled | bool | `false` | |
|
||||
| bitwardenrs.externalDatabase.existingSecret.enabled | bool | `false` | |
|
||||
| bitwardenrs.externalDatabase.existingSecret.name | string | `""` | |
|
||||
| bitwardenrs.externalDatabase.existingSecret.passwordKey | string | `""` | |
|
||||
| bitwardenrs.externalDatabase.existingSecret.userKey | string | `""` | |
|
||||
| bitwardenrs.externalDatabase.host | string | `""` | |
|
||||
| bitwardenrs.externalDatabase.password | string | `""` | |
|
||||
| bitwardenrs.externalDatabase.port | string | `""` | |
|
||||
| bitwardenrs.externalDatabase.type | string | `""` | |
|
||||
| bitwardenrs.externalDatabase.user | string | `""` | |
|
||||
| bitwardenrs.gui.port | int | `80` | |
|
||||
| bitwardenrs.signupsAllowed | bool | `false` | |
|
||||
| bitwardenrs.smtp.enabled | bool | `false` | |
|
||||
| bitwardenrs.smtp.existingSecret.enabled | bool | `false` | |
|
||||
| bitwardenrs.smtp.existingSecret.name | string | `""` | |
|
||||
| bitwardenrs.smtp.existingSecret.passwordKey | string | `""` | |
|
||||
| bitwardenrs.smtp.existingSecret.userKey | string | `""` | |
|
||||
| bitwardenrs.smtp.from | string | `""` | |
|
||||
| bitwardenrs.smtp.fromName | string | `""` | |
|
||||
| bitwardenrs.smtp.host | string | `""` | |
|
||||
| bitwardenrs.smtp.password | string | `""` | |
|
||||
| bitwardenrs.smtp.port | int | `587` | |
|
||||
| bitwardenrs.smtp.ssl | bool | `true` | |
|
||||
| bitwardenrs.smtp.user | string | `""` | |
|
||||
| bitwardenrs.websockets.enabled | bool | `true` | |
|
||||
| bitwardenrs.websockets.port | int | `3012` | |
|
||||
| bitwardenrs.yubico.clientId | string | `""` | |
|
||||
| bitwardenrs.yubico.enabled | bool | `false` | |
|
||||
| bitwardenrs.yubico.existingSecret.clientIdKey | string | `""` | |
|
||||
| bitwardenrs.yubico.existingSecret.enabled | bool | `false` | |
|
||||
| bitwardenrs.yubico.existingSecret.name | string | `""` | |
|
||||
| bitwardenrs.yubico.existingSecret.secretKeyKey | string | `""` | |
|
||||
| bitwardenrs.yubico.secretKey | string | `""` | |
|
||||
| bitwardenrs.yubico.server | string | `""` | |
|
||||
| env | object | `{}` | |
|
||||
| fullnameOverride | string | `""` | |
|
||||
| image.pullPolicy | string | `"IfNotPresent"` | |
|
||||
| image.repository | string | `"bitwardenrs/server"` | |
|
||||
| image.tag | string | `""` | |
|
||||
| imagePullSecrets | list | `[]` | |
|
||||
| ingress.annotations | object | `{}` | |
|
||||
| ingress.enabled | bool | `false` | |
|
||||
| ingress.hosts[0].host | string | `"chart-example.local"` | |
|
||||
| ingress.hosts[0].paths | list | `[]` | |
|
||||
| ingress.tls | list | `[]` | |
|
||||
| nameOverride | string | `""` | |
|
||||
| nodeSelector | object | `{}` | |
|
||||
| persistence.accessMode | string | `"ReadWriteOnce"` | |
|
||||
| persistence.enabled | bool | `false` | |
|
||||
| persistence.size | string | `"1Gi"` | |
|
||||
| persistence.type | string | `"statefulset"` | |
|
||||
| podAnnotations | object | `{}` | |
|
||||
| podSecurityContext | object | `{}` | |
|
||||
| replicaCount | int | `1` | |
|
||||
| resources | object | `{}` | |
|
||||
| securityContext | object | `{}` | |
|
||||
| service.additionalSpec | object | `{}` | |
|
||||
| service.annotations | object | `{}` | |
|
||||
| service.labels | object | `{}` | |
|
||||
| service.port | int | `80` | |
|
||||
| service.type | string | `"ClusterIP"` | |
|
||||
| serviceAccount.annotations | object | `{}` | |
|
||||
| serviceAccount.create | bool | `true` | |
|
||||
| serviceAccount.name | string | `""` | |
|
||||
| tolerations | list | `[]` | |
|
||||
|
||||
## Changelog
|
||||
|
||||
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog).
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### [2.0.0]
|
||||
|
||||
#### Added
|
||||
|
||||
- external database support
|
||||
* No actions required to continue with the default sqlite backend.
|
||||
* Refer to the `bitwardenrs.externalDatabase` section of [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/bitwardenrs/values.yaml) to configure MySQL or PostgreSQL database backends.
|
||||
|
||||
#### Changed
|
||||
|
||||
- Use helm-docs
|
||||
|
||||
#### Removed
|
||||
|
||||
- N/A
|
||||
|
||||
[2.0.0]: #2.0.0
|
||||
|
||||
## 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 v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)
|
||||
@@ -1,145 +0,0 @@
|
||||
{{- define "custom.repository.organization" -}}
|
||||
k8s-at-home
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.repository.url" -}}
|
||||
https://github.com/k8s-at-home/charts
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.url" -}}
|
||||
https://k8s-at-home.com/charts/
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.path" -}}
|
||||
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.notes" -}}
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.requirements" -}}
|
||||
## Requirements
|
||||
|
||||
{{ template "chart.kubeVersionLine" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.dependencies" -}}
|
||||
## Dependencies
|
||||
|
||||
{{ template "chart.requirementsTable" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install.tldr" -}}
|
||||
## TL;DR
|
||||
|
||||
```console
|
||||
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
|
||||
helm repo update
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install" -}}
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `{{ template "chart.name" . }}`
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.uninstall" -}}
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall the `{{ template "chart.name" . }}` deployment
|
||||
|
||||
```console
|
||||
helm uninstall {{ template "chart.name" . }}
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.header" -}}
|
||||
## Configuration
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.readValues" -}}
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common).
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.example.set" -}}
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} \
|
||||
--set env.TZ="America/New York" \
|
||||
{{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.example.file" -}}
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.valuesSection" -}}
|
||||
## Values
|
||||
|
||||
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/)
|
||||
|
||||
{{ template "chart.valuesTable" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.support" -}}
|
||||
## Support
|
||||
|
||||
- See the [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 -}}
|
||||
|
||||
{{ 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,29 +0,0 @@
|
||||
{{- define "custom.changelog.header" -}}
|
||||
## Changelog
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.changelog" -}}
|
||||
{{ template "custom.changelog.header" . }}
|
||||
|
||||
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog).
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### [2.0.1]
|
||||
|
||||
#### Added
|
||||
|
||||
- external database support
|
||||
* No actions required to continue with the default sqlite backend.
|
||||
* Refer to the `bitwardenrs.externalDatabase` section of [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/bitwardenrs/values.yaml) to configure MySQL or PostgreSQL database backends.
|
||||
|
||||
#### Changed
|
||||
|
||||
- Use helm-docs
|
||||
|
||||
#### Removed
|
||||
|
||||
- N/A
|
||||
|
||||
[2.0.1]: #2.0.1
|
||||
{{- end -}}
|
||||
@@ -1,21 +0,0 @@
|
||||
1. Get the application URL by running these commands:
|
||||
{{- if .Values.ingress.enabled }}
|
||||
{{- range $host := .Values.ingress.hosts }}
|
||||
{{- range .paths }}
|
||||
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- else if contains "NodePort" .Values.service.type }}
|
||||
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "bitwardenrs.fullname" . }})
|
||||
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
|
||||
echo http://$NODE_IP:$NODE_PORT
|
||||
{{- else if contains "LoadBalancer" .Values.service.type }}
|
||||
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
|
||||
You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "bitwardenrs.fullname" . }}'
|
||||
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "bitwardenrs.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
|
||||
echo http://$SERVICE_IP:{{ .Values.service.port }}
|
||||
{{- else if contains "ClusterIP" .Values.service.type }}
|
||||
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "bitwardenrs.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
|
||||
echo "Visit http://127.0.0.1:8080 to use your application"
|
||||
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:80
|
||||
{{- end }}
|
||||
@@ -1,38 +0,0 @@
|
||||
{{/* vim: set filetype=mustache: */}}
|
||||
{{/*
|
||||
Generate environment variables for external database
|
||||
*/}}
|
||||
{{- define "bitwardenrs.externalDatabaseConfigMap" -}}
|
||||
{{- with .Values.bitwardenrs.externalDatabase }}
|
||||
{{- if and .enabled (or (eq .type "postgresql") (eq .type "mysql")) }}
|
||||
{{- if and (not .existingSecret.enabled) .user }}
|
||||
DATABASE_USER: {{ .user | quote }}
|
||||
{{- end }}
|
||||
{{- if and (not .existingSecret.enabled) .password }}
|
||||
DATABASE_PASSWORD: {{ .password | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- define "bitwardenrs.externalDatabaseEnv" -}}
|
||||
{{- with .Values.bitwardenrs.externalDatabase }}
|
||||
{{- if and .enabled (or (eq .type "postgresql") (eq .type "mysql")) }}
|
||||
{{- if .existingSecret.enabled }}
|
||||
- name: DATABASE_USER
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ .existingSecret.name | quote }}
|
||||
key: {{ .existingSecret.userKey | quote }}
|
||||
- name: DATABASE_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ .existingSecret.name | quote }}
|
||||
key: {{ .existingSecret.passwordKey | quote }}
|
||||
{{- end }}
|
||||
{{- $dbport := not (empty .port) | ternary (printf ":%v" .port) "" }}
|
||||
- name: DATABASE_URL
|
||||
value: {{ printf "%v://$(DATABASE_USER):$(DATABASE_PASSWORD)@%v%v/%v" .type .host $dbport .database }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -1,63 +0,0 @@
|
||||
{{/* vim: set filetype=mustache: */}}
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "bitwardenrs.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "bitwardenrs.fullname" -}}
|
||||
{{- if .Values.fullnameOverride }}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||
{{- if contains $name .Release.Name }}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "bitwardenrs.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "bitwardenrs.labels" -}}
|
||||
helm.sh/chart: {{ include "bitwardenrs.chart" . }}
|
||||
{{ include "bitwardenrs.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "bitwardenrs.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "bitwardenrs.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create the name of the service account to use
|
||||
*/}}
|
||||
{{- define "bitwardenrs.serviceAccountName" -}}
|
||||
{{- if .Values.serviceAccount.create }}
|
||||
{{- default (include "bitwardenrs.fullname" .) .Values.serviceAccount.name }}
|
||||
{{- else }}
|
||||
{{- default "default" .Values.serviceAccount.name }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -1,50 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ template "bitwardenrs.fullname" . }}
|
||||
labels:
|
||||
{{- include "bitwardenrs.labels" . | nindent 4 }}
|
||||
data:
|
||||
SIGNUPS_ALLOWED: {{ .Values.bitwardenrs.signupsAllowed | quote }}
|
||||
{{- if .Values.bitwardenrs.domain }}
|
||||
DOMAIN: {{ .Values.bitwardenrs.domain | quote }}
|
||||
{{- end }}
|
||||
WEBSOCKET_ENABLED: {{ .Values.bitwardenrs.websockets.enabled | quote }}
|
||||
{{- if and .Values.bitwardenrs.admin.enabled .Values.bitwardenrs.admin.disableAdminToken }}
|
||||
DISABLE_ADMIN_TOKEN: "true"
|
||||
{{- end }}
|
||||
{{- with .Values.bitwardenrs.smtp }}
|
||||
{{- if .enabled }}
|
||||
SMTP_HOST: {{ required "SMTP host is required to enable SMTP" .host | quote }}
|
||||
SMTP_FROM: {{ required "SMTP sender address ('from') is required to enable SMTP" .from | quote }}
|
||||
{{- if .fromName }}
|
||||
SMTP_FROM_NAME: {{ .fromName | quote }}
|
||||
{{- end }}
|
||||
{{- if .ssl }}
|
||||
SMTP_SSL: {{ .ssl | quote }}
|
||||
{{- end }}
|
||||
{{- if .port }}
|
||||
SMTP_PORT: {{ .port | quote }}
|
||||
{{- end }}
|
||||
{{- if and (not .existingSecret.enabled) .user }}
|
||||
SMTP_USERNAME: {{ .user | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- with .Values.bitwardenrs.yubico }}
|
||||
{{- if .enabled }}
|
||||
{{- if .server }}
|
||||
YUBICO_SERVER: {{ .server | quote }}
|
||||
{{- end }}
|
||||
{{- if and (not .existingSecret.enabled) .clientId }}
|
||||
YUBICO_CLIENT_ID: {{ .clientId | quote }}
|
||||
{{- end }}
|
||||
{{- if and (not .existingSecret.enabled) .secretKey }}
|
||||
YUBICO_SECRET_KEY: {{ .secretKey | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- include "bitwardenrs.externalDatabaseConfigMap" . | nindent 2 }}
|
||||
{{- if .Values.env }}
|
||||
{{- toYaml .Values.env | nindent 2 }}
|
||||
{{- end }}
|
||||
@@ -1,135 +0,0 @@
|
||||
{{- if eq .Values.persistence.type "deployment" }}
|
||||
{{- $fullName := include "bitwardenrs.fullname" . -}}
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ $fullName }}
|
||||
labels:
|
||||
{{- include "bitwardenrs.labels" . | nindent 4 }}
|
||||
spec:
|
||||
{{- if not .Values.autoscaling.enabled }}
|
||||
replicas: {{ .Values.replicaCount }}
|
||||
{{- end }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "bitwardenrs.selectorLabels" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
{{- with .Values.podAnnotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "bitwardenrs.selectorLabels" . | nindent 8 }}
|
||||
spec:
|
||||
{{- with .Values.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
serviceAccountName: {{ include "bitwardenrs.serviceAccountName" . }}
|
||||
{{- with .Values.podSecurityContext }}
|
||||
securityContext:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ $fullName }}
|
||||
{{- with .Values.securityContext }}
|
||||
securityContext:
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: {{ $fullName }}
|
||||
env:
|
||||
{{- with .Values.bitwardenrs.admin }}
|
||||
{{- if and .enabled (not .disableAdminToken) }}
|
||||
- name: ADMIN_TOKEN
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
{{- if .existingSecret.enabled }}
|
||||
name: {{ .existingSecret.name | quote }}
|
||||
key: {{ .existingSecret.tokenKey | quote }}
|
||||
{{- else }}
|
||||
name: {{ $fullName }}
|
||||
key: admin-token
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- with .Values.bitwardenrs.smtp }}
|
||||
{{- if eq .enabled true }}
|
||||
{{- if and .existingSecret.enabled (not .user) }}
|
||||
- name: SMTP_USERNAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ .existingSecret.name | quote }}
|
||||
key: {{ .existingSecret.userKey | quote }}
|
||||
- name: SMTP_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ .existingSecret.name | quote }}
|
||||
key: {{ .existingSecret.passwordKey | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- with .Values.bitwardenrs.yubico }}
|
||||
{{- if and .enabled .existingSecret.enabled }}
|
||||
- name: YUBICO_CLIENT_ID
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ .existingSecret.name | quote }}
|
||||
key: {{ .existingSecret.clientIdKey | quote }}
|
||||
- name: YUBICO_SECRET_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ .existingSecret.name | quote }}
|
||||
key: {{ .existingSecret.secretKeyKey | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- include "bitwardenrs.externalDatabaseEnv" . | nindent 12 }}
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: {{ .Values.bitwardenrs.gui.port }}
|
||||
protocol: TCP
|
||||
{{- if .Values.bitwardenrs.websockets.enabled }}
|
||||
- name: websocket
|
||||
containerPort: {{ .Values.bitwardenrs.websockets.port }}
|
||||
protocol: TCP
|
||||
{{- end }}
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
{{- with .Values.resources }}
|
||||
resources:
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
- name: {{ include "bitwardenrs.fullname" . }}
|
||||
mountPath: /data
|
||||
{{- with .Values.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.affinity }}
|
||||
affinity:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
- name: {{ include "bitwardenrs.fullname" . }}
|
||||
{{- if .Values.persistence.enabled }}
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ if .Values.persistence.existingClaim }}{{ .Values.persistence.existingClaim | quote }}{{- else }}{{ include "bitwardenrs.fullname" . }}{{- end }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -1,32 +0,0 @@
|
||||
{{- if .Values.autoscaling.enabled }}
|
||||
apiVersion: autoscaling/v2beta1
|
||||
kind: HorizontalPodAutoscaler
|
||||
metadata:
|
||||
name: {{ include "bitwardenrs.fullname" . }}
|
||||
labels:
|
||||
{{- include "bitwardenrs.labels" . | nindent 4 }}
|
||||
spec:
|
||||
scaleTargetRef:
|
||||
apiVersion: apps/v1
|
||||
{{- if eq .Values.persistence.type "statefulset" }}
|
||||
kind: StatefulSet
|
||||
{{- else }}
|
||||
kind: Deployment
|
||||
{{- end }}
|
||||
name: {{ include "bitwardenrs.fullname" . }}
|
||||
minReplicas: {{ .Values.autoscaling.minReplicas }}
|
||||
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
|
||||
metrics:
|
||||
{{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
|
||||
- type: Resource
|
||||
resource:
|
||||
name: cpu
|
||||
targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
|
||||
{{- end }}
|
||||
{{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
|
||||
- type: Resource
|
||||
resource:
|
||||
name: memory
|
||||
targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -1,52 +0,0 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $fullName := include "bitwardenrs.fullname" . -}}
|
||||
{{- $svcPort := .Values.service.port -}}
|
||||
{{- $websockets := .Values.bitwardenrs.websockets -}}
|
||||
{{- if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
|
||||
apiVersion: networking.k8s.io/v1beta1
|
||||
{{- else -}}
|
||||
apiVersion: extensions/v1beta1
|
||||
{{- end }}
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ $fullName }}
|
||||
labels:
|
||||
{{- include "bitwardenrs.labels" . | nindent 4 }}
|
||||
{{- with .Values.ingress.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
{{- range .Values.ingress.tls }}
|
||||
- hosts:
|
||||
{{- range .hosts }}
|
||||
- {{ . | quote }}
|
||||
{{- end }}
|
||||
secretName: {{ .secretName }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ .host | quote }}
|
||||
http:
|
||||
paths:
|
||||
{{- range .paths }}
|
||||
- path: {{ . }}
|
||||
backend:
|
||||
serviceName: {{ $fullName }}
|
||||
servicePort: {{ $svcPort }}
|
||||
{{- if $websockets.enabled }}
|
||||
- path: {{ . | trimSuffix "/" }}/notifications/hub
|
||||
backend:
|
||||
serviceName: {{ $fullName }}
|
||||
servicePort: {{ $websockets.port }}
|
||||
- path: {{ . | trimSuffix "/" }}/notifications/hub/negotiate
|
||||
backend:
|
||||
serviceName: {{ $fullName }}
|
||||
servicePort: {{ $svcPort}}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -1,15 +0,0 @@
|
||||
{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: {{ include "bitwardenrs.fullname" . }}
|
||||
spec:
|
||||
accessModes:
|
||||
- {{ .Values.persistence.accessMode | quote }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.persistence.size | quote }}
|
||||
{{- if .Values.persistence.storageClass }}
|
||||
storageClassName: {{ .Values.persistence.storageClass | quote }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
@@ -1,11 +0,0 @@
|
||||
{{- if not .Values.bitwardenrs.admin.existingSecret.enabled }}
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ template "bitwardenrs.fullname" . }}
|
||||
labels:
|
||||
{{- include "bitwardenrs.labels" . | nindent 4 }}
|
||||
type: Opaque
|
||||
data:
|
||||
admin-token: {{ randAlphaNum 48 | b64enc | quote }}
|
||||
{{- end }}
|
||||
@@ -1,28 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "bitwardenrs.fullname" . }}
|
||||
labels:
|
||||
{{- include "bitwardenrs.labels" . | nindent 4 }}
|
||||
{{- with .Values.service.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.service.type }}
|
||||
ports:
|
||||
- port: {{ .Values.service.port }}
|
||||
targetPort: http
|
||||
protocol: TCP
|
||||
name: http
|
||||
{{- if .Values.bitwardenrs.websockets.enabled }}
|
||||
- port: {{ .Values.bitwardenrs.websockets.port }}
|
||||
targetPort: websocket
|
||||
protocol: TCP
|
||||
name: websocket
|
||||
{{- end }}
|
||||
{{- with .Values.service.additionalSpec }}
|
||||
{{- toYaml . | nindent 2 }}
|
||||
{{- end }}
|
||||
selector:
|
||||
{{- include "bitwardenrs.selectorLabels" . | nindent 4 }}
|
||||
@@ -1,12 +0,0 @@
|
||||
{{- if .Values.serviceAccount.create -}}
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: {{ include "bitwardenrs.serviceAccountName" . }}
|
||||
labels:
|
||||
{{- include "bitwardenrs.labels" . | nindent 4 }}
|
||||
{{- with .Values.serviceAccount.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -1,136 +0,0 @@
|
||||
{{- if eq .Values.persistence.type "statefulset" }}
|
||||
{{- $fullName := include "bitwardenrs.fullname" . -}}
|
||||
apiVersion: apps/v1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
name: {{ $fullName }}
|
||||
labels:
|
||||
{{- include "bitwardenrs.labels" . | nindent 4 }}
|
||||
spec:
|
||||
{{- if not .Values.autoscaling.enabled }}
|
||||
replicas: {{ .Values.replicaCount }}
|
||||
{{- end }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "bitwardenrs.selectorLabels" . | nindent 6 }}
|
||||
serviceName: {{ $fullName }}
|
||||
template:
|
||||
metadata:
|
||||
{{- with .Values.podAnnotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "bitwardenrs.selectorLabels" . | nindent 8 }}
|
||||
spec:
|
||||
{{- with .Values.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
serviceAccountName: {{ include "bitwardenrs.serviceAccountName" . }}
|
||||
{{- with .Values.podSecurityContext }}
|
||||
securityContext:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ $fullName }}
|
||||
{{- with .Values.securityContext }}
|
||||
securityContext:
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: {{ $fullName }}
|
||||
env:
|
||||
{{- with .Values.bitwardenrs.admin }}
|
||||
{{- if and .enabled (not .disableAdminToken) }}
|
||||
- name: ADMIN_TOKEN
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
{{- if .existingSecret.enabled }}
|
||||
name: {{ .existingSecret.name | quote }}
|
||||
key: {{ .existingSecret.tokenKey | quote }}
|
||||
{{- else }}
|
||||
name: {{ $fullName }}
|
||||
key: admin-token
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- with .Values.bitwardenrs.smtp }}
|
||||
{{- if eq .enabled true }}
|
||||
{{- if and .existingSecret.enabled (not .user) }}
|
||||
- name: SMTP_USERNAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ .existingSecret.name | quote }}
|
||||
key: {{ .existingSecret.userKey | quote }}
|
||||
- name: SMTP_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ .existingSecret.name | quote }}
|
||||
key: {{ .existingSecret.passwordKey | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- with .Values.bitwardenrs.yubico }}
|
||||
{{- if and .enabled .existingSecret.enabled }}
|
||||
- name: YUBICO_CLIENT_ID
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ .existingSecret.name | quote }}
|
||||
key: {{ .existingSecret.clientIdKey | quote }}
|
||||
- name: YUBICO_SECRET_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ .existingSecret.name | quote }}
|
||||
key: {{ .existingSecret.secretKeyKey | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- include "bitwardenrs.externalDatabaseEnv" . | nindent 12 }}
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: {{ .Values.bitwardenrs.gui.port }}
|
||||
protocol: TCP
|
||||
{{- if .Values.bitwardenrs.websockets.enabled }}
|
||||
- name: websocket
|
||||
containerPort: {{ .Values.bitwardenrs.websockets.port }}
|
||||
protocol: TCP
|
||||
{{- end }}
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
{{- with .Values.resources }}
|
||||
resources:
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
- name: {{ include "bitwardenrs.fullname" . }}
|
||||
mountPath: /data
|
||||
{{- with .Values.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.affinity }}
|
||||
affinity:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
- name: {{ include "bitwardenrs.fullname" . }}
|
||||
{{- if .Values.persistence.enabled }}
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ if .Values.persistence.existingClaim }}{{ .Values.persistence.existingClaim | quote }}{{- else }}{{ include "bitwardenrs.fullname" . }}{{- end }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -1,15 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: "{{ include "bitwardenrs.fullname" . }}-test-connection"
|
||||
labels:
|
||||
{{- include "bitwardenrs.labels" . | nindent 4 }}
|
||||
annotations:
|
||||
"helm.sh/hook": test-success
|
||||
spec:
|
||||
containers:
|
||||
- name: wget
|
||||
image: busybox
|
||||
command: ['wget']
|
||||
args: ['{{ include "bitwardenrs.fullname" . }}:{{ .Values.service.port }}']
|
||||
restartPolicy: Never
|
||||
@@ -1,178 +0,0 @@
|
||||
# Default values for bitwardenrs.
|
||||
|
||||
replicaCount: 1
|
||||
|
||||
image:
|
||||
repository: bitwardenrs/server
|
||||
pullPolicy: IfNotPresent
|
||||
tag: ""
|
||||
|
||||
imagePullSecrets: []
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
|
||||
bitwardenrs:
|
||||
domain: ""
|
||||
signupsAllowed: false
|
||||
gui:
|
||||
# If you set a different port here, you must also provide it under env
|
||||
port: 80
|
||||
websockets:
|
||||
enabled: true
|
||||
port: 3012
|
||||
admin:
|
||||
enabled: true
|
||||
disableAdminToken: false
|
||||
existingSecret:
|
||||
enabled: false
|
||||
name: ""
|
||||
tokenKey: ""
|
||||
# External database configuration.
|
||||
# Requires bitwardenrs/server >= 1.17.0 or bitwardenrs/server-{mysql,postgres} images
|
||||
# ref: https://github.com/dani-garcia/bitwarden_rs/wiki/Using-the-MySQL-Backend
|
||||
# https://github.com/dani-garcia/bitwarden_rs/wiki/Using-the-PostgreSQL-Backend
|
||||
externalDatabase:
|
||||
enabled: false
|
||||
# Supported values: 'mysql', 'postgresql'.
|
||||
type: ""
|
||||
# Database host. Required if external database is enabled.
|
||||
host: ""
|
||||
# Database port. Optional, default value is specific to the database backend.
|
||||
port: ""
|
||||
# Database name.
|
||||
database: ""
|
||||
# Database user.
|
||||
user: ""
|
||||
# Database password. Special characters must be escaped with percent encoding.
|
||||
password: ""
|
||||
# Use existing secret for database credentials.
|
||||
existingSecret:
|
||||
enabled: false
|
||||
name: ""
|
||||
userKey: ""
|
||||
# Special characters in the password value must be escaped with percent encoding.
|
||||
passwordKey: ""
|
||||
# Enable SMTP. https://github.com/dani-garcia/bitwarden_rs/wiki/SMTP-configuration
|
||||
smtp:
|
||||
enabled: false
|
||||
# SMTP hostname, required if SMTP is enabled
|
||||
host: ""
|
||||
# SMTP sender e-mail address, required if SMTP is enabled
|
||||
from: ""
|
||||
# SMTP sender name, defaults to 'Bitwarden_RS'
|
||||
fromName: ""
|
||||
# Enable SSL connection
|
||||
ssl: true
|
||||
# SMTP port
|
||||
port: 587
|
||||
# SMTP username
|
||||
user: ""
|
||||
# SMTP password. Required is user is specified, ignored if no user provided
|
||||
password: ""
|
||||
# Use existing secret for SMTP authentication
|
||||
existingSecret:
|
||||
enabled: false
|
||||
name: ""
|
||||
userKey: ""
|
||||
passwordKey: ""
|
||||
# Enable Yubikey 2FA: https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-Yubikey-OTP-authentication
|
||||
yubico:
|
||||
enabled: false
|
||||
# OTP verification server. Will use the default YubiCloud servers if not specified
|
||||
server: ""
|
||||
# API Client ID for OTP server. Ignored if existingSecret is provided.
|
||||
clientId: ""
|
||||
# API Secret Key for OTP server. Required if clientId is specified, ignored when using existingSecret.
|
||||
secretKey: ""
|
||||
# Use existing secret for API keys
|
||||
existingSecret:
|
||||
enabled: false
|
||||
name: ""
|
||||
clientIdKey: ""
|
||||
secretKeyKey: ""
|
||||
|
||||
env: {}
|
||||
# If you plan to run the WebUI on a port other than port 80, specify that here:
|
||||
# For example, if running the container as a non-root user.
|
||||
# ROCKET_PORT: "80"
|
||||
|
||||
persistence:
|
||||
type: statefulset
|
||||
enabled: false
|
||||
size: 1Gi
|
||||
accessMode: ReadWriteOnce
|
||||
## Persistent Volume storage class
|
||||
# storageClass: "-"
|
||||
## Use existing Persistent Volume Claim
|
||||
# existingClaim:
|
||||
|
||||
serviceAccount:
|
||||
# Specifies whether a service account should be created
|
||||
create: true
|
||||
# Annotations to add to the service account
|
||||
annotations: {}
|
||||
# The name of the service account to use.
|
||||
# If not set and create is true, a name is generated using the fullname template
|
||||
name: ""
|
||||
|
||||
podAnnotations: {}
|
||||
|
||||
podSecurityContext: {}
|
||||
# fsGroup: 2000
|
||||
|
||||
securityContext: {}
|
||||
# capabilities:
|
||||
# drop:
|
||||
# - ALL
|
||||
# readOnlyRootFilesystem: true
|
||||
# runAsNonRoot: true
|
||||
# runAsUser: 1000
|
||||
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 80
|
||||
## Provide any additional annotations which may be required. This can be used to
|
||||
## set the LoadBalancer service type to internal only.
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
|
||||
##
|
||||
annotations: {}
|
||||
labels: {}
|
||||
additionalSpec: {}
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
annotations: {}
|
||||
# kubernetes.io/ingress.class: nginx
|
||||
# kubernetes.io/tls-acme: "true"
|
||||
hosts:
|
||||
- host: chart-example.local
|
||||
paths: []
|
||||
tls: []
|
||||
# - secretName: chart-example-tls
|
||||
# hosts:
|
||||
# - chart-example.local
|
||||
|
||||
resources: {}
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
# limits:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
# requests:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
|
||||
autoscaling:
|
||||
enabled: false
|
||||
minReplicas: 1
|
||||
maxReplicas: 100
|
||||
targetCPUUtilizationPercentage: 80
|
||||
# targetMemoryUtilizationPercentage: 80
|
||||
|
||||
nodeSelector: {}
|
||||
|
||||
tolerations: []
|
||||
|
||||
affinity: {}
|
||||
@@ -1,16 +0,0 @@
|
||||
apiVersion: v2
|
||||
appVersion: v0.12
|
||||
description: DNS proxy as ad-blocker for local network
|
||||
name: blocky
|
||||
version: 5.0.1
|
||||
keywords:
|
||||
- blocky
|
||||
- adblock
|
||||
- dns
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/blocky
|
||||
icon: https://github.com/0xERR0R/blocky/raw/master/docs/blocky.svg?sanitize=true
|
||||
sources:
|
||||
- https://github.com/0xERR0R/blocky
|
||||
maintainers:
|
||||
- name: billimek
|
||||
email: jeff@billimek.com
|
||||
File diff suppressed because one or more lines are too long
@@ -1,145 +0,0 @@
|
||||
{{- define "custom.repository.organization" -}}
|
||||
k8s-at-home
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.repository.url" -}}
|
||||
https://github.com/k8s-at-home/charts
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.url" -}}
|
||||
https://k8s-at-home.com/charts/
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.path" -}}
|
||||
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.notes" -}}
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.requirements" -}}
|
||||
## Requirements
|
||||
|
||||
{{ template "chart.kubeVersionLine" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.dependencies" -}}
|
||||
## Dependencies
|
||||
|
||||
{{ template "chart.requirementsTable" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install.tldr" -}}
|
||||
## TL;DR
|
||||
|
||||
```console
|
||||
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
|
||||
helm repo update
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install" -}}
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `{{ template "chart.name" . }}`
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.uninstall" -}}
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall the `{{ template "chart.name" . }}` deployment
|
||||
|
||||
```console
|
||||
helm uninstall {{ template "chart.name" . }}
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.header" -}}
|
||||
## Configuration
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.readValues" -}}
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common).
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.example.set" -}}
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} \
|
||||
--set env.TZ="America/New York" \
|
||||
{{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.example.file" -}}
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.valuesSection" -}}
|
||||
## Values
|
||||
|
||||
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/)
|
||||
|
||||
{{ template "chart.valuesTable" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.support" -}}
|
||||
## Support
|
||||
|
||||
- See the [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 -}}
|
||||
|
||||
{{ 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,28 +0,0 @@
|
||||
{{- define "custom.changelog.header" -}}
|
||||
## Changelog
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.changelog" -}}
|
||||
{{ template "custom.changelog.header" . }}
|
||||
|
||||
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog).
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### [5.0.1]
|
||||
|
||||
#### Added
|
||||
|
||||
- N/A
|
||||
|
||||
#### Changed
|
||||
|
||||
- configuration inside `config` is no longer a yaml object, it is now a multiline string
|
||||
- moved to helm-docs
|
||||
|
||||
#### Removed
|
||||
|
||||
- N/A
|
||||
|
||||
[5.0.1]: #5.0.1
|
||||
{{- end -}}
|
||||
@@ -1,15 +0,0 @@
|
||||
1. Get the application URL by running these commands:
|
||||
{{- if contains "NodePort" .Values.serviceUDP.type }}
|
||||
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "blocky.fullname" . }})
|
||||
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
|
||||
echo http://$NODE_IP:$NODE_PORT
|
||||
{{- else if contains "LoadBalancer" .Values.serviceUDP.type }}
|
||||
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
|
||||
You can watch the status of by running 'kubectl get svc -w {{ include "blocky.fullname" . }}'
|
||||
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "blocky.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
|
||||
echo http://$SERVICE_IP:{{ .Values.serviceUDP.port }}
|
||||
{{- else if contains "ClusterIP" .Values.serviceUDP.type }}
|
||||
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "blocky.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
|
||||
echo "Visit http://127.0.0.1:8080 to use your application"
|
||||
kubectl port-forward $POD_NAME 8080:80
|
||||
{{- end }}
|
||||
@@ -1,41 +0,0 @@
|
||||
{{/* vim: set filetype=mustache: */}}
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "blocky.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "blocky.fullname" -}}
|
||||
{{- if .Values.fullnameOverride -}}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
||||
{{- if contains $name .Release.Name -}}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified postgresql name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
*/}}
|
||||
{{- define "blocky.postgresql.fullname" -}}
|
||||
{{- $name := default "postgresql" .Values.postgresql.nameOverride -}}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "blocky.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
@@ -1,13 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ template "blocky.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "blocky.name" . }}
|
||||
helm.sh/chart: {{ include "blocky.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
data:
|
||||
config.yml: |
|
||||
{{ .Values.config | indent 4 }}
|
||||
@@ -1,120 +0,0 @@
|
||||
{{- $blockyConfig := .Values.config | fromYaml }}
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ include "blocky.fullname" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "blocky.name" . }}
|
||||
helm.sh/chart: {{ include "blocky.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
spec:
|
||||
replicas: {{ .Values.replicas }}
|
||||
revisionHistoryLimit: 3
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: {{ include "blocky.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "blocky.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
annotations:
|
||||
checksum/configmap: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
|
||||
{{- with .Values.podAnnotations }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
containers:
|
||||
- name: {{ .Chart.Name }}
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
env:
|
||||
{{- if .Values.timeZone }}
|
||||
- name: TZ
|
||||
value: {{ .Values.timeZone | quote }}
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: /app/config.yml
|
||||
subPath: config.yml
|
||||
readOnly: true
|
||||
{{- range $name, $value := .Values.extraLists }}
|
||||
- name: config
|
||||
mountPath: /app/{{ $name }}
|
||||
subPath: {{ $name }}
|
||||
readOnly: true
|
||||
{{- end }}
|
||||
{{- if hasKey $blockyConfig "queryLog" }}
|
||||
- name: data
|
||||
mountPath: {{ $blockyConfig.queryLog.dir }}
|
||||
{{- if .Values.persistence.subPath }}
|
||||
subPath: {{ .Values.persistence.subPath }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: api
|
||||
containerPort: 4000
|
||||
- name: dns
|
||||
containerPort: 53
|
||||
protocol: TCP
|
||||
- name: dns-udp
|
||||
containerPort: 53
|
||||
protocol: UDP
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: api
|
||||
failureThreshold: {{ .Values.probes.liveness.failureThreshold }}
|
||||
periodSeconds: {{ .Values.probes.liveness.periodSeconds }}
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: api
|
||||
failureThreshold: {{ .Values.probes.readiness.failureThreshold }}
|
||||
periodSeconds: {{ .Values.probes.readiness.periodSeconds }}
|
||||
startupProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: api
|
||||
initialDelaySeconds: {{ .Values.probes.startup.initialDelaySeconds }}
|
||||
failureThreshold: {{ .Values.probes.startup.failureThreshold }}
|
||||
periodSeconds: {{ .Values.probes.startup.periodSeconds }}
|
||||
resources:
|
||||
{{- toYaml .Values.resources | nindent 12 }}
|
||||
volumes:
|
||||
- name: config
|
||||
projected:
|
||||
defaultMode: 0444
|
||||
sources:
|
||||
- configMap:
|
||||
name: {{ template "blocky.fullname" . }}
|
||||
items:
|
||||
- key: config.yml
|
||||
path: config.yml
|
||||
{{- range $name, $value := .Values.extraLists }}
|
||||
- key: {{ $name }}
|
||||
path: {{ $name }}
|
||||
{{- end }}
|
||||
{{- if hasKey $blockyConfig "queryLog" }}
|
||||
- name: data
|
||||
{{- if .Values.persistence.enabled }}
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ if .Values.persistence.existingClaim }}{{ .Values.persistence.existingClaim }}{{- else }}{{ template "blocky.fullname" . }}{{- end }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- with .Values.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.affinity }}
|
||||
affinity:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
@@ -1,33 +0,0 @@
|
||||
{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }}
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: {{ include "blocky.fullname" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "blocky.name" . }}
|
||||
helm.sh/chart: {{ include "blocky.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- with .Values.persistence.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.persistence.finalizers }}
|
||||
finalizers:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
accessModes:
|
||||
{{- toYaml .Values.persistence.accessModes | nindent 4 }}
|
||||
{{- if .Values.persistence.storageClassName }}
|
||||
storageClassName: {{ .Values.persistence.storageClassName }}
|
||||
{{- end }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.persistence.size | quote }}
|
||||
{{- with .Values.persistence.selectorLabels }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- toYaml . | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
@@ -1,34 +0,0 @@
|
||||
{{- if .Values.serviceTCP.enabled }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "blocky.fullname" . }}-tcp
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "blocky.name" . }}
|
||||
helm.sh/chart: {{ include "blocky.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- if .Values.serviceTCP.annotations }}
|
||||
annotations:
|
||||
{{ toYaml .Values.serviceTCP.annotations | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.serviceTCP.type }}
|
||||
{{- if .Values.serviceTCP.loadBalancerIP }}
|
||||
loadBalancerIP: {{ .Values.serviceTCP.loadBalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.serviceTCP.externalIPs }}
|
||||
externalIPs:
|
||||
{{ toYaml .Values.serviceTCP.externalIPs | indent 4 }}
|
||||
{{- end }}
|
||||
externalTrafficPolicy: {{ .Values.serviceTCP.externalTrafficPolicy }}
|
||||
ports:
|
||||
- port: 53
|
||||
targetPort: dns
|
||||
protocol: TCP
|
||||
name: dns
|
||||
selector:
|
||||
app.kubernetes.io/name: {{ include "blocky.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
{{- if .Values.serviceUDP.enabled }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "blocky.fullname" . }}-udp
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "blocky.name" . }}
|
||||
helm.sh/chart: {{ include "blocky.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- if .Values.serviceUDP.annotations }}
|
||||
annotations:
|
||||
{{ toYaml .Values.serviceUDP.annotations | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.serviceUDP.type }}
|
||||
{{- if .Values.serviceUDP.loadBalancerIP }}
|
||||
loadBalancerIP: {{ .Values.serviceUDP.loadBalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.serviceUDP.externalIPs }}
|
||||
externalIPs:
|
||||
{{ toYaml .Values.serviceUDP.externalIPs | indent 4 }}
|
||||
{{- end }}
|
||||
externalTrafficPolicy: {{ .Values.serviceUDP.externalTrafficPolicy }}
|
||||
ports:
|
||||
- port: 53
|
||||
targetPort: dns-udp
|
||||
protocol: UDP
|
||||
name: dns-udp
|
||||
selector:
|
||||
app.kubernetes.io/name: {{ include "blocky.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
@@ -1,45 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "blocky.fullname" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "blocky.name" . }}
|
||||
helm.sh/chart: {{ include "blocky.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- if .Values.service.annotations }}
|
||||
annotations:
|
||||
{{ toYaml .Values.service.annotations | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if (or (eq .Values.service.type "ClusterIP") (empty .Values.service.type)) }}
|
||||
type: ClusterIP
|
||||
{{- if .Values.service.clusterIP }}
|
||||
clusterIP: {{ .Values.service.clusterIP }}
|
||||
{{end}}
|
||||
{{- else if eq .Values.service.type "LoadBalancer" }}
|
||||
type: {{ .Values.service.type }}
|
||||
{{- if .Values.service.loadBalancerIP }}
|
||||
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.service.loadBalancerSourceRanges }}
|
||||
loadBalancerSourceRanges:
|
||||
{{ toYaml .Values.service.loadBalancerSourceRanges | indent 4 }}
|
||||
{{- end -}}
|
||||
{{- else }}
|
||||
type: {{ .Values.service.type }}
|
||||
{{- end }}
|
||||
{{- if .Values.service.externalIPs }}
|
||||
externalIPs:
|
||||
{{ toYaml .Values.service.externalIPs | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.service.externalTrafficPolicy }}
|
||||
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: api
|
||||
port: 4000
|
||||
targetPort: api
|
||||
selector:
|
||||
app.kubernetes.io/name: {{ include "blocky.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
@@ -1,23 +0,0 @@
|
||||
{{- if .Values.serviceMonitor.enabled }}
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: {{ include "blocky.fullname" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "blocky.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
helm.sh/chart: {{ include "blocky.chart" . }}
|
||||
{{- with .Values.serviceMonitor.additionalLabels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: {{ include "blocky.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
endpoints:
|
||||
- port: api
|
||||
interval: 30s
|
||||
path: /metrics
|
||||
{{- end }}
|
||||
@@ -1,229 +0,0 @@
|
||||
image:
|
||||
repository: spx01/blocky
|
||||
tag: v0.12
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
|
||||
replicas: 1
|
||||
|
||||
timeZone: "UTC"
|
||||
|
||||
# Blocky configuration, for a full list of options see
|
||||
# https://github.com/0xERR0R/blocky/blob/master/docs/config.yml
|
||||
config: |
|
||||
upstream:
|
||||
# these external DNS resolvers will be used. Blocky picks 2 random resolvers from the list for each query
|
||||
# format for resolver: [net:]host:[port][/path]. net could be empty (default, shortcut for tcp+udp), tcp+udp, tcp, udp, tcp-tls or https (DoH). If port is empty, default port will be used (53 for udp and tcp, 853 for tcp-tls, 443 for https (Doh))
|
||||
externalResolvers:
|
||||
- 46.182.19.48
|
||||
- 80.241.218.68
|
||||
- tcp-tls:fdns1.dismail.de:853
|
||||
- https://dns.digitale-gesellschaft.ch/dns-query
|
||||
|
||||
# optional: custom IP address for domain name (with all sub-domains)
|
||||
# example: query "printer.lan" or "my.printer.lan" will return 192.168.178.3
|
||||
customDNS:
|
||||
mapping:
|
||||
printer.lan: 192.168.178.3
|
||||
|
||||
# optional: definition, which DNS resolver(s) should be used for queries to the domain (with all sub-domains). Multiple resolvers must be separated by comma
|
||||
# Example: Query client.fritz.box will ask DNS server 192.168.178.1. This is necessary for local network, to resolve clients by host name
|
||||
conditional:
|
||||
mapping:
|
||||
fritz.box: udp:192.168.178.1
|
||||
lan.net: udp:192.168.178.1,udp:192.168.178.2
|
||||
|
||||
# optional: use black and white lists to block queries (for example ads, trackers, adult pages etc.)
|
||||
blocking:
|
||||
# definition of blacklist groups. Can be external link (http/https) or local file
|
||||
blackLists:
|
||||
ads:
|
||||
- https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt
|
||||
- https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
|
||||
- https://mirror1.malwaredomains.com/files/justdomains
|
||||
- http://sysctl.org/cameleon/hosts
|
||||
- https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist
|
||||
- https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt
|
||||
special:
|
||||
- https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews/hosts
|
||||
# definition of whitelist groups. Attention: if the same group has black and whitelists, whitelists will be used to disable particular blacklist entries. If a group has only whitelist entries -> this means only domains from this list are allowed, all other domains will be blocked
|
||||
whiteLists:
|
||||
ads:
|
||||
- whitelist.txt
|
||||
# definition: which groups should be applied for which client
|
||||
clientGroupsBlock:
|
||||
# default will be used, if no special definition for a client name exists
|
||||
default:
|
||||
- ads
|
||||
- special
|
||||
# use client name (with wildcard support: * - sequence of any characters, [0-9] - range)
|
||||
# or single ip address / client subnet as CIDR notation
|
||||
laptop*:
|
||||
- ads
|
||||
192.168.178.1/24:
|
||||
- special
|
||||
# which response will be sent, if query is blocked:
|
||||
# zeroIp: 0.0.0.0 will be returned (default)
|
||||
# nxDomain: return NXDOMAIN as return code
|
||||
# comma separated list of destination IP adresses (for example: 192.100.100.15, 2001:0db8:85a3:08d3:1319:8a2e:0370:7344). Should contain ipv4 and ipv6 to cover all query types. Useful with running web server on this address to display the "blocked" page.
|
||||
blockType: zeroIp
|
||||
# optional: automatically list refresh period in minutes. Default: 4h.
|
||||
# Negative value -> deactivate automatically refresh.
|
||||
# 0 value -> use default
|
||||
refreshPeriod: 0
|
||||
|
||||
# optional: configuration for caching of DNS responses
|
||||
caching:
|
||||
# amount in minutes, how long a response must be cached (min value).
|
||||
# If <=0, use response's TTL, if >0 use this value, if TTL is smaller
|
||||
# Default: 0
|
||||
minTime: 5
|
||||
# amount in minutes, how long a response must be cached (max value).
|
||||
# If <0, do not cache responses
|
||||
# If 0, use TTL
|
||||
# If > 0, use this value, if TTL is greater
|
||||
# Default: 0
|
||||
maxTime: -1
|
||||
# if true, will preload DNS results for often used queries (names queried more than 5 times in a 2 hour time window)
|
||||
# this improves the response time for often used queries, but significantly increases external traffic
|
||||
# default: false
|
||||
prefetching: true
|
||||
|
||||
# optional: configuration of client name resolution
|
||||
clientLookup:
|
||||
# optional: this DNS resolver will be used to perform reverse DNS lookup (typically local router)
|
||||
upstream: udp:192.168.178.1
|
||||
# optional: some routers return multiple names for client (host name and user defined name). Define which single name should be used.
|
||||
# Example: take second name if present, if not take first name
|
||||
singleNameOrder:
|
||||
- 2
|
||||
- 1
|
||||
# optional: custom mapping of client name to IP addresses. Useful if reverse DNS does not work properly or just to have custom client names.
|
||||
clients:
|
||||
laptop:
|
||||
- 192.168.178.29
|
||||
|
||||
# optional: configuration for prometheus metrics endpoint
|
||||
# prometheus:
|
||||
# # enabled if true
|
||||
# enable: true
|
||||
# # url path, optional (default '/metrics')
|
||||
# path: /metrics
|
||||
|
||||
# optional: write query information (question, answer, client, duration etc) to daily csv file
|
||||
# queryLog:
|
||||
# # directory (should be mounted as volume in docker)
|
||||
# dir: /logs
|
||||
# # if true, write one file per client. Writes all queries to single file otherwise
|
||||
# perClient: true
|
||||
# # if > 0, deletes log files which are older than ... days
|
||||
# logRetentionDays: 7
|
||||
|
||||
# optional: DNS listener port and bind ip address, default 53 (UDP and TCP). Example: 53, :53, 127.0.0.1:53
|
||||
port: 53
|
||||
# optional: HTTP listener port, default 0 = no http listener. If > 0, will be used for prometheus metrics, pprof, REST API, DoH ...
|
||||
httpPort: 4000
|
||||
# optional: HTTPS listener port, default 0 = no http listener. If > 0, will be used for prometheus metrics, pprof, REST API, DoH...
|
||||
#httpsPort: 443
|
||||
# mandatory, if https port > 0: path to cert and key file for SSL encryption
|
||||
#httpsCertFile: server.crt
|
||||
#httpsKeyFile: server.key
|
||||
# optional: use this DNS server to resolve blacklist urls and upstream DNS servers (DOH). Useful if no DNS resolver is configured and blocky needs to resolve a host name. Format net:IP:port, net must be udp or tcp
|
||||
bootstrapDns: tcp:1.1.1.1
|
||||
# optional: Log level (one from debug, info, warn, error). Default: info
|
||||
logLevel: info
|
||||
# optional: Log format (text or json). Default: text
|
||||
logFormat: text
|
||||
|
||||
## Add persistence for query logs (if enabled)
|
||||
persistence:
|
||||
enabled: false
|
||||
# storageClassName: default
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
size: 10Gi
|
||||
# annotations: {}
|
||||
finalizers:
|
||||
- kubernetes.io/pvc-protection
|
||||
# selectorLabels: {}
|
||||
# subPath: ""
|
||||
# existingClaim:
|
||||
|
||||
# Probes configuration
|
||||
probes:
|
||||
liveness:
|
||||
failureThreshold: 5
|
||||
periodSeconds: 10
|
||||
readiness:
|
||||
failureThreshold: 5
|
||||
periodSeconds: 10
|
||||
startup:
|
||||
initialDelaySeconds: 5
|
||||
failureThreshold: 30
|
||||
periodSeconds: 10
|
||||
|
||||
service:
|
||||
type: ClusterIP
|
||||
# externalTrafficPolicy: Local
|
||||
# loadBalancerIP: ""
|
||||
# a fixed LoadBalancer IP
|
||||
annotations: {}
|
||||
# metallb.universe.tf/address-pool: network-services
|
||||
# metallb.universe.tf/allow-shared-ip: blocky-svc
|
||||
|
||||
serviceTCP:
|
||||
enabled: false
|
||||
externalIPs: []
|
||||
type: NodePort
|
||||
externalTrafficPolicy: Local
|
||||
loadBalancerIP: ""
|
||||
# a fixed LoadBalancer IP
|
||||
annotations: {}
|
||||
# metallb.universe.tf/address-pool: network-services
|
||||
# metallb.universe.tf/allow-shared-ip: blocky-svc
|
||||
|
||||
serviceUDP:
|
||||
enabled: true
|
||||
externalIPs: []
|
||||
type: NodePort
|
||||
externalTrafficPolicy: Local
|
||||
loadBalancerIP: ""
|
||||
# a fixed LoadBalancer IP
|
||||
annotations: {}
|
||||
# metallb.universe.tf/address-pool: network-services
|
||||
# metallb.universe.tf/allow-shared-ip: blocky-svc
|
||||
|
||||
serviceMonitor:
|
||||
enabled: false
|
||||
additionalLabels: {}
|
||||
|
||||
## Pod Annotations
|
||||
podAnnotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "api"
|
||||
|
||||
resources: {}
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
# limits:
|
||||
# memory: 500Mi
|
||||
# requests:
|
||||
# cpu: 50m
|
||||
# memory: 275Mi
|
||||
|
||||
nodeSelector: {}
|
||||
|
||||
tolerations: []
|
||||
|
||||
affinity: {}
|
||||
|
||||
## Add any extra files you want populated to /app here, e.g.:
|
||||
# extraLists:
|
||||
# whitelist.txt: |
|
||||
# analytics.google.com
|
||||
# googleadservices.com
|
||||
extraLists: {}
|
||||
@@ -1,21 +0,0 @@
|
||||
apiVersion: v2
|
||||
appVersion: v2009.1.0
|
||||
description: Booksonic is a platform for accessing the audibooks you own wherever you are
|
||||
name: booksonic-air
|
||||
version: 3.2.0
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
keywords:
|
||||
- booksonic
|
||||
- audiobook
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/booksonic-air
|
||||
icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/booksonic-air.png
|
||||
sources:
|
||||
- https://github.com/popeen/Booksonic-Air
|
||||
- https://hub.docker.com/r/linuxserver/booksonic-air
|
||||
maintainers:
|
||||
- name: wojoinc
|
||||
email: wojoinc@pm.me
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 1.0.0
|
||||
@@ -1,145 +0,0 @@
|
||||
{{- define "custom.repository.organization" -}}
|
||||
k8s-at-home
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.repository.url" -}}
|
||||
https://github.com/k8s-at-home/charts
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.url" -}}
|
||||
https://k8s-at-home.com/charts/
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.path" -}}
|
||||
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.notes" -}}
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.requirements" -}}
|
||||
## Requirements
|
||||
|
||||
{{ template "chart.kubeVersionLine" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.dependencies" -}}
|
||||
## Dependencies
|
||||
|
||||
{{ template "chart.requirementsTable" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install.tldr" -}}
|
||||
## TL;DR
|
||||
|
||||
```console
|
||||
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
|
||||
helm repo update
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install" -}}
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `{{ template "chart.name" . }}`
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.uninstall" -}}
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall the `{{ template "chart.name" . }}` deployment
|
||||
|
||||
```console
|
||||
helm uninstall {{ template "chart.name" . }}
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.header" -}}
|
||||
## Configuration
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.readValues" -}}
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common).
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.example.set" -}}
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} \
|
||||
--set env.TZ="America/New York" \
|
||||
{{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.example.file" -}}
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.valuesSection" -}}
|
||||
## Values
|
||||
|
||||
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/)
|
||||
|
||||
{{ template "chart.valuesTable" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.support" -}}
|
||||
## Support
|
||||
|
||||
- See the [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 -}}
|
||||
|
||||
{{ 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,27 +0,0 @@
|
||||
{{- define "custom.changelog.header" -}}
|
||||
## Changelog
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.changelog" -}}
|
||||
{{ template "custom.changelog.header" . }}
|
||||
|
||||
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog).
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### [1.0.0]
|
||||
|
||||
#### Added
|
||||
|
||||
- N/A
|
||||
|
||||
#### Changed
|
||||
|
||||
- N/A
|
||||
|
||||
#### Removed
|
||||
|
||||
- N/A
|
||||
|
||||
[1.0.0]: #1.0.0
|
||||
{{- end -}}
|
||||
@@ -1,57 +0,0 @@
|
||||
#
|
||||
# IMPORTANT NOTE
|
||||
#
|
||||
# This chart inherits from our common library chart. You can check the default values/options here:
|
||||
# https://github.com/k8s-at-home/charts/tree/master/charts/common/values.yaml
|
||||
#
|
||||
|
||||
image:
|
||||
repository: linuxserver/booksonic-air
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v2009.1.0-ls2
|
||||
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
env: {}
|
||||
# TZ: UTC
|
||||
# PUID: "1001"
|
||||
# PGID: "1001"
|
||||
# CONTEXT_PATH=url-base # Used to set the base path for reverse proxies eg. /booksonic, /books, etc.
|
||||
|
||||
service:
|
||||
port:
|
||||
port: 4040
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
|
||||
persistence:
|
||||
config:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
|
||||
audiobooks:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
mountPath: /audiobooks
|
||||
## Persistent Volume Storage Class
|
||||
## If defined, storageClassName: <storageClass>
|
||||
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
||||
## If undefined (the default) or set to null, no storageClassName spec is
|
||||
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
||||
## GKE, AWS & OpenStack)
|
||||
# storageClass: "-"
|
||||
# accessMode: ReadWriteOnce
|
||||
# size: 1Gi
|
||||
## Do not delete the pvc upon helm uninstall
|
||||
# skipuninstall: false
|
||||
# existingClaim: ""
|
||||
podcasts:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
mountPath: /podcasts
|
||||
othermedia:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
mountPath: /othermedia
|
||||
@@ -1,21 +0,0 @@
|
||||
apiVersion: v2
|
||||
appVersion: 0.6.9
|
||||
description: Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.
|
||||
name: calibre-web
|
||||
version: 5.2.0
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
keywords:
|
||||
- calibre
|
||||
- ebook
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/calibre-web
|
||||
icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/calibre-web-icon.png
|
||||
sources:
|
||||
- https://hub.docker.com/r/linuxserver/calibre-web/
|
||||
- https://github.com/janeczku/calibre-web
|
||||
maintainers:
|
||||
- name: wojoinc
|
||||
email: wojoinc@pm.me
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 1.0.0
|
||||
@@ -1,145 +0,0 @@
|
||||
{{- define "custom.repository.organization" -}}
|
||||
k8s-at-home
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.repository.url" -}}
|
||||
https://github.com/k8s-at-home/charts
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.url" -}}
|
||||
https://k8s-at-home.com/charts/
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.path" -}}
|
||||
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.notes" -}}
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.requirements" -}}
|
||||
## Requirements
|
||||
|
||||
{{ template "chart.kubeVersionLine" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.dependencies" -}}
|
||||
## Dependencies
|
||||
|
||||
{{ template "chart.requirementsTable" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install.tldr" -}}
|
||||
## TL;DR
|
||||
|
||||
```console
|
||||
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
|
||||
helm repo update
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install" -}}
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `{{ template "chart.name" . }}`
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.uninstall" -}}
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall the `{{ template "chart.name" . }}` deployment
|
||||
|
||||
```console
|
||||
helm uninstall {{ template "chart.name" . }}
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.header" -}}
|
||||
## Configuration
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.readValues" -}}
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common).
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.example.set" -}}
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} \
|
||||
--set env.TZ="America/New York" \
|
||||
{{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.example.file" -}}
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.valuesSection" -}}
|
||||
## Values
|
||||
|
||||
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/)
|
||||
|
||||
{{ template "chart.valuesTable" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.support" -}}
|
||||
## Support
|
||||
|
||||
- See the [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 -}}
|
||||
|
||||
{{ 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,27 +0,0 @@
|
||||
{{- define "custom.changelog.header" -}}
|
||||
## Changelog
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.changelog" -}}
|
||||
{{ template "custom.changelog.header" . }}
|
||||
|
||||
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog).
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### [1.0.0]
|
||||
|
||||
#### Added
|
||||
|
||||
- N/A
|
||||
|
||||
#### Changed
|
||||
|
||||
- N/A
|
||||
|
||||
#### Removed
|
||||
|
||||
- N/A
|
||||
|
||||
[1.0.0]: #1.0.0
|
||||
{{- end -}}
|
||||
@@ -1,49 +0,0 @@
|
||||
#
|
||||
# IMPORTANT NOTE
|
||||
#
|
||||
# This chart inherits from our common library chart. You can check the default values/options here:
|
||||
# https://github.com/k8s-at-home/charts/tree/master/charts/common/values.yaml
|
||||
#
|
||||
|
||||
image:
|
||||
repository: linuxserver/calibre-web
|
||||
pullPolicy: IfNotPresent
|
||||
tag: version-0.6.9
|
||||
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
env: {}
|
||||
# TZ:
|
||||
# PUID:
|
||||
# PGID:
|
||||
# UMASK:
|
||||
# DOCKER_MODS:
|
||||
|
||||
service:
|
||||
port:
|
||||
port: 8083
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
|
||||
persistence:
|
||||
config:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
|
||||
books:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
## Persistent Volume Storage Class
|
||||
## If defined, storageClassName: <storageClass>
|
||||
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
||||
## If undefined (the default) or set to null, no storageClassName spec is
|
||||
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
||||
## GKE, AWS & OpenStack)
|
||||
# storageClass: "-"
|
||||
# accessMode: ReadWriteOnce
|
||||
# size: 1Gi
|
||||
## Set to true to retain the PVC upon helm uninstall
|
||||
# skipuninstall: false
|
||||
# existingClaim: ""
|
||||
@@ -1,17 +0,0 @@
|
||||
apiVersion: v2
|
||||
name: comcast
|
||||
version: 3.0.1
|
||||
appVersion: 1.0.0
|
||||
description: periodic comcast data usage checks and save the results to InfluxDB
|
||||
keywords:
|
||||
- comcast
|
||||
- influxdb
|
||||
- xfinity
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/comcast
|
||||
icon: https://i.imgur.com/iR1dUpp.png
|
||||
sources:
|
||||
- https://github.com/billimek/comcastUsage-for-influxdb
|
||||
- https://github.com/k8s-at-home/charts
|
||||
maintainers:
|
||||
- name: billimek
|
||||
email: jeff@billimek.com
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user