Compare commits
1402
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bfadaf4c3e | ||
|
|
ddfd8dc7ce | ||
|
|
c055cca26b | ||
|
|
92ec7f3cd0 | ||
|
|
cc387dbb79 | ||
|
|
2a4c7bc00c | ||
|
|
801908f1e3 | ||
|
|
97d7b11946 | ||
|
|
731246f64c | ||
|
|
d756a6dc7f | ||
|
|
315fa95555 | ||
|
|
d1e55c3a31 | ||
|
|
15a5716a0d | ||
|
|
f5a0fdec05 | ||
|
|
f8c9b1fb3a | ||
|
|
071ed2273f | ||
|
|
ed2da92545 | ||
|
|
66a3a39715 | ||
|
|
832e299bc2 | ||
|
|
2c666cf86d | ||
|
|
1f2711ad4e | ||
|
|
7e402ed953 | ||
|
|
cd8a3ac5d6 | ||
|
|
0ed5e3755e | ||
|
|
f082684dc3 | ||
|
|
1fde7b1c72 | ||
|
|
999e934799 | ||
|
|
39f7b876ae | ||
|
|
c8eafc540c | ||
|
|
db80d83140 | ||
|
|
c199c9730b | ||
|
|
de7b487344 | ||
|
|
eb92ecff75 | ||
|
|
d3615d29f1 | ||
|
|
98b0334986 | ||
|
|
a97baf44ac | ||
|
|
3a6c928899 | ||
|
|
6b2092d69f | ||
|
|
af64a55c60 | ||
|
|
bc12032b9b | ||
|
|
4078603815 | ||
|
|
cc96360b02 | ||
|
|
016503033a | ||
|
|
811730e97a | ||
|
|
746dc2fc28 | ||
|
|
6cf7e0641c | ||
|
|
e2d05482df | ||
|
|
951e79aeff | ||
|
|
72956a9972 | ||
|
|
9576ae3e51 | ||
|
|
270434d1dd | ||
|
|
875d57f7df | ||
|
|
3b0efc8386 | ||
|
|
4e9d621f27 | ||
|
|
c40628edf0 | ||
|
|
5be5b68e16 | ||
|
|
563d4c9733 | ||
|
|
4e10a0304c | ||
|
|
38f453c54b | ||
|
|
8c8d6def0a | ||
|
|
2ef9a9469a | ||
|
|
3efd1e27fd | ||
|
|
f5cf7c86d3 | ||
|
|
77112e5946 | ||
|
|
b669dd03ab | ||
|
|
3097bfc9fe | ||
|
|
d04966b8d3 | ||
|
|
7a5dfc902a | ||
|
|
1416726795 | ||
|
|
06a9ea0790 | ||
|
|
4810fdb64a | ||
|
|
f0ded835cb | ||
|
|
1d4421bd32 | ||
|
|
aca906ec7d | ||
|
|
d87f5315fe | ||
|
|
f70a0582b7 | ||
|
|
93d50b88e4 | ||
|
|
9d5119d12a | ||
|
|
ace29591d5 | ||
|
|
62b2dd62ff | ||
|
|
6df5204862 | ||
|
|
f7837d5d82 | ||
|
|
a22cd3dd08 | ||
|
|
c2680a78cc | ||
|
|
f255304034 | ||
|
|
5f8f6599d4 | ||
|
|
31a6ac4f86 | ||
|
|
e7482f7c79 | ||
|
|
cae1fef6b8 | ||
|
|
fb88f6a9c9 | ||
|
|
9225081ea9 | ||
|
|
0bfc374401 | ||
|
|
0274791698 | ||
|
|
e4b3052753 | ||
|
|
949442b9e4 | ||
|
|
8ab8b9be1a | ||
|
|
c1e391d673 | ||
|
|
eb42809482 | ||
|
|
f22735a091 | ||
|
|
f9e9d19dc4 | ||
|
|
94c8c5a886 | ||
|
|
966d38f9ac | ||
|
|
3492e73a8e | ||
|
|
d79dc4dcd2 | ||
|
|
8b2cc1bd7e | ||
|
|
ff0297663e | ||
|
|
20d6f09789 | ||
|
|
c5aff557d7 | ||
|
|
0aa5af6453 | ||
|
|
55daae8c32 | ||
|
|
65e2bbf118 | ||
|
|
f3f7a5e7b8 | ||
|
|
75d8349e71 | ||
|
|
f82b8bc98f | ||
|
|
7affe541d6 | ||
|
|
4fbc009fae | ||
|
|
aced071943 | ||
|
|
944305b0a9 | ||
|
|
7cb12d2ed3 | ||
|
|
df45064adc | ||
|
|
bb52b9d528 | ||
|
|
5f5fc038ff | ||
|
|
1a6719f35b | ||
|
|
a62a4af597 | ||
|
|
749358e9b0 | ||
|
|
a9df20d033 | ||
|
|
f62b91556f | ||
|
|
4daa035264 | ||
|
|
68c242559d | ||
|
|
e8696c585c | ||
|
|
43943d67a8 | ||
|
|
8aa9566bee | ||
|
|
9387bef6a9 | ||
|
|
e7cdf09b08 | ||
|
|
4bef27a878 | ||
|
|
4eea9260a4 | ||
|
|
33732b7824 | ||
|
|
785d836737 | ||
|
|
566bff7c4f | ||
|
|
f9755193bf | ||
|
|
2e99611865 | ||
|
|
3c35746d58 | ||
|
|
539e99b2d1 | ||
|
|
f8717d04aa | ||
|
|
7a586670a7 | ||
|
|
b66e52e66a | ||
|
|
28322f0160 | ||
|
|
5adb4f4f4c | ||
|
|
18b8d6a042 | ||
|
|
a4cef4ed64 | ||
|
|
32c1d5cd79 | ||
|
|
246da9e1ee | ||
|
|
02540c35ed | ||
|
|
0f6d0fd16a | ||
|
|
6126b79461 | ||
|
|
573075f0c2 | ||
|
|
8a9534f55b | ||
|
|
77c102a6bc | ||
|
|
afc3e7d7e5 | ||
|
|
1088d5f36a | ||
|
|
1d74f0c717 | ||
|
|
816b3b5755 | ||
|
|
03711dd722 | ||
|
|
7e9f850f16 | ||
|
|
75609c88e2 | ||
|
|
d4beb72886 | ||
|
|
a694bd700b | ||
|
|
0549011b4d | ||
|
|
e9e563a97b | ||
|
|
198a8fa0a4 | ||
|
|
5f8ae2a714 | ||
|
|
9007ca9cfb | ||
|
|
012ee2a609 | ||
|
|
97e70961b4 | ||
|
|
fcececfcb0 | ||
|
|
dcc7b01855 | ||
|
|
5a6f7f7f1f | ||
|
|
48b46deb22 | ||
|
|
62c207b6d1 | ||
|
|
f9677b29f1 | ||
|
|
f986034625 | ||
|
|
e287482e90 | ||
|
|
835eaedb7b | ||
|
|
9142b55c6d | ||
|
|
8cbaf0d881 | ||
|
|
3bc7ab616e | ||
|
|
6a5f4681e0 | ||
|
|
64d0bd0869 | ||
|
|
5403c84f44 | ||
|
|
c2e3babcb6 | ||
|
|
e00c297131 | ||
|
|
343754505b | ||
|
|
422ddc6486 | ||
|
|
8323d9af5b | ||
|
|
8ebfc4ba86 | ||
|
|
43e74d13cd | ||
|
|
46e1400396 | ||
|
|
0423c812d4 | ||
|
|
afe7df2083 | ||
|
|
0152fd920d | ||
|
|
2c049a40c0 | ||
|
|
9033616c49 | ||
|
|
a4f0b0f00d | ||
|
|
417b4d96fd | ||
|
|
59080985ca | ||
|
|
5786c274a2 | ||
|
|
34f80d7be9 | ||
|
|
631e977c0a | ||
|
|
1a6e2a5482 | ||
|
|
8c093a5d94 | ||
|
|
555afb26e4 | ||
|
|
2ecbda431b | ||
|
|
962839a9a8 | ||
|
|
5325887e92 | ||
|
|
33444bf7d4 | ||
|
|
34e2270e4b | ||
|
|
95c05f7ed7 | ||
|
|
2473776f05 | ||
|
|
d68ccb0599 | ||
|
|
d37f5a4ef4 | ||
|
|
019fc3f5ce | ||
|
|
265ec59a34 | ||
|
|
a0406b6140 | ||
|
|
29124a4af1 | ||
|
|
415006a113 | ||
|
|
43ef711164 | ||
|
|
18774d278c | ||
|
|
65b935d3a1 | ||
|
|
62d283aa22 | ||
|
|
c583859a04 | ||
|
|
47b14ace70 | ||
|
|
342f346748 | ||
|
|
8c4cf10c45 | ||
|
|
ecbb70acc1 | ||
|
|
2c2c2d6bc0 | ||
|
|
c214cad2ed | ||
|
|
7baa45c389 | ||
|
|
2ee8babade | ||
|
|
40d6fdc224 | ||
|
|
d62acb0241 | ||
|
|
6761b7fd58 | ||
|
|
ecd4091b9d | ||
|
|
8d56d72278 | ||
|
|
ff4bef9351 | ||
|
|
62f404e56c | ||
|
|
8116940ef9 | ||
|
|
5e6f3c8bb9 | ||
|
|
1a74b990ae | ||
|
|
f6ecfc3e23 | ||
|
|
e7cb7be3e2 | ||
|
|
9181e2a456 | ||
|
|
fa7c3271e2 | ||
|
|
fcce1a11de | ||
|
|
68e9cbf9fc | ||
|
|
a3d241ca91 | ||
|
|
7c7abfc791 | ||
|
|
0659e7b568 | ||
|
|
890a79171f | ||
|
|
b9e799b17e | ||
|
|
31f595c2ce | ||
|
|
f04cd4adfc | ||
|
|
87da3cd48f | ||
|
|
591dc1f48e | ||
|
|
4d1ad2e3b7 | ||
|
|
951303f721 | ||
|
|
e977e65e45 | ||
|
|
95a9815660 | ||
|
|
5118dfbeb1 | ||
|
|
b9b22202a1 | ||
|
|
1f9a4e55ab | ||
|
|
9975184758 | ||
|
|
932fee3e2a | ||
|
|
061188103e | ||
|
|
d1a56c96f0 | ||
|
|
35009ef4bf | ||
|
|
f9b9598f6f | ||
|
|
723a6d30e1 | ||
|
|
2c72bf21b3 | ||
|
|
6f785e10ce | ||
|
|
f58adeb593 | ||
|
|
4d080c1a84 | ||
|
|
81613bf140 | ||
|
|
350f007d14 | ||
|
|
f8b468448e | ||
|
|
96615394ec | ||
|
|
10c7b33ec5 | ||
|
|
f6d5ce03ce | ||
|
|
9eb2450ddb | ||
|
|
10d93e122d | ||
|
|
1196774fcb | ||
|
|
4f76297573 | ||
|
|
578b7cdcbe | ||
|
|
324187bc83 | ||
|
|
7ee1267a3e | ||
|
|
f70267b4a9 | ||
|
|
c6a493d552 | ||
|
|
2213d8e394 | ||
|
|
28c06e4111 | ||
|
|
aef38595c4 | ||
|
|
1442484307 | ||
|
|
e65b33d293 | ||
|
|
548493e383 | ||
|
|
810dae4ad5 | ||
|
|
e3fe4c8511 | ||
|
|
a64b8c68f0 | ||
|
|
07d2f1825b | ||
|
|
d7b51cb560 | ||
|
|
d4ecc6571c | ||
|
|
26d3c6e316 | ||
|
|
39c13095dc | ||
|
|
95e4675242 | ||
|
|
6783a27000 | ||
|
|
9c0259f161 | ||
|
|
8bca0652bb | ||
|
|
916b2dcfdf | ||
|
|
c341fb0b88 | ||
|
|
734a8c8671 | ||
|
|
f356ad4897 | ||
|
|
cbe0426ac0 | ||
|
|
e8d2f96f67 | ||
|
|
cdeced6ae8 | ||
|
|
53be108816 | ||
|
|
e67a2832f5 | ||
|
|
16e6727070 | ||
|
|
bc427f2d85 | ||
|
|
6057320837 | ||
|
|
c68d775733 | ||
|
|
31261959a3 | ||
|
|
94bff13942 | ||
|
|
5d13a33e9e | ||
|
|
318596fe82 | ||
|
|
04d10b74b4 | ||
|
|
7639c3d053 | ||
|
|
75f132ffdf | ||
|
|
ba07f6c39e | ||
|
|
58339056be | ||
|
|
11c569cd93 | ||
|
|
c58f6936b5 | ||
|
|
c10199fd34 | ||
|
|
f45d421cd7 | ||
|
|
da7a203d75 | ||
|
|
921e996a24 | ||
|
|
d6518b0a83 | ||
|
|
6dc7699acd | ||
|
|
9040857887 | ||
|
|
12dfa1a544 | ||
|
|
75984d1a46 | ||
|
|
24172e48d9 | ||
|
|
144e657d3e | ||
|
|
b1d4d8f37e | ||
|
|
037077bb4b | ||
|
|
ab9557d78d | ||
|
|
62e0245c90 | ||
|
|
713526022e | ||
|
|
3c7025e6d3 | ||
|
|
17fb2e80ad | ||
|
|
bb91046c3d | ||
|
|
0d244d9236 | ||
|
|
9e237452d3 | ||
|
|
24c11d6652 | ||
|
|
490aac078a | ||
|
|
b80b4f570b | ||
|
|
e01e9cef99 | ||
|
|
2601f935b9 | ||
|
|
2f47c21551 | ||
|
|
f9211d2a35 | ||
|
|
2bf78745d1 | ||
|
|
eaa74ad241 | ||
|
|
d0873e9daa | ||
|
|
51a8dcd92a | ||
|
|
97ffff7058 | ||
|
|
d7766fbd22 | ||
|
|
049b34dcdd | ||
|
|
f345bd0ec6 | ||
|
|
e12ba76f41 | ||
|
|
468af8d882 | ||
|
|
14fba07d76 | ||
|
|
18a01c3d5e | ||
|
|
8ee1bf5b98 | ||
|
|
4e1289b07c | ||
|
|
b2928aa6fb | ||
|
|
341111bdee | ||
|
|
dea0ca9f92 | ||
|
|
7d61ce228a | ||
|
|
5992fbccf2 | ||
|
|
db6337659f | ||
|
|
88f46029f6 | ||
|
|
3b8198c709 | ||
|
|
f038b6d4a6 | ||
|
|
a864d111ac | ||
|
|
af4bc88992 | ||
|
|
d64467d27c | ||
|
|
a13b79622b | ||
|
|
7165f21c5e | ||
|
|
16ec7ed9e3 | ||
|
|
1dc36a0a58 | ||
|
|
923afc6afd | ||
|
|
3d8e2844e6 | ||
|
|
789e609d5d | ||
|
|
814d4aa092 | ||
|
|
d2b8c7e7c2 | ||
|
|
96f85e83c2 | ||
|
|
16c866f373 | ||
|
|
e17ea61d9b | ||
|
|
8b88045e5e | ||
|
|
07186086d1 | ||
|
|
43ac06cc5b | ||
|
|
8f3ce689c2 | ||
|
|
c238d6efe0 | ||
|
|
20a64bb1f8 | ||
|
|
4cb7704fd4 | ||
|
|
ebcb563634 | ||
|
|
89619bac21 | ||
|
|
ca176d32b2 | ||
|
|
eafe0db763 | ||
|
|
38e53ef087 | ||
|
|
804391e65a | ||
|
|
c87e4aaad2 | ||
|
|
8d563a3c80 | ||
|
|
e6f5b1fa26 | ||
|
|
51fd353390 | ||
|
|
6c5ee2084b | ||
|
|
6df463fcac | ||
|
|
a9b8b86e1f | ||
|
|
73cbe5cfe5 | ||
|
|
5ed614287f | ||
|
|
c67ec96d16 | ||
|
|
bf4bb8fd95 | ||
|
|
6fc5e77fab | ||
|
|
50f445f73e | ||
|
|
79367074aa | ||
|
|
2da5317eed | ||
|
|
596e8792ac | ||
|
|
fbcdb4c0bb | ||
|
|
80d7b4520e | ||
|
|
f68ad1a118 | ||
|
|
dd02d5de1e | ||
|
|
7b0d64fd30 | ||
|
|
0f4b5e3b32 | ||
|
|
7e7b7d6153 | ||
|
|
fc9a10eb22 | ||
|
|
c9c042024e | ||
|
|
b0dd19f24d | ||
|
|
714a930c09 | ||
|
|
48bfaffaef | ||
|
|
5e88873f3e | ||
|
|
a92b5a3a14 | ||
|
|
e8830c6c84 | ||
|
|
0e8631f2ab | ||
|
|
d382eb6da7 | ||
|
|
c5865d3098 | ||
|
|
8983c21fbd | ||
|
|
8753b94d86 | ||
|
|
49e10383d5 | ||
|
|
d83456b62e | ||
|
|
57ec04e29a | ||
|
|
a2d5d61823 | ||
|
|
d9c97b3c97 | ||
|
|
9fd6c15141 | ||
|
|
c1649f925b | ||
|
|
e7b6be9aaf | ||
|
|
cdc77c7303 | ||
|
|
466389b50e | ||
|
|
1f71efdb61 | ||
|
|
23d96eefab | ||
|
|
b4b4c437e2 | ||
|
|
b7e11a854b | ||
|
|
50474e9613 | ||
|
|
14d67c1844 | ||
|
|
780124e4f3 | ||
|
|
8bb26d7c7e | ||
|
|
8a6f850615 | ||
|
|
9427012987 | ||
|
|
21e8aabe2f | ||
|
|
0b42af47ca | ||
|
|
8527ffe3fc | ||
|
|
946fd5443a | ||
|
|
a7320d61ec | ||
|
|
c463a092c9 | ||
|
|
a2e131d1e5 | ||
|
|
bddc320480 | ||
|
|
a977242661 | ||
|
|
cd0b0cebfb | ||
|
|
3a21da5986 | ||
|
|
c9f10567f5 | ||
|
|
0b18ab28e4 | ||
|
|
d90c3273bf | ||
|
|
3b8cc78dd0 | ||
|
|
beb002da9e | ||
|
|
b96cadb136 | ||
|
|
88a60214ce | ||
|
|
22db822076 | ||
|
|
177e58bf01 | ||
|
|
eea1443ee6 | ||
|
|
2c6802997e | ||
|
|
6ac4d17e62 | ||
|
|
a495838f93 | ||
|
|
ae7613cfe5 | ||
|
|
308cf2c641 | ||
|
|
9b87e9dea2 | ||
|
|
fc6adc8557 | ||
|
|
28f5a6e966 | ||
|
|
0440f7bacd | ||
|
|
699a2a9dea | ||
|
|
c6b0d0a6b8 | ||
|
|
3ce07704d5 | ||
|
|
b8c8df1fbe | ||
|
|
5120f4ce89 | ||
|
|
fb2df72ac0 | ||
|
|
14f13d4354 | ||
|
|
0089206b9e | ||
|
|
4f86c38ea7 | ||
|
|
8b19e57307 | ||
|
|
611c6fedca | ||
|
|
97468fd502 | ||
|
|
6be79fc599 | ||
|
|
0c6c4ac539 | ||
|
|
78caf25bf8 | ||
|
|
61d1878a7e | ||
|
|
1ee2a77b0f | ||
|
|
21439e5d07 | ||
|
|
698fdaff7e | ||
|
|
a132ad2265 | ||
|
|
9a1c62c99c | ||
|
|
9715014109 | ||
|
|
05464bf076 | ||
|
|
99591ef88a | ||
|
|
e2c1a38267 | ||
|
|
d4cd9e904e | ||
|
|
7f2255035a | ||
|
|
c265235b51 | ||
|
|
d5b5a118f5 | ||
|
|
5282be865c | ||
|
|
e271707445 | ||
|
|
973cc9a330 | ||
|
|
e4e002b0f0 | ||
|
|
a9cfcf5cb9 | ||
|
|
be71290971 | ||
|
|
0b8c1a34ab | ||
|
|
97f5486c3a | ||
|
|
33b83f02ff | ||
|
|
9e29cb28d6 | ||
|
|
31e0875751 | ||
|
|
9c338da4cd | ||
|
|
af247ff23b | ||
|
|
46efd3027c | ||
|
|
841d1c463f | ||
|
|
c721b8aeb2 | ||
|
|
1b5e7d6bb8 | ||
|
|
cb14f3bab3 | ||
|
|
ef557d0583 | ||
|
|
72cc8e49ce | ||
|
|
54156bfc84 | ||
|
|
707c82f94c | ||
|
|
d9f5053d82 | ||
|
|
b09f46b81d | ||
|
|
068306aa65 | ||
|
|
8a2491cda7 | ||
|
|
18528245e0 | ||
|
|
9548dcf7e8 | ||
|
|
4cafb41f6f | ||
|
|
20f735c5ab | ||
|
|
b550d665f8 | ||
|
|
db05615d1e | ||
|
|
6c6753bf7c | ||
|
|
e0e099fba7 | ||
|
|
97308610d1 | ||
|
|
33c8019308 | ||
|
|
ea423fead1 | ||
|
|
ec54ea9aed | ||
|
|
84bf2cdb6f | ||
|
|
e61e22ece2 | ||
|
|
5797e6cf30 | ||
|
|
90859024ad | ||
|
|
42635ca4a7 | ||
|
|
17e977b06c | ||
|
|
0996309d7f | ||
|
|
c44e233679 | ||
|
|
9cd55c92d2 | ||
|
|
3312321fe2 | ||
|
|
a7b05b4360 | ||
|
|
0a11705d4a | ||
|
|
b9c1153948 | ||
|
|
d40979205f | ||
|
|
6fc61d8d26 | ||
|
|
d3446cf882 | ||
|
|
dfab14b692 | ||
|
|
1cd1369247 | ||
|
|
afc15c5654 | ||
|
|
a556c104de | ||
|
|
1f1b61804d | ||
|
|
85cb366e85 | ||
|
|
e88e89e190 | ||
|
|
0f2034d3a8 | ||
|
|
cbfe42897b | ||
|
|
1b86d468d8 | ||
|
|
ed27614a71 | ||
|
|
a14384b383 | ||
|
|
564c7ce151 | ||
|
|
7aa77d919c | ||
|
|
2a8835d531 | ||
|
|
71156a04c6 | ||
|
|
9226473fc8 | ||
|
|
0a51cd852f | ||
|
|
e9fc98692c | ||
|
|
36e82591e0 | ||
|
|
31f9c0bbdc | ||
|
|
29691a268d | ||
|
|
78a672f3be | ||
|
|
4df46e8f55 | ||
|
|
0b8738df06 | ||
|
|
f3e55ef718 | ||
|
|
8db516b4bd | ||
|
|
81caec0ec3 | ||
|
|
234f96dfaa | ||
|
|
faf4c52320 | ||
|
|
773bddc843 | ||
|
|
ec40b798af | ||
|
|
9b2ad9b959 | ||
|
|
5b72cf4e6f | ||
|
|
541119b4b2 | ||
|
|
6c44cc1e02 | ||
|
|
9f4446b667 | ||
|
|
5f1decbacb | ||
|
|
13776363de | ||
|
|
cc7305466c | ||
|
|
2be5982225 | ||
|
|
fdab0846ec | ||
|
|
3c48eb0c9e | ||
|
|
19065d4e49 | ||
|
|
fd1a503b05 | ||
|
|
25ae38ba9f | ||
|
|
e76a317c8d | ||
|
|
c10b2a50ad | ||
|
|
6493a1fd40 | ||
|
|
05974af5c8 | ||
|
|
0d706c33f7 | ||
|
|
0db07c7943 | ||
|
|
1dea1d54a3 | ||
|
|
54289f745c | ||
|
|
9e47d39061 | ||
|
|
aa3c5e23af | ||
|
|
c878fce3e5 | ||
|
|
863bb2a469 | ||
|
|
39b57265b2 | ||
|
|
49253201fc | ||
|
|
7e2d824819 | ||
|
|
e1b84ca733 | ||
|
|
1c0f52a656 | ||
|
|
de3782f6e3 | ||
|
|
9d2b707964 | ||
|
|
7380dda82d | ||
|
|
56f03b9674 | ||
|
|
13c37d406a | ||
|
|
024db7f778 | ||
|
|
862ff333eb | ||
|
|
bd42d5fe13 | ||
|
|
2fe8a790a4 | ||
|
|
23855dfae3 | ||
|
|
cf5894be98 | ||
|
|
6b16f13040 | ||
|
|
44865c2771 | ||
|
|
9f449f42d1 | ||
|
|
c32846a8b0 | ||
|
|
3c028af217 | ||
|
|
10df2a583a | ||
|
|
0a66456d77 | ||
|
|
a1eddb9c08 | ||
|
|
72d454113c | ||
|
|
d357713dd8 | ||
|
|
79f57ae76e | ||
|
|
dc98268e37 | ||
|
|
dfe14287af | ||
|
|
08a0c23ff2 | ||
|
|
b080615664 | ||
|
|
82785fff41 | ||
|
|
4fd622d20f | ||
|
|
a3121934ba | ||
|
|
a2e7b39feb | ||
|
|
d87a051ac4 | ||
|
|
93c462ddad | ||
|
|
45c8833478 | ||
|
|
272f7c6aa6 | ||
|
|
623c5d45a4 | ||
|
|
957421219d | ||
|
|
e7643c485b | ||
|
|
dc1ee71742 | ||
|
|
7900ddb292 | ||
|
|
f19c06ba4b | ||
|
|
f0e090b57e | ||
|
|
d51e3ca499 | ||
|
|
f0e0520543 | ||
|
|
6f0df269bc | ||
|
|
aa387bf862 | ||
|
|
db51d910fa | ||
|
|
752643d670 | ||
|
|
682a99c78a | ||
|
|
79290189be | ||
|
|
550750ca8f | ||
|
|
bdb82613e9 | ||
|
|
d93d443a85 | ||
|
|
f9110d4d70 | ||
|
|
a53d053680 | ||
|
|
8978908c7d | ||
|
|
40263425ce | ||
|
|
0de01ae740 | ||
|
|
d234180cab | ||
|
|
083f164f8b | ||
|
|
00c21c2b9a | ||
|
|
f8da9b0ef7 | ||
|
|
a0dfa6466f | ||
|
|
9afce1ee55 | ||
|
|
b13353938c | ||
|
|
bf156f9046 | ||
|
|
b006d07af3 | ||
|
|
2a04b29a13 | ||
|
|
c68cc030fc | ||
|
|
111704c5a4 | ||
|
|
e63b0a7cdf | ||
|
|
7efca9470f | ||
|
|
0ed8b7750e | ||
|
|
30dd829407 | ||
|
|
d2571376f4 | ||
|
|
7cbd2ea3ad | ||
|
|
844d53e98c | ||
|
|
dea14754ea | ||
|
|
4742bae27f | ||
|
|
29fe5c1bb1 | ||
|
|
c515308cf6 | ||
|
|
700f3577c5 | ||
|
|
f3ec4a320d | ||
|
|
764c841788 | ||
|
|
4e2b4177b7 | ||
|
|
9c2f3125cd | ||
|
|
2a544ed0f2 | ||
|
|
0efca2018e | ||
|
|
9da6c78437 | ||
|
|
6bbbebf692 | ||
|
|
ae24161ef3 | ||
|
|
e603b5f397 | ||
|
|
e53037695a | ||
|
|
2d2f343490 | ||
|
|
01362b30ec | ||
|
|
7572e5ecf1 | ||
|
|
2192d6841d | ||
|
|
139d6ce8e2 | ||
|
|
ee50927511 | ||
|
|
d81731d107 | ||
|
|
854b57c8c3 | ||
|
|
90975dbd99 | ||
|
|
ce1a2b2154 | ||
|
|
1fe333767d | ||
|
|
3680145733 | ||
|
|
b1846ca78d | ||
|
|
669d927b63 | ||
|
|
dea299d17e | ||
|
|
8f36f41ff7 | ||
|
|
5d4c8094bd | ||
|
|
0d5e03f11d | ||
|
|
41d5b6a911 | ||
|
|
a76dba6b0c | ||
|
|
f98a969897 | ||
|
|
71687674fc | ||
|
|
9c29405c52 | ||
|
|
044984996f | ||
|
|
7bac0a2c3d | ||
|
|
0cab318ee4 | ||
|
|
a434c5d69c | ||
|
|
4c1268ea78 | ||
|
|
fb8778cf05 | ||
|
|
2f9e5eb711 | ||
|
|
7297e1e971 | ||
|
|
9f67da5ca0 | ||
|
|
3fe196ca82 | ||
|
|
2ea2d59889 | ||
|
|
c681f4831d | ||
|
|
1266e6bcc6 | ||
|
|
88603c8cad | ||
|
|
e279ccb507 | ||
|
|
6a9490fc9d | ||
|
|
4e11b804aa | ||
|
|
3a33b8511b | ||
|
|
309034ae90 | ||
|
|
3124cd074b | ||
|
|
b8cb10c64c | ||
|
|
bc08aa255b | ||
|
|
4b88e38ddd | ||
|
|
65bf19e318 | ||
|
|
40dd6ac4c2 | ||
|
|
618719df8c | ||
|
|
0b770a2c03 | ||
|
|
299309aa04 | ||
|
|
d27121c31a | ||
|
|
b4212126a9 | ||
|
|
15009faf49 | ||
|
|
85a7c21391 | ||
|
|
3cea736c40 | ||
|
|
053dc67439 | ||
|
|
81b3505494 | ||
|
|
ab47f28f99 | ||
|
|
16d4498c65 | ||
|
|
386494ca61 | ||
|
|
484a91fa1f | ||
|
|
bebb25f346 | ||
|
|
80b3a4af09 | ||
|
|
fad66e6946 | ||
|
|
04b0d81d54 | ||
|
|
c5b3a792fe | ||
|
|
91b8e84899 | ||
|
|
6494c7d7b8 | ||
|
|
e1a4b52cc7 | ||
|
|
584805daa9 | ||
|
|
80b1a60193 | ||
|
|
61eabc421c | ||
|
|
91989d46d7 | ||
|
|
7ecd1fafb5 | ||
|
|
b7e69892c1 | ||
|
|
f8dad6fe30 | ||
|
|
a77a28dcc1 | ||
|
|
43290886e3 | ||
|
|
02f1b4a991 | ||
|
|
4dfe167ee8 | ||
|
|
c046e0411f | ||
|
|
791ee8a3ff | ||
|
|
767e951765 | ||
|
|
fbc3fdfa9c | ||
|
|
405a9e97cd | ||
|
|
14f2cb9526 | ||
|
|
3b71a072b9 | ||
|
|
6eb9440ca7 | ||
|
|
e8cb50b54b | ||
|
|
86f3be93c8 | ||
|
|
0b3b412306 | ||
|
|
b8b015d82c | ||
|
|
cc8a32f830 | ||
|
|
0230f9fcf6 | ||
|
|
70b92a2fb3 | ||
|
|
89caf45603 | ||
|
|
da0e48b52d | ||
|
|
3fd8126577 | ||
|
|
c3202b81fe | ||
|
|
e417d5309b | ||
|
|
da74ccdbc5 | ||
|
|
c4261bb7b8 | ||
|
|
2172a1e65e | ||
|
|
fdb13dea18 | ||
|
|
78aec7bbb9 | ||
|
|
aa958eb974 | ||
|
|
444294689a | ||
|
|
1eb4ef8390 | ||
|
|
c47a4b4723 | ||
|
|
e62ed4e4f8 | ||
|
|
e450ff92b7 | ||
|
|
5427b2415e | ||
|
|
cbbd376bc6 | ||
|
|
5202d40ba8 | ||
|
|
a0b5f6845b | ||
|
|
6f3aa38c9b | ||
|
|
e829b853c2 | ||
|
|
433b248e6f | ||
|
|
2e6f9eeb64 | ||
|
|
dd07232716 | ||
|
|
80185eee68 | ||
|
|
5904de3a40 | ||
|
|
0d0e147b01 | ||
|
|
4440e63ab8 | ||
|
|
3c5c1d25fe | ||
|
|
e3a7801cb7 | ||
|
|
aedd4868fa | ||
|
|
076d0d0e16 | ||
|
|
4f60792cfa | ||
|
|
cf8b951048 | ||
|
|
4c6e24a459 | ||
|
|
eda69c6eda | ||
|
|
41a6e87e25 | ||
|
|
5fced249fa | ||
|
|
15428eb4e7 | ||
|
|
87d15f52c1 | ||
|
|
99b603c445 | ||
|
|
8646e2d9b1 | ||
|
|
db3676a9d9 | ||
|
|
b6e8d1d6ea | ||
|
|
1c6aa4fbf4 | ||
|
|
17fd295642 | ||
|
|
d4df7a3639 | ||
|
|
e8950f48e4 | ||
|
|
898e1b7cc7 | ||
|
|
230e7d586c | ||
|
|
887ee30c66 | ||
|
|
381256dc43 | ||
|
|
ecf9cc8c02 | ||
|
|
9b2954f8dd | ||
|
|
ff96030b23 | ||
|
|
5cbdbcbe79 | ||
|
|
d757f17986 | ||
|
|
6390572dc1 | ||
|
|
d18faea56f | ||
|
|
301366c7b1 | ||
|
|
9cdd1b8867 | ||
|
|
39cec4a72b | ||
|
|
89bc861a45 | ||
|
|
702109ec25 | ||
|
|
d0b9fe8485 | ||
|
|
8fb57ba0c1 | ||
|
|
289d498bea | ||
|
|
6741164cc1 | ||
|
|
0b69748e3d | ||
|
|
748be51306 | ||
|
|
f4a58d34a4 | ||
|
|
bbbb09c301 | ||
|
|
d6c1cd44ff | ||
|
|
dc56e18132 | ||
|
|
9bbbf4f4f8 | ||
|
|
69e23adba1 | ||
|
|
63a484f8e8 | ||
|
|
e261961a78 | ||
|
|
cd54493aba | ||
|
|
766d7fa9f8 | ||
|
|
dc33487f3f | ||
|
|
2b36a929c2 | ||
|
|
7737bb5981 | ||
|
|
1943de4517 | ||
|
|
c37cdd1997 | ||
|
|
e4d699b9dd | ||
|
|
fae58a0fbf | ||
|
|
db3a1e888e | ||
|
|
768694dde8 | ||
|
|
a427ea5c95 | ||
|
|
00ab69dad6 | ||
|
|
ecee9d1579 | ||
|
|
b70dc4678d | ||
|
|
1b9b3909eb | ||
|
|
dfcf0cfe0f | ||
|
|
d0905ad99a | ||
|
|
8f3b03d7c2 | ||
|
|
56f8d21e5a | ||
|
|
1a01eadc4c | ||
|
|
bdbecbc2c2 | ||
|
|
bdc289ef9e | ||
|
|
1262d15930 | ||
|
|
b72dbe1d60 | ||
|
|
c7523b66a8 | ||
|
|
12e8093d32 | ||
|
|
7f53d8a69d | ||
|
|
2f6c2d9681 | ||
|
|
8fb332b6ab | ||
|
|
98fb527593 | ||
|
|
e22256eba5 | ||
|
|
9b62a4626b | ||
|
|
e76f372f6a | ||
|
|
2ccf5670ac | ||
|
|
abdc17f5ff | ||
|
|
c9bbab88c5 | ||
|
|
47582a8e1e | ||
|
|
4e70ec14b3 | ||
|
|
a955a251d5 | ||
|
|
73733ca676 | ||
|
|
912e75077e | ||
|
|
8d7e3ea7d5 | ||
|
|
08bdebe285 | ||
|
|
597d076aa8 | ||
|
|
73fad905cf | ||
|
|
107c6a9c16 | ||
|
|
d901976ebe | ||
|
|
a21e407be6 | ||
|
|
2679c16d43 | ||
|
|
a84c59556a | ||
|
|
dc9c4c17cf | ||
|
|
3d6931839d | ||
|
|
9cae8c8ad5 | ||
|
|
5eb74c0f10 | ||
|
|
24d7e8c1e0 | ||
|
|
5cd5dbb6ef | ||
|
|
4af410950f | ||
|
|
de9096abec | ||
|
|
dd9b7e74d7 | ||
|
|
2a24ff1f7f | ||
|
|
3f5b00db45 | ||
|
|
d54505e981 | ||
|
|
c835f7c20a | ||
|
|
654f96eecf | ||
|
|
c692cb556e | ||
|
|
56ab512f40 | ||
|
|
2ae6f40de9 | ||
|
|
de8d48f8e9 | ||
|
|
af671d7ab8 | ||
|
|
56f4efbaf5 | ||
|
|
762aee6782 | ||
|
|
7244a2f25b | ||
|
|
10a8544e87 | ||
|
|
26466bbd25 | ||
|
|
c275ce76fc | ||
|
|
12b68327d8 | ||
|
|
a01ceca2fe | ||
|
|
92402598b7 | ||
|
|
561551c8f4 | ||
|
|
5b0132466f | ||
|
|
25aa119e05 | ||
|
|
3a90a1869c | ||
|
|
8d7fea6822 | ||
|
|
df07133cd7 | ||
|
|
05eaa089c4 | ||
|
|
a422cdaf45 | ||
|
|
226b88713d | ||
|
|
a6f48ec627 | ||
|
|
47a5d06796 | ||
|
|
aab24ef29b | ||
|
|
b736df4223 | ||
|
|
a972a6ac82 | ||
|
|
d2aef62b41 | ||
|
|
8e3ec34821 | ||
|
|
5366c8fe08 | ||
|
|
80fba6314d | ||
|
|
5ed890ffb0 | ||
|
|
0c52a2f62e | ||
|
|
034baf74ac | ||
|
|
7532e9d5ab | ||
|
|
5d7f5fe2a7 | ||
|
|
91c30ebcf7 | ||
|
|
b34a6d8e86 | ||
|
|
fb55e4ec43 | ||
|
|
4950084e9e | ||
|
|
353d6d0eeb | ||
|
|
8a6d1e4c4e | ||
|
|
bddfa4125b | ||
|
|
839a990ce3 | ||
|
|
4032a9a1f3 | ||
|
|
6eb2ab3b44 | ||
|
|
cc2cd7d59f | ||
|
|
c1c20d43b0 | ||
|
|
71fef2d5c7 | ||
|
|
0404075c2e | ||
|
|
3e4aae7681 | ||
|
|
73637317e6 | ||
|
|
48f68f88a1 | ||
|
|
1579756837 | ||
|
|
c43b27e076 | ||
|
|
534c615df4 | ||
|
|
aae93ffb96 | ||
|
|
9073f4f97b | ||
|
|
b80cf1df72 | ||
|
|
7dce9217a9 | ||
|
|
5cd600b535 | ||
|
|
e153021858 | ||
|
|
c37877acee | ||
|
|
e8be3d45cf | ||
|
|
546d0e6105 | ||
|
|
6e31951771 | ||
|
|
2fd9ec37a4 | ||
|
|
ff892138b0 | ||
|
|
fce694b54b | ||
|
|
c46d5be0c0 | ||
|
|
ec101b2a9d | ||
|
|
1174545579 | ||
|
|
474071c008 | ||
|
|
e05412e688 | ||
|
|
051b887774 | ||
|
|
1dd11e93c7 | ||
|
|
1644dee32c | ||
|
|
0f7b165bc2 | ||
|
|
3d2e42d3fb | ||
|
|
d4fc311475 | ||
|
|
f34fddadd2 | ||
|
|
2da167028c | ||
|
|
b25f7b0a12 | ||
|
|
7498c8e417 | ||
|
|
dfdeb4cacb | ||
|
|
458b69d1fa | ||
|
|
8aa24bc22d | ||
|
|
f7932ff705 | ||
|
|
114bc68b14 | ||
|
|
5f97a35597 | ||
|
|
667054f3bf | ||
|
|
d282c54778 | ||
|
|
7e59d74256 | ||
|
|
866c9398eb | ||
|
|
5379efe567 | ||
|
|
cb6efe6c4d | ||
|
|
8d1f318134 | ||
|
|
4c42e8e5c5 | ||
|
|
6f4633f2fa | ||
|
|
1266b4ae25 | ||
|
|
1e2bb7b18d | ||
|
|
0bdceb0746 | ||
|
|
12eaacb1c8 | ||
|
|
83dcab27fa | ||
|
|
4390287137 | ||
|
|
3933375e49 | ||
|
|
d7c307ee6e | ||
|
|
96d6760ec3 | ||
|
|
579e4bb5d9 | ||
|
|
1d572632ae | ||
|
|
a5cc072839 | ||
|
|
4cedc35f21 | ||
|
|
63a34a0205 | ||
|
|
47b42404ae | ||
|
|
8ae40ef5e0 | ||
|
|
5500458f34 | ||
|
|
2c905fd90c | ||
|
|
230a963a11 | ||
|
|
0061b185f2 | ||
|
|
dc8d649f86 | ||
|
|
403281a4b3 | ||
|
|
a4c4118796 | ||
|
|
b1d7764b6d | ||
|
|
b0ff65a090 | ||
|
|
472199014f | ||
|
|
baaa1c083f | ||
|
|
eee33e727e | ||
|
|
959a0b11c3 | ||
|
|
1120fe17e7 | ||
|
|
90faa94abe | ||
|
|
c293c5b5d9 | ||
|
|
baf7952e19 | ||
|
|
0474d6386f | ||
|
|
51276e60b2 | ||
|
|
97136cba33 | ||
|
|
b783f93a40 | ||
|
|
70f2190368 | ||
|
|
afef36a7ba | ||
|
|
893bcb6c28 | ||
|
|
55210295d5 | ||
|
|
32354d2ec6 | ||
|
|
664f131577 | ||
|
|
8c08616455 | ||
|
|
f67848d15c | ||
|
|
432126c75a | ||
|
|
6576d88491 | ||
|
|
a2d266b2fd | ||
|
|
d618369169 | ||
|
|
269e05412a | ||
|
|
c632eadc0d | ||
|
|
95b82144de | ||
|
|
755210474c | ||
|
|
99336e1c01 | ||
|
|
bdadffef27 | ||
|
|
d5b57cf026 | ||
|
|
ba575f4334 | ||
|
|
1896838df0 | ||
|
|
7e1880a3b1 | ||
|
|
b905d9c691 | ||
|
|
c85bca001c | ||
|
|
b4ebfb3852 | ||
|
|
0b829dfae5 | ||
|
|
9bb61377dd | ||
|
|
50e2ebf413 | ||
|
|
2be9493863 | ||
|
|
e1bfdab565 | ||
|
|
b4b66552e9 | ||
|
|
1d2ad990fc | ||
|
|
dcecb9d225 | ||
|
|
86328afedf | ||
|
|
693f6b779e | ||
|
|
9b866f050c | ||
|
|
5080736f07 | ||
|
|
e401ecd65b | ||
|
|
9d1849026c | ||
|
|
592dd38883 | ||
|
|
f5a4c6f871 | ||
|
|
9f03cb6357 | ||
|
|
4f3b98961f | ||
|
|
f5ced9151b | ||
|
|
9f06d510f1 | ||
|
|
81c89af01d | ||
|
|
61e48b071f | ||
|
|
914628ab9b | ||
|
|
c369fa40ce | ||
|
|
9c121ca6c1 | ||
|
|
ae7b9e616c | ||
|
|
75e0ce7298 | ||
|
|
b76779032b | ||
|
|
63234ec0b3 | ||
|
|
69b3e1ae3b | ||
|
|
e386344a42 | ||
|
|
fb27d82f8e | ||
|
|
890ed64f84 | ||
|
|
8484e2c679 | ||
|
|
6163abe90d | ||
|
|
d6b43e06a6 | ||
|
|
0122947910 | ||
|
|
9dff6e1eaf | ||
|
|
b9f5fe52cf | ||
|
|
59c1b347cf | ||
|
|
992d7f2d35 | ||
|
|
d669f952ae | ||
|
|
cada0e6ac1 | ||
|
|
35c829137a | ||
|
|
05bb9f4ec4 | ||
|
|
0554818d64 | ||
|
|
c7912e018b | ||
|
|
0b47b3f8f3 | ||
|
|
91ea69b45b | ||
|
|
0d063578bb | ||
|
|
408c3e26ac | ||
|
|
75aea66b52 | ||
|
|
0145e23f2f | ||
|
|
eed5671966 | ||
|
|
1f57aa150a | ||
|
|
3a397bcf13 | ||
|
|
11789a21b6 | ||
|
|
90c83ad015 | ||
|
|
a776b84c71 | ||
|
|
630beb2db0 | ||
|
|
3d244f5937 | ||
|
|
7de51aab43 | ||
|
|
e9c8166be8 | ||
|
|
bb85e3db5f | ||
|
|
60a90262de | ||
|
|
f0e230e1b3 | ||
|
|
68c4d637cc | ||
|
|
6a5ebe6b04 | ||
|
|
7971026f93 | ||
|
|
0a92c28b77 | ||
|
|
2ad9b27315 | ||
|
|
c4b7aa54b2 | ||
|
|
293b545b00 | ||
|
|
9ee6889588 | ||
|
|
acf4ac1f27 | ||
|
|
6d92383b06 | ||
|
|
d08fc94396 | ||
|
|
be713f2838 | ||
|
|
31794a31a5 | ||
|
|
14d0e46b43 | ||
|
|
9e4de9a2ef | ||
|
|
337b918802 | ||
|
|
1b3844d4ee | ||
|
|
d9754150ea | ||
|
|
c827094c8f | ||
|
|
e40d8ceb7b | ||
|
|
5e68689bc3 | ||
|
|
26deb10c94 | ||
|
|
1117b8a507 | ||
|
|
1d50d4367e | ||
|
|
4f8a9271de | ||
|
|
26c2bfb972 | ||
|
|
18ad38e4a9 | ||
|
|
4bcf41690f | ||
|
|
5b748f8bbe | ||
|
|
11ec450074 | ||
|
|
4f34cbd994 | ||
|
|
8bb414bb4e | ||
|
|
b4b2e0b01a | ||
|
|
8b7836941e | ||
|
|
94ac4662c0 | ||
|
|
070b966046 | ||
|
|
6853c26105 | ||
|
|
a4c5ce998d | ||
|
|
cad16e23c6 | ||
|
|
214335277e | ||
|
|
cfcba5d96f | ||
|
|
89fc8c7bbc | ||
|
|
2220213719 | ||
|
|
01f0113a98 | ||
|
|
f716242fd4 | ||
|
|
225ac2e544 | ||
|
|
af2cdbb4e3 | ||
|
|
0e1b86ff03 | ||
|
|
cdfa5bb637 | ||
|
|
f011951fe1 | ||
|
|
032d05a9af | ||
|
|
77191ec396 | ||
|
|
5e3b7ffdcf | ||
|
|
9029e197c3 | ||
|
|
5e6aa4d39b | ||
|
|
88a7dcf909 | ||
|
|
2444b31a3c | ||
|
|
6a3386bc5a | ||
|
|
651ca67dae | ||
|
|
ba6a8fd84c | ||
|
|
c920475807 | ||
|
|
32e572e044 | ||
|
|
25deb84236 | ||
|
|
25c5508bda | ||
|
|
5c9893f30d | ||
|
|
be315fd9e2 | ||
|
|
2b593a395d | ||
|
|
9090b460e4 | ||
|
|
795db324fc | ||
|
|
311303c928 | ||
|
|
41fb586af9 | ||
|
|
71eedee1ca | ||
|
|
39d3bbc815 | ||
|
|
b07beb6480 | ||
|
|
fcbf870551 | ||
|
|
fb142ca525 | ||
|
|
5add4c0b4d | ||
|
|
7e1713ad2a | ||
|
|
de7ad27ccd | ||
|
|
48b0191db2 | ||
|
|
21486dc3d7 | ||
|
|
ef47964e0e | ||
|
|
1d0bcc4cad | ||
|
|
f1c358ebe4 | ||
|
|
a342e38f05 | ||
|
|
17bb6b642f | ||
|
|
d978dc3804 | ||
|
|
cdc16e567e | ||
|
|
e70b4a62fa | ||
|
|
f6fdc83135 | ||
|
|
94065fd64c | ||
|
|
b404d18bdb | ||
|
|
58b74f766b | ||
|
|
9d648d6720 | ||
|
|
46f72f3131 | ||
|
|
dece88351f | ||
|
|
af494cfcbf | ||
|
|
ee594b7a21 | ||
|
|
6917bf65cf | ||
|
|
77a2cace22 | ||
|
|
788dd8cef3 | ||
|
|
5a1239d30e | ||
|
|
5455ad83b2 | ||
|
|
b531ab49a8 | ||
|
|
f0c33c367b | ||
|
|
f1d9e7670b | ||
|
|
24d550c3d2 | ||
|
|
5ee0b5b7fb | ||
|
|
e03c48d36f | ||
|
|
c3e34238c7 | ||
|
|
e174810f32 | ||
|
|
89faa29293 | ||
|
|
bd58f840da | ||
|
|
105f7e8e3e | ||
|
|
0bb91caa1e | ||
|
|
3187ec7721 | ||
|
|
7c8c67f069 | ||
|
|
28da1fa4d4 | ||
|
|
a53b20a3d1 | ||
|
|
302a832a9d | ||
|
|
b35b5f75cc | ||
|
|
244120365e | ||
|
|
0b5fa02f1b | ||
|
|
e14598a9db | ||
|
|
01e4e75220 | ||
|
|
3bcdbd0004 | ||
|
|
3dd23192ba | ||
|
|
4e14731046 | ||
|
|
179c70a97a | ||
|
|
f415d56416 | ||
|
|
225116c79f | ||
|
|
565021eb2d | ||
|
|
4478666e45 | ||
|
|
c2d4c777b0 | ||
|
|
c732a6a495 | ||
|
|
a78e2c0678 | ||
|
|
e4bc8e648c | ||
|
|
6077c0b0a6 | ||
|
|
817c1c68af | ||
|
|
9a19b317ed | ||
|
|
2b93a527d3 | ||
|
|
d483f59575 | ||
|
|
dbd25cf493 | ||
|
|
011129e908 | ||
|
|
053534db95 | ||
|
|
7a5e35aa7d | ||
|
|
7249f5671a | ||
|
|
dd1e8118f1 | ||
|
|
7ba2e6b65a | ||
|
|
39d3fcf839 | ||
|
|
57a13e5e11 | ||
|
|
40c8b32644 | ||
|
|
61fdc01795 | ||
|
|
fdca0856e6 | ||
|
|
31e3b468b3 | ||
|
|
351dc0da10 | ||
|
|
6e07a6e1e3 | ||
|
|
3886948618 | ||
|
|
046245f90f | ||
|
|
1e833f2e0d | ||
|
|
3be9dc6268 | ||
|
|
83cb11b8f4 | ||
|
|
22b30f1004 | ||
|
|
913c00944b | ||
|
|
3a2e543a57 | ||
|
|
775976db59 | ||
|
|
6fc8b6aa3c | ||
|
|
ce9697d2ab | ||
|
|
cd4fccbf9f | ||
|
|
c46c29a77a | ||
|
|
924147b3d0 | ||
|
|
f1461d4bc7 | ||
|
|
45717629f6 | ||
|
|
8f9387478e | ||
|
|
5d8646e239 | ||
|
|
0feb1adc01 | ||
|
|
8ce97db6f4 | ||
|
|
a3ec079608 | ||
|
|
1f0b1869c4 | ||
|
|
750840f83a | ||
|
|
68ead6cd99 | ||
|
|
320d622a9c | ||
|
|
4e870326ae | ||
|
|
6a5b580940 | ||
|
|
a6bdc91461 | ||
|
|
959b470505 | ||
|
|
555f6930c5 | ||
|
|
7caebca210 | ||
|
|
39998c43ed | ||
|
|
f519648fbf | ||
|
|
81d8061bbf | ||
|
|
ad09263704 | ||
|
|
577f09cdd7 |
-1060
File diff suppressed because it is too large
Load Diff
@@ -1,25 +0,0 @@
|
||||
{{ range .Versions }}
|
||||
|
||||
## [{{ .Tag.Name }}]{{ if .Tag.Previous }}({{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }}){{ else }}{{ .Tag.Name }}{{ end }} ({{ datetime "2006-01-02" .Tag.Date }})
|
||||
|
||||
{{ range .CommitGroups -}}
|
||||
|
||||
### {{ .Title }}
|
||||
|
||||
{{ range .Commits -}}
|
||||
|
||||
- {{ .Subject }}
|
||||
{{ end }}
|
||||
{{ end -}}
|
||||
|
||||
{{- if .NoteGroups -}}
|
||||
{{ range .NoteGroups -}}
|
||||
|
||||
### {{ .Title }}
|
||||
|
||||
{{ range .Notes }}
|
||||
{{ .Body }}
|
||||
{{ end }}
|
||||
{{ end -}}
|
||||
{{ end -}}
|
||||
{{ end -}}
|
||||
@@ -1,28 +0,0 @@
|
||||
style: github
|
||||
template: CHANGELOG.tpl.md
|
||||
info:
|
||||
title: CHANGELOG
|
||||
repository_url: https://github.com/truecharts/apps
|
||||
options:
|
||||
commits:
|
||||
# filters:
|
||||
# Type:
|
||||
# - feat
|
||||
# - fix
|
||||
# - perf
|
||||
# - refactor
|
||||
commit_groups:
|
||||
# title_maps:
|
||||
# feat: Features
|
||||
# fix: Bug Fixes
|
||||
# perf: Performance Improvements
|
||||
# refactor: Code Refactoring
|
||||
header:
|
||||
pattern: "^(\\w*)(?:\\(([\\w\\$\\.\\-\\*\\s]*)\\))?\\:\\s(.*)$"
|
||||
pattern_maps:
|
||||
- Type
|
||||
- Scope
|
||||
- Subject
|
||||
notes:
|
||||
keywords:
|
||||
- BREAKING CHANGE
|
||||
@@ -1,38 +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",
|
||||
"image": "ghcr.io/truecharts/devcontainer:v2.3.0@sha256:a163ad40427cd75a31a0365afb832f97e512d420429ed091b90b18a034526264"
|
||||
|
||||
// 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",
|
||||
"github.vscode-pull-request-github",
|
||||
"eamodio.gitlens",
|
||||
"yzhang.markdown-all-in-one",
|
||||
"davidanson.vscode-markdownlint",
|
||||
"esbenp.prettier-vscode",
|
||||
"2gua.rainbow-brackets",
|
||||
"bmuskalla.vscode-tldr",
|
||||
"visualstudioexptteam.vscodeintellicode",
|
||||
"wingrunr21.vscode-ruby",
|
||||
"redhat.vscode-yaml",
|
||||
"spmeesseman.vscode-taskexplorer",
|
||||
"formulahendry.code-runner"
|
||||
],
|
||||
|
||||
// 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"
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
# EditorConfig is awesome: http://EditorConfig.org
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
indent_size = 2
|
||||
indent_style = space
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.{sh,json}]
|
||||
indent_size = 4
|
||||
|
||||
[*.md]
|
||||
max_line_length = off
|
||||
trim_trailing_whitespace = false
|
||||
@@ -1,11 +0,0 @@
|
||||
# Default code owners
|
||||
* @ornias1993
|
||||
* @truecharts-bot
|
||||
/charts/stable/ @stavros-k
|
||||
/charts/incubator/ @stavros-k
|
||||
/charts/SCALE/ @ornias1993
|
||||
/charts/core/ @ornias1993
|
||||
/charts/dependency/ @ornias1993
|
||||
/charts/enterprise/ @ornias1993
|
||||
/charts/dev/ @ornias1993
|
||||
/docs/ @ornias1993 @stavros-k
|
||||
@@ -1,304 +0,0 @@
|
||||
# TrueCharts
|
||||
|
||||
**Community App Catalog for TrueNAS SCALE**
|
||||
|
||||
[](https://truecharts.org/)
|
||||
[](https://discord.gg/Js6xv9nGuU)
|
||||
[](https://github.com/truecharts/apps/commits)
|
||||
|
||||
---
|
||||
|
||||
TrueCharts is a catalog of highly optimised TrueNAS SCALE Apps. Made for the community, By the community!
|
||||
|
||||
Our primary goals are:
|
||||
|
||||
- Micro-Service Centered
|
||||
|
||||
- Native Kubernetes
|
||||
|
||||
- Stability
|
||||
|
||||
- Consistency
|
||||
|
||||
All our apps are supposed to work together, be easy to setup using the TrueNAS UI and, above all, give the average user more than enough options to tune things to their liking.
|
||||
|
||||
<br />
|
||||
|
||||
## Getting started using TrueCharts
|
||||
|
||||
[](https://truecharts.org/)
|
||||
|
||||
---
|
||||
|
||||
Installing TrueCharts within TrueNAS SCALE, is possible using the TrueNAS SCALE Catalog list.
|
||||
|
||||
Check TrueCharts [Quick-Start Guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Adding-TrueCharts/) for more infotmation.
|
||||
|
||||
### Support
|
||||
|
||||
Please check our [FAQ](https://truecharts.org/about/), [manual](https://truecharts.org/manual/SUPPORT/) and [Issue tracker](https://github.com/truecharts/apps/issues) There is a significant chance your issue has been reported before!
|
||||
|
||||
Still something not working as expected? [Contact us!](https://truecharts.org/about/contact/) and we'll figure it out together!
|
||||
|
||||
### Roadmap
|
||||
|
||||
For big changes we do have a roadmap, every spot on the roadmap is synced to a TrueNAS SCALE Release and should be read as "Should be added at or before this release"
|
||||
|
||||
<br />
|
||||
|
||||
**Restructure of the Project - TrueNAS SCALE "Bluefin" 22.xx ALPHA 1**
|
||||
|
||||
_The current project is hitting internal performance issues, for this reason we need to rework the structure and split some parts of the project into seperate repositories._
|
||||
|
||||
<br />
|
||||
|
||||
**Refactor the Common Chart - TrueNAS SCALE "Bluefin" 22.xx ALPHA 2**
|
||||
|
||||
_The shared Common (chart) basis, used by all our Apps, needs some significant code cleanup. Primarily all code needs to follow a standardised format and comply to the same standard_
|
||||
|
||||
<br />
|
||||
|
||||
**Increased test coverage - TrueNAS SCALE "Bluefin" 22.xx BETA 1**
|
||||
|
||||
_With most parts of our project somewhat cleaned up, we need to work on increasing the coverage of our test system. Our unittests should cover all features and we should also take upgrades into account when testing App changes_
|
||||
|
||||
<br />
|
||||
|
||||
## Development
|
||||
|
||||
[](https://github.com/pre-commit/pre-commit)
|
||||
[](https://github.com/renovatebot/renovate)
|
||||
[](https://github.com/truecharts/apps/commits)
|
||||
|
||||
---
|
||||
|
||||
Our development process is fully distributed and agile, so every chart-maintainer is free to set their own roadmap and development speed and does not have to comply to a centralised roadmap.
|
||||
This ensures freedom and flexibility for everyone involved and makes sure you, the end user, always has the latest and greatest of every App installed.
|
||||
|
||||
### Getting into creating Apps
|
||||
|
||||
Creating charts takes some getting used to, as it's based on Helm charts. We highly suggest prior know-how on creation/modifying Helm Charts, before taking on the challenge of creating SCALE Apps.
|
||||
|
||||
For more information on creating SCALE Apps and Helm charts, please check out our [development manual](https://truecharts.org/)
|
||||
|
||||
### Automation and you
|
||||
|
||||
We provide a lot of tools to make it easier to develop charts, templates, automated testing, automated fixes, automated docs. Even automated update is included. We also actively try to collaborate with other k8s community projects on tooling, for the betterment of all!
|
||||
|
||||
Those tools do, however, take time to develop and are certainly not bug free. If you find mistakes in our tooling, please feel free to repost issues or submit any fixes you feel appropriate!
|
||||
|
||||
<br />
|
||||
|
||||
## Contact and Support
|
||||
|
||||
[](https://discord.gg/tVsPTHWTtr)
|
||||
|
||||
---
|
||||
|
||||
To contact the TrueCharts project:
|
||||
|
||||
- Create an issue on [Github issues](https://github.com/truecharts/apps/issues)
|
||||
|
||||
- Open a [Support Ticket](https://truecharts.org/discord)
|
||||
|
||||
- Send us an [email](mailto://[email protected])
|
||||
|
||||
- Or [join our Discord server](https://truecharts.org/discord)
|
||||
|
||||
<br />
|
||||
|
||||
<!-- INSERT-DISCORD-WIDGET -->
|
||||
|
||||
<br />
|
||||
|
||||
## Featured Projects
|
||||
|
||||
A lot of our work is based on the great effort of others. We would love to extend special thanks to these projects we owe a lot to:
|
||||
|
||||
| <a href="https://www.truenas.com/truenas-scale/"> <img src="https://user-images.githubusercontent.com/7613738/113836934-a1764e00-978d-11eb-8e19-a087c5c1f99b.png" width="150" height="150" /> </a> | <a href="https://k8s-at-home.com/"> <img src="https://user-images.githubusercontent.com/7613738/113837194-e26e6280-978d-11eb-9632-2e1529946302.png" width="150" height="150" /> </a> | <a href="https://traefik.io/traefik/"> <img src="https://user-images.githubusercontent.com/7613738/113837353-0b8ef300-978e-11eb-873e-14769acfe1f1.png" width="150" height="150" /> </a> | <a href="https://www.authelia.com/"> <img src="https://avatars.githubusercontent.com/u/59122411?s=200&v=4" width="150" height="150" /> </a> |
|
||||
| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------: |
|
||||
| <a href="https://www.truenas.com/truenas-scale/">TrueNAS SCALE</a> | <a href="https://k8s-at-home.com/">K8S-At-Home</a> | <a href="https://traefik.io/traefik/">Traefik</a> | <a href="https://www.authelia.com/">Authelia</a> |
|
||||
|
||||
<br />
|
||||
|
||||
## Contributors ✨
|
||||
|
||||
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
||||
[](#contributors)
|
||||
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
||||
|
||||
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="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/truecharts/charts/commits?author=Ornias1993" title="Code">💻</a> <a href="#infra-Ornias1993" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/truecharts/charts/commits?author=Ornias1993" title="Documentation">📖</a> <a href="https://github.com/truecharts/charts/pulls?q=is%3Apr+reviewed-by%3AOrnias1993" title="Reviewed Pull Requests">👀</a> <a href="#financial-Ornias1993" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="http://sqlitebrowser.org"><img src="https://avatars.githubusercontent.com/u/406299?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Justin Clift</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=justinclift" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/whiskerz007"><img src="https://avatars.githubusercontent.com/u/2713522?v=4?s=100" width="100px;" alt=""/><br /><sub><b>whiskerz007</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=whiskerz007" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/stavros-k"><img src="https://avatars.githubusercontent.com/u/47820033?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Stavros Kois</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=stavros-k" title="Code">💻</a> <a href="https://github.com/truecharts/charts/commits?author=stavros-k" title="Documentation">📖</a> <a href="https://github.com/truecharts/charts/issues?q=author%3Astavros-k" title="Bug reports">🐛</a> <a href="https://github.com/truecharts/charts/pulls?q=is%3Apr+reviewed-by%3Astavros-k" title="Reviewed Pull Requests">👀</a> <a href="#financial-stavros-k" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/allen-4"><img src="https://avatars.githubusercontent.com/u/65494904?v=4?s=100" width="100px;" alt=""/><br /><sub><b>allen-4</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=allen-4" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/tprelog"><img src="https://avatars.githubusercontent.com/u/35702532?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Troy Prelog</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=tprelog" title="Code">💻</a> <a href="https://github.com/truecharts/charts/commits?author=tprelog" title="Documentation">📖</a> <a href="#financial-tprelog" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/djs52"><img src="https://avatars.githubusercontent.com/u/1466018?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Dan Sheridan</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=djs52" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://www.cetic.be/Sebastien-Dupont?lang=en"><img src="https://avatars.githubusercontent.com/u/2684865?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sebastien Dupont</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=banzo" title="Documentation">📖</a> <a href="#financial-banzo" title="Financial">💵</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/truecharts/charts/pulls?q=is%3Apr+reviewed-by%3Aangelnu" title="Reviewed Pull Requests">👀</a></td>
|
||||
<td align="center"><a href="https://github.com/ellienieuwdorp"><img src="https://avatars.githubusercontent.com/u/12896549?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ellie Nieuwdorp</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=ellienieuwdorp" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/natewalck"><img src="https://avatars.githubusercontent.com/u/867868?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nate Walck</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=natewalck" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/warllo54"><img src="https://avatars.githubusercontent.com/u/20650065?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Lloyd</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=warllo54" title="Code">💻</a> <a href="#financial-warllo54" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/dwithnall"><img src="https://avatars.githubusercontent.com/u/5699800?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Dave Withnall</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=dwithnall" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/ksimm1"><img src="https://avatars.githubusercontent.com/u/1334526?v=4?s=100" width="100px;" alt=""/><br /><sub><b>ksimm1</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=ksimm1" title="Documentation">📖</a> <a href="https://github.com/truecharts/charts/issues?q=author%3Aksimm1" title="Bug reports">🐛</a> <a href="#financial-ksimm1" title="Financial">💵</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/truecharts/charts/commits?author=acjohnson" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/ralphte"><img src="https://avatars.githubusercontent.com/u/2996680?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ralph</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=ralphte" title="Code">💻</a></td>
|
||||
<td align="center"><a href="http://www.abc-groep.be"><img src="https://avatars.githubusercontent.com/u/2351765?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Joachim Baten</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=joachimbaten" title="Code">💻</a> <a href="https://github.com/truecharts/charts/issues?q=author%3Ajoachimbaten" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/mxyng"><img src="https://avatars.githubusercontent.com/u/2372640?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Michael Yang</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=mxyng" title="Code">💻</a></td>
|
||||
<td align="center"><a href="http://cturtle98.com"><img src="https://avatars.githubusercontent.com/u/24465356?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ciaran Farley</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=cTurtle98" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/Heavybullets8"><img src="https://avatars.githubusercontent.com/u/20793231?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Heavybullets8</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=Heavybullets8" title="Documentation">📖</a> <a href="https://github.com/truecharts/charts/commits?author=Heavybullets8" title="Code">💻</a> <a href="https://github.com/truecharts/charts/issues?q=author%3AHeavybullets8" title="Bug reports">🐛</a> <a href="#video-Heavybullets8" title="Videos">📹</a> <a href="#mentoring-Heavybullets8" title="Mentoring">🧑🏫</a> <a href="#financial-Heavybullets8" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/662"><img src="https://avatars.githubusercontent.com/u/13599186?v=4?s=100" width="100px;" alt=""/><br /><sub><b>662</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=662" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/alex171"><img src="https://avatars.githubusercontent.com/u/28484494?v=4?s=100" width="100px;" alt=""/><br /><sub><b>alex171</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=alex171" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://www.youtube.com/channel/UCOk-gHyjcWZNj3Br4oxwh0A"><img src="https://avatars.githubusercontent.com/u/1322205?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Techno Tim</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=timothystewart6" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="http://mingyaoliu.com"><img src="https://avatars.githubusercontent.com/u/3460335?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Mingyao Liu</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=MingyaoLiu" title="Code">💻</a> <a href="https://github.com/truecharts/charts/issues?q=author%3AMingyaoLiu" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/NightShaman"><img src="https://avatars.githubusercontent.com/u/12952292?v=4?s=100" width="100px;" alt=""/><br /><sub><b>NightShaman</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=NightShaman" title="Code">💻</a> <a href="https://github.com/truecharts/charts/commits?author=NightShaman" title="Documentation">📖</a> <a href="https://github.com/truecharts/charts/issues?q=author%3ANightShaman" title="Bug reports">🐛</a> <a href="#financial-NightShaman" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://espadav8.co.uk"><img src="https://avatars.githubusercontent.com/u/115825?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Andrew Smith</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=EspadaV8" title="Documentation">📖</a> <a href="https://github.com/truecharts/charts/commits?author=EspadaV8" title="Tests">⚠️</a></td>
|
||||
<td align="center"><a href="http://xilix.com"><img src="https://avatars.githubusercontent.com/u/2821?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Bob Klosinski</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=fluxin" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/sukarn-m"><img src="https://avatars.githubusercontent.com/u/10946339?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sukarn</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=sukarn-m" title="Code">💻</a> <a href="https://github.com/truecharts/charts/commits?author=sukarn-m" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/sebsx"><img src="https://avatars.githubusercontent.com/u/735033?v=4?s=100" width="100px;" alt=""/><br /><sub><b>sebs</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=sebsx" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/Dyllan2000alfa"><img src="https://avatars.githubusercontent.com/u/29694020?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Dyllan Tinoco</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=Dyllan2000alfa" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/StevenMcElligott"><img src="https://avatars.githubusercontent.com/u/89483932?v=4?s=100" width="100px;" alt=""/><br /><sub><b>StevenMcElligott</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=StevenMcElligott" title="Code">💻</a> <a href="#financial-StevenMcElligott" title="Financial">💵</a> <a href="https://github.com/truecharts/charts/commits?author=StevenMcElligott" title="Documentation">📖</a> <a href="https://github.com/truecharts/charts/issues?q=author%3AStevenMcElligott" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/brothergomez"><img src="https://avatars.githubusercontent.com/u/38558969?v=4?s=100" width="100px;" alt=""/><br /><sub><b>brothergomez</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=brothergomez" title="Code">💻</a> <a href="https://github.com/truecharts/charts/issues?q=author%3Abrothergomez" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/Sagit-chu"><img src="https://avatars.githubusercontent.com/u/36596628?v=4?s=100" width="100px;" alt=""/><br /><sub><b>sagit</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=Sagit-chu" title="Code">💻</a> <a href="https://github.com/truecharts/charts/issues?q=author%3ASagit-chu" title="Bug reports">🐛</a> <a href="#video-Sagit-chu" title="Videos">📹</a> <a href="https://github.com/truecharts/charts/commits?author=Sagit-chu" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://zhouyou.info"><img src="https://avatars.githubusercontent.com/u/8481484?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nevan Chow</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=zzzhouuu" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/soilheart"><img src="https://avatars.githubusercontent.com/u/9056381?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Daniel Carlsson</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Asoilheart" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/dlouie-swir"><img src="https://avatars.githubusercontent.com/u/81386715?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Devon Louie</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Adlouie-swir" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/Alex-Orsholits"><img src="https://avatars.githubusercontent.com/u/56907127?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Alex-Orsholits</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3AAlex-Orsholits" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/Tails32"><img src="https://avatars.githubusercontent.com/u/2036401?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Tails32</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3ATails32" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/Menaxerius"><img src="https://avatars.githubusercontent.com/u/25470894?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Menaxerius</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3AMenaxerius" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/hidefog"><img src="https://avatars.githubusercontent.com/u/13468236?v=4?s=100" width="100px;" alt=""/><br /><sub><b>hidefog</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Ahidefog" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/dalgibbard"><img src="https://avatars.githubusercontent.com/u/1159620?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Darren Gibbard</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Adalgibbard" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/barti04"><img src="https://avatars.githubusercontent.com/u/34000663?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Barti</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Abarti04" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/Sunii"><img src="https://avatars.githubusercontent.com/u/4595444?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sunii</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3ASunii" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/trbmchs"><img src="https://avatars.githubusercontent.com/u/7928292?v=4?s=100" width="100px;" alt=""/><br /><sub><b>trbmchs</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Atrbmchs" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/PylotLight"><img src="https://avatars.githubusercontent.com/u/7006124?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Light</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3APylotLight" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/Boostflow"><img src="https://avatars.githubusercontent.com/u/18465315?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Boostflow</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3ABoostflow" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/Trigardon"><img src="https://avatars.githubusercontent.com/u/98973534?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Trigardon</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3ATrigardon" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/dbb12345"><img src="https://avatars.githubusercontent.com/u/52704517?v=4?s=100" width="100px;" alt=""/><br /><sub><b>dbb12345</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Adbb12345" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/karypid"><img src="https://avatars.githubusercontent.com/u/1221101?v=4?s=100" width="100px;" alt=""/><br /><sub><b>karypid</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Akarypid" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/eingemaischt"><img src="https://avatars.githubusercontent.com/u/151498?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Philipp</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Aeingemaischt" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/j0hnby"><img src="https://avatars.githubusercontent.com/u/18377483?v=4?s=100" width="100px;" alt=""/><br /><sub><b>John</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Aj0hnby" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/john-parton"><img src="https://avatars.githubusercontent.com/u/2071543?v=4?s=100" width="100px;" alt=""/><br /><sub><b>John Parton</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Ajohn-parton" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/Amasis"><img src="https://avatars.githubusercontent.com/u/7325217?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Marc</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3AAmasis" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/fdzaebel"><img src="https://avatars.githubusercontent.com/u/46503230?v=4?s=100" width="100px;" alt=""/><br /><sub><b>fdzaebel</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Afdzaebel" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/kloeckwerx"><img src="https://avatars.githubusercontent.com/u/97212383?v=4?s=100" width="100px;" alt=""/><br /><sub><b>kloeckwerx</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Akloeckwerx" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/BirdBare"><img src="https://avatars.githubusercontent.com/u/1051490?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Bradley Bare</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3ABirdBare" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/alexthamm"><img src="https://avatars.githubusercontent.com/u/2556372?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Alexander Thamm</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Aalexthamm" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/rexit1982"><img src="https://avatars.githubusercontent.com/u/7585043?v=4?s=100" width="100px;" alt=""/><br /><sub><b>rexit1982</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Arexit1982" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/iaxx"><img src="https://avatars.githubusercontent.com/u/13745514?v=4?s=100" width="100px;" alt=""/><br /><sub><b>iaxx</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Aiaxx" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://xstar97.github.io"><img src="https://avatars.githubusercontent.com/u/9399967?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Xstar97</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3AXstar97" title="Bug reports">🐛</a> <a href="https://github.com/truecharts/charts/commits?author=Xstar97" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/Ornias"><img src="https://avatars.githubusercontent.com/u/20852677?v=4?s=100" width="100px;" alt=""/><br /><sub><b>ornias</b></sub></a><br /><a href="#video-ornias" title="Videos">📹</a></td>
|
||||
<td align="center"><a href="http://joshasplund.com"><img src="https://avatars.githubusercontent.com/u/3958801?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Josh Asplund</b></sub></a><br /><a href="#financial-joshuata" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/midnight33233"><img src="https://avatars.githubusercontent.com/u/25982892?v=4?s=100" width="100px;" alt=""/><br /><sub><b>midnight33233</b></sub></a><br /><a href="#financial-midnight33233" title="Financial">💵</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/kbftech"><img src="https://avatars.githubusercontent.com/u/77502706?v=4?s=100" width="100px;" alt=""/><br /><sub><b>kbftech</b></sub></a><br /><a href="#financial-kbftech" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/hogenf"><img src="https://avatars.githubusercontent.com/u/11094630?v=4?s=100" width="100px;" alt=""/><br /><sub><b>hogenf</b></sub></a><br /><a href="#financial-hogenf" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/hawkinzzz"><img src="https://avatars.githubusercontent.com/u/24587652?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Hawks</b></sub></a><br /><a href="#financial-hawkinzzz" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/bodly2"><img src="https://avatars.githubusercontent.com/u/21004768?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jim Russell</b></sub></a><br /><a href="#financial-bodly2" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/TheGovnah"><img src="https://avatars.githubusercontent.com/u/1300101?v=4?s=100" width="100px;" alt=""/><br /><sub><b>TheGovnah</b></sub></a><br /><a href="#financial-TheGovnah" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/famewolf"><img src="https://avatars.githubusercontent.com/u/4558832?v=4?s=100" width="100px;" alt=""/><br /><sub><b>famewolf</b></sub></a><br /><a href="#financial-famewolf" title="Financial">💵</a> <a href="https://github.com/truecharts/charts/issues?q=author%3Afamewolf" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/konradbjk"><img src="https://avatars.githubusercontent.com/u/31480935?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Konrad Bujak</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=konradbjk" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/190n"><img src="https://avatars.githubusercontent.com/u/7763597?v=4?s=100" width="100px;" alt=""/><br /><sub><b>190n</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=190n" title="Code">💻</a> <a href="https://github.com/truecharts/charts/commits?author=190n" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://alexejk.io"><img src="https://avatars.githubusercontent.com/u/104794?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Alexej Kubarev</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=alexejk" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/r-vanooyen"><img src="https://avatars.githubusercontent.com/u/45106123?v=4?s=100" width="100px;" alt=""/><br /><sub><b>r-vanooyen</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=r-vanooyen" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/shadofall"><img src="https://avatars.githubusercontent.com/u/9327622?v=4?s=100" width="100px;" alt=""/><br /><sub><b>shadofall</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=shadofall" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/agreppin"><img src="https://avatars.githubusercontent.com/u/26579013?v=4?s=100" width="100px;" alt=""/><br /><sub><b>agreppin</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=agreppin" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/stdedos"><img src="https://avatars.githubusercontent.com/u/133706?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Stavros Ntentos</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=stdedos" title="Code">💻</a> <a href="#ideas-stdedos" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center"><a href="https://github.com/VladFlorinIlie"><img src="https://avatars.githubusercontent.com/u/35900803?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Vlad-Florin Ilie</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=VladFlorinIlie" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/huma2000"><img src="https://avatars.githubusercontent.com/u/9518124?v=4?s=100" width="100px;" alt=""/><br /><sub><b>huma2000</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Ahuma2000" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/hugalafutro"><img src="https://avatars.githubusercontent.com/u/30209689?v=4?s=100" width="100px;" alt=""/><br /><sub><b>hugalafutro</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Ahugalafutro" title="Bug reports">🐛</a> <a href="#financial-hugalafutro" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/yehia2amer"><img src="https://avatars.githubusercontent.com/u/6174059?v=4?s=100" width="100px;" alt=""/><br /><sub><b>yehia Amer</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=yehia2amer" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/tfrancis"><img src="https://avatars.githubusercontent.com/u/29070?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Tyler Stransky</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Atfrancis" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/juggie"><img src="https://avatars.githubusercontent.com/u/2034757?v=4?s=100" width="100px;" alt=""/><br /><sub><b>juggie</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Ajuggie" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/btilford"><img src="https://avatars.githubusercontent.com/u/248725?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ben Tilford</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Abtilford" title="Bug reports">🐛</a> <a href="https://github.com/truecharts/charts/commits?author=btilford" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/I-nebukad-I"><img src="https://avatars.githubusercontent.com/u/16634069?v=4?s=100" width="100px;" alt=""/><br /><sub><b>I-nebukad-I</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3AI-nebukad-I" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/packruler"><img src="https://avatars.githubusercontent.com/u/770373?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ethan Leisinger</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=packruler" title="Code">💻</a> <a href="https://github.com/truecharts/charts/commits?author=packruler" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/CullenShane"><img src="https://avatars.githubusercontent.com/u/597786?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Cullen Murphy</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=CullenShane" title="Code">💻</a> <a href="https://github.com/truecharts/charts/issues?q=author%3ACullenShane" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/jthat"><img src="https://avatars.githubusercontent.com/u/1931222?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jason Thatcher</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=jthat" title="Code">💻</a> <a href="https://github.com/truecharts/charts/issues?q=author%3Ajthat" title="Bug reports">🐛</a> <a href="https://github.com/truecharts/charts/commits?author=jthat" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/stefanschramek"><img src="https://avatars.githubusercontent.com/u/921342?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Stefan Schramek</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Astefanschramek" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/nokaka"><img src="https://avatars.githubusercontent.com/u/101942715?v=4?s=100" width="100px;" alt=""/><br /><sub><b>nokaka</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Anokaka" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="http://code.lockszmith.com"><img src="https://avatars.githubusercontent.com/u/905716?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Gal Szkolnik</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3ALockszmith-GH" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/undsoft"><img src="https://avatars.githubusercontent.com/u/1481270?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Evgeny Stepanovych</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Aundsoft" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/sonicaj"><img src="https://avatars.githubusercontent.com/u/17968138?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Waqar Ahmed</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Asonicaj" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/DrSKiZZ"><img src="https://avatars.githubusercontent.com/u/50158917?v=4?s=100" width="100px;" alt=""/><br /><sub><b>DrSKiZZ</b></sub></a><br /><a href="#financial-DrSKiZZ" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/janpuc"><img src="https://avatars.githubusercontent.com/u/8539508?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jan Puciłowski</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=janpuc" title="Code">💻</a> <a href="https://github.com/truecharts/charts/commits?author=janpuc" title="Tests">⚠️</a></td>
|
||||
<td align="center"><a href="https://github.com/shauncoyne"><img src="https://avatars.githubusercontent.com/u/13672807?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Shaun Coyne</b></sub></a><br /><a href="#financial-shauncoyne" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/ich777"><img src="https://avatars.githubusercontent.com/u/28066518?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Christoph</b></sub></a><br /><a href="#financial-ich777" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/UnDifferential"><img src="https://avatars.githubusercontent.com/u/17625468?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Brandon Rutledge</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3AUnDifferential" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/mikeNG"><img src="https://avatars.githubusercontent.com/u/1216752?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Michael Bestas</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3AmikeNG" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://rudaks.lv"><img src="https://avatars.githubusercontent.com/u/4631864?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jurģis Rudaks</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Ajurgisrudaks" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/brunofatia"><img src="https://avatars.githubusercontent.com/u/67926902?v=4?s=100" width="100px;" alt=""/><br /><sub><b>brunofatia</b></sub></a><br /><a href="#financial-brunofatia" title="Financial">💵</a></td>
|
||||
<td align="center"><a href="https://github.com/TopicsLP"><img src="https://avatars.githubusercontent.com/u/9019121?v=4?s=100" width="100px;" alt=""/><br /><sub><b>TopicsLP</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=TopicsLP" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://schnerring.net"><img src="https://avatars.githubusercontent.com/u/3743342?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Michael Schnerring</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Aschnerring" title="Bug reports">🐛</a> <a href="https://github.com/truecharts/charts/commits?author=schnerring" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://tamasnagy.com"><img src="https://avatars.githubusercontent.com/u/1661487?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Tamas Nagy</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Atlnagy" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://OpenSpeedTest.com"><img src="https://avatars.githubusercontent.com/u/51720450?v=4?s=100" width="100px;" alt=""/><br /><sub><b>OpenSpeedTest™️</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=openspeedtest" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://richardjacton.github.io/"><img src="https://avatars.githubusercontent.com/u/6893043?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Richard James Acton</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=RichardJActon" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/lps-rocks"><img src="https://avatars.githubusercontent.com/u/10893911?v=4?s=100" width="100px;" alt=""/><br /><sub><b>lps-rocks</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Alps-rocks" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/Faustvii"><img src="https://avatars.githubusercontent.com/u/4357216?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Faust</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3AFaustvii" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/uranderu"><img src="https://avatars.githubusercontent.com/u/71091366?v=4?s=100" width="100px;" alt=""/><br /><sub><b>uranderu</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Auranderu" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/heytcass"><img src="https://avatars.githubusercontent.com/u/11260288?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Tom Cassady</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Aheytcass" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/Huftierchen"><img src="https://avatars.githubusercontent.com/u/16015778?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Huftierchen</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3AHuftierchen" title="Bug reports">🐛</a></td>
|
||||
<td align="center"><a href="https://github.com/ZasX"><img src="https://avatars.githubusercontent.com/u/806452?v=4?s=100" width="100px;" alt=""/><br /><sub><b>ZasX</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=ZasX" title="Documentation">📖</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!
|
||||
|
||||
## Licence
|
||||
|
||||
[](https://github.com/truecharts/apps/blob/master/docs/LICENSE.BSD3)
|
||||
|
||||
---
|
||||
|
||||
Truecharts as a whole, is based on a BSD-3-clause license, this ensures almost everyone can use and modify our charts. However: As a lot of Apps are based on upstream Helm Charts, Licences can vary on a per-App basis. This can easily be seen by the presence of a "LICENSE" file in the App root folder.
|
||||
|
||||
Some Apps may also contain parts in other licenses, such as libraries or templates, these files can be recognised by their individual headers.
|
||||
|
||||
`SPDX-License-Identifier: BSD-3-Clause`
|
||||
|
||||
---
|
||||
|
||||
 
|
||||
@@ -1,126 +0,0 @@
|
||||
name: "Collect changes"
|
||||
description: "Collects and stores changed files/charts"
|
||||
|
||||
outputs:
|
||||
changesDetected:
|
||||
description: "Whether or not changes to charts have been detected"
|
||||
value: ${{ steps.filter.outputs.addedOrModified }}
|
||||
addedOrModifiedFiles:
|
||||
description: "A list of the files changed"
|
||||
value: ${{ steps.filter.outputs.addedOrModified_files }}
|
||||
addedOrModifiedCharts:
|
||||
description: "A list of the charts changed"
|
||||
value: ${{ steps.filter-charts.outputs.addedOrModified }}
|
||||
changesDetectedAfterTag:
|
||||
description: "Flag if there are any modified and bump Charts after last tag"
|
||||
value: ${{ steps.filter-bumped-charts.outputs.changesDetectedAfterTag }}
|
||||
modifiedChartsAfterTag:
|
||||
description: "A list of the charts changed and bumped after last Tag"
|
||||
value: ${{ steps.filter-bumped-charts.outputs.modifiedChartsAfterTag }}
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Collect changed files
|
||||
uses: dorny/paths-filter@v2
|
||||
id: filter
|
||||
with:
|
||||
list-files: shell
|
||||
filters: |
|
||||
addedOrModified:
|
||||
- added|modified: 'charts/*/**'
|
||||
|
||||
- name: Collect changed charts
|
||||
if: |
|
||||
steps.filter.outputs.addedOrModified == 'true'
|
||||
id: filter-charts
|
||||
shell: bash
|
||||
run: |
|
||||
CHARTS=()
|
||||
PATHS=(${{ steps.filter.outputs.addedOrModified_files }})
|
||||
# Get only the chart paths
|
||||
for CHARTPATH in "${PATHS[@]}"
|
||||
do
|
||||
IFS='/' read -r -a path_parts <<< "${CHARTPATH}"
|
||||
CHARTS+=("${path_parts[1]}/${path_parts[2]}")
|
||||
done
|
||||
|
||||
# Remove duplicates
|
||||
CHARTS=( `printf "%s\n" "${CHARTS[@]}" | sort -u` )
|
||||
# Set output to changed charts
|
||||
printf "::set-output name=addedOrModified::%s\n" "${CHARTS[*]}"
|
||||
|
||||
- name: Collect bumped charts after last tag
|
||||
id: filter-bumped-charts
|
||||
shell: bash
|
||||
run: |
|
||||
lookup_latest_tag() {
|
||||
git fetch --tags > /dev/null 2>&1
|
||||
|
||||
if ! git describe --tags --abbrev=0 2> /dev/null; then
|
||||
git rev-list --max-parents=0 --first-parent HEAD
|
||||
fi
|
||||
}
|
||||
export -f lookup_latest_tag
|
||||
|
||||
filter_charts() {
|
||||
while read -r chart; do
|
||||
[[ ! -d "$chart" ]] && continue
|
||||
if [[ $(git diff $latest_tag $chart/Chart.yaml | grep "+version") ]]; then
|
||||
echo "$chart"
|
||||
else
|
||||
echo "Version not bumped. Skipping." 1>&2
|
||||
fi
|
||||
done
|
||||
}
|
||||
export -f filter_charts
|
||||
|
||||
lookup_changed_charts() {
|
||||
local commit="$1"
|
||||
|
||||
local changed_files
|
||||
changed_files=$(git diff --find-renames --name-only "$commit" -- 'charts/**' | grep "Chart.yaml")
|
||||
local depth=$(( $(tr "/" "\n" <<< 'charts/**' | sed '/^\(\.\)*$/d' | wc -l) + 1 ))
|
||||
local fields="1-${depth}"
|
||||
|
||||
cut -d '/' -f "$fields" <<< "$changed_files" | uniq | filter_charts
|
||||
}
|
||||
export -f lookup_changed_charts
|
||||
|
||||
repo_root=$(git rev-parse --show-toplevel)
|
||||
pushd "$repo_root" > /dev/null
|
||||
|
||||
echo 'Looking up latest tag...'
|
||||
latest_tag=$(lookup_latest_tag)
|
||||
|
||||
echo "Discovering changed charts since '$latest_tag'..."
|
||||
changed_charts=()
|
||||
readarray -t changed_charts <<< "$(lookup_changed_charts "$latest_tag")"
|
||||
|
||||
CHARTS=()
|
||||
for CHARTPATH in "${changed_charts[@]}"
|
||||
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[*]}"
|
||||
|
||||
echo "Number of detected changed charts: ${#CHARTS[@]}"
|
||||
if [ ${#CHARTS[@]} -eq 0 ] || [ "${CHARTS[0]}" = " " ] || [ "${CHARTS[0]}" = "/" ]; then
|
||||
echo "No Changed Charts detected since latest tag..."
|
||||
printf "::set-output name=changesDetectedAfterTag::%s\n" "false"
|
||||
else
|
||||
echo "Changed Charts detected since latest tag, parsing..."
|
||||
printf "::set-output name=changesDetectedAfterTag::%s\n" "true"
|
||||
|
||||
# Get only the chart paths
|
||||
|
||||
# Set output to changed charts
|
||||
echo "Changed charts: ${CHARTS[*]}"
|
||||
printf "::set-output name=modifiedChartsAfterTag::%s\n" "${CHARTS[*]}"
|
||||
fi
|
||||
popd > /dev/null
|
||||
@@ -1,48 +0,0 @@
|
||||
name: "Set issue labels based on status"
|
||||
description: "Sets / removes issue labels based on CI job status"
|
||||
inputs:
|
||||
token:
|
||||
required: true
|
||||
description: "The Github API token to use"
|
||||
issue-number:
|
||||
required: true
|
||||
description: "The issue to label"
|
||||
prefix:
|
||||
required: true
|
||||
description: "The label prefix (e.g. lint, install)"
|
||||
job-status:
|
||||
required: true
|
||||
description: "The status of the CI job"
|
||||
remove-on-skipped:
|
||||
required: false
|
||||
default: false
|
||||
description: "Remove the label if the job was skipped"
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Label success
|
||||
uses: andymckay/labeler@e6c4322d0397f3240f0e7e30a33b5c5df2d39e90 # tag=1.0.4
|
||||
if: ${{ inputs.job-status == 'success' }}
|
||||
with:
|
||||
repo-token: ${{ inputs.token }}
|
||||
issue-number: ${{ inputs.issue-number }}
|
||||
add-labels: "${{ inputs.prefix }}:ok"
|
||||
remove-labels: "${{ inputs.prefix }}:failed"
|
||||
|
||||
- name: Label failure
|
||||
uses: andymckay/labeler@e6c4322d0397f3240f0e7e30a33b5c5df2d39e90 # tag=1.0.4
|
||||
if: ${{ inputs.job-status == 'failure' }}
|
||||
with:
|
||||
repo-token: ${{ inputs.token }}
|
||||
issue-number: ${{ inputs.issue-number }}
|
||||
add-labels: "${{ inputs.prefix }}:failed"
|
||||
remove-labels: "${{ inputs.prefix }}:ok"
|
||||
|
||||
- name: Remove label
|
||||
uses: andymckay/labeler@e6c4322d0397f3240f0e7e30a33b5c5df2d39e90 # tag=1.0.4
|
||||
if: ${{ (inputs.job-status == 'skipped') && (inputs.remove-on-skipped == 'true') }}
|
||||
with:
|
||||
repo-token: ${{ inputs.token }}
|
||||
issue-number: ${{ inputs.issue-number }}
|
||||
remove-labels: "${{ inputs.prefix }}:ok, ${{ inputs.prefix }}:failed"
|
||||
@@ -1,38 +0,0 @@
|
||||
apiVersion: str()
|
||||
kubeVersion: str()
|
||||
name: str()
|
||||
version: str(required=True)
|
||||
upstream_version: any(str(), num(), required=False)
|
||||
appVersion: any(str(), num())
|
||||
description: str()
|
||||
type: str(required=False)
|
||||
deprecated: bool(required=False)
|
||||
home: str()
|
||||
icon: str()
|
||||
engine: str(required=False)
|
||||
condition: str(required=False)
|
||||
keywords: list(str(), required=False)
|
||||
tags: str(required=False)
|
||||
sources: list(str(), required=False)
|
||||
dependencies: list(include('dependency'), required=False)
|
||||
maintainers: list(include('maintainer'))
|
||||
annotations: map(str(), str(), required=False)
|
||||
---
|
||||
maintainer:
|
||||
name: str()
|
||||
email: str(required=False)
|
||||
url: str(required=True)
|
||||
---
|
||||
dependency:
|
||||
name: str()
|
||||
repository: str()
|
||||
version: str()
|
||||
condition: str(required=False)
|
||||
tags: list(str(), required=False)
|
||||
import-values: any(list(str()), list(include('import-value')), required=False)
|
||||
enabled: bool(required=False)
|
||||
alias: str(required=False)
|
||||
---
|
||||
import-value:
|
||||
child: str()
|
||||
parent: str()
|
||||
@@ -1 +0,0 @@
|
||||
CIS-DI-0006
|
||||
@@ -1,7 +0,0 @@
|
||||
owner: truecharts
|
||||
git-repo: apps
|
||||
repo: apps
|
||||
charts-dir: charts/*
|
||||
charts_repo_url: "https://charts.truecharts.org"
|
||||
SkipExisting: true
|
||||
skipExisting: true
|
||||
@@ -1,54 +0,0 @@
|
||||
remote: origin
|
||||
target-branch: master
|
||||
helm-extra-args: --timeout 300s
|
||||
chart-yaml-schema: .github/chart_schema.yaml
|
||||
chart-dirs:
|
||||
- charts/incubator
|
||||
- charts/stable
|
||||
- charts/dependency
|
||||
- charts/core
|
||||
- charts/dev
|
||||
- charts/games
|
||||
- charts/enterprise
|
||||
- charts/SCALE
|
||||
excluded-charts:
|
||||
- charts/incubator/sdtd
|
||||
- charts/stable/alertmanager-bot
|
||||
- charts/stable/alertmanager-discord
|
||||
- charts/stable/amcrest2mqtt
|
||||
- charts/stable/facebox
|
||||
- charts/stable/foundryvtt
|
||||
- charts/stable/heimdall
|
||||
- charts/stable/multus
|
||||
- charts/stable/pod-gateway
|
||||
- charts/stable/promcord
|
||||
- charts/stable/reg
|
||||
- charts/stable/ser2sock
|
||||
- charts/stable/zalando-postgres-cluster
|
||||
- charts/stable/zigbee2mqtt
|
||||
- charts/stable/wireguard
|
||||
- charts/stable/alertmanager-bot
|
||||
- charts/stable/storj-node
|
||||
- charts/incubator/amcrest2mqtt
|
||||
- charts/library/common
|
||||
- charts/stable/foundryvtt
|
||||
- charts/stable/promcord
|
||||
- charts/incubator/zigbee2mqtt
|
||||
- charts/dev/alienswarm-reactivedrop
|
||||
- charts/dev/arksurvivalevolved
|
||||
- charts/dev/arma3
|
||||
- charts/dev/arma3exilemod
|
||||
- charts/dev/assettocorsa
|
||||
- charts/dev/server-7daystodie
|
||||
- charts/dev/craftopia
|
||||
- charts/dev/alienswarm
|
||||
- charts/dev/csgo
|
||||
- charts/dev/cstrike1-6
|
||||
- charts/dev/cstrikeconditionzero
|
||||
chart-repos:
|
||||
- truecharts=https://charts.truecharts.org
|
||||
- truecharts-library=https://library-charts.truecharts.org
|
||||
- bitnami=https://charts.bitnami.com/bitnami
|
||||
- metallb=https://metallb.github.io/metallb
|
||||
- grafana=https://grafana.github.io/helm-charts
|
||||
- prometheus=https://prometheus-community.github.io/helm-charts
|
||||
@@ -1,21 +0,0 @@
|
||||
remote: origin
|
||||
target-branch: master
|
||||
chart-yaml-schema: .github/chart_schema.yaml
|
||||
helm-extra-args: --timeout 600s
|
||||
chart-dirs:
|
||||
- charts/incubator
|
||||
- charts/stable
|
||||
- charts/dependency
|
||||
- charts/core
|
||||
- charts/dev
|
||||
- charts/games
|
||||
- charts/enterprise
|
||||
- charts/SCALE
|
||||
excluded-charts: []
|
||||
chart-repos:
|
||||
- truecharts=https://charts.truecharts.org
|
||||
- truecharts-library=https://library-charts.truecharts.org
|
||||
- bitnami=https://charts.bitnami.com/bitnami
|
||||
- metallb=https://metallb.github.io/metallb
|
||||
- grafana=https://grafana.github.io/helm-charts
|
||||
- prometheus=https://prometheus-community.github.io/helm-charts
|
||||
@@ -1,35 +0,0 @@
|
||||
---
|
||||
labels:
|
||||
- name: incomplete-template
|
||||
labeled:
|
||||
issue:
|
||||
body: |
|
||||
:wave: @{{ issue.user.login }}, please follow the template provided.
|
||||
action: close
|
||||
locking: lock
|
||||
lock_reason: resolved
|
||||
|
||||
- name: 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: 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/)
|
||||
- The `artifacthub.io/changes` chart annotation contains a summary of the updates for this new version. See [Artifact Hub documentation](https://artifacthub.io/docs/topics/annotations/helm/#supported-annotations) for more info.
|
||||
- [Documentation strings](https://github.com/norwoodj/helm-docs#valuesyaml-metadata) have been added to the keys in `values.yaml`.
|
||||
@@ -1,23 +0,0 @@
|
||||
module.exports = {
|
||||
dryRun: false,
|
||||
username: "truecharts-bot",
|
||||
gitAuthor: "truecharts-bot <[email protected]>",
|
||||
onboarding: false,
|
||||
platform: "github",
|
||||
repositories: ["truecharts/charts"],
|
||||
packageRules: [
|
||||
{
|
||||
description: "lockFileMaintenance",
|
||||
matchUpdateTypes: [
|
||||
"pin",
|
||||
"digest",
|
||||
"patch",
|
||||
"minor",
|
||||
"major",
|
||||
"lockFileMaintenance",
|
||||
],
|
||||
dependencyDashboardApproval: false,
|
||||
stabilityDays: 0,
|
||||
},
|
||||
],
|
||||
};
|
||||
@@ -1,177 +0,0 @@
|
||||
{
|
||||
"enabled": true,
|
||||
"extends": ["helpers:pinGitHubActionDigests"],
|
||||
"dependencyDashboard": true,
|
||||
"dependencyDashboardTitle": "Renovate Dashboard",
|
||||
"assigneesFromCodeOwners": true,
|
||||
"reviewersFromCodeOwners": true,
|
||||
"suppressNotifications": ["prIgnoreNotification"],
|
||||
"rebaseWhen": "conflicted",
|
||||
"prConcurrentLimit": 7,
|
||||
"pinDigests": true,
|
||||
"timezone":"Europe/Amsterdam",
|
||||
"gitAuthor": "TrueCharts-Bot <[email protected]>",
|
||||
"helm-values": {
|
||||
"fileMatch": ["charts/.+/.*values\\.yaml$", "charts/.+/SCALE/.*_values\\.yaml$"]
|
||||
},
|
||||
"helmv3": {
|
||||
"fileMatch": ["charts/.+/Chart\\.yaml$"]
|
||||
},
|
||||
"packageRules": [
|
||||
// Setup datasources for dep updates
|
||||
{
|
||||
"datasources": ["helm"],
|
||||
"matchManagers": ["helmv3"],
|
||||
"commitMessageTopic": "Helm chart {{depName}}"
|
||||
},
|
||||
// global docker datasource settings
|
||||
{
|
||||
"datasources": ["docker"],
|
||||
"matchManagers": ["helm-values"],
|
||||
"enabled": true,
|
||||
"pinDigests": true,
|
||||
"commitMessageTopic": "container image {{depName}}",
|
||||
"commitMessageExtra": "to {{#if isSingleVersion}}v{{{newVersion}}}{{else}}{{{newValue}}}{{/if}}",
|
||||
"matchUpdateTypes": ["major", "minor", "patch", "digest"],
|
||||
},
|
||||
// Setup datasources for github actions
|
||||
{
|
||||
"matchManagers": ["github-actions"],
|
||||
"automerge": true,
|
||||
},
|
||||
//
|
||||
// helm deps
|
||||
//
|
||||
{
|
||||
"matchDatasources": ["helm"],
|
||||
"updateTypes": ["major"],
|
||||
"automerge": false,
|
||||
"bumpVersion": "major",
|
||||
"labels": ["update/helm/dependency/major"],
|
||||
"groupName": ["helm dependency major"],
|
||||
"paths": ["charts/dependency/"],
|
||||
},
|
||||
{
|
||||
"matchDatasources": ["helm"],
|
||||
"automerge": true,
|
||||
"matchUpdateTypes": [
|
||||
"minor",
|
||||
"patch"
|
||||
],
|
||||
"bumpVersion": "patch",
|
||||
"labels": ["update/helm/dependency/non-major"],
|
||||
"paths": ["charts/dependency/"],
|
||||
"groupName": "helm dependency non-major",
|
||||
},
|
||||
//
|
||||
// helm charts
|
||||
//
|
||||
{
|
||||
"matchDatasources": ["helm"],
|
||||
"updateTypes": ["major"],
|
||||
"bumpVersion": "major",
|
||||
"labels": ["update/helm/general/major"],
|
||||
"groupName": ["helm general major"],
|
||||
"paths": ["charts/incubator/", "charts/SCALE/", "charts/dev/", "charts/enterprise/", "charts/stable/", "templates/app/"],
|
||||
"schedule": [
|
||||
"before 10pm on tuesday"
|
||||
],
|
||||
},
|
||||
{
|
||||
"matchDatasources": ["helm"],
|
||||
"automerge": true,
|
||||
"matchUpdateTypes": [
|
||||
"minor",
|
||||
"patch"
|
||||
],
|
||||
"bumpVersion": "patch",
|
||||
"labels": ["update/helm/general/non-major"],
|
||||
"groupName": "helm general non-major",
|
||||
"paths": ["charts/incubator/", "charts/SCALE/", "charts/dev/", "charts/enterprise/", "charts/stable/", "templates/app/"],
|
||||
"schedule": [
|
||||
"before 10pm on tuesday"
|
||||
],
|
||||
},
|
||||
//
|
||||
// Tag updates for semantic tags on enterprise Apps
|
||||
//
|
||||
{
|
||||
"matchDatasources": ["docker"],
|
||||
"updateTypes": ["major"],
|
||||
"bumpVersion": "major",
|
||||
"labels": ["update/docker/enterprise/major"],
|
||||
"paths": ["charts/enterprise/"],
|
||||
"schedule": [
|
||||
"before 8am"
|
||||
],
|
||||
},
|
||||
{
|
||||
"matchDatasources": ["docker"],
|
||||
"automerge": true,
|
||||
"matchUpdateTypes": [
|
||||
"minor",
|
||||
],
|
||||
"bumpVersion": "patch",
|
||||
"labels": ["update/docker/enterprise/minor"],
|
||||
"groupName": ["docker enterprise minor"],
|
||||
"paths": ["charts/enterprise/"],
|
||||
"schedule": [
|
||||
"before 8am"
|
||||
],
|
||||
},
|
||||
{
|
||||
"matchDatasources": ["docker"],
|
||||
"automerge": true,
|
||||
"matchUpdateTypes": [
|
||||
"patch",
|
||||
"digest",
|
||||
"pin",
|
||||
],
|
||||
"bumpVersion": "patch",
|
||||
"labels": ["update/docker/enterprise/patch"],
|
||||
"groupName": ["docker enterprise patch"],
|
||||
"paths": ["charts/enterprise/"],
|
||||
"schedule": [
|
||||
"before 8am"
|
||||
],
|
||||
},
|
||||
//
|
||||
// Tag updates for semantic tags on all but enterprise Apps
|
||||
//
|
||||
{
|
||||
"matchDatasources": ["docker"],
|
||||
"updateTypes": ["major"],
|
||||
"bumpVersion": "minor",
|
||||
"labels": ["update/docker/general/major"],
|
||||
"paths": ["charts/dependency/", "charts/SCALE/", "charts/incubator/", "charts/dev/", "charts/stable/", "templates/app/"],
|
||||
"schedule": [
|
||||
"before 8am"
|
||||
],
|
||||
},
|
||||
{
|
||||
"matchDatasources": ["docker"],
|
||||
"automerge": true,
|
||||
"matchUpdateTypes": [
|
||||
"minor",
|
||||
"patch",
|
||||
"digest",
|
||||
"pin",
|
||||
],
|
||||
"bumpVersion": "patch",
|
||||
"labels": ["update/docker/general/non-major"],
|
||||
"groupName": ["docker general non-major"],
|
||||
"paths": ["charts/dependency/", "charts/SCALE/", "charts/incubator/", "charts/dev/", "charts/library/", "charts/stable/", "templates/app/"],
|
||||
"schedule": [
|
||||
"before 8am"
|
||||
],
|
||||
},
|
||||
//
|
||||
// Tag semantic version type based on regex
|
||||
//
|
||||
{
|
||||
"matchDatasources": ["docker"],
|
||||
"versioning": "regex:^v(?<major>\\d{2})(?<minor>\\d{2})(?<patch>\\d{2})$",
|
||||
"matchPackageNames": ["tccr.io/truecharts/photoprism"],
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,266 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
include_questions(){
|
||||
local chart="$1"
|
||||
local chartname="$2"
|
||||
local train="$3"
|
||||
local chartversion="$4"
|
||||
local target="catalog/${train}/${chartname}/${chartversion}"
|
||||
echo "Including standardised questions.yaml includes for: ${chartname}"
|
||||
|
||||
# Replace # Include{global} with the standard global codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{global}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/global.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{groups} with the standard groups codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{groups}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/groups.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{fixedEnv} with the standard fixedEnv codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{fixedEnv}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/fixedEnv.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{controllerExpert} with the standard controllerExpert codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{controllerExpert}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/controllerExpert.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{controllerExpertCommand} with the standard controllerExpertCommand codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{controllerExpertCommand}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/controllerExpertCommand.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{containerConfig} with the standard containerConfig codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{containerConfig}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/containerConfig.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{serviceSelector} with the standard serviceSelector codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{serviceSelector}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/serviceSelector.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{serviceExpert} with the standard serviceExpert codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{serviceExpert}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/serviceExpert.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{serviceList} with the standard serviceList codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{serviceList}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/serviceList.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{persistenceBasic} with the standard persistenceBasic codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{persistenceBasic}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/persistenceBasic.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{persistenceAdvanced} with the standard persistenceAdvanced codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{persistenceAdvanced}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/persistenceAdvanced.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{persistenceList} with the standard persistenceList codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{persistenceList}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/persistenceList.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{security} with the standard security codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{security}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/security.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{securityContextAdvanced} with the standard securityContextAdvanced codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{securityContextAdvanced}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/securityContextAdvanced.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{podSecurityContextAdvanced} with the standard podSecurityContextAdvanced codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{podSecurityContextAdvanced}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/podSecurityContextAdvanced.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{ingressDefault} with the standard ingressDefault codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{ingressDefault}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/ingressDefault.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{ingressTLS} with the standard ingressTLS codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{ingressTLS}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/ingressTLS.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{ingressTraefik} with the standard ingressTraefik codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{ingressTraefik}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/ingressTraefik.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{ingressExpert} with the standard ingressExpert codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{ingressExpert}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/ingressExpert.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{ingressList} with the standard ingressList codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{ingressList}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/ingressList.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{addons} with the standard addons codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{addons}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/addons.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{metrics} with the standard metrics codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{metrics}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/metrics.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{metrics3m} with the standard metrics3m codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{metrics3m}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/metrics3m.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{metrics60m} with the standard metrics60m codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{metrics60m}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/metrics60m.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{prometheusRule} with the standard prometheusRule codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{prometheusRule}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/prometheusRule.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{advanced} with the standard advanced codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{advanced}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/advanced.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
# Replace # Include{resources} with the standard resources codesnippet
|
||||
awk 'NR==FNR { a[n++]=$0; next }
|
||||
/# Include{resources}/ { for (i=0;i<n;++i) print a[i]; next }
|
||||
1' templates/questions/resources.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
|
||||
|
||||
}
|
||||
export -f include_questions
|
||||
|
||||
clean_catalog() {
|
||||
local chart="$1"
|
||||
local chartname="$2"
|
||||
local train="$3"
|
||||
local chartversion="$4"
|
||||
cd catalog/${train}/${chartname}
|
||||
local majorversions=$( (find . -mindepth 1 -maxdepth 1 -type d \( ! -iname ".*" \) | sed 's|^\./||g') | sort -Vr | cut -c1 | uniq)
|
||||
echo "Removing old versions for: ${chartname}"
|
||||
for majorversion in ${majorversions}; do
|
||||
local maxofmajor=$( (find . -mindepth 1 -maxdepth 1 -type d \( -iname "${majorversion}.*" \) | sed 's|^\./||g') | sort -Vr | head -n1 )
|
||||
local rmversions=$( (find . -mindepth 1 -maxdepth 1 -type d \( -iname "${majorversion}.*" \) \( ! -iname "${maxofmajor}" \) | sed 's|^\./||g') | sort -Vr )
|
||||
rm -Rf ${rmversions}
|
||||
done
|
||||
cd -
|
||||
}
|
||||
export -f clean_catalog
|
||||
|
||||
prep_helm() {
|
||||
if [[ -z "$standalone" ]]; then
|
||||
helm repo add truecharts-old https://truecharts.org
|
||||
helm repo add truecharts https://charts.truecharts.org
|
||||
helm repo add truecharts-library https://library-charts.truecharts.org
|
||||
helm repo add bitnami https://charts.bitnami.com/bitnami
|
||||
helm repo add metallb https://metallb.github.io/metallb
|
||||
helm repo add grafana https://grafana.github.io/helm-charts
|
||||
helm repo add prometheus https://prometheus-community.github.io/helm-charts
|
||||
helm repo add amd-gpu-helm https://radeonopencompute.github.io/k8s-device-plugin/
|
||||
helm repo update
|
||||
fi
|
||||
}
|
||||
export -f prep_helm
|
||||
|
||||
clean_apps() {
|
||||
local chart="$1"
|
||||
local chartname="$2"
|
||||
local train="$3"
|
||||
local chartversion="$4"
|
||||
echo "Cleaning SCALE catalog for App: ${chartname}"
|
||||
rm -Rf catalog/${train}/${chartname}/${chartversion} 2>/dev/null || :
|
||||
rm -Rf catalog/${train}/${chartname}/item.yaml 2>/dev/null || :
|
||||
}
|
||||
export -f clean_apps
|
||||
|
||||
patch_apps() {
|
||||
local chart="$1"
|
||||
local chartname="$2"
|
||||
local train="$3"
|
||||
local chartversion="$4"
|
||||
local target="catalog/${train}/${chartname}/${chartversion}"
|
||||
echo "Applying SCALE patches for App: ${chartname}"
|
||||
sed -i '100,$ d' ${target}/CHANGELOG.md || :
|
||||
mv ${target}/app-changelog.md ${target}/CHANGELOG.md 2>/dev/null || :
|
||||
# Temporary fix to prevent the UI from bugging out on 21.08
|
||||
mv ${target}/values.yaml ${target}/ix_values.yaml 2>/dev/null || :
|
||||
touch ${target}/values.yaml
|
||||
# mv ${target}/SCALE/ix_values.yaml ${target}/ 2>/dev/null || :
|
||||
cp -rf ${target}/SCALE/templates/* ${target}/templates 2>/dev/null || :
|
||||
cp -rf ${target}/SCALE/migrations/* ${target}/migrations 2>/dev/null || :
|
||||
rm -rf ${target}/SCALE 2>/dev/null || :
|
||||
touch ${target}/values.yaml
|
||||
# Remove documentation that is not required for the App to install
|
||||
rm -rf ${target}/security.md
|
||||
rm -rf ${target}/helm-values.md
|
||||
rm -rf ${target}/CONFIG.md
|
||||
rm -rf ${target}/docs
|
||||
rm -rf ${target}/icon.png
|
||||
# Generate item.yaml
|
||||
cat ${target}/Chart.yaml | grep "icon" >> catalog/${train}/${chartname}/item.yaml
|
||||
sed -i "s|^icon:|icon_url:|g" catalog/${train}/${chartname}/item.yaml
|
||||
echo "categories:" >> catalog/${train}/${chartname}/item.yaml
|
||||
cat ${target}/Chart.yaml | yq '.annotations."truecharts.org/catagories"' -r >> catalog/${train}/${chartname}/item.yaml
|
||||
# Generate SCALE App description file
|
||||
cat ${target}/Chart.yaml | yq .description -r >> ${target}/app-readme.md
|
||||
echo "" >> ${target}/app-readme.md
|
||||
echo "This App is supplied by TrueCharts, for more information visit the manual: https://truecharts.org/charts/${train}/${chartname}" >> ${target}/app-readme.md
|
||||
echo "" >> ${target}/app-readme.md
|
||||
echo "---" >> ${target}/app-readme.md
|
||||
echo "" >> ${target}/app-readme.md
|
||||
echo "TrueCharts can only exist due to the incredible effort of our staff." >> ${target}/app-readme.md
|
||||
echo "Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!" >> ${target}/app-readme.md
|
||||
}
|
||||
export -f patch_apps
|
||||
|
||||
copy_apps() {
|
||||
local chart="$1"
|
||||
local chartname="$2"
|
||||
local train="$3"
|
||||
local chartversion="$4"
|
||||
echo "Copying App to Catalog: ${2}"
|
||||
mkdir -p catalog/${train}/${chartname}/${chartversion}
|
||||
cp -Rf ${chart}/* catalog/${train}/${chartname}/${chartversion}/
|
||||
|
||||
}
|
||||
export -f copy_apps
|
||||
|
||||
if [[ -d "charts/${1}" ]]; then
|
||||
echo "Start processing charts/${1} ..."
|
||||
chartversion=$(cat charts/${1}/Chart.yaml | grep "^version: " | awk -F" " '{ print $2 }')
|
||||
chartname=$(basename charts/${1})
|
||||
train=$(basename $(dirname "charts/${1}"))
|
||||
SCALESUPPORT=$(cat charts/${1}/Chart.yaml | yq '.annotations."truecharts.org/SCALE-support"' -r)
|
||||
helm dependency update "charts/${1}" --skip-refresh || (sleep 10 && helm dependency update "charts/${1}" --skip-refresh) || (sleep 10 && helm dependency update "charts/${1}" --skip-refresh)
|
||||
if [[ "${SCALESUPPORT}" == "true" ]]; then
|
||||
clean_apps "charts/${1}" "${chartname}" "$train" "${chartversion}"
|
||||
copy_apps "charts/${1}" "${chartname}" "$train" "${chartversion}"
|
||||
patch_apps "charts/${1}" "${chartname}" "$train" "${chartversion}"
|
||||
include_questions "charts/${1}" "${chartname}" "$train" "${chartversion}"
|
||||
clean_catalog "charts/${1}" "${chartname}" "$train" "${chartversion}"
|
||||
else
|
||||
echo "Skipping chart charts/${1}, no correct SCALE compatibility layer detected"
|
||||
fi
|
||||
else
|
||||
echo "Chart 'charts/${1}' no longer exists in repo. Skipping it..."
|
||||
fi
|
||||
echo "Done processing charts/${1} ..."
|
||||
@@ -1,49 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
# Check if release notes have been changed
|
||||
# Usage ./check-releasenotes.sh path
|
||||
|
||||
# require yq
|
||||
command -v yq >/dev/null 2>&1 || {
|
||||
printf >&2 "%s\n" "yq (https://github.com/mikefarah/yq) is not installed. Aborting."
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Absolute path of repository
|
||||
repository=$(git rev-parse --show-toplevel)
|
||||
|
||||
# Allow for a specific chart to be passed in as a argument
|
||||
if [ $# -ge 1 ] && [ -n "$1" ]; then
|
||||
root="$1"
|
||||
chart_file="${1}/Chart.yaml"
|
||||
if [ ! -f "$chart_file" ]; then
|
||||
printf >&2 "File %s\n does not exist.\n" "${chart_file}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd $root
|
||||
|
||||
if [ -z "$DEFAULT_BRANCH" ]; then
|
||||
DEFAULT_BRANCH=$(git remote show origin | awk '/HEAD branch/ {print $NF}')
|
||||
fi
|
||||
|
||||
CURRENT=$(cat Chart.yaml | yq e '.annotations."artifacthub.io/changes"' -P -)
|
||||
|
||||
if [ "$CURRENT" == "" ] || [ "$CURRENT" == "null" ]; then
|
||||
printf >&2 "Changelog annotation has not been set in %s!\n" "$chart_file"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
DEFAULT_BRANCH=$(git remote show origin | awk '/HEAD branch/ {print $NF}')
|
||||
ORIGINAL=$(git show origin/$DEFAULT_BRANCH:./Chart.yaml | yq e '.annotations."artifacthub.io/changes"' -P -)
|
||||
|
||||
if [ "$CURRENT" == "$ORIGINAL" ]; then
|
||||
printf >&2 "Changelog annotation has not been updated in %s!\n" "$chart_file"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
printf >&2 "%s\n" "No chart folder has been specified."
|
||||
exit 1
|
||||
fi
|
||||
@@ -1,95 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
# Designed to ensure the appversion in Chart.yaml is in sync with the primary App tag if found
|
||||
sync_tag() {
|
||||
local chart="$1"
|
||||
local chartname="$2"
|
||||
local train="$3"
|
||||
local chartversion="$4"
|
||||
echo "Attempting to sync primary tag with appversion for: ${chartname}"
|
||||
local tag="$(cat ${chart}/values.yaml | grep '^ tag: ' | awk -F" " '{ print $2 }' | head -1)"
|
||||
tag="${tag%%@*}"
|
||||
tag="${tag:-auto}"
|
||||
tag=$(echo $tag | sed "s/release-//g")
|
||||
tag=$(echo $tag | sed "s/release_//g")
|
||||
tag=$(echo $tag | sed "s/version-//g")
|
||||
tag=$(echo $tag | sed "s/version_//g")
|
||||
tag="${tag#*V.}"
|
||||
tag="${tag#*v-}"
|
||||
tag="${tag#*v}"
|
||||
tag="${tag%-*}"
|
||||
tag="${tag:0:10}"
|
||||
tag="${tag%-}"
|
||||
tag="${tag%_}"
|
||||
tag="${tag%.}"
|
||||
sed -i -e "s|appVersion: .*|appVersion: \"${tag}\"|" "${chart}/Chart.yaml"
|
||||
}
|
||||
export -f sync_tag
|
||||
|
||||
sync_helmignore() {
|
||||
local chart="$1"
|
||||
local chartname="$2"
|
||||
local train="$3"
|
||||
local chartversion="$4"
|
||||
echo "Attempting to sync HelmIgnore file for: ${chartname}"
|
||||
rm -rf ${chart}/.helmignore
|
||||
cp templates/chart/.helmignore ${chart}/
|
||||
}
|
||||
export -f sync_helmignore
|
||||
|
||||
create_changelog() {
|
||||
local chart="$1"
|
||||
local chartname="$2"
|
||||
local train="$3"
|
||||
local chartversion="$4"
|
||||
local prevversion="$(git tag -l "${chartname}-*" --sort=-v:refname | head -n 1)"
|
||||
echo "Generating changelogs for: ${chartname}"
|
||||
# SCALE "Changelog" containing only last change
|
||||
git-chglog --next-tag ${chartname}-${chartversion} --tag-filter-pattern ${chartname} --path ${chart} -o ${chart}/app-changelog.md ${chartname}-${chartversion}
|
||||
# Append SCALE changelog to actual changelog
|
||||
|
||||
if [[ -f "${chart}/CHANGELOG.md" ]]; then
|
||||
true
|
||||
else
|
||||
touch ${chart}/CHANGELOG.md
|
||||
fi
|
||||
sed -i '1d' ${chart}/CHANGELOG.md
|
||||
cat ${chart}/app-changelog.md | cat - ${chart}/CHANGELOG.md > temp && mv temp ${chart}/CHANGELOG.md
|
||||
sed -i '1s/^/# Changelog\n\n/' ${chart}/CHANGELOG.md
|
||||
rm ${chart}/app-changelog.md || echo "changelog not found..."
|
||||
}
|
||||
export -f create_changelog
|
||||
|
||||
generate_docs() {
|
||||
local chart="$1"
|
||||
local chartname="$2"
|
||||
local train="$3"
|
||||
local chartversion="$4"
|
||||
echo "Generating Docs"
|
||||
helm-docs \
|
||||
--ignore-file=".helmdocsignore" \
|
||||
--output-file="README.md" \
|
||||
--template-files="/__w/charts/charts/templates/docs/README.md.gotmpl" \
|
||||
--chart-search-root="${chart}"
|
||||
}
|
||||
export -f generate_docs
|
||||
|
||||
|
||||
if [[ -d "charts/${1}" ]]; then
|
||||
echo "Start processing charts/${1} ..."
|
||||
chartversion=$(cat charts/${1}/Chart.yaml | grep "^version: " | awk -F" " '{ print $2 }')
|
||||
chartname=$(basename charts/${1})
|
||||
train=$(basename $(dirname "charts/${1}"))
|
||||
SCALESUPPORT=$(cat charts/${1}/Chart.yaml | yq '.annotations."truecharts.org/SCALE-support"' -r)
|
||||
sync_helmignore "charts/${1}" "${chartname}" "$train" "${chartversion}" || echo "Syncing HelmIgnore file failed..."
|
||||
helm dependency update "charts/${1}" --skip-refresh || (sleep 10 && helm dependency update "charts/${1}" --skip-refresh) || (sleep 10 && helm dependency update "charts/${1}" --skip-refresh)
|
||||
sync_tag "charts/${1}" "${chartname}" "$train" "${chartversion}" || echo "Tag sync failed..."
|
||||
create_changelog "charts/${1}" "${chartname}" "$train" "${chartversion}" || echo "changelog generation failed..."
|
||||
generate_docs "charts/${1}" "${chartname}" "$train" "${chartversion}" || echo "Docs generation failed..."
|
||||
else
|
||||
echo "Chart 'charts/${1}' no longer exists in repo. Skipping it..."
|
||||
fi
|
||||
echo "Done processing charts/${1} ..."
|
||||
@@ -1,52 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
# Check if release notes have been changed
|
||||
# Usage ./check-releasenotes.sh path
|
||||
|
||||
# require yq
|
||||
command -v yq >/dev/null 2>&1 || {
|
||||
printf >&2 "%s\n" "yq (https://github.com/mikefarah/yq) is not installed. Aborting."
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Allow for a specific chart to be passed in as a argument
|
||||
if [ $# -ge 1 ] && [ -n "$1" ]; then
|
||||
root="$1"
|
||||
chart_file="${1}/Chart.yaml"
|
||||
if [ ! -f "$chart_file" ]; then
|
||||
printf >&2 "File %s does not exist.\n" "${chart_file}"
|
||||
exit 1
|
||||
fi
|
||||
cd "${root}"
|
||||
|
||||
if [ -z "$DEFAULT_BRANCH" ]; then
|
||||
DEFAULT_BRANCH=$(git remote show origin | awk '/HEAD branch/ {print $NF}')
|
||||
fi
|
||||
|
||||
printf "Updating changelog annotation for chart %s\n" "$root"
|
||||
|
||||
# Loop over all dependencies in current chart version
|
||||
NEW_DEPENDENCIES=()
|
||||
while IFS='' read -r line; do NEW_DEPENDENCIES+=("$line"); done < <(yq e '.dependencies[].name' -P Chart.yaml | LC_ALL=C sort)
|
||||
OLD_DEPENDENCIES=$(git show "origin/$DEFAULT_BRANCH:./Chart.yaml" | yq e '.dependencies[].name' -P - | LC_ALL=C sort)
|
||||
|
||||
tmpfile=$(mktemp)
|
||||
trap 'rm -f "$tmpfile"' EXIT
|
||||
|
||||
for DEP_NAME in "${NEW_DEPENDENCIES[@]}"
|
||||
do
|
||||
NEW_VERSION=$(yq e ".dependencies[] | select(.name == \"$DEP_NAME\") | .version" -P Chart.yaml)
|
||||
OLD_VERSION=$(git show "origin/$DEFAULT_BRANCH:./Chart.yaml" | yq e ".dependencies[] | select(.name == \"$DEP_NAME\") | .version" -P -)
|
||||
if [ "${NEW_VERSION}" != "${OLD_VERSION}" ]; then
|
||||
printf "%s\n" "- kind: changed" >> "${tmpfile}"
|
||||
printf " description: Upgraded \`%s\` chart dependency to version \`%s\`.\n" "${DEP_NAME}" "${NEW_VERSION}" >> "${tmpfile}"
|
||||
fi
|
||||
done
|
||||
|
||||
yq eval-all --inplace 'select(fileIndex == 0).annotations."artifacthub.io/changes" = (select(fileIndex == 1) | to_yaml) | select(fileIndex==0)' Chart.yaml "${tmpfile}"
|
||||
else
|
||||
printf >&2 "%s\n" "No chart folder has been specified."
|
||||
exit 1
|
||||
fi
|
||||
@@ -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
|
||||
@@ -1,41 +0,0 @@
|
||||
name: "SCALE: catalog-tests"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
checkoutCommit:
|
||||
required: true
|
||||
type: string
|
||||
chartChangesDetected:
|
||||
required: true
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
catalog-tests:
|
||||
name: Test SCALE Catalog
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/truecharts/devcontainer:v2.4.0@sha256:395ee7ed8b9cba6569ddeba77b7ceb86fdb79b91a19c639625d7bc54cb1ccc1d
|
||||
steps:
|
||||
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
name: Checkout
|
||||
with:
|
||||
fetch-depth: 100
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
repository: truecharts/catalog
|
||||
path: catalog
|
||||
|
||||
- name: build-and-run
|
||||
run: |
|
||||
tools/build-release.sh
|
||||
|
||||
- uses: vishnudxb/cancel-workflow@c3c77eb4383ba7d023e6614a07d94fe990501ac6 # tag=v1.2
|
||||
if: failure()
|
||||
with:
|
||||
repo: truecharts/apps
|
||||
workflow_id: ${{ github.run_id }}
|
||||
access_token: ${{ github.token }}
|
||||
@@ -1,89 +0,0 @@
|
||||
name: "Charts: Update README"
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
modifiedCharts:
|
||||
required: true
|
||||
type: string
|
||||
isRenovatePR:
|
||||
required: true
|
||||
type: string
|
||||
outputs:
|
||||
commitHash:
|
||||
description: "The most recent commit hash at the end of this workflow"
|
||||
value: ${{ jobs.generate-changelog.outputs.commitHash }}
|
||||
|
||||
jobs:
|
||||
validate-changelog:
|
||||
name: Validate changelog
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Check changelog annotations
|
||||
if: inputs.isRenovatePR != 'true'
|
||||
run: |
|
||||
CHARTS=(${{ inputs.modifiedCharts }})
|
||||
for i in "${CHARTS[@]}"
|
||||
do
|
||||
IFS='/' read -r -a chart_parts <<< "$i"
|
||||
./.github/scripts/check-releasenotes.sh "charts/${chart_parts[0]}/${chart_parts[1]}"
|
||||
echo ""
|
||||
done
|
||||
|
||||
generate-changelog:
|
||||
name: Generate changelog annotations
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- validate-changelog
|
||||
outputs:
|
||||
commitHash: ${{ steps.save-commit-hash.outputs.commit_hash }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install Kubernetes tools
|
||||
if: inputs.isRenovatePR == 'true'
|
||||
uses: yokawasa/action-setup-kube-tools@f7f73d7965074b0f5491b7210ff51e3254d42058 # tag=v0.8.2
|
||||
with:
|
||||
setup-tools: |
|
||||
yq
|
||||
yq: "4.20.1"
|
||||
|
||||
- name: Annotate Charts.yaml for Renovate PR's
|
||||
if: inputs.isRenovatePR == 'true'
|
||||
env:
|
||||
DEFAULT_BRANCH: "${{ github.event.repository.default_branch }}"
|
||||
run: |
|
||||
CHARTS=(${{ inputs.modifiedCharts }})
|
||||
for i in "${CHARTS[@]}"
|
||||
do
|
||||
IFS='/' read -r -a chart_parts <<< "$i"
|
||||
./.github/scripts/renovate-releasenotes.sh "charts/${chart_parts[0]}/${chart_parts[1]}"
|
||||
echo ""
|
||||
done
|
||||
|
||||
- name: Create commit
|
||||
id: create-commit
|
||||
if: inputs.isRenovatePR == 'true'
|
||||
uses: stefanzweifel/git-auto-commit-action@49620cd3ed21ee620a48530e81dba0d139c9cb80 # tag=v4
|
||||
with:
|
||||
file_pattern: charts/**/
|
||||
commit_message: "chore: Auto-update chart metadata [skip ci]"
|
||||
commit_user_name: ${{ github.actor }}
|
||||
commit_user_email: ${{ github.actor }}@users.noreply.github.com
|
||||
|
||||
- name: Save commit hash
|
||||
id: save-commit-hash
|
||||
run: |
|
||||
if [ "${{ steps.create-commit.outputs.changes_detected || 'unknown' }}" == "true" ]; then
|
||||
echo '::set-output name=commit_hash::${{ steps.create-commit.outputs.commit_hash }}'
|
||||
else
|
||||
echo "::set-output name=commit_hash::${GITHUB_SHA}"
|
||||
fi
|
||||
@@ -1,326 +0,0 @@
|
||||
name: "Charts: Lint"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
checkoutCommit:
|
||||
required: true
|
||||
type: string
|
||||
chartChangesDetected:
|
||||
required: true
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
generate-lint-matrix:
|
||||
name: Generate matrix for lint
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
matrix1: |
|
||||
{
|
||||
"chart": ${{ steps.list-changed.outputs.charts1 }}
|
||||
}
|
||||
matrix2: |
|
||||
{
|
||||
"chart": ${{ steps.list-changed.outputs.charts2 }}
|
||||
}
|
||||
matrix3: |
|
||||
{
|
||||
"chart": ${{ steps.list-changed.outputs.charts3 }}
|
||||
}
|
||||
matrix4: |
|
||||
{
|
||||
"chart": ${{ steps.list-changed.outputs.charts4 }}
|
||||
}
|
||||
matrix5: |
|
||||
{
|
||||
"chart": ${{ steps.list-changed.outputs.charts5 }}
|
||||
}
|
||||
matrix6: |
|
||||
{
|
||||
"chart": ${{ steps.list-changed.outputs.charts6 }}
|
||||
}
|
||||
detected1: ${{ steps.list-changed.outputs.detected1 }}
|
||||
detected2: ${{ steps.list-changed.outputs.detected2 }}
|
||||
detected3: ${{ steps.list-changed.outputs.detected3 }}
|
||||
detected4: ${{ steps.list-changed.outputs.detected4 }}
|
||||
detected5: ${{ steps.list-changed.outputs.detected5 }}
|
||||
detected6: ${{ steps.list-changed.outputs.detected6 }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@dae259e86a35ff09145c0805e2d7dd3f7207064a # tag=v2.2.1
|
||||
|
||||
- name: Collect changes
|
||||
id: list-changed
|
||||
if: inputs.chartChangesDetected == 'true'
|
||||
shell: bash
|
||||
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')
|
||||
OUTPUT_JSON1=$((echo $OUTPUT_JSON | jq -r -c '.[:50]'; echo $OUTPUT_JSON | jq -r -c '.[301:350]'; echo $OUTPUT_JSON | jq -r -c '.[601:650]'; echo $OUTPUT_JSON | jq -r -c '.[901:950]'; echo $OUTPUT_JSON | jq -r -c '.[1201:1250]') | jq -s add)
|
||||
OUTPUT_JSON2=$((echo $OUTPUT_JSON | jq -r -c '.[51:100]'; echo $OUTPUT_JSON | jq -r -c '.[351:400]'; echo $OUTPUT_JSON | jq -r -c '.[651:700]'; echo $OUTPUT_JSON | jq -r -c '.[951:1000]'; echo $OUTPUT_JSON | jq -r -c '.[1251:1300]') | jq -s add)
|
||||
OUTPUT_JSON3=$((echo $OUTPUT_JSON | jq -r -c '.[101:150]'; echo $OUTPUT_JSON | jq -r -c '.[401:450]'; echo $OUTPUT_JSON | jq -r -c '.[701:750]'; echo $OUTPUT_JSON | jq -r -c '.[1001:1050]'; echo $OUTPUT_JSON | jq -r -c '.[1301:1350]') | jq -s add)
|
||||
OUTPUT_JSON4=$((echo $OUTPUT_JSON | jq -r -c '.[151:200]'; echo $OUTPUT_JSON | jq -r -c '.[451:500]'; echo $OUTPUT_JSON | jq -r -c '.[751:800]'; echo $OUTPUT_JSON | jq -r -c '.[1051:1100]'; echo $OUTPUT_JSON | jq -r -c '.[1351:1400]') | jq -s add)
|
||||
OUTPUT_JSON5=$((echo $OUTPUT_JSON | jq -r -c '.[201:250]'; echo $OUTPUT_JSON | jq -r -c '.[501:550]'; echo $OUTPUT_JSON | jq -r -c '.[801:850]'; echo $OUTPUT_JSON | jq -r -c '.[1101:1150]'; echo $OUTPUT_JSON | jq -r -c '.[1401:1450]') | jq -s add)
|
||||
OUTPUT_JSON6=$((echo $OUTPUT_JSON | jq -r -c '.[251:300]'; echo $OUTPUT_JSON | jq -r -c '.[551:600]'; echo $OUTPUT_JSON | jq -r -c '.[851:900]'; echo $OUTPUT_JSON | jq -r -c '.[1151:1200]'; echo $OUTPUT_JSON | jq -r -c '.[1451:1500]') | jq -s add)
|
||||
echo ::set-output name=charts1::${OUTPUT_JSON1}
|
||||
echo ::set-output name=charts2::${OUTPUT_JSON2}
|
||||
echo ::set-output name=charts3::${OUTPUT_JSON3}
|
||||
echo ::set-output name=charts4::${OUTPUT_JSON4}
|
||||
echo ::set-output name=charts5::${OUTPUT_JSON5}
|
||||
echo ::set-output name=charts6::${OUTPUT_JSON6}
|
||||
if [[ $(echo ${OUTPUT_JSON1} | jq -c '. | length') -gt 0 ]]; then
|
||||
echo "::set-output name=detected1::true"
|
||||
fi
|
||||
if [[ $(echo ${OUTPUT_JSON2} | jq -c '. | length') -gt 0 ]]; then
|
||||
echo "::set-output name=detected2::true"
|
||||
fi
|
||||
if [[ $(echo ${OUTPUT_JSON3} | jq -c '. | length') -gt 0 ]]; then
|
||||
echo "::set-output name=detected3::true"
|
||||
fi
|
||||
if [[ $(echo ${OUTPUT_JSON4} | jq -c '. | length') -gt 0 ]]; then
|
||||
echo "::set-output name=detected4::true"
|
||||
fi
|
||||
if [[ $(echo ${OUTPUT_JSON5} | jq -c '. | length') -gt 0 ]]; then
|
||||
echo "::set-output name=detected5::true"
|
||||
fi
|
||||
if [[ $(echo ${OUTPUT_JSON6} | jq -c '. | length') -gt 0 ]]; then
|
||||
echo "::set-output name=detected6::true"
|
||||
fi
|
||||
|
||||
lint-charts1:
|
||||
needs:
|
||||
- generate-lint-matrix
|
||||
if: needs.generate-lint-matrix.outputs.detected1 == 'true'
|
||||
name: Lint charts Part 1
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.generate-lint-matrix.outputs.matrix1) }}
|
||||
fail-fast: false
|
||||
max-parallel: 5
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: lint Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@f7f73d7965074b0f5491b7210ff51e3254d42058 # tag=v0.8.2
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@c4e89fac7e8767b327bbad6cb4d859eda999cf08 # tag=v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@dae259e86a35ff09145c0805e2d7dd3f7207064a # tag=v2.2.1
|
||||
|
||||
- name: Run chart-testing (lint)
|
||||
run: ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}" || ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}"
|
||||
|
||||
lint-charts2:
|
||||
needs:
|
||||
- generate-lint-matrix
|
||||
if: needs.generate-lint-matrix.outputs.detected2 == 'true'
|
||||
name: Lint charts Part 2
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.generate-lint-matrix.outputs.matrix2) }}
|
||||
fail-fast: false
|
||||
max-parallel: 5
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: lint Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@f7f73d7965074b0f5491b7210ff51e3254d42058 # tag=v0.8.2
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@c4e89fac7e8767b327bbad6cb4d859eda999cf08 # tag=v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@dae259e86a35ff09145c0805e2d7dd3f7207064a # tag=v2.2.1
|
||||
|
||||
- name: Run chart-testing (lint)
|
||||
run: ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}" || ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}"
|
||||
|
||||
lint-charts3:
|
||||
needs:
|
||||
- generate-lint-matrix
|
||||
if: needs.generate-lint-matrix.outputs.detected3 == 'true'
|
||||
name: Lint charts Part 3
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.generate-lint-matrix.outputs.matrix3) }}
|
||||
fail-fast: false
|
||||
max-parallel: 5
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: lint Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@f7f73d7965074b0f5491b7210ff51e3254d42058 # tag=v0.8.2
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@c4e89fac7e8767b327bbad6cb4d859eda999cf08 # tag=v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@dae259e86a35ff09145c0805e2d7dd3f7207064a # tag=v2.2.1
|
||||
|
||||
- name: Run chart-testing (lint)
|
||||
run: ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}" || ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}"
|
||||
|
||||
lint-charts4:
|
||||
needs:
|
||||
- generate-lint-matrix
|
||||
if: needs.generate-lint-matrix.outputs.detected4 == 'true'
|
||||
name: Lint charts Part 4
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.generate-lint-matrix.outputs.matrix4) }}
|
||||
fail-fast: false
|
||||
max-parallel: 5
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: lint Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@f7f73d7965074b0f5491b7210ff51e3254d42058 # tag=v0.8.2
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@c4e89fac7e8767b327bbad6cb4d859eda999cf08 # tag=v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@dae259e86a35ff09145c0805e2d7dd3f7207064a # tag=v2.2.1
|
||||
|
||||
- name: Run chart-testing (lint)
|
||||
run: ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}" || ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}"
|
||||
|
||||
lint-charts5:
|
||||
needs:
|
||||
- generate-lint-matrix
|
||||
if: needs.generate-lint-matrix.outputs.detected5 == 'true'
|
||||
name: Lint charts Part 5
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.generate-lint-matrix.outputs.matrix5) }}
|
||||
fail-fast: false
|
||||
max-parallel: 5
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: lint Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@f7f73d7965074b0f5491b7210ff51e3254d42058 # tag=v0.8.2
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@c4e89fac7e8767b327bbad6cb4d859eda999cf08 # tag=v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@dae259e86a35ff09145c0805e2d7dd3f7207064a # tag=v2.2.1
|
||||
|
||||
- name: Run chart-testing (lint)
|
||||
run: ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}" || ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}"
|
||||
|
||||
lint-charts6:
|
||||
needs:
|
||||
- generate-lint-matrix
|
||||
if: needs.generate-lint-matrix.outputs.detected6 == 'true'
|
||||
name: Lint charts Part 6
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.generate-lint-matrix.outputs.matrix6) }}
|
||||
fail-fast: false
|
||||
max-parallel: 5
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: lint Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@f7f73d7965074b0f5491b7210ff51e3254d42058 # tag=v0.8.2
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@c4e89fac7e8767b327bbad6cb4d859eda999cf08 # tag=v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@dae259e86a35ff09145c0805e2d7dd3f7207064a # tag=v2.2.1
|
||||
|
||||
- name: Run chart-testing (lint)
|
||||
run: ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}" || 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:
|
||||
- generate-lint-matrix
|
||||
- lint-charts1
|
||||
- lint-charts2
|
||||
- lint-charts3
|
||||
- lint-charts4
|
||||
- lint-charts5
|
||||
- lint-charts6
|
||||
if: |
|
||||
always()
|
||||
name: Lint successful
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check lint matrix status
|
||||
if: ${{ ( (needs.generate-lint-matrix.outputs.detected1 == 'true') && (needs.lint-charts1.result != 'success') ) && ( (needs.generate-lint-matrix.outputs.detected2 == 'true') && ( (needs.lint-charts2.result != 'success') || ( needs.lint-charts2.result != 'skipped' ) ) ) && ( (needs.generate-lint-matrix.outputs.detected3 == 'true') && ( (needs.lint-charts3.result != 'success') || ( needs.lint-charts3.result != 'skipped' ) ) ) && ( (needs.generate-lint-matrix.outputs.detected4 == 'true') && ( (needs.lint-charts4.result != 'success') || ( needs.lint-charts4.result != 'skipped' ) ) ) && ( (needs.generate-lint-matrix.outputs.detected5 == 'true') && ( (needs.lint-charts5.result != 'success') || ( needs.lint-charts5.result != 'skipped' ) ) ) && ( (needs.generate-lint-matrix.outputs.detected6 == 'true') && ( (needs.lint-charts6.result != 'success') || ( needs.lint-charts6.result != 'skipped' ) ) ) }}
|
||||
run: exit 1
|
||||
|
||||
- uses: vishnudxb/cancel-workflow@c3c77eb4383ba7d023e6614a07d94fe990501ac6 # tag=v1.2
|
||||
if: failure()
|
||||
with:
|
||||
repo: truecharts/apps
|
||||
workflow_id: ${{ github.run_id }}
|
||||
access_token: ${{ github.token }}
|
||||
@@ -1,242 +0,0 @@
|
||||
name: "Charts: Release"
|
||||
|
||||
concurrency: helm-release
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
paths:
|
||||
- "charts/**"
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/truecharts/devcontainer:v2.4.0@sha256:395ee7ed8b9cba6569ddeba77b7ceb86fdb79b91a19c639625d7bc54cb1ccc1d
|
||||
concurrency: gitpush
|
||||
steps:
|
||||
- name: Install Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@f7f73d7965074b0f5491b7210ff51e3254d42058 # tag=v0.8.2
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- name: Install helm-docs
|
||||
run: |
|
||||
wget -O /tmp/helm-docs.deb https://github.com/k8s-at-home/helm-docs/releases/download/v0.1.1/helm-docs_0.1.1_Linux_x86_64.deb
|
||||
sudo dpkg -i /tmp/helm-docs.deb
|
||||
|
||||
- name: Prep Helm
|
||||
run: |
|
||||
helm repo add truecharts https://charts.truecharts.org
|
||||
helm repo add truecharts-library https://library-charts.truecharts.org
|
||||
helm repo add bitnami https://charts.bitnami.com/bitnami
|
||||
helm repo add metallb https://metallb.github.io/metallb
|
||||
helm repo add grafana https://grafana.github.io/helm-charts
|
||||
helm repo add prometheus https://prometheus-community.github.io/helm-charts
|
||||
helm repo update
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Collect changes
|
||||
id: collect-changes
|
||||
uses: ./.github/actions/collect-changes
|
||||
|
||||
- name: Generate README for changed charts
|
||||
shell: bash
|
||||
if: |
|
||||
steps.collect-changes.outputs.changesDetectedAfterTag == 'true'
|
||||
run: |
|
||||
CHARTS=(${{ steps.collect-changes.outputs.modifiedChartsAfterTag }})
|
||||
parthreads=$(($(nproc) * 2))
|
||||
parallel -j ${parthreads} .github/scripts/gen-docs.sh '2>&1' ::: ${CHARTS[@]}
|
||||
|
||||
- name: Fix Pre-Commit issues
|
||||
shell: bash
|
||||
if: |
|
||||
steps.collect-changes.outputs.changesDetectedAfterTag == 'true'
|
||||
run: |
|
||||
echo "Running pre-commit test-and-cleanup..."
|
||||
pre-commit run --all ||:
|
||||
# Fix sh files to always be executable
|
||||
find . -name '*.sh' | xargs chmod +x
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
if: |
|
||||
steps.collect-changes.outputs.changesDetectedAfterTag == 'true'
|
||||
with:
|
||||
fetch-depth: 1
|
||||
repository: truecharts/website
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
path: website
|
||||
|
||||
- name: Copy docs to website
|
||||
if: |
|
||||
steps.collect-changes.outputs.changesDetectedAfterTag == 'true'
|
||||
shell: bash
|
||||
run: |
|
||||
#!/bin/bash
|
||||
CHARTS=(${{ steps.collect-changes.outputs.modifiedChartsAfterTag }})
|
||||
echo "Removing Chart Docs prior to regeneration..."
|
||||
mkdir -p website/static/img/chart-icons || echo "chart-icons path already exists, continuing..."
|
||||
for i in "${CHARTS[@]}"
|
||||
do
|
||||
IFS='/' read -r -a chart_parts <<< "$i"
|
||||
if [ -f "charts/${chart_parts[0]}"/"${chart_parts[1]}/Chart.yaml" ]; then
|
||||
train=${chart_parts[0]}
|
||||
chart=${chart_parts[1]}
|
||||
echo "copying docs to website for ${chart}"
|
||||
rm -rf website/docs/charts/*/${chart}
|
||||
mkdir -p website/docs/charts/${train}/${chart} || echo "chart path already exists, continuing..."
|
||||
yes | cp -rf charts/${train}/${chart}/README.md website/docs/charts/${train}/${chart}/index.md 2>/dev/null || :
|
||||
yes | cp -rf charts/${train}/${chart}/CHANGELOG.md website/docs/charts/${train}/${chart}/CHANGELOG.md 2>/dev/null || :
|
||||
yes | cp -rf charts/${train}/${chart}/docs/* website/docs/charts/${train}/${chart}/ 2>/dev/null || :
|
||||
yes | cp -rf charts/${train}/${chart}/icon.png website/static/img/chart-icons/${chart}.png 2>/dev/null || :
|
||||
fi
|
||||
done
|
||||
|
||||
- name: Create commit
|
||||
id: create-commit
|
||||
if: |
|
||||
steps.collect-changes.outputs.changesDetectedAfterTag == 'true'
|
||||
uses: stefanzweifel/git-auto-commit-action@49620cd3ed21ee620a48530e81dba0d139c9cb80 # tag=v4
|
||||
with:
|
||||
file_pattern: charts/**/
|
||||
commit_message: "chore: Auto-update chart README [skip ci]"
|
||||
commit_user_name: truecharts-bot
|
||||
commit_user_email: [email protected]
|
||||
commit_author: truecharts-bot <[email protected]>
|
||||
|
||||
- name: Save commit hash
|
||||
id: save-commit-hash
|
||||
if: |
|
||||
steps.collect-changes.outputs.changesDetectedAfterTag == 'true'
|
||||
run: |
|
||||
if [ "${{ steps.create-commit.outputs.changes_detected || 'unknown' }}" = "true" ]; then
|
||||
echo '::set-output name=commit_hash::${{ steps.create-commit.outputs.commit_hash }}'
|
||||
else
|
||||
echo "::set-output name=commit_hash::${GITHUB_SHA}"
|
||||
fi
|
||||
|
||||
- name: Commit Website Changes
|
||||
if: |
|
||||
steps.collect-changes.outputs.changesDetected == 'true'
|
||||
run: |
|
||||
cd website
|
||||
git config user.name "TrueCharts-Bot"
|
||||
git config user.email "[email protected]"
|
||||
git add --all
|
||||
git commit -sm "Commit released docs for TrueCharts" || exit 0
|
||||
git push
|
||||
cd -
|
||||
rm -rf website
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
if: |
|
||||
steps.collect-changes.outputs.changesDetectedAfterTag == 'true'
|
||||
with:
|
||||
fetch-depth: 1
|
||||
repository: truecharts/catalog
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
path: catalog
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
if: |
|
||||
steps.collect-changes.outputs.changesDetectedAfterTag == 'true'
|
||||
with:
|
||||
fetch-depth: 1
|
||||
repository: truecharts/dh_catalog
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
path: dh_catalog
|
||||
|
||||
- name: build catalogs
|
||||
shell: bash
|
||||
if: |
|
||||
steps.collect-changes.outputs.changesDetectedAfterTag == 'true'
|
||||
run: |
|
||||
pip install yq
|
||||
CHARTS=(${{ steps.collect-changes.outputs.modifiedChartsAfterTag }})
|
||||
parthreads=$(($(nproc) * 2))
|
||||
parallel -j ${parthreads} .github/scripts/build-catalog.sh '2>&1' ::: ${CHARTS[@]}
|
||||
|
||||
- name: Generate docker-hub Catalog
|
||||
shell: bash
|
||||
if: |
|
||||
steps.collect-changes.outputs.changesDetectedAfterTag == 'true'
|
||||
run: |
|
||||
rm -rf dh_catalog/*.*
|
||||
rm -rf dh_catalog/*
|
||||
cp -rf catalog/* dh_catalog
|
||||
cd dh_catalog
|
||||
find ./ -type f -name *.yaml -exec sed -i 's/tccr.io/dh.tccr.io/gI' {} \;
|
||||
cd -
|
||||
|
||||
- name: Validate catalogs
|
||||
if: |
|
||||
steps.collect-changes.outputs.changesDetectedAfterTag == 'true'
|
||||
run: |
|
||||
echo "Starting Catalog Validation"
|
||||
/usr/local/bin/catalog_validate validate --path "${PWD}/catalog"
|
||||
|
||||
- name: Commit Catalog
|
||||
if: |
|
||||
steps.collect-changes.outputs.changesDetected == 'true'
|
||||
run: |
|
||||
cd catalog
|
||||
git config user.name "TrueCharts-Bot"
|
||||
git config user.email "[email protected]"
|
||||
git add --all
|
||||
git commit -sm "Commit new Chart releases for TrueCharts" || exit 0
|
||||
git push
|
||||
cd -
|
||||
rm -rf catalog
|
||||
|
||||
- name: Commit DH Catalog
|
||||
if: |
|
||||
steps.collect-changes.outputs.changesDetected == 'true'
|
||||
run: |
|
||||
cd dh_catalog
|
||||
git config user.name "TrueCharts-Bot"
|
||||
git config user.email "[email protected]"
|
||||
git add --all
|
||||
git commit -sm "Commit new Chart releases for TrueCharts" || exit 0
|
||||
git push
|
||||
cd -
|
||||
rm -rf dh_catalog
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
if: |
|
||||
steps.collect-changes.outputs.changesDetectedAfterTag == 'true'
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
ref: ${{ steps.save-commit-hash.outputs.commit_hash }}
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Configure Git
|
||||
if: |
|
||||
steps.collect-changes.outputs.changesDetectedAfterTag == 'true'
|
||||
run: |
|
||||
git config user.name "truecharts-bot"
|
||||
git config user.email "[email protected]"
|
||||
|
||||
- name: Run chart-releaser
|
||||
uses: helm/chart-releaser-action@a3454e46a6f5ac4811069a381e646961dda2e1bf # tag=v1.4.0
|
||||
if: |
|
||||
steps.collect-changes.outputs.changesDetectedAfterTag == 'true'
|
||||
with:
|
||||
charts_dir: charts/*
|
||||
charts_repo_url: https://charts.truecharts.org
|
||||
env:
|
||||
CR_TOKEN: "${{ secrets.BOT_TOKEN }}"
|
||||
CR_SKIP_EXISTING: "true"
|
||||
@@ -1,414 +0,0 @@
|
||||
name: "Charts: Test"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
checkoutCommit:
|
||||
required: true
|
||||
type: string
|
||||
chartChangesDetected:
|
||||
required: true
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
unit-test:
|
||||
name: Run unit tests
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: Install Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@f7f73d7965074b0f5491b7210ff51e3254d42058 # tag=v0.8.2
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- name: Install Ruby
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: 2.7
|
||||
|
||||
- name: Install dependencies
|
||||
env:
|
||||
RUBYJQ_USE_SYSTEM_LIBRARIES: 1
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install libjq-dev
|
||||
bundle install
|
||||
|
||||
- name: Run tests
|
||||
run: |
|
||||
bundle exec m -r ./test/
|
||||
|
||||
generate-install-matrix:
|
||||
name: Generate matrix for install
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
matrix1: |
|
||||
{
|
||||
"chart": ${{ steps.list-changed.outputs.charts1 }}
|
||||
}
|
||||
matrix2: |
|
||||
{
|
||||
"chart": ${{ steps.list-changed.outputs.charts2 }}
|
||||
}
|
||||
matrix3: |
|
||||
{
|
||||
"chart": ${{ steps.list-changed.outputs.charts3 }}
|
||||
}
|
||||
matrix4: |
|
||||
{
|
||||
"chart": ${{ steps.list-changed.outputs.charts4 }}
|
||||
}
|
||||
matrix5: |
|
||||
{
|
||||
"chart": ${{ steps.list-changed.outputs.charts5 }}
|
||||
}
|
||||
matrix6: |
|
||||
{
|
||||
"chart": ${{ steps.list-changed.outputs.charts6 }}
|
||||
}
|
||||
detected1: ${{ steps.list-changed.outputs.detected1 }}
|
||||
detected2: ${{ steps.list-changed.outputs.detected2 }}
|
||||
detected3: ${{ steps.list-changed.outputs.detected3 }}
|
||||
detected4: ${{ steps.list-changed.outputs.detected4 }}
|
||||
detected5: ${{ steps.list-changed.outputs.detected5 }}
|
||||
detected6: ${{ steps.list-changed.outputs.detected6 }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@dae259e86a35ff09145c0805e2d7dd3f7207064a # tag=v2.2.1
|
||||
|
||||
- name: Run chart-testing (list-changed)
|
||||
id: list-changed
|
||||
if: inputs.chartChangesDetected == 'true'
|
||||
run: |
|
||||
EXCLUDED=$(yq eval -o=json '.excluded-charts // []' .github/ct-install.yaml)
|
||||
CHARTS=$(ct list-changed --config .github/ct-install.yaml)
|
||||
CHARTS_JSON=$(echo "${CHARTS}" | jq -R -s -c 'split("\n")[:-1]')
|
||||
OUTPUT_JSON=$(echo "{\"excluded\": ${EXCLUDED}, \"all\": ${CHARTS_JSON}}" | jq -c '.all-.excluded')
|
||||
OUTPUT_JSON1=$((echo $OUTPUT_JSON | jq -r -c '.[:50]'; echo $OUTPUT_JSON | jq -r -c '.[301:350]'; echo $OUTPUT_JSON | jq -r -c '.[601:650]'; echo $OUTPUT_JSON | jq -r -c '.[901:950]'; echo $OUTPUT_JSON | jq -r -c '.[1201:1250]') | jq -s add)
|
||||
OUTPUT_JSON2=$((echo $OUTPUT_JSON | jq -r -c '.[51:100]'; echo $OUTPUT_JSON | jq -r -c '.[351:400]'; echo $OUTPUT_JSON | jq -r -c '.[651:700]'; echo $OUTPUT_JSON | jq -r -c '.[951:1000]'; echo $OUTPUT_JSON | jq -r -c '.[1251:1300]') | jq -s add)
|
||||
OUTPUT_JSON3=$((echo $OUTPUT_JSON | jq -r -c '.[101:150]'; echo $OUTPUT_JSON | jq -r -c '.[401:450]'; echo $OUTPUT_JSON | jq -r -c '.[701:750]'; echo $OUTPUT_JSON | jq -r -c '.[1001:1050]'; echo $OUTPUT_JSON | jq -r -c '.[1301:1350]') | jq -s add)
|
||||
OUTPUT_JSON4=$((echo $OUTPUT_JSON | jq -r -c '.[151:200]'; echo $OUTPUT_JSON | jq -r -c '.[451:500]'; echo $OUTPUT_JSON | jq -r -c '.[751:800]'; echo $OUTPUT_JSON | jq -r -c '.[1051:1100]'; echo $OUTPUT_JSON | jq -r -c '.[1351:1400]') | jq -s add)
|
||||
OUTPUT_JSON5=$((echo $OUTPUT_JSON | jq -r -c '.[201:250]'; echo $OUTPUT_JSON | jq -r -c '.[501:550]'; echo $OUTPUT_JSON | jq -r -c '.[801:850]'; echo $OUTPUT_JSON | jq -r -c '.[1101:1150]'; echo $OUTPUT_JSON | jq -r -c '.[1401:1450]') | jq -s add)
|
||||
OUTPUT_JSON6=$((echo $OUTPUT_JSON | jq -r -c '.[251:300]'; echo $OUTPUT_JSON | jq -r -c '.[551:600]'; echo $OUTPUT_JSON | jq -r -c '.[851:900]'; echo $OUTPUT_JSON | jq -r -c '.[1151:1200]'; echo $OUTPUT_JSON | jq -r -c '.[1451:1500]') | jq -s add)
|
||||
echo ::set-output name=charts1::${OUTPUT_JSON1}
|
||||
echo ::set-output name=charts2::${OUTPUT_JSON2}
|
||||
echo ::set-output name=charts3::${OUTPUT_JSON3}
|
||||
echo ::set-output name=charts4::${OUTPUT_JSON4}
|
||||
echo ::set-output name=charts5::${OUTPUT_JSON5}
|
||||
echo ::set-output name=charts6::${OUTPUT_JSON6}
|
||||
if [[ $(echo ${OUTPUT_JSON1} | jq -c '. | length') -gt 0 ]]; then
|
||||
echo "::set-output name=detected1::true"
|
||||
fi
|
||||
if [[ $(echo ${OUTPUT_JSON2} | jq -c '. | length') -gt 0 ]]; then
|
||||
echo "::set-output name=detected2::true"
|
||||
fi
|
||||
if [[ $(echo ${OUTPUT_JSON3} | jq -c '. | length') -gt 0 ]]; then
|
||||
echo "::set-output name=detected3::true"
|
||||
fi
|
||||
if [[ $(echo ${OUTPUT_JSON4} | jq -c '. | length') -gt 0 ]]; then
|
||||
echo "::set-output name=detected4::true"
|
||||
fi
|
||||
if [[ $(echo ${OUTPUT_JSON5} | jq -c '. | length') -gt 0 ]]; then
|
||||
echo "::set-output name=detected5::true"
|
||||
fi
|
||||
if [[ $(echo ${OUTPUT_JSON6} | jq -c '. | length') -gt 0 ]]; then
|
||||
echo "::set-output name=detected6::true"
|
||||
fi
|
||||
|
||||
install-charts1:
|
||||
needs:
|
||||
- generate-install-matrix
|
||||
if: needs.generate-install-matrix.outputs.detected1 == 'true'
|
||||
name: Install charts Part 1
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.generate-install-matrix.outputs.matrix1) }}
|
||||
fail-fast: false
|
||||
max-parallel: 5
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: Install Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@f7f73d7965074b0f5491b7210ff51e3254d42058 # tag=v0.8.2
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@c4e89fac7e8767b327bbad6cb4d859eda999cf08 # tag=v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@dae259e86a35ff09145c0805e2d7dd3f7207064a # tag=v2.2.1
|
||||
|
||||
- name: Create k3d cluster
|
||||
uses: nolar/setup-k3d-k3s@v1
|
||||
with:
|
||||
version: v1.24
|
||||
k3d-args: -p 31990-31999:31990-31999@server:0
|
||||
- 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 }}" --upgrade
|
||||
|
||||
install-charts2:
|
||||
needs:
|
||||
- generate-install-matrix
|
||||
if: needs.generate-install-matrix.outputs.detected2 == 'true'
|
||||
name: Install charts Part 2
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.generate-install-matrix.outputs.matrix2) }}
|
||||
fail-fast: false
|
||||
max-parallel: 5
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: Install Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@f7f73d7965074b0f5491b7210ff51e3254d42058 # tag=v0.8.2
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@c4e89fac7e8767b327bbad6cb4d859eda999cf08 # tag=v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@dae259e86a35ff09145c0805e2d7dd3f7207064a # tag=v2.2.1
|
||||
|
||||
- name: Create k3d cluster
|
||||
uses: nolar/setup-k3d-k3s@v1
|
||||
with:
|
||||
version: v1.24
|
||||
k3d-args: -p 31990-31999:31990-31999@server:0
|
||||
|
||||
- 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 }}" --upgrade
|
||||
|
||||
install-charts3:
|
||||
needs:
|
||||
- generate-install-matrix
|
||||
if: needs.generate-install-matrix.outputs.detected3 == 'true'
|
||||
name: Install charts Part 3
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.generate-install-matrix.outputs.matrix3) }}
|
||||
fail-fast: false
|
||||
max-parallel: 5
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: Install Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@f7f73d7965074b0f5491b7210ff51e3254d42058 # tag=v0.8.2
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@c4e89fac7e8767b327bbad6cb4d859eda999cf08 # tag=v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@dae259e86a35ff09145c0805e2d7dd3f7207064a # tag=v2.2.1
|
||||
|
||||
- name: Create k3d cluster
|
||||
uses: nolar/setup-k3d-k3s@v1
|
||||
with:
|
||||
version: v1.24
|
||||
k3d-args: -p 31990-31999:31990-31999@server:0
|
||||
- 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 }}" --upgrade
|
||||
|
||||
install-charts4:
|
||||
needs:
|
||||
- generate-install-matrix
|
||||
if: needs.generate-install-matrix.outputs.detected4 == 'true'
|
||||
name: Install charts Part 4
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.generate-install-matrix.outputs.matrix4) }}
|
||||
fail-fast: false
|
||||
max-parallel: 5
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: Install Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@f7f73d7965074b0f5491b7210ff51e3254d42058 # tag=v0.8.2
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@c4e89fac7e8767b327bbad6cb4d859eda999cf08 # tag=v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@dae259e86a35ff09145c0805e2d7dd3f7207064a # tag=v2.2.1
|
||||
|
||||
- name: Create k3d cluster
|
||||
uses: nolar/setup-k3d-k3s@v1
|
||||
with:
|
||||
version: v1.24
|
||||
k3d-args: -p 31990-31999:31990-31999@server:0
|
||||
- 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 }}" --upgrade
|
||||
|
||||
install-charts5:
|
||||
needs:
|
||||
- generate-install-matrix
|
||||
if: needs.generate-install-matrix.outputs.detected5 == 'true'
|
||||
name: Install charts Part 5
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.generate-install-matrix.outputs.matrix5) }}
|
||||
fail-fast: false
|
||||
max-parallel: 5
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: Install Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@f7f73d7965074b0f5491b7210ff51e3254d42058 # tag=v0.8.2
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@c4e89fac7e8767b327bbad6cb4d859eda999cf08 # tag=v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@dae259e86a35ff09145c0805e2d7dd3f7207064a # tag=v2.2.1
|
||||
|
||||
- name: Create k3d cluster
|
||||
uses: nolar/setup-k3d-k3s@v1
|
||||
with:
|
||||
version: v1.24
|
||||
k3d-args: -p 31990-31999:31990-31999@server:0
|
||||
- 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 }}" --upgrade
|
||||
|
||||
install-charts6:
|
||||
needs:
|
||||
- generate-install-matrix
|
||||
if: needs.generate-install-matrix.outputs.detected6 == 'true'
|
||||
name: Install charts Part 6
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.generate-install-matrix.outputs.matrix6) }}
|
||||
fail-fast: false
|
||||
max-parallel: 5
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: Install Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@f7f73d7965074b0f5491b7210ff51e3254d42058 # tag=v0.8.2
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@c4e89fac7e8767b327bbad6cb4d859eda999cf08 # tag=v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@dae259e86a35ff09145c0805e2d7dd3f7207064a # tag=v2.2.1
|
||||
|
||||
- name: Create k3d cluster
|
||||
uses: nolar/setup-k3d-k3s@v1
|
||||
with:
|
||||
version: v1.24
|
||||
k3d-args: -p 31990-31999:31990-31999@server:0
|
||||
- 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 }}" --upgrade
|
||||
|
||||
# Summarize matrix https://github.community/t/status-check-for-a-matrix-jobs/127354/7
|
||||
install_success:
|
||||
needs:
|
||||
- generate-install-matrix
|
||||
- install-charts1
|
||||
- install-charts2
|
||||
- install-charts3
|
||||
- install-charts4
|
||||
- install-charts5
|
||||
- install-charts6
|
||||
if: |
|
||||
always()
|
||||
name: Install successful
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check install matrix status
|
||||
if: ${{ ( (needs.generate-install-matrix.outputs.detected1 == 'true') && (needs.install-charts1.result != 'success') ) && ( (needs.generate-install-matrix.outputs.detected2 == 'true') && ( (needs.install-charts2.result != 'success') || ( needs.install-charts2.result != 'skipped' ) ) ) && ( (needs.generate-install-matrix.outputs.detected3 == 'true') && ( (needs.install-charts3.result != 'success') || ( needs.install-charts3.result != 'skipped' ) ) ) && ( (needs.generate-install-matrix.outputs.detected4 == 'true') && ( (needs.install-charts4.result != 'success') || ( needs.install-charts4.result != 'skipped' ) ) ) && ( (needs.generate-install-matrix.outputs.detected5 == 'true') && ( (needs.install-charts5.result != 'success') || ( needs.install-charts5.result != 'skipped' ) ) ) && ( (needs.generate-install-matrix.outputs.detected6 == 'true') && ( (needs.install-charts6.result != 'success') || ( needs.install-charts6.result != 'skipped' ) ) ) }}
|
||||
run: exit 1
|
||||
|
||||
- uses: vishnudxb/cancel-workflow@c3c77eb4383ba7d023e6614a07d94fe990501ac6 # tag=v1.2
|
||||
if: failure()
|
||||
with:
|
||||
repo: truecharts/apps
|
||||
workflow_id: ${{ github.run_id }}
|
||||
access_token: ${{ github.token }}
|
||||
@@ -1,61 +0,0 @@
|
||||
name: "General: Security Scan"
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
paths:
|
||||
- ".github/workflows/general.security-scan.yaml"
|
||||
schedule:
|
||||
- cron: "0 0 * * 0"
|
||||
|
||||
jobs:
|
||||
directories: # Job that list subdirectories
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
dir: ${{ steps.set-dirs.outputs.dir }} # generate output name dir by using inner step output
|
||||
steps:
|
||||
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
- id: set-dirs # Give it an id to handle to get step outputs in the outputs key above
|
||||
run: echo "::set-output name=dir::$({ ls -d containers/apps/*/ & ls -d containers/base/*/; } | tr '\n' '\0' | xargs -0 -n 1 basename | jq -R -s -c 'split("\n")[:-1]')"
|
||||
# Define step output named dir base on ls command transformed to JSON thanks to jq
|
||||
|
||||
scan_files:
|
||||
name: Scan Files
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
|
||||
- name: Run Trivy vulnerability scanner in repo mode
|
||||
uses: aquasecurity/trivy-action@master
|
||||
with:
|
||||
scan-type: "fs"
|
||||
ignore-unfixed: true
|
||||
format: "template"
|
||||
template: "@/contrib/sarif.tpl"
|
||||
output: "trivy-repo-results.sarif"
|
||||
severity: "CRITICAL"
|
||||
|
||||
- name: Upload Trivy scan results to GitHub Security tab
|
||||
uses: github/codeql-action/upload-sarif@3e7e3b32d0fb8283594bb0a76cc60a00918b0969 # tag=v2
|
||||
with:
|
||||
sarif_file: "trivy-repo-results.sarif"
|
||||
|
||||
scan_containers:
|
||||
name: Scan Containers
|
||||
runs-on: ubuntu-20.04
|
||||
needs: [directories] # Depends on previous job
|
||||
strategy:
|
||||
matrix:
|
||||
dir: ${{fromJson(needs.directories.outputs.dir)}} # List matrix strategy from directories dynamically
|
||||
fail-fast: false
|
||||
steps:
|
||||
- name: Container Security scan
|
||||
uses: Azure/container-scan@f9af925b897d8af5f7e0026b8bca9346261abc93 # tag=v0
|
||||
with:
|
||||
image-name: ghcr.io/${{ github.repository_owner }}/${{matrix.dir}}:latest
|
||||
severity-threshold: HIGH
|
||||
@@ -1,105 +0,0 @@
|
||||
---
|
||||
name: "Metadata: Label pull requests CI status"
|
||||
|
||||
on:
|
||||
workflow_run:
|
||||
workflows:
|
||||
- "Pull Request: Validate"
|
||||
types:
|
||||
- completed
|
||||
|
||||
jobs:
|
||||
label-ci-status:
|
||||
name: Label CI status
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
|
||||
- name: Download workflow artifact
|
||||
uses: dawidd6/action-download-artifact@6765a42d86407a3d532749069ac03705ad82ebc6 # tag=v2.21.1
|
||||
with:
|
||||
github_token: ${{ secrets.BOT_TOKEN }}
|
||||
workflow: pr-validate.yaml
|
||||
run_id: ${{ github.event.workflow_run.id }}
|
||||
name: pr_metadata
|
||||
path: ./pr_metadata
|
||||
|
||||
- name: Read the pr_number file
|
||||
id: pr_num_reader
|
||||
uses: juliangruber/read-file-action@ebfa650188272343fef925480eb4d18c5d49b925 # tag=v1.1.4
|
||||
with:
|
||||
path: ./pr_metadata/pr_number.txt
|
||||
|
||||
- name: "Get workflow job status"
|
||||
uses: actions/github-script@7a5c598405937d486b0331594b5da2b14db670da # tag=v6
|
||||
id: get-workflow-jobs
|
||||
with:
|
||||
github-token: ${{ secrets.BOT_TOKEN }}
|
||||
# https://mhagemann.medium.com/the-ultimate-way-to-slugify-a-url-string-in-javascript-b8e4a0d849e1
|
||||
script: |
|
||||
function slugify(string) {
|
||||
const a = 'àáâäæãåāăąçćčđďèéêëēėęěğǵḧîïíīįìıİłḿñńǹňôöòóœøōõőṕŕřßśšşșťțûüùúūǘůűųẃẍÿýžźż·/_,:;'
|
||||
const b = 'aaaaaaaaaacccddeeeeeeeegghiiiiiiiilmnnnnoooooooooprrsssssttuuuuuuuuuwxyyzzz------'
|
||||
const p = new RegExp(a.split('').join('|'), 'g')
|
||||
return string.toString().toLowerCase()
|
||||
.replace(/\s+/g, '-') // Replace spaces with -
|
||||
.replace(p, c => b.charAt(a.indexOf(c))) // Replace special characters
|
||||
.replace(/&/g, '-and-') // Replace & with 'and'
|
||||
.replace(/[^\w\-]+/g, '') // Remove all non-word characters
|
||||
.replace(/\-\-+/g, '-') // Replace multiple - with single -
|
||||
.replace(/^-+/, '') // Trim - from start of text
|
||||
.replace(/-+$/, '') // Trim - from end of text
|
||||
}
|
||||
let result = new Object
|
||||
const wfJobs = await github.rest.actions.listJobsForWorkflowRun({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
run_id: context.payload.workflow_run.id,
|
||||
})
|
||||
for (const job of wfJobs.data.jobs) {
|
||||
result[slugify(job.name)] = job.conclusion
|
||||
}
|
||||
console.log(result)
|
||||
return result
|
||||
- name: Label pre-commit status
|
||||
uses: ./.github/actions/label-from-status
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
issue-number: ${{ steps.pr_num_reader.outputs.content }}
|
||||
prefix: precommit
|
||||
job-status: |-
|
||||
${{ fromJSON(steps.get-workflow-jobs.outputs.result).pre-commit-check-run-pre-commit-checks || 'skipped' }}
|
||||
remove-on-skipped: true
|
||||
|
||||
#- name: Label changelog status
|
||||
# uses: ./.github/actions/label-from-status
|
||||
# with:
|
||||
# token: ${{ secrets.BOT_TOKEN }}
|
||||
# issue-number: ${{ steps.pr_num_reader.outputs.content }}
|
||||
# prefix: changelog
|
||||
# job-status: |-
|
||||
# ${{ fromJSON(steps.get-workflow-jobs.outputs.result).charts-changelog-validate-changelog || 'skipped' }}
|
||||
# remove-on-skipped: true
|
||||
|
||||
- name: Label chart lint status
|
||||
uses: ./.github/actions/label-from-status
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
issue-number: ${{ steps.pr_num_reader.outputs.content }}
|
||||
prefix: lint
|
||||
job-status: |-
|
||||
${{ fromJSON(steps.get-workflow-jobs.outputs.result).charts-lint-lint-successful || 'skipped' }}
|
||||
remove-on-skipped: true
|
||||
|
||||
- name: Label chart install status
|
||||
uses: ./.github/actions/label-from-status
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
issue-number: ${{ steps.pr_num_reader.outputs.content }}
|
||||
prefix: install
|
||||
job-status: |-
|
||||
${{ fromJSON(steps.get-workflow-jobs.outputs.result).charts-test-install-successful || 'skipped' }}
|
||||
remove-on-skipped: true
|
||||
@@ -1,32 +0,0 @@
|
||||
---
|
||||
name: "Metadata: Label Commenter"
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
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: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
ref: master
|
||||
|
||||
- uses: peaceiris/actions-label-commenter@f0dbbef043eb1b150b566db36b0bdc8b7f505579 # tag=v1
|
||||
with:
|
||||
github_token: ${{ secrets.BOT_TOKEN }}
|
||||
@@ -1,33 +0,0 @@
|
||||
---
|
||||
name: "Metadata: Label pull requests"
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request_target:
|
||||
types:
|
||||
- opened
|
||||
- edited
|
||||
- closed
|
||||
- reopened
|
||||
- ready_for_review
|
||||
- synchronize
|
||||
|
||||
jobs:
|
||||
label-size:
|
||||
name: Label Size
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Label Size
|
||||
uses: pascalgn/size-label-action@1619680c5ac1ef360b944bb56a57587ba4aa2af8 # tag=v0.4.3
|
||||
env:
|
||||
GITHUB_TOKEN: "${{ secrets.BOT_TOKEN }}"
|
||||
with:
|
||||
sizes: >
|
||||
{
|
||||
"0": "XS",
|
||||
"20": "S",
|
||||
"50": "M",
|
||||
"200": "L",
|
||||
"800": "XL",
|
||||
"2000": "XXL"
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
name: "Pull Request: Get metadata"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
outputs:
|
||||
isRenovatePR:
|
||||
description: "Is the PR coming from Renovate?"
|
||||
value: ${{ jobs.pr-metadata.outputs.isRenovatePR }}
|
||||
isFork:
|
||||
description: "Is the PR coming from a forked repo?"
|
||||
value: ${{ jobs.pr-metadata.outputs.isFork }}
|
||||
addedOrModified:
|
||||
description: "Does the PR contain any changes?"
|
||||
value: ${{ jobs.pr-changes.outputs.addedOrModified }}
|
||||
addedOrModifiedFiles:
|
||||
description: "A list of the files changed in this PR"
|
||||
value: ${{ jobs.pr-changes.outputs.addedOrModifiedFiles }}
|
||||
addedOrModifiedCharts:
|
||||
description: "A list of the charts changed in this PR"
|
||||
value: ${{ jobs.pr-changes.outputs.addedOrModifiedCharts }}
|
||||
|
||||
jobs:
|
||||
pr-metadata:
|
||||
name: Collect PR metadata
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
isRenovatePR: ${{ startsWith(steps.branch-name.outputs.current_branch, 'renovate/') }}
|
||||
isFork: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
|
||||
steps:
|
||||
- name: Get branch name
|
||||
id: branch-name
|
||||
uses: tj-actions/branch-names@b0f914ba0e7aa1e243b53df97447f71eb57da09a # tag=v5.4
|
||||
|
||||
- name: Save PR data to file
|
||||
env:
|
||||
PR_NUMBER: ${{ github.event.number }}
|
||||
run: |
|
||||
echo $PR_NUMBER > pr_number.txt
|
||||
|
||||
- name: Store pr data in artifact
|
||||
uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # tag=v3
|
||||
with:
|
||||
name: pr_metadata
|
||||
path: ./pr_number.txt
|
||||
retention-days: 5
|
||||
|
||||
pr-changes:
|
||||
name: Collect PR changes
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
addedOrModified: ${{ steps.collect-changes.outputs.changesDetected }}
|
||||
addedOrModifiedFiles: ${{ steps.collect-changes.outputs.addedOrModifiedFiles }}
|
||||
addedOrModifiedCharts: ${{ steps.collect-changes.outputs.addedOrModifiedCharts }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
|
||||
- name: Collect changes
|
||||
id: collect-changes
|
||||
uses: ./.github/actions/collect-changes
|
||||
@@ -1,56 +0,0 @@
|
||||
name: "Pull Request: Validate"
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.head_ref }}-pr-validate
|
||||
# cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
pr-metadata:
|
||||
uses: ./.github/workflows/pr-metadata.yaml
|
||||
|
||||
pre-commit-check:
|
||||
uses: truecharts/.github/.github/workflows/pre-commit-check.yaml@main
|
||||
needs:
|
||||
- pr-metadata
|
||||
with:
|
||||
modifiedFiles: ${{ needs.pr-metadata.outputs.addedOrModifiedFiles }}
|
||||
|
||||
#charts-changelog:
|
||||
# uses: ./.github/workflows/charts-changelog.yaml
|
||||
# needs:
|
||||
# - pr-metadata
|
||||
# - pre-commit-check
|
||||
# with:
|
||||
# isRenovatePR: ${{ needs.pr-metadata.outputs.isRenovatePR }}
|
||||
# modifiedCharts: ${{ needs.pr-metadata.outputs.addedOrModifiedCharts }}
|
||||
|
||||
charts-lint:
|
||||
uses: ./.github/workflows/charts-lint.yaml
|
||||
needs:
|
||||
- pr-metadata
|
||||
# - charts-changelog
|
||||
with:
|
||||
checkoutCommit: ${{ needs.charts-changelog.outputs.commitHash }}
|
||||
chartChangesDetected: ${{ needs.pr-metadata.outputs.addedOrModified }}
|
||||
|
||||
charts-test:
|
||||
uses: ./.github/workflows/charts-test.yaml
|
||||
needs:
|
||||
- pr-metadata
|
||||
# - charts-changelog
|
||||
- charts-lint
|
||||
with:
|
||||
checkoutCommit: ${{ needs.charts-changelog.outputs.commitHash }}
|
||||
chartChangesDetected: ${{ needs.pr-metadata.outputs.addedOrModified }}
|
||||
|
||||
catalog-test:
|
||||
uses: ./.github/workflows/catalog-test.yaml
|
||||
needs:
|
||||
- pr-metadata
|
||||
# - charts-changelog
|
||||
with:
|
||||
checkoutCommit: ${{ needs.charts-changelog.outputs.commitHash }}
|
||||
chartChangesDetected: ${{ needs.pr-metadata.outputs.addedOrModified }}
|
||||
@@ -1,17 +0,0 @@
|
||||
name: "Prune Old Releases"
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
housekeeping:
|
||||
runs-on: ubuntu-latest
|
||||
name: "prune old releases"
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- uses: actions/delete-package-versions@a31a43afa6c2d3afdf8b5f1e311b2dc75585932e # tag=v3
|
||||
with:
|
||||
min-versions-to-keep: 200
|
||||
@@ -1,92 +0,0 @@
|
||||
name: "Renovate: Bump on Push"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- "renovate/**"
|
||||
tags-ignore:
|
||||
- "**"
|
||||
|
||||
jobs:
|
||||
renovate-bump:
|
||||
name: Get changed Apps
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
name: Checkout
|
||||
with:
|
||||
fetch-depth: 0
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
name: Checkout
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: master
|
||||
path: master
|
||||
- uses: dorny/paths-filter@v2
|
||||
id: filter
|
||||
with:
|
||||
list-files: json
|
||||
filters: |
|
||||
changed:
|
||||
- 'charts/stable/**'
|
||||
- 'charts/incubator/**'
|
||||
- 'charts/SCALE/**'
|
||||
- 'charts/library/**'
|
||||
- 'charts/dependency/**'
|
||||
- 'charts/core/**'
|
||||
- 'charts/enterprise/**'
|
||||
- 'charts/games/**'
|
||||
- name: Filter filter-output
|
||||
run: echo '${{ toJson(steps.filter.outputs) }}' > changes.json
|
||||
- name: Bump
|
||||
run: |
|
||||
APPS=$(jq --raw-output '.changed_files | fromjson | .[] |= sub("(?<filepath>(?<first_directory>(?<root1>[\/]?)[^\/]+\/)(?<second_directory>(?<root2>[\/]?)[^\/]+\/)(?<third_directory>(?<root3>[\/]?)[^\/]+)(?<extra_paths>.+))"; "\(.third_directory)") | unique' changes.json | jq -r '.[]')
|
||||
echo "changed apps: ${APPS[*]}"
|
||||
for chart in ${APPS[*]}
|
||||
do
|
||||
if [[ "${chart}" == '.gitkee' ]]; then
|
||||
echo "Skipping..."
|
||||
return
|
||||
elif test -f "./charts/stable/${chart}/Chart.yaml"; then
|
||||
train="stable"
|
||||
elif test -f "./charts/incubator/${chart}/Chart.yaml"; then
|
||||
train="incubator"
|
||||
elif test -f "./charts/SCALE/${chart}/Chart.yaml"; then
|
||||
train="SCALE"
|
||||
elif test -f "./charts/library/${chart}/Chart.yaml"; then
|
||||
train="library"
|
||||
elif test -f "./charts/dependency/${chart}/Chart.yaml"; then
|
||||
train="dependency"
|
||||
elif test -f "./charts/core/${chart}/Chart.yaml"; then
|
||||
train="core"
|
||||
elif test -f "./charts/games/${chart}/Chart.yaml"; then
|
||||
train="games"
|
||||
elif test -f "./charts/enterprise/${chart}/Chart.yaml"; then
|
||||
train="enterprise"
|
||||
else
|
||||
train="incubator"
|
||||
fi
|
||||
echo "Comparing versions for ${train}/${chart}"
|
||||
master=$(cat ./master/charts/${train}/${chart}/Chart.yaml | grep "^version")
|
||||
current=$(cat ./charts/${train}/${chart}/Chart.yaml | grep "^version")
|
||||
echo "master version: ${master}"
|
||||
echo "current version: ${current}"
|
||||
if [[ "${master}" != "${current}" ]]; then
|
||||
echo "Version does not have to be bumped"
|
||||
else
|
||||
echo "Bumping patch version for ${train}/${chart}"
|
||||
./tools/bump.sh patch ./charts/${train}/${chart}
|
||||
fi
|
||||
done
|
||||
- name: Cleanup
|
||||
run: |
|
||||
rm -rf changes.json
|
||||
rm -rf master
|
||||
- name: Commit and Push new version
|
||||
run: |
|
||||
git config user.name "TrueCharts-Bot"
|
||||
git config user.email "[email protected]"
|
||||
git add --all
|
||||
git commit -sm "Commit bumped App Version" || exit 0
|
||||
git push
|
||||
@@ -1,18 +0,0 @@
|
||||
name: Renovate
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "0 */6 * * *"
|
||||
jobs:
|
||||
renovate:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
- name: Self-hosted Renovate
|
||||
uses: renovatebot/github-action@afdeef2fe1e9162fce78747fdcc2046833eb8f5a # tag=v32.127.4
|
||||
with:
|
||||
configurationFile: .github/renovate-config.js
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
@@ -1,25 +0,0 @@
|
||||
---
|
||||
name: "Schedule: Sync labels"
|
||||
|
||||
on: # yamllint disable-line rule:truthy
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "0 * * * *"
|
||||
|
||||
jobs:
|
||||
labels:
|
||||
name: Sync Labels
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
|
||||
- name: Sync Labels
|
||||
uses: EndBug/label-sync@852ef5d7a242975b02f1832ad53dc45ca635c3e4 # tag=v2
|
||||
with:
|
||||
config-file: |
|
||||
https://raw.githubusercontent.com/truecharts/.github/main/.github/labels.yaml
|
||||
token: "${{ secrets.BOT_TOKEN }}"
|
||||
delete-other-labels: true
|
||||
@@ -1,38 +0,0 @@
|
||||
---
|
||||
name: "Mark or close stale issues and PRs"
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
# Run the stalebot every day at 8pm UTC
|
||||
- cron: "00 20 * * *"
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Check for stale issues and PRs
|
||||
uses: actions/stale@3cc123766321e9f15a6676375c154ccffb12a358 # tag=v5
|
||||
with:
|
||||
repo-token: ${{ secrets.BOT_TOKEN }}
|
||||
days-before-issue-stale: 180
|
||||
days-before-pr-stale: 180
|
||||
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"
|
||||
-55
@@ -1,55 +0,0 @@
|
||||
*.pyc
|
||||
*.swp
|
||||
*.mo
|
||||
*.o
|
||||
*.iso
|
||||
__pycache__
|
||||
*.xml
|
||||
*.pyc
|
||||
.cache
|
||||
.pytest_cache
|
||||
config.py
|
||||
auto_config.py
|
||||
.DS_Store
|
||||
.idea/
|
||||
.vscode/
|
||||
# IDE resources
|
||||
.vscode
|
||||
.idea
|
||||
Gemfile.lock
|
||||
.ignore/
|
||||
/docs/api/_build/
|
||||
/docs/userguide/_build/
|
||||
/gui/local_settings.py
|
||||
gui/static/
|
||||
/FreeBSD/
|
||||
/filtered-patches/
|
||||
/os-base/
|
||||
/pbi/
|
||||
/sbin/
|
||||
src/middlewared/build/
|
||||
src/middlewared/dist/
|
||||
src/middlewared/middlewared.egg-info/
|
||||
.git-repo-setting
|
||||
nas_source/
|
||||
webui/node_modules/
|
||||
webui/dll/
|
||||
webui/dist/
|
||||
npm-debug.log
|
||||
tests/artifacts/
|
||||
tests/test-report.txt
|
||||
tests/test-report.xml
|
||||
private_values.yaml
|
||||
temp/
|
||||
charts/library/common-test/charts/
|
||||
.cr-release-packages/
|
||||
Chart.lock
|
||||
charts/**/charts/*.tgz
|
||||
charts/**/render/*
|
||||
catalog/
|
||||
dh_catalog/
|
||||
chartsrepo/
|
||||
.cr-index/
|
||||
website/
|
||||
pub/
|
||||
readme.md
|
||||
@@ -1,18 +0,0 @@
|
||||
# https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md004
|
||||
# Use dash for "Unordered list style"
|
||||
MD004:
|
||||
style: dash
|
||||
|
||||
# https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md013
|
||||
# Do not warn for Line length
|
||||
MD013:
|
||||
# We can lower this and wrap lines. Markdown does not care.
|
||||
line_length: 999
|
||||
|
||||
# https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md033
|
||||
# Do not warn for "Inline HTML"
|
||||
MD033: false
|
||||
|
||||
# https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md036
|
||||
# Do not warn for "Emphasis used instead of a heading"
|
||||
MD036: false
|
||||
@@ -1,40 +0,0 @@
|
||||
# See https://pre-commit.com for more information
|
||||
repos:
|
||||
- repo: https://github.com/Lucas-C/pre-commit-hooks
|
||||
rev: v1.1.10
|
||||
hooks:
|
||||
- id: remove-tabs
|
||||
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v4.0.1
|
||||
hooks:
|
||||
- id: trailing-whitespace # trims trailing whitespace.
|
||||
- id: end-of-file-fixer # ensures that a file is either empty, or ends with one newline.
|
||||
- id: fix-byte-order-marker
|
||||
- id: mixed-line-ending # replaces or checks mixed line ending.
|
||||
- id: check-merge-conflict # checks for files that contain merge conflict strings.
|
||||
- id: check-case-conflict # checks for files that would conflict in case-insensitive filesystems.
|
||||
- id: check-executables-have-shebangs # ensures that (non-binary) executables have a shebang.
|
||||
- id: check-shebang-scripts-are-executable # ensures that (non-binary) files with a shebang are executable.
|
||||
- id: check-docstring-first
|
||||
- id: check-symlinks
|
||||
- id: destroyed-symlinks
|
||||
- id: fix-byte-order-marker # removes utf-8 byte order marker.
|
||||
- id: requirements-txt-fixer # sorts entries in requirements.txt.
|
||||
- id: check-added-large-files # prevents giant files from being committed.
|
||||
- id: check-yaml # checks yaml files for parseable syntax.
|
||||
exclude: (templates\/.*|questions.yaml|chart_schema.yaml)
|
||||
- id: detect-private-key # detects the presence of private keys.
|
||||
|
||||
- repo: https://github.com/pre-commit/pygrep-hooks
|
||||
rev: v1.9.0
|
||||
hooks:
|
||||
- id: text-unicode-replacement-char
|
||||
- id: rst-backticks
|
||||
|
||||
- repo: https://github.com/pre-commit/mirrors-prettier
|
||||
rev: v2.5.1
|
||||
hooks:
|
||||
- id: prettier
|
||||
exclude: (templates\/.*|README.md|CHANGELOG.md|questions.yaml|devcontainer.json)
|
||||
files: \.(js|ts|jsx|tsx|css|less|html|json|markdown|md|yaml|yml)$
|
||||
@@ -1,25 +0,0 @@
|
||||
# Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities.
|
||||
version: v1.22.1
|
||||
# ignores vulnerabilities until expiry date; change duration by modifying expiry date
|
||||
ignore:
|
||||
SNYK-CC-K8S-10:
|
||||
- '* > * > input > spec > template > spec > initContainers[autopermissions] > securityContext > runAsNonRoot':
|
||||
reason: Permissions script requires root
|
||||
expires: 2666-01-02T15:25:09.138Z
|
||||
created: 2021-12-03T15:25:09.144Z
|
||||
SNYK-CC-K8S-41:
|
||||
- '* > * > spec > template > spec > initContainers[autopermissions] > livenessProbe':
|
||||
reason: Permissions script requires root
|
||||
expires: 2666-01-02T15:25:09.138Z
|
||||
created: 2021-12-03T15:25:09.144Z
|
||||
SNYK-CC-K8S-11:
|
||||
- '*':
|
||||
reason: UID Clashes is not a priority, default user 568 is reserved on SCALE systems
|
||||
expires: 2666-01-02T15:25:09.138Z
|
||||
created: 2021-12-03T15:25:09.144Z
|
||||
SNYK-CC-K8S-42:
|
||||
- '*':
|
||||
reason: We enforce digestpinning all container images and run auto-updater weekly
|
||||
expires: 2666-01-02T15:25:09.138Z
|
||||
created: 2021-12-03T15:25:09.144Z
|
||||
patch: {}
|
||||
Vendored
-9
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"streetsidesoftware.code-spell-checker",
|
||||
"davidanson.vscode-markdownlint",
|
||||
"editorconfig.editorconfig",
|
||||
"ms-vscode-remote.remote-containers",
|
||||
"rebornix.ruby"
|
||||
]
|
||||
}
|
||||
Vendored
-24
@@ -1,24 +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": "Common UnitTest - all tests",
|
||||
"type": "Ruby",
|
||||
"request": "launch",
|
||||
"cwd": "${workspaceRoot}",
|
||||
"program": "/usr/local/bin/bundle",
|
||||
"args": ["exec", "m", "-r", "${workspaceFolder}/tests"]
|
||||
},
|
||||
{
|
||||
"name": "Common UnitTest - active spec file only",
|
||||
"type": "Ruby",
|
||||
"request": "launch",
|
||||
"cwd": "${workspaceRoot}",
|
||||
"program": "/usr/local/bin/bundle",
|
||||
"args": ["exec", "m", "-r", "${relativeFile}"]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
source 'https://rubygems.org'
|
||||
|
||||
group :test do
|
||||
gem 'm'
|
||||
gem 'minitest'
|
||||
gem 'minitest-implicit-subject'
|
||||
gem 'minitest-reporters'
|
||||
gem 'pry'
|
||||
gem 'ruby-jq'
|
||||
end
|
||||
@@ -1,29 +0,0 @@
|
||||
BSD 3-Clause License
|
||||
|
||||
Copyright (c) 2020-2021, the respective contributors, as shown by the AUTHORS file.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
3. Neither the name of the copyright holder nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
@@ -1,4 +0,0 @@
|
||||
This product includes software developed at
|
||||
The K8S-At-Home (https://k8s-at-home.com/).
|
||||
|
||||
This Product Contains modified Apache2.0 Licensed software
|
||||
@@ -0,0 +1,15 @@
|
||||
# Artifact Hub repository metadata file
|
||||
#
|
||||
# Some settings like the verified publisher flag or the ignored packages won't
|
||||
# be applied until the next time the repository is processed. Please keep in
|
||||
# mind that the repository won't be processed if it has not changed since the
|
||||
# last time it was processed. Depending on the repository kind, this is checked
|
||||
# in a different way. For Helm http based repositories, we consider it has
|
||||
# changed if the `index.yaml` file changes. For git based repositories, it does
|
||||
# when the hash of the last commit in the branch you set up changes. This does
|
||||
# NOT apply to ownership claim operations, which are processed immediately.
|
||||
#
|
||||
repositoryID: a80d163e-e239-46f1-abfa-1842efdb1b45
|
||||
owners: # (optional, used to claim repository ownership)
|
||||
- name: Kjeld Schouten-Lebbing
|
||||
email: [email protected]
|
||||
@@ -1,30 +0,0 @@
|
||||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
# OWNERS file for Kubernetes
|
||||
OWNERS
|
||||
# helm-docs templates
|
||||
*.gotmpl
|
||||
# docs folder
|
||||
/docs
|
||||
# icon
|
||||
icon.png
|
||||
@@ -1,130 +0,0 @@
|
||||
# Changelog
|
||||
|
||||
|
||||
|
||||
## [clickhouse-1.0.4](https://github.com/truecharts/apps/compare/clickhouse-1.0.2...clickhouse-1.0.4) (2022-07-25)
|
||||
|
||||
### Chore
|
||||
|
||||
- Auto-update chart README [skip ci]
|
||||
- update helm chart common to v10.4.8 ([#3296](https://github.com/truecharts/apps/issues/3296))
|
||||
- update docker general non-major ([#3295](https://github.com/truecharts/apps/issues/3295))
|
||||
|
||||
|
||||
|
||||
|
||||
## [clickhouse-1.0.3](https://github.com/truecharts/apps/compare/clickhouse-1.0.2...clickhouse-1.0.3) (2022-07-25)
|
||||
|
||||
### Chore
|
||||
|
||||
- update docker general non-major ([#3295](https://github.com/truecharts/apps/issues/3295))
|
||||
|
||||
|
||||
|
||||
|
||||
## [clickhouse-1.0.2](https://github.com/truecharts/apps/compare/clickhouse-1.0.1...clickhouse-1.0.2) (2022-07-23)
|
||||
|
||||
### Chore
|
||||
|
||||
- update helm chart common to v10.4.7 ([#3277](https://github.com/truecharts/apps/issues/3277))
|
||||
|
||||
|
||||
|
||||
|
||||
## [clickhouse-1.0.1](https://github.com/truecharts/apps/compare/clickhouse-1.0.0...clickhouse-1.0.1) (2022-07-22)
|
||||
|
||||
### Chore
|
||||
|
||||
- Bump all charts to generate config and container references due to huge increase of repository
|
||||
- update docker general non-major ([#3266](https://github.com/truecharts/apps/issues/3266))
|
||||
|
||||
|
||||
|
||||
## [clickhouse-1.0.0](https://github.com/truecharts/apps/compare/clickhouse-0.0.12...clickhouse-1.0.0) (2022-07-21)
|
||||
|
||||
### Chore
|
||||
|
||||
- move clickhouse to dependency train, remove 2 breaking apps and remove some special characters
|
||||
|
||||
|
||||
|
||||
## [clickhouse-0.0.12](https://github.com/truecharts/apps/compare/clickhouse-0.0.11...clickhouse-0.0.12) (2022-07-19)
|
||||
|
||||
### Chore
|
||||
|
||||
- Update Readme and Description on SCALE
|
||||
|
||||
|
||||
|
||||
## [clickhouse-0.0.11](https://github.com/truecharts/apps/compare/clickhouse-0.0.10...clickhouse-0.0.11) (2022-07-14)
|
||||
|
||||
### Fix
|
||||
|
||||
- regenerate catalog and update template
|
||||
|
||||
|
||||
|
||||
## [clickhouse-0.0.10](https://github.com/truecharts/apps/compare/clickhouse-0.0.8...clickhouse-0.0.10) (2022-07-14)
|
||||
|
||||
### Fix
|
||||
|
||||
- bump to ensure .helmignore is present on all Charts
|
||||
|
||||
|
||||
|
||||
## [clickhouse-0.0.8](https://github.com/truecharts/apps/compare/clickhouse-0.0.6...clickhouse-0.0.8) (2022-07-12)
|
||||
|
||||
### Chore
|
||||
|
||||
- update icons ([#3156](https://github.com/truecharts/apps/issues/3156))
|
||||
- bump to cleanup old docs and use correct icon urls
|
||||
|
||||
|
||||
|
||||
## [clickhouse-0.0.6](https://github.com/truecharts/apps/compare/clickhouse-0.0.5...clickhouse-0.0.6) (2022-07-12)
|
||||
|
||||
### Chore
|
||||
|
||||
- bump to regenerate documentation
|
||||
- update docker general non-major ([#3150](https://github.com/truecharts/apps/issues/3150))
|
||||
|
||||
|
||||
|
||||
<a name="clickhouse-0.0.5"></a>
|
||||
### [clickhouse-0.0.5](https://github.com/truecharts/apps/compare/clickhouse-0.0.4...clickhouse-0.0.5) (2022-07-11)
|
||||
|
||||
|
||||
|
||||
<a name="clickhouse-0.0.4"></a>
|
||||
### [clickhouse-0.0.4](https://github.com/truecharts/apps/compare/clickhouse-0.0.3...clickhouse-0.0.4) (2022-07-11)
|
||||
|
||||
#### Chore
|
||||
|
||||
* move icons into the apps folder ([#3139](https://github.com/truecharts/apps/issues/3139))
|
||||
|
||||
|
||||
|
||||
<a name="clickhouse-0.0.3"></a>
|
||||
### [clickhouse-0.0.3](https://github.com/truecharts/apps/compare/clickhouse-0.0.2...clickhouse-0.0.3) (2022-07-11)
|
||||
|
||||
|
||||
|
||||
<a name="clickhouse-0.0.2"></a>
|
||||
### [clickhouse-0.0.2](https://github.com/truecharts/apps/compare/clickhouse-0.0.1...clickhouse-0.0.2) (2022-07-11)
|
||||
|
||||
#### Chore
|
||||
|
||||
* Auto-update chart README [skip ci]
|
||||
|
||||
#### Fix
|
||||
|
||||
* Fix ClickHouse upstream repo ([#3134](https://github.com/truecharts/apps/issues/3134))
|
||||
|
||||
|
||||
|
||||
<a name="clickhouse-0.0.1"></a>
|
||||
### clickhouse-0.0.1 (2022-07-10)
|
||||
|
||||
#### Feat
|
||||
|
||||
* Add ClickHouse ([#3060](https://github.com/truecharts/apps/issues/3060))
|
||||
@@ -1,30 +0,0 @@
|
||||
apiVersion: v2
|
||||
appVersion: "22.7.1.248"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 10.4.8
|
||||
deprecated: false
|
||||
description: ClickHouse is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP).
|
||||
home: https://github.com/truecharts/charts/tree/master/charts/dependency/clickhouse
|
||||
icon: https://truecharts.org/img/chart-icons/clickhouse.png
|
||||
keywords:
|
||||
- database
|
||||
- clickhouse
|
||||
- sql
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
maintainers:
|
||||
- email: [email protected]
|
||||
name: TrueCharts
|
||||
url: https://truecharts.org
|
||||
name: clickhouse
|
||||
sources:
|
||||
- https://clickhouse.com/
|
||||
- https://hub.docker.com/r/yandex/clickhouse-server
|
||||
type: application
|
||||
version: 1.0.4
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- database
|
||||
truecharts.org/SCALE-support: "true"
|
||||
truecharts.org/grade: U
|
||||
@@ -1,108 +0,0 @@
|
||||
# clickhouse
|
||||
|
||||
  
|
||||
|
||||
ClickHouse is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP).
|
||||
|
||||
TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
|
||||
|
||||
This readme is just an automatically generated general guide on installing our Helm Charts and Apps.
|
||||
For more information, please click here: [clickhouse](https://truecharts.org/docs/charts/stable/clickhouse)
|
||||
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://clickhouse.com/>
|
||||
* <https://hub.docker.com/r/yandex/clickhouse-server>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://library-charts.truecharts.org | common | 10.4.8 |
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
### TrueNAS SCALE
|
||||
|
||||
To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/02-Installing-an-App/).
|
||||
|
||||
### Helm
|
||||
|
||||
To install the chart with the release name `clickhouse`
|
||||
|
||||
```console
|
||||
helm repo add TrueCharts https://helm.truecharts.org
|
||||
helm repo update
|
||||
helm install clickhouse TrueCharts/clickhouse
|
||||
```
|
||||
|
||||
## Uninstall
|
||||
|
||||
### TrueNAS SCALE
|
||||
|
||||
**Upgrading, Rolling Back and Uninstalling the Chart**
|
||||
|
||||
To upgrade, rollback or delete this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/04-Upgrade-rollback-delete-an-App/).
|
||||
|
||||
### Helm
|
||||
|
||||
To uninstall the `clickhouse` deployment
|
||||
|
||||
```console
|
||||
helm uninstall clickhouse
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### Helm
|
||||
|
||||
#### Available Settings
|
||||
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
||||
|
||||
#### Configure using the Commandline
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||
|
||||
```console
|
||||
helm install clickhouse \
|
||||
--set env.TZ="America/New York" \
|
||||
TrueCharts/clickhouse
|
||||
```
|
||||
|
||||
#### Configure using a yaml file
|
||||
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install clickhouse TrueCharts/clickhouse -f values.yaml
|
||||
```
|
||||
|
||||
#### Connecting to other apps
|
||||
|
||||
If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our [Linking Apps Internally](https://truecharts.org/docs/manual/Quick-Start%20Guides/06-linking-apps/) quick-start guide.
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ).
|
||||
- See the [Website](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
|
||||
|
||||
---
|
||||
|
||||
## Sponsor TrueCharts
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!
|
||||
|
||||
---
|
||||
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.1 KiB |
@@ -1,298 +0,0 @@
|
||||
# Include{groups}
|
||||
questions:
|
||||
- variable: portal
|
||||
group: "Container Image"
|
||||
label: "Configure Portal Button"
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable"
|
||||
description: "enable the portal button"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: boolean
|
||||
default: false
|
||||
# Include{global}
|
||||
- variable: controller
|
||||
group: "Controller"
|
||||
label: ""
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: advanced
|
||||
label: "Show Advanced Controller Settings"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: type
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Controller Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "statefulset"
|
||||
required: true
|
||||
enum:
|
||||
- value: "deployment"
|
||||
description: "Deployment"
|
||||
- value: "statefulset"
|
||||
description: "Statefulset"
|
||||
- value: "daemonset"
|
||||
description: "Daemonset"
|
||||
- variable: replicas
|
||||
description: "Number of desired pod replicas"
|
||||
label: "Desired Replicas"
|
||||
schema:
|
||||
type: int
|
||||
default: 1
|
||||
required: true
|
||||
- variable: strategy
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Update Strategy"
|
||||
schema:
|
||||
type: string
|
||||
default: "RollingUpdate"
|
||||
required: true
|
||||
enum:
|
||||
- value: "Recreate"
|
||||
description: "Recreate: Kill existing pods before creating new ones"
|
||||
- value: "RollingUpdate"
|
||||
description: "RollingUpdate: Create new pods and then kill old ones"
|
||||
- value: "OnDelete"
|
||||
description: "(Legacy) OnDelete: ignore .spec.template changes"
|
||||
# Include{controllerExpert}
|
||||
|
||||
# Include{containerConfig}
|
||||
|
||||
- variable: clickhouseDatabase
|
||||
group: "App Configuration"
|
||||
label: "Database Name"
|
||||
schema:
|
||||
type: string
|
||||
default: "test"
|
||||
required: true
|
||||
- variable: clickhouseUsername
|
||||
group: "App Configuration"
|
||||
label: "Database User"
|
||||
schema:
|
||||
type: string
|
||||
default: "test"
|
||||
required: true
|
||||
- variable: clickhousePassword
|
||||
group: "App Configuration"
|
||||
label: "Database Password"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
private: true
|
||||
- variable: clickhouseDefaultAccessManagement
|
||||
group: "App Configuration"
|
||||
label: "Default Access Management"
|
||||
schema:
|
||||
type: int
|
||||
default: 0
|
||||
required: true
|
||||
enum:
|
||||
- value: 0
|
||||
description: "Disabled"
|
||||
- value: 1
|
||||
description: "Enabled"
|
||||
|
||||
- variable: service
|
||||
group: "Networking and Services"
|
||||
label: "Configure Service(s)"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service"
|
||||
description: "The Primary service on which the healthcheck runs, often the webUI"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
# Include{serviceSelector}
|
||||
- variable: main
|
||||
label: "Main Service Port Configuration"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: port
|
||||
label: "Port"
|
||||
description: "This port exposes the container port on the service"
|
||||
schema:
|
||||
type: int
|
||||
default: 8123
|
||||
required: true
|
||||
- variable: advanced
|
||||
label: "Show Advanced settings"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: protocol
|
||||
label: "Port Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "HTTP"
|
||||
enum:
|
||||
- value: HTTP
|
||||
description: "HTTP"
|
||||
- value: "HTTPS"
|
||||
description: "HTTPS"
|
||||
- value: TCP
|
||||
description: "TCP"
|
||||
- value: "UDP"
|
||||
description: "UDP"
|
||||
- variable: nodePort
|
||||
label: "Node Port (Optional)"
|
||||
description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
|
||||
schema:
|
||||
type: int
|
||||
min: 9000
|
||||
max: 65535
|
||||
- variable: targetPort
|
||||
label: "Target Port"
|
||||
description: "The internal(!) port on the container the Application runs on"
|
||||
schema:
|
||||
type: int
|
||||
default: 8123
|
||||
|
||||
- variable: serviceexpert
|
||||
group: "Networking and Services"
|
||||
label: "Show Expert Config"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostNetwork
|
||||
group: "Networking and Services"
|
||||
label: "Host-Networking (Complicated)"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
# Include{serviceExpert}
|
||||
|
||||
# Include{serviceList}
|
||||
|
||||
- variable: volumeClaimTemplates
|
||||
label: "Integrated Persistent Storage"
|
||||
description: "Integrated Persistent Storage"
|
||||
group: "Storage and Persistence"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: data
|
||||
label: Data Storage
|
||||
description: Stores the ClickHouse Data
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
# Include{persistenceBasic}
|
||||
# Include{persistenceAdvanced}
|
||||
- variable: config-server
|
||||
label: Server Configuration Storage
|
||||
description: Files with Server Settings Adjustments
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
# Include{persistenceBasic}
|
||||
# Include{persistenceAdvanced}
|
||||
- variable: config-users
|
||||
label: Users Configuration Storage
|
||||
description: Files with Users Settings Adjustments
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
# Include{persistenceBasic}
|
||||
# Include{persistenceAdvanced}
|
||||
|
||||
# Include{persistenceList}
|
||||
|
||||
# Include{ingressList}
|
||||
|
||||
# Include{security}
|
||||
|
||||
- variable: advancedSecurity
|
||||
label: "Show Advanced Security Settings"
|
||||
group: "Security and Permissions"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: securityContext
|
||||
label: "Security Context"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Privileged mode"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: readOnlyRootFilesystem
|
||||
label: "ReadOnly Root Filesystem"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: allowPrivilegeEscalation
|
||||
label: "Allow Privilege Escalation"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: runAsNonRoot
|
||||
label: "runAsNonRoot"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
# Include{securityContextAdvanced}
|
||||
|
||||
- variable: podSecurityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Pod Security Context"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: runAsUser
|
||||
label: "runAsUser"
|
||||
description: "The UserID of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
- variable: runAsGroup
|
||||
label: "runAsGroup"
|
||||
description: "The groupID this App of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
- variable: fsGroup
|
||||
label: "fsGroup"
|
||||
description: "The group that should own ALL storage."
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
# Include{podSecurityContextAdvanced}
|
||||
|
||||
# Include{resources}
|
||||
|
||||
# Include{advanced}
|
||||
|
||||
# Include{addons}
|
||||
@@ -1 +0,0 @@
|
||||
{{ include "tc.common.loader.all" . }}
|
||||
@@ -1,67 +0,0 @@
|
||||
image:
|
||||
repository: tccr.io/truecharts/clickhouse
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 22.7.1.2484@sha256:126149cf68734feef6f5a7f9799873718d4c2b394aef39a53d2d016705f66478
|
||||
|
||||
controller:
|
||||
type: statefulset
|
||||
strategy: RollingUpdate
|
||||
rollingUpdate:
|
||||
unavailable: 1
|
||||
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: false
|
||||
# Optional capabilities advanced ClickHouse features. See also:
|
||||
# https://github.com/ClickHouse/ClickHouse/blob/master/docker/server/README.md#linux-capabilities
|
||||
# https://kb.altinity.com/altinity-kb-setup-and-maintenance/altinity-kb-clickhouse-in-docker/
|
||||
# https://github.com/ClickHouse/ClickHouse/blob/b844c36a9d5e76300a88b4f49e6debccf1ad22e4/programs/install/Install.cpp#L793-L804
|
||||
# capabilities:
|
||||
# add:
|
||||
# - IPC_LOCK
|
||||
# - NET_ADMIN
|
||||
# - SYS_NICE
|
||||
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 8123
|
||||
protocol: HTTP
|
||||
targetPort: 8123
|
||||
|
||||
volumeClaimTemplates:
|
||||
data:
|
||||
enabled: true
|
||||
mountPath: /var/lib/clickhouse
|
||||
|
||||
probes:
|
||||
liveness:
|
||||
type: HTTP
|
||||
path: /ping
|
||||
readiness:
|
||||
type: HTTP
|
||||
path: /ping
|
||||
startup:
|
||||
type: HTTP
|
||||
path: /ping
|
||||
|
||||
clickhouseDatabase: "test"
|
||||
clickhouseUsername: "test"
|
||||
clickhousePassword: "testpass"
|
||||
clickhouseDefaultAccessManagement: 0
|
||||
existingSecret: ""
|
||||
|
||||
secret:
|
||||
credentials:
|
||||
enabled: true
|
||||
data:
|
||||
clickhouse-password: '{{ ( .Values.clickhousePassword | default "empty" ) }}'
|
||||
|
||||
env:
|
||||
CLICKHOUSE_DB: "{{ .Values.clickhouseDatabase }}"
|
||||
CLICKHOUSE_USER: "{{ .Values.clickhouseUsername }}"
|
||||
CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: "{{ .Values.clickhouseDefaultAccessManagement }}"
|
||||
CLICKHOUSE_PASSWORD:
|
||||
secretKeyRef:
|
||||
name: '{{ .Values.existingSecret | default ( printf "%s-credentials" ( include "tc.common.names.fullname" . ) ) }}'
|
||||
key: "clickhouse-password"
|
||||
@@ -1,30 +0,0 @@
|
||||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
# OWNERS file for Kubernetes
|
||||
OWNERS
|
||||
# helm-docs templates
|
||||
*.gotmpl
|
||||
# docs folder
|
||||
/docs
|
||||
# icon
|
||||
icon.png
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,31 +0,0 @@
|
||||
apiVersion: v2
|
||||
appVersion: "22.05.4.1"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 10.4.8
|
||||
deprecated: false
|
||||
description: "An awesome Online Office suite."
|
||||
home: https://github.com/truecharts/charts/tree/master/charts/dependency/collabora-online
|
||||
icon: https://truecharts.org/img/chart-icons/collabora-online.png
|
||||
keywords:
|
||||
- collabora-online
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
maintainers:
|
||||
- email: [email protected]
|
||||
name: TrueCharts
|
||||
url: https://truecharts.org
|
||||
name: collabora-online
|
||||
sources:
|
||||
- https://hub.docker.com/r/collabora/code
|
||||
- https://sdk.collaboraonline.com/contents.html
|
||||
- https://github.com/CollaboraOnline/online/tree/master/kubernetes/helm
|
||||
type: application
|
||||
version: 12.1.23
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- office
|
||||
- documents
|
||||
- productivity
|
||||
truecharts.org/SCALE-support: "true"
|
||||
truecharts.org/grade: U
|
||||
@@ -1,109 +0,0 @@
|
||||
# collabora-online
|
||||
|
||||
  
|
||||
|
||||
An awesome Online Office suite.
|
||||
|
||||
TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
|
||||
|
||||
This readme is just an automatically generated general guide on installing our Helm Charts and Apps.
|
||||
For more information, please click here: [collabora-online](https://truecharts.org/docs/charts/stable/collabora-online)
|
||||
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://hub.docker.com/r/collabora/code>
|
||||
* <https://sdk.collaboraonline.com/contents.html>
|
||||
* <https://github.com/CollaboraOnline/online/tree/master/kubernetes/helm>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://library-charts.truecharts.org | common | 10.4.8 |
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
### TrueNAS SCALE
|
||||
|
||||
To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/02-Installing-an-App/).
|
||||
|
||||
### Helm
|
||||
|
||||
To install the chart with the release name `collabora-online`
|
||||
|
||||
```console
|
||||
helm repo add TrueCharts https://helm.truecharts.org
|
||||
helm repo update
|
||||
helm install collabora-online TrueCharts/collabora-online
|
||||
```
|
||||
|
||||
## Uninstall
|
||||
|
||||
### TrueNAS SCALE
|
||||
|
||||
**Upgrading, Rolling Back and Uninstalling the Chart**
|
||||
|
||||
To upgrade, rollback or delete this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/04-Upgrade-rollback-delete-an-App/).
|
||||
|
||||
### Helm
|
||||
|
||||
To uninstall the `collabora-online` deployment
|
||||
|
||||
```console
|
||||
helm uninstall collabora-online
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### Helm
|
||||
|
||||
#### Available Settings
|
||||
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
||||
|
||||
#### Configure using the Commandline
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||
|
||||
```console
|
||||
helm install collabora-online \
|
||||
--set env.TZ="America/New York" \
|
||||
TrueCharts/collabora-online
|
||||
```
|
||||
|
||||
#### Configure using a yaml file
|
||||
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install collabora-online TrueCharts/collabora-online -f values.yaml
|
||||
```
|
||||
|
||||
#### Connecting to other apps
|
||||
|
||||
If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our [Linking Apps Internally](https://truecharts.org/docs/manual/Quick-Start%20Guides/06-linking-apps/) quick-start guide.
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ).
|
||||
- See the [Website](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
|
||||
|
||||
---
|
||||
|
||||
## Sponsor TrueCharts
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!
|
||||
|
||||
---
|
||||
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
@@ -1,9 +0,0 @@
|
||||
# Installation Notes
|
||||
|
||||
If you don't enable `Reverse Proxy` on `Collabora` (It's not recommended as it is unsecure), in order for it to work you have to
|
||||
|
||||
- Remove `-o:ssl.termination=true -o:ssl.enable=false` from `Extra Parameters`.
|
||||
- Set `Server Name` to `hostIP:port` (The port number you set for `NodePort`)
|
||||
- Set `Service type` to `NodePort`
|
||||
- Set `Port type` to `HTTPS`
|
||||
- Disable certificate validation in the app you are going to use it. (eg. Nextcloud have a checkbox under Collabora's URL to disable Cert Validation)
|
||||
@@ -1,24 +0,0 @@
|
||||
# Input Validation
|
||||
|
||||
**`Server Name`**
|
||||
Accepted formats are:
|
||||
|
||||
- Single FQDN (eg. `collabora.mydomain.com` or `mydomain.com`)
|
||||
- Single IP (eg. `10.10.10.11`)
|
||||
|
||||
_Same rules apply for FQDN as in the section above_
|
||||
|
||||
Regex used to match this: `^((([a-z\d](-?[a-z\d]){0,62})\.)*(([a-z\d](-?[a-z\d]){0,62})\.)([a-z](-?[a-z\d]){1,62})|((\d{1,3}\.){3}\d{1,3}))$`
|
||||
You can try live [here](https://regex101.com/r/mICKDp/1)
|
||||
|
||||
**`Password for WebUI`**
|
||||
Accepted formats are:
|
||||
|
||||
- Letters, Numbers, Symbols, Minimum 8 characters (eg. `dg523$*a`) - It accepts `a-z`, `A-Z`, `0-9` and `!@#$%^&*?`
|
||||
|
||||
Regex used to match those: `[a-zA-Z0-9!@#$%^&*?]{8,}`
|
||||
You can try live [here](https://regex101.com/r/ef3V88/1)
|
||||
|
||||
---
|
||||
|
||||
_If you find a field that you think it needs validation, please open an issue on github_
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 16 KiB |
@@ -1,322 +0,0 @@
|
||||
# Include{groups}
|
||||
portals:
|
||||
open:
|
||||
protocols:
|
||||
- "$kubernetes-resource_configmap_portal_protocol"
|
||||
host:
|
||||
- "$kubernetes-resource_configmap_portal_host"
|
||||
ports:
|
||||
- "$kubernetes-resource_configmap_portal_port"
|
||||
path: "/"
|
||||
admin:
|
||||
protocols:
|
||||
- "$kubernetes-resource_configmap_portal_protocol"
|
||||
host:
|
||||
- "$kubernetes-resource_configmap_portal_host"
|
||||
ports:
|
||||
- "$kubernetes-resource_configmap_portal_port"
|
||||
path: "/browser/dist/admin/admin.html"
|
||||
questions:
|
||||
- variable: portal
|
||||
group: "Container Image"
|
||||
label: "Configure Portal Button"
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable"
|
||||
description: "enable the portal button"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: boolean
|
||||
default: true
|
||||
# Include{global}
|
||||
- variable: controller
|
||||
group: "Controller"
|
||||
label: ""
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: advanced
|
||||
label: "Show Advanced Controller Settings"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: type
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Controller Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "deployment"
|
||||
required: true
|
||||
enum:
|
||||
- value: "deployment"
|
||||
description: "Deployment"
|
||||
- value: "statefulset"
|
||||
description: "Statefulset"
|
||||
- value: "daemonset"
|
||||
description: "Daemonset"
|
||||
- variable: replicas
|
||||
description: "Number of desired pod replicas"
|
||||
label: "Desired Replicas"
|
||||
schema:
|
||||
type: int
|
||||
default: 1
|
||||
required: true
|
||||
- variable: strategy
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Update Strategy"
|
||||
schema:
|
||||
type: string
|
||||
default: "RollingUpdate"
|
||||
required: true
|
||||
enum:
|
||||
- value: "Recreate"
|
||||
description: "Recreate: Kill existing pods before creating new ones"
|
||||
- value: "RollingUpdate"
|
||||
description: "RollingUpdate: Create new pods and then kill old ones"
|
||||
- value: "OnDelete"
|
||||
description: "(Legacy) OnDelete: ignore .spec.template changes"
|
||||
# Include{controllerExpert}
|
||||
- variable: secretEnv
|
||||
group: "Container Configuration"
|
||||
label: "Image Secrets"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: username
|
||||
label: "Username for WebUI"
|
||||
schema:
|
||||
type: string
|
||||
default: "admin"
|
||||
required: true
|
||||
- variable: password
|
||||
label: "Password for WebUI"
|
||||
schema:
|
||||
type: string
|
||||
valid_chars: "[a-zA-Z0-9!@#$%^&*?]{8,}"
|
||||
private: true
|
||||
required: true
|
||||
default: "REPLACETHIS"
|
||||
- variable: env
|
||||
group: "Container Configuration"
|
||||
label: "Image Environment"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: aliasgroup1
|
||||
label: "aliasgroup1"
|
||||
description: "Comma separated hosts list."
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: dictionaries
|
||||
label: "Dictionaries to use, leave empty to use all"
|
||||
schema:
|
||||
type: string
|
||||
default: "de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru"
|
||||
- variable: extra_params
|
||||
label: "Extra Parameters to add"
|
||||
description: 'e.g. "--o:welcome.enable=false", See more on /etc/loolwsd/loolwsd.xml. Separate params with space'
|
||||
schema:
|
||||
type: string
|
||||
default: "--o:welcome.enable=false --o:logging.level=information --o:user_interface.mode=notebookbar --o:ssl.termination=true --o:ssl.enable=false"
|
||||
- variable: DONT_GEN_SSL_CERT
|
||||
label: "DONT_GEN_SSL_CERT"
|
||||
description: "When set to true it does NOT generate an SSL cert, you have to use your own"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: server_name
|
||||
label: "Server Name"
|
||||
description: "When this environment variable is set (is not empty), then its value will be used as server name in /etc/loolwsd/loolwsd.xml. Without this, CODE is not delivering a correct host for the websocket connection in case of a proxy in front of it."
|
||||
schema:
|
||||
type: string
|
||||
default: 'collabora.domain.tld'
|
||||
valid_chars: '^((([a-z\d](-?[a-z\d]){0,62})\.)*(([a-z\d](-?[a-z\d]){0,62})\.)([a-z](-?[a-z\d]){1,62})|((\d{1,3}\.){3}\d{1,3}))$'
|
||||
|
||||
# Include{containerConfig}
|
||||
|
||||
- variable: service
|
||||
group: "Networking and Services"
|
||||
label: "Configure Service(s)"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service"
|
||||
description: "The Primary service on which the healthcheck runs, often the webUI"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
# Include{serviceSelector}
|
||||
- variable: main
|
||||
label: "Main Service Port Configuration"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: port
|
||||
label: "Port"
|
||||
description: "This port exposes the container port on the service"
|
||||
schema:
|
||||
type: int
|
||||
default: 10105
|
||||
required: true
|
||||
- variable: advanced
|
||||
label: "Show Advanced settings"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: protocol
|
||||
label: "Port Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "HTTP"
|
||||
enum:
|
||||
- value: HTTP
|
||||
description: "HTTP"
|
||||
- value: "HTTPS"
|
||||
description: "HTTPS"
|
||||
- value: TCP
|
||||
description: "TCP"
|
||||
- value: "UDP"
|
||||
description: "UDP"
|
||||
- variable: nodePort
|
||||
label: "Node Port (Optional)"
|
||||
description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
|
||||
schema:
|
||||
type: int
|
||||
min: 9000
|
||||
max: 65535
|
||||
- variable: targetPort
|
||||
label: "Target Port"
|
||||
description: "The internal(!) port on the container the Application runs on"
|
||||
schema:
|
||||
type: int
|
||||
default: 9980
|
||||
|
||||
- variable: serviceexpert
|
||||
group: "Networking and Services"
|
||||
label: "Show Expert Config"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostNetwork
|
||||
group: "Networking and Services"
|
||||
label: "Host-Networking (Complicated)"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
# Include{serviceExpert}
|
||||
|
||||
# Include{serviceList}
|
||||
|
||||
# Include{persistenceList}
|
||||
|
||||
- variable: ingress
|
||||
label: ""
|
||||
group: "Ingress"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Ingress"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
# Include{ingressDefault}
|
||||
|
||||
# Include{ingressTLS}
|
||||
|
||||
# Include{ingressTraefik}
|
||||
|
||||
# Include{ingressExpert}
|
||||
|
||||
# Include{ingressList}
|
||||
# Include{security}
|
||||
|
||||
- variable: advancedSecurity
|
||||
label: "Show Advanced Security Settings"
|
||||
group: "Security and Permissions"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: securityContext
|
||||
label: "Security Context"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Privileged mode"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: readOnlyRootFilesystem
|
||||
label: "ReadOnly Root Filesystem"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: allowPrivilegeEscalation
|
||||
label: "Allow Privilege Escalation"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: runAsNonRoot
|
||||
label: "runAsNonRoot"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
# Include{securityContextAdvanced}
|
||||
|
||||
- variable: podSecurityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Pod Security Context"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: runAsUser
|
||||
label: "runAsUser"
|
||||
description: "The UserID of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 104
|
||||
- variable: runAsGroup
|
||||
label: "runAsGroup"
|
||||
description: "The groupID this App of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 106
|
||||
- variable: fsGroup
|
||||
label: "fsGroup"
|
||||
description: "The group that should own ALL storage."
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
# Include{podSecurityContextAdvanced}
|
||||
|
||||
# Include{resources}
|
||||
|
||||
# Include{advanced}
|
||||
|
||||
# Include{addons}
|
||||
@@ -1 +0,0 @@
|
||||
{{ include "tc.common.loader.all" . }}
|
||||
@@ -1,51 +0,0 @@
|
||||
image:
|
||||
repository: tccr.io/truecharts/collabora
|
||||
tag: v22.05.4.1.1@sha256:4b7c9b3583309d4717fb64fa1e5115695abd7e98db4bc02dff0a24cf3ac74b6c
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
controller:
|
||||
# -- Set the controller type.
|
||||
# Valid options are deployment, daemonset or statefulset
|
||||
type: statefulset
|
||||
# -- Number of desired pods
|
||||
replicas: 1
|
||||
# -- Set the controller upgrade strategy
|
||||
# For Deployments, valid values are Recreate (default) and RollingUpdate.
|
||||
# For StatefulSets, valid values are OnDelete and RollingUpdate (default).
|
||||
# DaemonSets ignore this.
|
||||
strategy: RollingUpdate
|
||||
rollingUpdate:
|
||||
# -- Set deployment RollingUpdate max unavailable
|
||||
unavailable: 1
|
||||
# -- Set deployment RollingUpdate max surge
|
||||
surge:
|
||||
# -- Set statefulset RollingUpdate partition
|
||||
partition:
|
||||
# -- ReplicaSet revision history limit
|
||||
revisionHistoryLimit: 3
|
||||
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: false
|
||||
allowPrivilegeEscalation: true
|
||||
|
||||
podSecurityContext:
|
||||
runAsUser: 104
|
||||
runAsGroup: 106
|
||||
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 10105
|
||||
targetPort: 9980
|
||||
|
||||
secretEnv:
|
||||
username: ""
|
||||
password: ""
|
||||
|
||||
env:
|
||||
aliasgroup1: ""
|
||||
dictionaries: "de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru"
|
||||
extra_params: "--o:welcome.enable=false --o:logging.level=information --o:user_interface.mode=notebookbar --o:ssl.termination=true --o:ssl.enable=false "
|
||||
server_name: "collabora.domain.tld"
|
||||
DONT_GEN_SSL_CERT: true
|
||||
@@ -1,30 +0,0 @@
|
||||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
# OWNERS file for Kubernetes
|
||||
OWNERS
|
||||
# helm-docs templates
|
||||
*.gotmpl
|
||||
# docs folder
|
||||
/docs
|
||||
# icon
|
||||
icon.png
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,32 +0,0 @@
|
||||
apiVersion: v2
|
||||
appVersion: "10.8.3"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 10.4.8
|
||||
deprecated: false
|
||||
description: Fast, reliable, scalable, and easy to use open-source relational database system.
|
||||
home: https://github.com/truecharts/charts/tree/master/charts/dependency/mariadb
|
||||
icon: https://truecharts.org/img/chart-icons/mariadb.png
|
||||
keywords:
|
||||
- mariadb
|
||||
- mysql
|
||||
- database
|
||||
- sql
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
maintainers:
|
||||
- email: [email protected]
|
||||
name: TrueCharts
|
||||
url: https://truecharts.org
|
||||
name: mariadb
|
||||
sources:
|
||||
- https://github.com/bitnami/bitnami-docker-mariadb
|
||||
- https://github.com/prometheus/mysqld_exporter
|
||||
- https://mariadb.org
|
||||
type: application
|
||||
version: 3.0.46
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- database
|
||||
truecharts.org/SCALE-support: "true"
|
||||
truecharts.org/grade: U
|
||||
@@ -1,109 +0,0 @@
|
||||
# mariadb
|
||||
|
||||
  
|
||||
|
||||
Fast, reliable, scalable, and easy to use open-source relational database system.
|
||||
|
||||
TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
|
||||
|
||||
This readme is just an automatically generated general guide on installing our Helm Charts and Apps.
|
||||
For more information, please click here: [mariadb](https://truecharts.org/docs/charts/stable/mariadb)
|
||||
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://github.com/bitnami/bitnami-docker-mariadb>
|
||||
* <https://github.com/prometheus/mysqld_exporter>
|
||||
* <https://mariadb.org>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://library-charts.truecharts.org | common | 10.4.8 |
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
### TrueNAS SCALE
|
||||
|
||||
To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/02-Installing-an-App/).
|
||||
|
||||
### Helm
|
||||
|
||||
To install the chart with the release name `mariadb`
|
||||
|
||||
```console
|
||||
helm repo add TrueCharts https://helm.truecharts.org
|
||||
helm repo update
|
||||
helm install mariadb TrueCharts/mariadb
|
||||
```
|
||||
|
||||
## Uninstall
|
||||
|
||||
### TrueNAS SCALE
|
||||
|
||||
**Upgrading, Rolling Back and Uninstalling the Chart**
|
||||
|
||||
To upgrade, rollback or delete this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/04-Upgrade-rollback-delete-an-App/).
|
||||
|
||||
### Helm
|
||||
|
||||
To uninstall the `mariadb` deployment
|
||||
|
||||
```console
|
||||
helm uninstall mariadb
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### Helm
|
||||
|
||||
#### Available Settings
|
||||
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
||||
|
||||
#### Configure using the Commandline
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||
|
||||
```console
|
||||
helm install mariadb \
|
||||
--set env.TZ="America/New York" \
|
||||
TrueCharts/mariadb
|
||||
```
|
||||
|
||||
#### Configure using a yaml file
|
||||
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install mariadb TrueCharts/mariadb -f values.yaml
|
||||
```
|
||||
|
||||
#### Connecting to other apps
|
||||
|
||||
If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our [Linking Apps Internally](https://truecharts.org/docs/manual/Quick-Start%20Guides/06-linking-apps/) quick-start guide.
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ).
|
||||
- See the [Website](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
|
||||
|
||||
---
|
||||
|
||||
## Sponsor TrueCharts
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!
|
||||
|
||||
---
|
||||
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 8.3 KiB |
@@ -1,274 +0,0 @@
|
||||
# Include{groups}
|
||||
questions:
|
||||
- variable: portal
|
||||
group: "Container Image"
|
||||
label: "Configure Portal Button"
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable"
|
||||
description: "enable the portal button"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: boolean
|
||||
default: false
|
||||
# Include{global}
|
||||
- variable: controller
|
||||
group: "Controller"
|
||||
label: ""
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: advanced
|
||||
label: "Show Advanced Controller Settings"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: type
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Controller Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "statefulset"
|
||||
required: true
|
||||
enum:
|
||||
- value: "deployment"
|
||||
description: "Deployment"
|
||||
- value: "statefulset"
|
||||
description: "Statefulset"
|
||||
- value: "daemonset"
|
||||
description: "Daemonset"
|
||||
- variable: replicas
|
||||
description: "Number of desired pod replicas"
|
||||
label: "Desired Replicas"
|
||||
schema:
|
||||
type: int
|
||||
default: 1
|
||||
required: true
|
||||
- variable: strategy
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Update Strategy"
|
||||
schema:
|
||||
type: string
|
||||
default: "RollingUpdate"
|
||||
required: true
|
||||
enum:
|
||||
- value: "Recreate"
|
||||
description: "Recreate: Kill existing pods before creating new ones"
|
||||
- value: "RollingUpdate"
|
||||
description: "RollingUpdate: Create new pods and then kill old ones"
|
||||
- value: "OnDelete"
|
||||
description: "(Legacy) OnDelete: ignore .spec.template changes"
|
||||
# Include{controllerExpert}
|
||||
|
||||
# Include{containerConfig}
|
||||
|
||||
- variable: mariadbDatabase
|
||||
group: "App Configuration"
|
||||
label: "Database Name"
|
||||
schema:
|
||||
type: string
|
||||
default: "mydatabase"
|
||||
required: true
|
||||
- variable: mariadbUsername
|
||||
group: "App Configuration"
|
||||
label: "Database User"
|
||||
schema:
|
||||
type: string
|
||||
default: "mydatabaseuser"
|
||||
required: true
|
||||
- variable: mariadbPassword
|
||||
group: "App Configuration"
|
||||
label: "Database Password"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: mariadbRootPassword
|
||||
group: "App Configuration"
|
||||
label: "Root Password"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
|
||||
- variable: service
|
||||
group: "Networking and Services"
|
||||
label: "Configure Service(s)"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service"
|
||||
description: "The Primary service on which the healthcheck runs, often the webUI"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
# Include{serviceSelector}
|
||||
- variable: main
|
||||
label: "Main Service Port Configuration"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: port
|
||||
label: "Port"
|
||||
description: "This port exposes the container port on the service"
|
||||
schema:
|
||||
type: int
|
||||
default: 3306
|
||||
required: true
|
||||
- variable: advanced
|
||||
label: "Show Advanced settings"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: protocol
|
||||
label: "Port Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "TCP"
|
||||
enum:
|
||||
- value: HTTP
|
||||
description: "HTTP"
|
||||
- value: "HTTPS"
|
||||
description: "HTTPS"
|
||||
- value: TCP
|
||||
description: "TCP"
|
||||
- value: "UDP"
|
||||
description: "UDP"
|
||||
- variable: nodePort
|
||||
label: "Node Port (Optional)"
|
||||
description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
|
||||
schema:
|
||||
type: int
|
||||
min: 9000
|
||||
max: 65535
|
||||
- variable: targetPort
|
||||
label: "Target Port"
|
||||
description: "The internal(!) port on the container the Application runs on"
|
||||
schema:
|
||||
type: int
|
||||
default: 3306
|
||||
|
||||
- variable: serviceexpert
|
||||
group: "Networking and Services"
|
||||
label: "Show Expert Config"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostNetwork
|
||||
group: "Networking and Services"
|
||||
label: "Host-Networking (Complicated)"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
# Include{serviceExpert}
|
||||
|
||||
# Include{serviceList}
|
||||
|
||||
- variable: volumeClaimTemplates
|
||||
label: "Integrated Persistent Storage"
|
||||
description: "Integrated Persistent Storage"
|
||||
group: "Storage and Persistence"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: data
|
||||
label: "DB Storage"
|
||||
description: "Stores the old Application Database."
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
# Include{persistenceBasic}
|
||||
# Include{persistenceAdvanced}
|
||||
|
||||
# Include{persistenceList}
|
||||
|
||||
# Include{ingressList}
|
||||
|
||||
# Include{security}
|
||||
|
||||
- variable: advancedSecurity
|
||||
label: "Show Advanced Security Settings"
|
||||
group: "Security and Permissions"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: securityContext
|
||||
label: "Security Context"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Privileged mode"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: readOnlyRootFilesystem
|
||||
label: "ReadOnly Root Filesystem"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: allowPrivilegeEscalation
|
||||
label: "Allow Privilege Escalation"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: runAsNonRoot
|
||||
label: "runAsNonRoot"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
# Include{securityContextAdvanced}
|
||||
|
||||
- variable: podSecurityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Pod Security Context"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: runAsUser
|
||||
label: "runAsUser"
|
||||
description: "The UserID of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
- variable: runAsGroup
|
||||
label: "runAsGroup"
|
||||
description: "The groupID this App of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 0
|
||||
- variable: fsGroup
|
||||
label: "fsGroup"
|
||||
description: "The group that should own ALL storage."
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
# Include{podSecurityContextAdvanced}
|
||||
|
||||
# Include{resources}
|
||||
|
||||
# Include{advanced}
|
||||
|
||||
# Include{addons}
|
||||
@@ -1 +0,0 @@
|
||||
{{ include "tc.common.loader.all" . }}
|
||||
@@ -1,121 +0,0 @@
|
||||
image:
|
||||
repository: tccr.io/truecharts/mariadb
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v10.8.3@sha256:9fa7449c930811c7c0cd28a3d9a93d0d1de1008459d829f4407967fae9db7e30
|
||||
|
||||
controller:
|
||||
# -- Set the controller type.
|
||||
# Valid options are deployment, daemonset or statefulset
|
||||
type: statefulset
|
||||
# -- Number of desired pods
|
||||
replicas: 1
|
||||
# -- Set the controller upgrade strategy
|
||||
# For Deployments, valid values are Recreate (default) and RollingUpdate.
|
||||
# For StatefulSets, valid values are OnDelete and RollingUpdate (default).
|
||||
# DaemonSets ignore this.
|
||||
strategy: RollingUpdate
|
||||
rollingUpdate:
|
||||
# -- Set deployment RollingUpdate max unavailable
|
||||
unavailable: 1
|
||||
# -- Set deployment RollingUpdate max surge
|
||||
surge:
|
||||
# -- Set statefulset RollingUpdate partition
|
||||
partition:
|
||||
# -- ReplicaSet revision history limit
|
||||
revisionHistoryLimit: 3
|
||||
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 3306
|
||||
targetPort: 3306
|
||||
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: false
|
||||
|
||||
secret:
|
||||
credentials:
|
||||
enabled: true
|
||||
data:
|
||||
mariadb-password: '{{ ( .Values.mariadbPassword | default "empty" ) }}'
|
||||
mariadb-root-password: '{{ ( .Values.mariadbRootPassword | default "empty" ) }}'
|
||||
|
||||
env:
|
||||
MARIADB_PASSWORD:
|
||||
secretKeyRef:
|
||||
name: '{{ .Values.existingSecret | default ( printf "%s-credentials" ( include "tc.common.names.fullname" . ) ) }}'
|
||||
key: "mariadb-password"
|
||||
MARIADB_ROOT_PASSWORD:
|
||||
secretKeyRef:
|
||||
name: '{{ .Values.existingSecret | default ( printf "%s-credentials" ( include "tc.common.names.fullname" . ) ) }}'
|
||||
key: "mariadb-root-password"
|
||||
MARIADB_USER: "{{ .Values.mariadbUsername }}"
|
||||
MARIADB_DATABASE: "{{ .Values.mariadbDatabase }}"
|
||||
|
||||
podSecurityContext:
|
||||
runAsGroup: 0
|
||||
|
||||
volumeClaimTemplates:
|
||||
data:
|
||||
enabled: true
|
||||
mountPath: "/bitnami/mariadb"
|
||||
|
||||
# -- Probe configuration
|
||||
# -- [[ref]](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)
|
||||
# @default -- See below
|
||||
probes:
|
||||
# -- Liveness probe configuration
|
||||
# @default -- See below
|
||||
liveness:
|
||||
# -- Enable the liveness probe
|
||||
enabled: true
|
||||
# -- Set this to `true` if you wish to specify your own livenessProbe
|
||||
custom: true
|
||||
# -- The spec field contains the values for the default livenessProbe.
|
||||
# If you selected `custom: true`, this field holds the definition of the livenessProbe.
|
||||
# @default -- See below
|
||||
spec:
|
||||
exec:
|
||||
command:
|
||||
- /bin/bash
|
||||
- -ec
|
||||
- "until /opt/bitnami/scripts/mariadb/healthcheck.sh; do sleep 2; done"
|
||||
|
||||
# -- Redainess probe configuration
|
||||
# @default -- See below
|
||||
readiness:
|
||||
# -- Enable the readiness probe
|
||||
enabled: true
|
||||
# -- Set this to `true` if you wish to specify your own readinessProbe
|
||||
custom: true
|
||||
# -- The spec field contains the values for the default readinessProbe.
|
||||
# If you selected `custom: true`, this field holds the definition of the readinessProbe.
|
||||
# @default -- See below
|
||||
spec:
|
||||
exec:
|
||||
command:
|
||||
- /bin/bash
|
||||
- -ec
|
||||
- "until /opt/bitnami/scripts/mariadb/healthcheck.sh; do sleep 2; done"
|
||||
# -- Startup probe configuration
|
||||
# @default -- See below
|
||||
startup:
|
||||
# -- Enable the startup probe
|
||||
enabled: true
|
||||
custom: true
|
||||
# -- The spec field contains the values for the default livenessProbe.
|
||||
# If you selected `custom: true`, this field holds the definition of the livenessProbe.
|
||||
# @default -- See below
|
||||
spec:
|
||||
exec:
|
||||
command:
|
||||
- /bin/bash
|
||||
- -ec
|
||||
- "until /opt/bitnami/scripts/mariadb/healthcheck.sh; do sleep 2; done"
|
||||
|
||||
mariadbPassword: "testpass"
|
||||
mariadbUsername: "test"
|
||||
mariadbDatabase: "test"
|
||||
mariadbRootPassword: "testroot"
|
||||
existingSecret: ""
|
||||
@@ -1,30 +0,0 @@
|
||||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
# OWNERS file for Kubernetes
|
||||
OWNERS
|
||||
# helm-docs templates
|
||||
*.gotmpl
|
||||
# docs folder
|
||||
/docs
|
||||
# icon
|
||||
icon.png
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,31 +0,0 @@
|
||||
apiVersion: v2
|
||||
appVersion: "1.6.15"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 10.4.8
|
||||
deprecated: false
|
||||
description: Memcached is a memory-backed database caching solution
|
||||
home: https://github.com/truecharts/charts/tree/master/charts/dependency/memcached
|
||||
icon: https://truecharts.org/img/chart-icons/memcached.png
|
||||
keywords:
|
||||
- memcached
|
||||
- database
|
||||
- cache
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
maintainers:
|
||||
- email: [email protected]
|
||||
name: TrueCharts
|
||||
url: https://truecharts.org
|
||||
name: memcached
|
||||
sources:
|
||||
- https://github.com/bitnami/bitnami-docker-memcached
|
||||
- http://memcached.org/
|
||||
type: application
|
||||
version: 3.0.47
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- database
|
||||
- cache
|
||||
truecharts.org/SCALE-support: "true"
|
||||
truecharts.org/grade: U
|
||||
@@ -1,108 +0,0 @@
|
||||
# memcached
|
||||
|
||||
  
|
||||
|
||||
Memcached is a memory-backed database caching solution
|
||||
|
||||
TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
|
||||
|
||||
This readme is just an automatically generated general guide on installing our Helm Charts and Apps.
|
||||
For more information, please click here: [memcached](https://truecharts.org/docs/charts/stable/memcached)
|
||||
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://github.com/bitnami/bitnami-docker-memcached>
|
||||
* <http://memcached.org/>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://library-charts.truecharts.org | common | 10.4.8 |
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
### TrueNAS SCALE
|
||||
|
||||
To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/02-Installing-an-App/).
|
||||
|
||||
### Helm
|
||||
|
||||
To install the chart with the release name `memcached`
|
||||
|
||||
```console
|
||||
helm repo add TrueCharts https://helm.truecharts.org
|
||||
helm repo update
|
||||
helm install memcached TrueCharts/memcached
|
||||
```
|
||||
|
||||
## Uninstall
|
||||
|
||||
### TrueNAS SCALE
|
||||
|
||||
**Upgrading, Rolling Back and Uninstalling the Chart**
|
||||
|
||||
To upgrade, rollback or delete this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/04-Upgrade-rollback-delete-an-App/).
|
||||
|
||||
### Helm
|
||||
|
||||
To uninstall the `memcached` deployment
|
||||
|
||||
```console
|
||||
helm uninstall memcached
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### Helm
|
||||
|
||||
#### Available Settings
|
||||
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
||||
|
||||
#### Configure using the Commandline
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||
|
||||
```console
|
||||
helm install memcached \
|
||||
--set env.TZ="America/New York" \
|
||||
TrueCharts/memcached
|
||||
```
|
||||
|
||||
#### Configure using a yaml file
|
||||
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install memcached TrueCharts/memcached -f values.yaml
|
||||
```
|
||||
|
||||
#### Connecting to other apps
|
||||
|
||||
If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our [Linking Apps Internally](https://truecharts.org/docs/manual/Quick-Start%20Guides/06-linking-apps/) quick-start guide.
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ).
|
||||
- See the [Website](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
|
||||
|
||||
---
|
||||
|
||||
## Sponsor TrueCharts
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!
|
||||
|
||||
---
|
||||
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 7.3 KiB |
@@ -1,249 +0,0 @@
|
||||
# Include{groups}
|
||||
questions:
|
||||
- variable: portal
|
||||
group: "Container Image"
|
||||
label: "Configure Portal Button"
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable"
|
||||
description: "enable the portal button"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: boolean
|
||||
default: false
|
||||
# Include{global}
|
||||
- variable: controller
|
||||
group: "Controller"
|
||||
label: ""
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: advanced
|
||||
label: "Show Advanced Controller Settings"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: type
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Controller Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "deployment"
|
||||
required: true
|
||||
enum:
|
||||
- value: "deployment"
|
||||
description: "Deployment"
|
||||
- value: "statefulset"
|
||||
description: "Statefulset"
|
||||
- value: "daemonset"
|
||||
description: "Daemonset"
|
||||
- variable: replicas
|
||||
description: "Number of desired pod replicas"
|
||||
label: "Desired Replicas"
|
||||
schema:
|
||||
type: int
|
||||
default: 1
|
||||
required: true
|
||||
- variable: strategy
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Update Strategy"
|
||||
schema:
|
||||
type: string
|
||||
default: "Recreate"
|
||||
required: true
|
||||
enum:
|
||||
- value: "Recreate"
|
||||
description: "Recreate: Kill existing pods before creating new ones"
|
||||
- value: "RollingUpdate"
|
||||
description: "RollingUpdate: Create new pods and then kill old ones"
|
||||
- value: "OnDelete"
|
||||
description: "(Legacy) OnDelete: ignore .spec.template changes"
|
||||
# Include{controllerExpert}
|
||||
|
||||
# Include{containerConfig}
|
||||
|
||||
- variable: postgresqlDatabase
|
||||
group: "App Configuration"
|
||||
label: "Database Name"
|
||||
schema:
|
||||
type: string
|
||||
default: "mydatabase"
|
||||
required: true
|
||||
- variable: postgresqlUsername
|
||||
group: "App Configuration"
|
||||
label: "Database User"
|
||||
schema:
|
||||
type: string
|
||||
default: "mydatabaseuser"
|
||||
required: true
|
||||
- variable: postgresqlPassword
|
||||
group: "App Configuration"
|
||||
label: "Database Password"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
|
||||
- variable: service
|
||||
group: "Networking and Services"
|
||||
label: "Configure Service(s)"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service"
|
||||
description: "The Primary service on which the healthcheck runs, often the webUI"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
# Include{serviceSelector}
|
||||
- variable: main
|
||||
label: "Main Service Port Configuration"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: port
|
||||
label: "Port"
|
||||
description: "This port exposes the container port on the service"
|
||||
schema:
|
||||
type: int
|
||||
default: 11211
|
||||
required: true
|
||||
- variable: advanced
|
||||
label: "Show Advanced settings"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: protocol
|
||||
label: "Port Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "TCP"
|
||||
enum:
|
||||
- value: HTTP
|
||||
description: "HTTP"
|
||||
- value: "HTTPS"
|
||||
description: "HTTPS"
|
||||
- value: TCP
|
||||
description: "TCP"
|
||||
- value: "UDP"
|
||||
description: "UDP"
|
||||
- variable: nodePort
|
||||
label: "Node Port (Optional)"
|
||||
description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
|
||||
schema:
|
||||
type: int
|
||||
min: 9000
|
||||
max: 65535
|
||||
- variable: targetPort
|
||||
label: "Target Port"
|
||||
description: "The internal(!) port on the container the Application runs on"
|
||||
schema:
|
||||
type: int
|
||||
default: 11211
|
||||
|
||||
- variable: serviceexpert
|
||||
group: "Networking and Services"
|
||||
label: "Show Expert Config"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostNetwork
|
||||
group: "Networking and Services"
|
||||
label: "Host-Networking (Complicated)"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
# Include{serviceExpert}
|
||||
|
||||
# Include{serviceList}
|
||||
|
||||
# Include{persistenceList}
|
||||
|
||||
# Include{ingressList}
|
||||
|
||||
# Include{security}
|
||||
|
||||
- variable: advancedSecurity
|
||||
label: "Show Advanced Security Settings"
|
||||
group: "Security and Permissions"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: securityContext
|
||||
label: "Security Context"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Privileged mode"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: readOnlyRootFilesystem
|
||||
label: "ReadOnly Root Filesystem"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: allowPrivilegeEscalation
|
||||
label: "Allow Privilege Escalation"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: runAsNonRoot
|
||||
label: "runAsNonRoot"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
# Include{securityContextAdvanced}
|
||||
|
||||
- variable: podSecurityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Pod Security Context"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: runAsUser
|
||||
label: "runAsUser"
|
||||
description: "The UserID of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
- variable: runAsGroup
|
||||
label: "runAsGroup"
|
||||
description: "The groupID this App of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
- variable: fsGroup
|
||||
label: "fsGroup"
|
||||
description: "The group that should own ALL storage."
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
# Include{podSecurityContextAdvanced}
|
||||
|
||||
# Include{resources}
|
||||
|
||||
# Include{advanced}
|
||||
|
||||
# Include{addons}
|
||||
@@ -1,2 +0,0 @@
|
||||
|
||||
{{ include "tc.common.loader.all" . }}
|
||||
@@ -1,11 +0,0 @@
|
||||
image:
|
||||
repository: tccr.io/truecharts/memcached
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v1.6.15@sha256:a5de0ffebce0a9065de97490a344a37be4f9515f69b918515e0e436691bc09f7
|
||||
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 11211
|
||||
targetPort: 11211
|
||||
@@ -1,30 +0,0 @@
|
||||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
# OWNERS file for Kubernetes
|
||||
OWNERS
|
||||
# helm-docs templates
|
||||
*.gotmpl
|
||||
# docs folder
|
||||
/docs
|
||||
# icon
|
||||
icon.png
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,31 +0,0 @@
|
||||
apiVersion: v2
|
||||
appVersion: "5.0.9"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 10.4.8
|
||||
deprecated: false
|
||||
description: Fast, reliable, scalable, and easy to use open-source no-sql database system.
|
||||
home: https://github.com/truecharts/charts/tree/master/charts/dependency/mongodb
|
||||
icon: https://truecharts.org/img/chart-icons/mongodb.png
|
||||
keywords:
|
||||
- mongodb
|
||||
- database
|
||||
- nosql
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
maintainers:
|
||||
- email: [email protected]
|
||||
name: TrueCharts
|
||||
url: https://truecharts.org
|
||||
name: mongodb
|
||||
sources:
|
||||
- https://hub.docker.com/r/bitnami/mongodb
|
||||
- https://github.com/bitnami/bitnami-docker-mongodb
|
||||
- https://www.mongodb.com
|
||||
type: application
|
||||
version: 1.0.47
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- database
|
||||
truecharts.org/SCALE-support: "true"
|
||||
truecharts.org/grade: U
|
||||
@@ -1,109 +0,0 @@
|
||||
# mongodb
|
||||
|
||||
  
|
||||
|
||||
Fast, reliable, scalable, and easy to use open-source no-sql database system.
|
||||
|
||||
TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
|
||||
|
||||
This readme is just an automatically generated general guide on installing our Helm Charts and Apps.
|
||||
For more information, please click here: [mongodb](https://truecharts.org/docs/charts/stable/mongodb)
|
||||
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://hub.docker.com/r/bitnami/mongodb>
|
||||
* <https://github.com/bitnami/bitnami-docker-mongodb>
|
||||
* <https://www.mongodb.com>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://library-charts.truecharts.org | common | 10.4.8 |
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
### TrueNAS SCALE
|
||||
|
||||
To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/02-Installing-an-App/).
|
||||
|
||||
### Helm
|
||||
|
||||
To install the chart with the release name `mongodb`
|
||||
|
||||
```console
|
||||
helm repo add TrueCharts https://helm.truecharts.org
|
||||
helm repo update
|
||||
helm install mongodb TrueCharts/mongodb
|
||||
```
|
||||
|
||||
## Uninstall
|
||||
|
||||
### TrueNAS SCALE
|
||||
|
||||
**Upgrading, Rolling Back and Uninstalling the Chart**
|
||||
|
||||
To upgrade, rollback or delete this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/04-Upgrade-rollback-delete-an-App/).
|
||||
|
||||
### Helm
|
||||
|
||||
To uninstall the `mongodb` deployment
|
||||
|
||||
```console
|
||||
helm uninstall mongodb
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### Helm
|
||||
|
||||
#### Available Settings
|
||||
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
||||
|
||||
#### Configure using the Commandline
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||
|
||||
```console
|
||||
helm install mongodb \
|
||||
--set env.TZ="America/New York" \
|
||||
TrueCharts/mongodb
|
||||
```
|
||||
|
||||
#### Configure using a yaml file
|
||||
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install mongodb TrueCharts/mongodb -f values.yaml
|
||||
```
|
||||
|
||||
#### Connecting to other apps
|
||||
|
||||
If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our [Linking Apps Internally](https://truecharts.org/docs/manual/Quick-Start%20Guides/06-linking-apps/) quick-start guide.
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ).
|
||||
- See the [Website](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
|
||||
|
||||
---
|
||||
|
||||
## Sponsor TrueCharts
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!
|
||||
|
||||
---
|
||||
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 22 KiB |
@@ -1,275 +0,0 @@
|
||||
# Include{groups}
|
||||
questions:
|
||||
- variable: portal
|
||||
group: "Container Image"
|
||||
label: "Configure Portal Button"
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable"
|
||||
description: "enable the portal button"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: boolean
|
||||
default: false
|
||||
# Include{global}
|
||||
- variable: controller
|
||||
group: "Controller"
|
||||
label: ""
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: advanced
|
||||
label: "Show Advanced Controller Settings"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: type
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Controller Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "statefulset"
|
||||
required: true
|
||||
enum:
|
||||
- value: "deployment"
|
||||
description: "Deployment"
|
||||
- value: "statefulset"
|
||||
description: "Statefulset"
|
||||
- value: "daemonset"
|
||||
description: "Daemonset"
|
||||
- variable: replicas
|
||||
description: "Number of desired pod replicas"
|
||||
label: "Desired Replicas"
|
||||
schema:
|
||||
type: int
|
||||
default: 1
|
||||
required: true
|
||||
- variable: strategy
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Update Strategy"
|
||||
schema:
|
||||
type: string
|
||||
default: "RollingUpdate"
|
||||
required: true
|
||||
enum:
|
||||
- value: "Recreate"
|
||||
description: "Recreate: Kill existing pods before creating new ones"
|
||||
- value: "RollingUpdate"
|
||||
description: "RollingUpdate: Create new pods and then kill old ones"
|
||||
- value: "OnDelete"
|
||||
description: "(Legacy) OnDelete: ignore .spec.template changes"
|
||||
# Include{controllerExpert}
|
||||
|
||||
# Include{containerConfig}
|
||||
|
||||
- variable: mongodbDatabase
|
||||
group: "App Configuration"
|
||||
label: "Database Name"
|
||||
schema:
|
||||
type: string
|
||||
default: "mydatabase"
|
||||
required: true
|
||||
- variable: mongodbUsername
|
||||
group: "App Configuration"
|
||||
label: "Database User"
|
||||
schema:
|
||||
type: string
|
||||
default: "mydatabaseuser"
|
||||
required: true
|
||||
- variable: mongodbPassword
|
||||
group: "App Configuration"
|
||||
label: "Database Password"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: mongodbRootPassword
|
||||
group: "App Configuration"
|
||||
label: "Root Password"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
|
||||
- variable: service
|
||||
group: "Networking and Services"
|
||||
label: "Configure Service(s)"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service"
|
||||
description: "The Primary service on which the healthcheck runs, often the webUI"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
# Include{serviceSelector}
|
||||
- variable: main
|
||||
label: "Main Service Port Configuration"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: port
|
||||
label: "Port"
|
||||
description: "This port exposes the container port on the service"
|
||||
schema:
|
||||
type: int
|
||||
default: 27017
|
||||
required: true
|
||||
- variable: advanced
|
||||
label: "Show Advanced settings"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: protocol
|
||||
label: "Port Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "TCP"
|
||||
enum:
|
||||
- value: HTTP
|
||||
description: "HTTP"
|
||||
- value: "HTTPS"
|
||||
description: "HTTPS"
|
||||
- value: TCP
|
||||
description: "TCP"
|
||||
- value: "UDP"
|
||||
description: "UDP"
|
||||
- variable: nodePort
|
||||
label: "Node Port (Optional)"
|
||||
description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
|
||||
schema:
|
||||
type: int
|
||||
min: 9000
|
||||
max: 65535
|
||||
- variable: targetPort
|
||||
label: "Target Port"
|
||||
description: "The internal(!) port on the container the Application runs on"
|
||||
schema:
|
||||
type: int
|
||||
default: 27017
|
||||
|
||||
- variable: serviceexpert
|
||||
group: "Networking and Services"
|
||||
label: "Show Expert Config"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostNetwork
|
||||
group: "Networking and Services"
|
||||
label: "Host-Networking (Complicated)"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
# Include{serviceExpert}
|
||||
|
||||
# Include{serviceList}
|
||||
|
||||
- variable: volumeClaimTemplates
|
||||
label: "Integrated Persistent Storage"
|
||||
description: "Integrated Persistent Storage"
|
||||
group: "Storage and Persistence"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: data
|
||||
label: "DB Storage"
|
||||
description: "Stores the old Application Database."
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
# Include{persistenceBasic}
|
||||
# Include{persistenceAdvanced}
|
||||
|
||||
|
||||
# Include{persistenceList}
|
||||
|
||||
# Include{ingressList}
|
||||
|
||||
# Include{security}
|
||||
|
||||
- variable: advancedSecurity
|
||||
label: "Show Advanced Security Settings"
|
||||
group: "Security and Permissions"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: securityContext
|
||||
label: "Security Context"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Privileged mode"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: readOnlyRootFilesystem
|
||||
label: "ReadOnly Root Filesystem"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: allowPrivilegeEscalation
|
||||
label: "Allow Privilege Escalation"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: runAsNonRoot
|
||||
label: "runAsNonRoot"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
# Include{securityContextAdvanced}
|
||||
|
||||
- variable: podSecurityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Pod Security Context"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: runAsUser
|
||||
label: "runAsUser"
|
||||
description: "The UserID of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
- variable: runAsGroup
|
||||
label: "runAsGroup"
|
||||
description: "The groupID this App of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 0
|
||||
- variable: fsGroup
|
||||
label: "fsGroup"
|
||||
description: "The group that should own ALL storage."
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
# Include{podSecurityContextAdvanced}
|
||||
|
||||
# Include{resources}
|
||||
|
||||
# Include{advanced}
|
||||
|
||||
# Include{addons}
|
||||
@@ -1 +0,0 @@
|
||||
{{- include "tc.common.loader.all" . }}
|
||||
@@ -1,122 +0,0 @@
|
||||
image:
|
||||
repository: tccr.io/truecharts/mongodb
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v5.0.9@sha256:5bcf6c61f01c1ca97e08e2545f21a2b6696a3c9476f64fee0c363d697f618739
|
||||
|
||||
controller:
|
||||
# -- Set the controller type.
|
||||
# Valid options are deployment, daemonset or statefulset
|
||||
type: statefulset
|
||||
# -- Number of desired pods
|
||||
replicas: 1
|
||||
# -- Set the controller upgrade strategy
|
||||
# For Deployments, valid values are Recreate (default) and RollingUpdate.
|
||||
# For StatefulSets, valid values are OnDelete and RollingUpdate (default).
|
||||
# DaemonSets ignore this.
|
||||
strategy: RollingUpdate
|
||||
rollingUpdate:
|
||||
# -- Set deployment RollingUpdate max unavailable
|
||||
unavailable: 1
|
||||
# -- Set deployment RollingUpdate max surge
|
||||
surge:
|
||||
# -- Set statefulset RollingUpdate partition
|
||||
partition:
|
||||
# -- ReplicaSet revision history limit
|
||||
revisionHistoryLimit: 3
|
||||
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 27017
|
||||
targetPort: 27017
|
||||
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: false
|
||||
|
||||
podSecurityContext:
|
||||
runAsGroup: 0
|
||||
|
||||
volumeClaimTemplates:
|
||||
data:
|
||||
enabled: true
|
||||
mountPath: "/bitnami/mongodb"
|
||||
|
||||
# -- Probe configuration
|
||||
# -- [[ref]](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)
|
||||
# @default -- See below
|
||||
probes:
|
||||
# -- Liveness probe configuration
|
||||
# @default -- See below
|
||||
liveness:
|
||||
# -- Enable the liveness probe
|
||||
enabled: true
|
||||
# -- Set this to `true` if you wish to specify your own livenessProbe
|
||||
custom: true
|
||||
# -- The spec field contains the values for the default livenessProbe.
|
||||
# If you selected `custom: true`, this field holds the definition of the livenessProbe.
|
||||
# @default -- See below
|
||||
spec:
|
||||
exec:
|
||||
command:
|
||||
- /bin/bash
|
||||
- -ec
|
||||
- echo "db.runCommand(\"ping\")" | mongo --host localhost --port 27017 ${MONGODB_DATABASE} --quiet
|
||||
|
||||
# -- Redainess probe configuration
|
||||
# @default -- See below
|
||||
readiness:
|
||||
# -- Enable the readiness probe
|
||||
enabled: true
|
||||
# -- Set this to `true` if you wish to specify your own readinessProbe
|
||||
custom: true
|
||||
# -- The spec field contains the values for the default readinessProbe.
|
||||
# If you selected `custom: true`, this field holds the definition of the readinessProbe.
|
||||
# @default -- See below
|
||||
spec:
|
||||
exec:
|
||||
command:
|
||||
- /bin/bash
|
||||
- -ec
|
||||
- echo "db.runCommand(\"ping\")" | mongo --host localhost --port 27017 ${MONGODB_DATABASE} --quiet
|
||||
|
||||
# -- Startup probe configuration
|
||||
# @default -- See below
|
||||
startup:
|
||||
# -- Enable the startup probe
|
||||
enabled: true
|
||||
custom: true
|
||||
# -- The spec field contains the values for the default livenessProbe.
|
||||
# If you selected `custom: true`, this field holds the definition of the livenessProbe.
|
||||
# @default -- See below
|
||||
spec:
|
||||
exec:
|
||||
command:
|
||||
- /bin/bash
|
||||
- -ec
|
||||
- echo "db.runCommand(\"ping\")" | mongo --host localhost --port 27017 ${MONGODB_DATABASE} --quiet
|
||||
|
||||
mongodbPassword: "testpass"
|
||||
mongodbUsername: "test"
|
||||
mongodbDatabase: "test"
|
||||
mongodbRootPassword: "testroot"
|
||||
existingSecret: ""
|
||||
|
||||
secret:
|
||||
credentials:
|
||||
enabled: true
|
||||
data:
|
||||
mongodb-password: '{{ ( .Values.mongodbPassword | default "empty" ) }}'
|
||||
mongodb-root-password: '{{ ( .Values.mongodbRootPassword | default "empty" ) }}'
|
||||
|
||||
env:
|
||||
MONGODB_USERNAME: "{{ .Values.mongodbUsername }}"
|
||||
MONGODB_DATABASE: "{{ .Values.mongodbDatabase }}"
|
||||
MONGODB_PASSWORD:
|
||||
secretKeyRef:
|
||||
name: '{{ .Values.existingSecret | default ( printf "%s-credentials" ( include "tc.common.names.fullname" . ) ) }}'
|
||||
key: "mongodb-password"
|
||||
MONGODB_ROOT_PASSWORD:
|
||||
secretKeyRef:
|
||||
name: '{{ .Values.existingSecret | default ( printf "%s-credentials" ( include "tc.common.names.fullname" . ) ) }}'
|
||||
key: "mongodb-root-password"
|
||||
@@ -1,30 +0,0 @@
|
||||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
# OWNERS file for Kubernetes
|
||||
OWNERS
|
||||
# helm-docs templates
|
||||
*.gotmpl
|
||||
# docs folder
|
||||
/docs
|
||||
# icon
|
||||
icon.png
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,30 +0,0 @@
|
||||
apiVersion: v2
|
||||
appVersion: "14.4.0"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 10.4.8
|
||||
deprecated: false
|
||||
description: PostgresSQL
|
||||
home: https://github.com/truecharts/charts/tree/master/charts/dependency/postgresql
|
||||
icon: https://truecharts.org/img/chart-icons/postgresql.png
|
||||
keywords:
|
||||
- postgres
|
||||
- postgressql
|
||||
- dtabase
|
||||
- sql
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
maintainers:
|
||||
- email: [email protected]
|
||||
name: TrueCharts
|
||||
url: https://truecharts.org
|
||||
name: postgresql
|
||||
sources:
|
||||
- https://www.postgresql.org/
|
||||
type: application
|
||||
version: 8.0.48
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- database
|
||||
truecharts.org/SCALE-support: "true"
|
||||
truecharts.org/grade: U
|
||||
@@ -1,107 +0,0 @@
|
||||
# postgresql
|
||||
|
||||
  
|
||||
|
||||
PostgresSQL
|
||||
|
||||
TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
|
||||
|
||||
This readme is just an automatically generated general guide on installing our Helm Charts and Apps.
|
||||
For more information, please click here: [postgresql](https://truecharts.org/docs/charts/stable/postgresql)
|
||||
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://www.postgresql.org/>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://library-charts.truecharts.org | common | 10.4.8 |
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
### TrueNAS SCALE
|
||||
|
||||
To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/02-Installing-an-App/).
|
||||
|
||||
### Helm
|
||||
|
||||
To install the chart with the release name `postgresql`
|
||||
|
||||
```console
|
||||
helm repo add TrueCharts https://helm.truecharts.org
|
||||
helm repo update
|
||||
helm install postgresql TrueCharts/postgresql
|
||||
```
|
||||
|
||||
## Uninstall
|
||||
|
||||
### TrueNAS SCALE
|
||||
|
||||
**Upgrading, Rolling Back and Uninstalling the Chart**
|
||||
|
||||
To upgrade, rollback or delete this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/04-Upgrade-rollback-delete-an-App/).
|
||||
|
||||
### Helm
|
||||
|
||||
To uninstall the `postgresql` deployment
|
||||
|
||||
```console
|
||||
helm uninstall postgresql
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### Helm
|
||||
|
||||
#### Available Settings
|
||||
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
||||
|
||||
#### Configure using the Commandline
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||
|
||||
```console
|
||||
helm install postgresql \
|
||||
--set env.TZ="America/New York" \
|
||||
TrueCharts/postgresql
|
||||
```
|
||||
|
||||
#### Configure using a yaml file
|
||||
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install postgresql TrueCharts/postgresql -f values.yaml
|
||||
```
|
||||
|
||||
#### Connecting to other apps
|
||||
|
||||
If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our [Linking Apps Internally](https://truecharts.org/docs/manual/Quick-Start%20Guides/06-linking-apps/) quick-start guide.
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ).
|
||||
- See the [Website](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
|
||||
|
||||
---
|
||||
|
||||
## Sponsor TrueCharts
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!
|
||||
|
||||
---
|
||||
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 16 KiB |
@@ -1,275 +0,0 @@
|
||||
# Include{groups}
|
||||
questions:
|
||||
- variable: portal
|
||||
group: "Container Image"
|
||||
label: "Configure Portal Button"
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable"
|
||||
description: "enable the portal button"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: boolean
|
||||
default: false
|
||||
# Include{global}
|
||||
- variable: controller
|
||||
group: "Controller"
|
||||
label: ""
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: advanced
|
||||
label: "Show Advanced Controller Settings"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: type
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Controller Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "statefulset"
|
||||
required: true
|
||||
enum:
|
||||
- value: "deployment"
|
||||
description: "Deployment"
|
||||
- value: "statefulset"
|
||||
description: "Statefulset"
|
||||
- value: "daemonset"
|
||||
description: "Daemonset"
|
||||
- variable: replicas
|
||||
description: "Number of desired pod replicas"
|
||||
label: "Desired Replicas"
|
||||
schema:
|
||||
type: int
|
||||
default: 1
|
||||
required: true
|
||||
- variable: strategy
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Update Strategy"
|
||||
schema:
|
||||
type: string
|
||||
default: "RollingUpdate"
|
||||
required: true
|
||||
enum:
|
||||
- value: "Recreate"
|
||||
description: "Recreate: Kill existing pods before creating new ones"
|
||||
- value: "RollingUpdate"
|
||||
description: "RollingUpdate: Create new pods and then kill old ones"
|
||||
- value: "OnDelete"
|
||||
description: "(Legacy) OnDelete: ignore .spec.template changes"
|
||||
# Include{controllerExpert}
|
||||
|
||||
# Include{containerConfig}
|
||||
|
||||
- variable: postgresqlDatabase
|
||||
group: "App Configuration"
|
||||
label: "Database Name"
|
||||
schema:
|
||||
type: string
|
||||
default: "mydatabase"
|
||||
required: true
|
||||
- variable: postgresqlUsername
|
||||
group: "App Configuration"
|
||||
label: "Database User"
|
||||
schema:
|
||||
type: string
|
||||
default: "mydatabaseuser"
|
||||
required: true
|
||||
- variable: postgresqlPassword
|
||||
group: "App Configuration"
|
||||
label: "Database Password"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: postgrespassword
|
||||
group: "App Configuration"
|
||||
label: "Root Password"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
|
||||
- variable: service
|
||||
group: "Networking and Services"
|
||||
label: "Configure Service(s)"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service"
|
||||
description: "The Primary service on which the healthcheck runs, often the webUI"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
# Include{serviceSelector}
|
||||
- variable: main
|
||||
label: "Main Service Port Configuration"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: port
|
||||
label: "Port"
|
||||
description: "This port exposes the container port on the service"
|
||||
schema:
|
||||
type: int
|
||||
default: 5432
|
||||
required: true
|
||||
- variable: advanced
|
||||
label: "Show Advanced settings"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: protocol
|
||||
label: "Port Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "TCP"
|
||||
enum:
|
||||
- value: HTTP
|
||||
description: "HTTP"
|
||||
- value: "HTTPS"
|
||||
description: "HTTPS"
|
||||
- value: TCP
|
||||
description: "TCP"
|
||||
- value: "UDP"
|
||||
description: "UDP"
|
||||
- variable: nodePort
|
||||
label: "Node Port (Optional)"
|
||||
description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
|
||||
schema:
|
||||
type: int
|
||||
min: 9000
|
||||
max: 65535
|
||||
- variable: targetPort
|
||||
label: "Target Port"
|
||||
description: "The internal(!) port on the container the Application runs on"
|
||||
schema:
|
||||
type: int
|
||||
default: 5432
|
||||
|
||||
- variable: serviceexpert
|
||||
group: "Networking and Services"
|
||||
label: "Show Expert Config"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostNetwork
|
||||
group: "Networking and Services"
|
||||
label: "Host-Networking (Complicated)"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
# Include{serviceExpert}
|
||||
|
||||
# Include{serviceList}
|
||||
|
||||
- variable: volumeClaimTemplates
|
||||
label: "Integrated Persistent Storage"
|
||||
description: "Integrated Persistent Storage"
|
||||
group: "Storage and Persistence"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: db
|
||||
label: "DB Storage"
|
||||
description: "Stores the old Application Database."
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
# Include{persistenceBasic}
|
||||
# Include{persistenceAdvanced}
|
||||
|
||||
|
||||
# Include{persistenceList}
|
||||
|
||||
# Include{ingressList}
|
||||
|
||||
# Include{security}
|
||||
|
||||
- variable: advancedSecurity
|
||||
label: "Show Advanced Security Settings"
|
||||
group: "Security and Permissions"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: securityContext
|
||||
label: "Security Context"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Privileged mode"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: readOnlyRootFilesystem
|
||||
label: "ReadOnly Root Filesystem"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: allowPrivilegeEscalation
|
||||
label: "Allow Privilege Escalation"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: runAsNonRoot
|
||||
label: "runAsNonRoot"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
# Include{securityContextAdvanced}
|
||||
|
||||
- variable: podSecurityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Pod Security Context"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: runAsUser
|
||||
label: "runAsUser"
|
||||
description: "The UserID of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
- variable: runAsGroup
|
||||
label: "runAsGroup"
|
||||
description: "The groupID this App of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 0
|
||||
- variable: fsGroup
|
||||
label: "fsGroup"
|
||||
description: "The group that should own ALL storage."
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
# Include{podSecurityContextAdvanced}
|
||||
|
||||
# Include{resources}
|
||||
|
||||
# Include{advanced}
|
||||
|
||||
# Include{addons}
|
||||
@@ -1,2 +0,0 @@
|
||||
|
||||
{{ include "tc.common.loader.all" . }}
|
||||
@@ -1,126 +0,0 @@
|
||||
image:
|
||||
repository: tccr.io/truecharts/postgresql
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v14.4.0@sha256:79f093624368c2734233915b6f498d07c23cbffae1482d418e42848318352abf
|
||||
|
||||
controller:
|
||||
# -- Set the controller type.
|
||||
# Valid options are deployment, daemonset or statefulset
|
||||
type: statefulset
|
||||
# -- Number of desired pods
|
||||
replicas: 1
|
||||
# -- Set the controller upgrade strategy
|
||||
# For Deployments, valid values are Recreate (default) and RollingUpdate.
|
||||
# For StatefulSets, valid values are OnDelete and RollingUpdate (default).
|
||||
# DaemonSets ignore this.
|
||||
strategy: RollingUpdate
|
||||
rollingUpdate:
|
||||
# -- Set deployment RollingUpdate max unavailable
|
||||
unavailable: 1
|
||||
# -- Set deployment RollingUpdate max surge
|
||||
surge:
|
||||
# -- Set statefulset RollingUpdate partition
|
||||
partition:
|
||||
# -- ReplicaSet revision history limit
|
||||
revisionHistoryLimit: 3
|
||||
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: false
|
||||
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 5432
|
||||
targetPort: 5432
|
||||
|
||||
## TODO: Fix the backup-on-upgrade system
|
||||
enableUpgradeBackup: false
|
||||
|
||||
podSecurityContext:
|
||||
runAsGroup: 0
|
||||
|
||||
volumeClaimTemplates:
|
||||
db:
|
||||
enabled: true
|
||||
mountPath: "/bitnami/postgresql"
|
||||
|
||||
# -- Probe configuration
|
||||
# -- [[ref]](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)
|
||||
# @default -- See below
|
||||
probes:
|
||||
# -- Liveness probe configuration
|
||||
# @default -- See below
|
||||
liveness:
|
||||
# -- Enable the liveness probe
|
||||
enabled: true
|
||||
# -- Set this to `true` if you wish to specify your own livenessProbe
|
||||
custom: true
|
||||
# -- The spec field contains the values for the default livenessProbe.
|
||||
# If you selected `custom: true`, this field holds the definition of the livenessProbe.
|
||||
# @default -- See below
|
||||
spec:
|
||||
exec:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- "until pg_isready -U ${POSTGRES_USER} -h localhost; do sleep 2 ; done"
|
||||
|
||||
# -- Redainess probe configuration
|
||||
# @default -- See below
|
||||
readiness:
|
||||
# -- Enable the readiness probe
|
||||
enabled: true
|
||||
# -- Set this to `true` if you wish to specify your own readinessProbe
|
||||
custom: true
|
||||
# -- The spec field contains the values for the default readinessProbe.
|
||||
# If you selected `custom: true`, this field holds the definition of the readinessProbe.
|
||||
# @default -- See below
|
||||
spec:
|
||||
exec:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- "until pg_isready -U ${POSTGRES_USER} -h localhost; do sleep 2 ; done"
|
||||
# -- Startup probe configuration
|
||||
# @default -- See below
|
||||
startup:
|
||||
# -- Enable the startup probe
|
||||
enabled: true
|
||||
custom: true
|
||||
# -- The spec field contains the values for the default livenessProbe.
|
||||
# If you selected `custom: true`, this field holds the definition of the livenessProbe.
|
||||
# @default -- See below
|
||||
spec:
|
||||
exec:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- "until pg_isready -U ${POSTGRES_USER} -h localhost; do sleep 2 ; done"
|
||||
|
||||
postgresqlPassword: "testpass"
|
||||
postgresqlUsername: "test"
|
||||
postgresqlDatabase: "test"
|
||||
postgrespassword: "testroot"
|
||||
existingSecret: ""
|
||||
|
||||
secret:
|
||||
credentials:
|
||||
enabled: true
|
||||
data:
|
||||
postgresql-password: '{{ ( .Values.postgresqlPassword | default "empty" ) }}'
|
||||
postgresql-postgres-password: '{{ ( .Values.postgrespassword | default "empty" ) }}'
|
||||
|
||||
env:
|
||||
POSTGRES_PASSWORD:
|
||||
secretKeyRef:
|
||||
name: '{{ .Values.existingSecret | default ( printf "%s-credentials" ( include "tc.common.names.fullname" . ) ) }}'
|
||||
key: "postgresql-password"
|
||||
POSTGRESQL_POSTGRES_PASSWORD:
|
||||
secretKeyRef:
|
||||
name: '{{ .Values.existingSecret | default ( printf "%s-credentials" ( include "tc.common.names.fullname" . ) ) }}'
|
||||
key: "postgresql-postgres-password"
|
||||
POSTGRES_USER: "{{ .Values.postgresqlUsername }}"
|
||||
POSTGRES_DB: "{{ .Values.postgresqlDatabase }}"
|
||||
# POSTGRESQL_POSTGRES_PASSWORD: "{{ .Values.postgrespassword }}"
|
||||
# POSTGRESQL_PASSWORD: "{{ .Values.password }}"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user