Compare commits
553 Commits
a482956d61
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3bed7c95eb | ||
|
|
3379af24f6 | ||
|
|
19c9a3a5ae | ||
|
|
b0d56f2102 | ||
|
|
8ea94c3b3d | ||
|
|
bdb13cb00a | ||
|
|
520c545ef4 | ||
|
|
cbf3f58285 | ||
|
|
9848eb1c1b | ||
|
|
f71ee10c63 | ||
|
|
6448963486 | ||
|
|
2aae7e8b7e | ||
|
|
6eefb0da8b | ||
|
|
4f8ed26d4d | ||
|
|
8dc36f24d9 | ||
|
|
6e4daf35ad | ||
|
|
92cf4bdb78 | ||
|
|
569895fb91 | ||
|
|
20a9c5b3bb | ||
|
|
f5aee6d900 | ||
|
|
99670aa277 | ||
|
|
9da3941cfc | ||
|
|
5daed5ebd4 | ||
|
|
17ac7ddd68 | ||
|
|
2a5133da48 | ||
|
|
4631aa1a5a | ||
|
|
e1a6a53c57 | ||
|
|
3efc060d0e | ||
|
|
3bdc7ecaa4 | ||
|
|
9fdc42a6a3 | ||
|
|
b910243e2f | ||
|
|
5520c55527 | ||
|
|
519959b991 | ||
|
|
c902ee862c | ||
|
|
f9588b0718 | ||
|
|
7a38ce1774 | ||
|
|
cc4a9a33cf | ||
|
|
49f4afa55e | ||
|
|
daabaabcb2 | ||
|
|
5647295120 | ||
|
|
f1efb3a801 | ||
|
|
a3b042b104 | ||
|
|
9bd2f3b8bc | ||
|
|
a71e5ac907 | ||
|
|
84ffea9d59 | ||
|
|
e4ad00b4f3 | ||
|
|
1ee0686020 | ||
|
|
0ae03ae994 | ||
|
|
0aa3744ba6 | ||
|
|
8e6c6f72e9 | ||
|
|
05e73b6832 | ||
|
|
581da487ed | ||
|
|
8ace260f87 | ||
|
|
0b9f88b7c0 | ||
|
|
209d0015c1 | ||
|
|
d329c20444 | ||
|
|
1641b9bea3 | ||
|
|
2b48963d54 | ||
|
|
b8f9370db8 | ||
|
|
6f36a51451 | ||
|
|
cf48328090 | ||
|
|
8b42195f1e | ||
|
|
9d8166d49c | ||
|
|
4e21b5e06f | ||
|
|
b04e96530d | ||
|
|
fc45280db8 | ||
|
|
aa1923da06 | ||
|
|
fc5f26533d | ||
|
|
83f1e5d98f | ||
|
|
6d913d015e | ||
|
|
7f83a3e526 | ||
|
|
e1d2d87f11 | ||
|
|
cb2e7017bf | ||
|
|
24055a0766 | ||
|
|
1442621cd3 | ||
|
|
db302c37b4 | ||
|
|
7c5d957cd4 | ||
|
|
4409194ebd | ||
|
|
d6fa969a7f | ||
|
|
460c398e25 | ||
|
|
dc8c755aea | ||
|
|
eeb031c87e | ||
|
|
cb0c126895 | ||
|
|
cc21235d9f | ||
|
|
c11a224302 | ||
|
|
1bccd096d1 | ||
|
|
27b28bf11f | ||
|
|
a4c49dec6f | ||
|
|
acb09cd9fa | ||
|
|
b370cc6ad3 | ||
|
|
5ce5f358aa | ||
|
|
1bdacd6823 | ||
|
|
b46c32382b | ||
|
|
9444cdc562 | ||
|
|
c587b7369f | ||
|
|
7fea369863 | ||
|
|
8914e45049 | ||
|
|
ecf7a25a08 | ||
|
|
f9ad16a131 | ||
|
|
efecc0fb32 | ||
|
|
ec0a17c52d | ||
|
|
7c519da661 | ||
|
|
4b60a83e48 | ||
|
|
70f440ce8c | ||
|
|
b0dc19afc8 | ||
|
|
6d88ffd748 | ||
|
|
51cf6b143a | ||
|
|
00cb7b7de0 | ||
|
|
1097142b86 | ||
|
|
2c0fc5033e | ||
|
|
340de61bef | ||
|
|
0cc274f6f6 | ||
|
|
230d5559c1 | ||
|
|
61d780e7f6 | ||
|
|
db4dfc6f53 | ||
|
|
e1ce1edba1 | ||
|
|
b2150382cf | ||
|
|
a351e448de | ||
|
|
20a6ad69c9 | ||
|
|
a313f3bdc2 | ||
|
|
38b4da379f | ||
|
|
601b81e466 | ||
|
|
70c99e3003 | ||
|
|
ce2493e8f5 | ||
|
|
73cf3b68d2 | ||
|
|
652acc3aca | ||
|
|
a76b1f542f | ||
|
|
85ebfd0d96 | ||
|
|
af7b36d4b5 | ||
|
|
11bab29e1d | ||
|
|
7e8cef1e60 | ||
|
|
7982454c5f | ||
|
|
fef65d9177 | ||
|
|
e128a6826c | ||
|
|
718d5881f8 | ||
|
|
f25c06f110 | ||
|
|
176f864144 | ||
|
|
6051024d20 | ||
|
|
30aa00a02d | ||
|
|
2ef6054e68 | ||
|
|
bbba39635a | ||
|
|
2b9bc64b17 | ||
|
|
67a816786c | ||
|
|
f709cd29cb | ||
|
|
e44139c4a3 | ||
|
|
e0d874ef1a | ||
|
|
61bd354618 | ||
|
|
344f0037a6 | ||
|
|
ea1f601f2b | ||
|
|
5239c29fe5 | ||
|
|
2a26a925c9 | ||
|
|
c3c649fd71 | ||
|
|
7b3caaad8f | ||
|
|
380438dbdf | ||
|
|
71dffda860 | ||
|
|
99c6894354 | ||
|
|
ed93ca4208 | ||
|
|
22a25d33f5 | ||
|
|
79ee44e0d4 | ||
|
|
303b0bfc43 | ||
|
|
917fad2893 | ||
|
|
0a20138333 | ||
|
|
7f5fcb34ed | ||
|
|
71176f9b60 | ||
|
|
872577351c | ||
|
|
ab421f0fdf | ||
|
|
ddfffb3f46 | ||
|
|
2d47f01679 | ||
|
|
e5c058a086 | ||
|
|
bfae9f9836 | ||
|
|
c9ac12161b | ||
|
|
e0a1940e7d | ||
|
|
b74768473a | ||
|
|
1d97ee37b6 | ||
|
|
f6d04145d1 | ||
|
|
9f5cfd2156 | ||
|
|
5331f89566 | ||
|
|
2f76deb82d | ||
|
|
e6c1a669c9 | ||
|
|
2a9e494d26 | ||
|
|
8d275eba83 | ||
|
|
9bb4c246ba | ||
|
|
be6b885cc2 | ||
|
|
36ada82a8b | ||
|
|
9d02f52be6 | ||
|
|
51e677199f | ||
|
|
2602faa530 | ||
|
|
b93d794cbe | ||
|
|
2795bb0043 | ||
|
|
f881642182 | ||
|
|
31efc8d6a7 | ||
|
|
be4e2d9522 | ||
|
|
444c9778d8 | ||
|
|
20ae4eb69c | ||
|
|
4d4f2bea04 | ||
|
|
37fcff3ea2 | ||
|
|
4b800831b1 | ||
|
|
24ff0870b8 | ||
|
|
9035422a59 | ||
|
|
086c2f66f8 | ||
|
|
52e0883d22 | ||
|
|
507feb3378 | ||
|
|
fa01ec2941 | ||
|
|
cd3a75fc94 | ||
|
|
eb37e4bcc5 | ||
|
|
37f41780ea | ||
|
|
7ca6363a00 | ||
|
|
dd38629ac3 | ||
|
|
e56a0ae3f6 | ||
|
|
8531632cb6 | ||
|
|
a890275183 | ||
|
|
ab3380c054 | ||
|
|
4d31769bb9 | ||
|
|
f20d094ce1 | ||
|
|
25a5150bb7 | ||
|
|
d331ecd34d | ||
|
|
1ca6c324fd | ||
|
|
ccf0de49aa | ||
|
|
8fd3c0a4b3 | ||
|
|
e48ce3cfc7 | ||
|
|
ef777ee80f | ||
|
|
7d0cc04e17 | ||
|
|
6940eaecf5 | ||
|
|
daeeb5f18c | ||
|
|
94eb9c3ef2 | ||
|
|
528335dea0 | ||
|
|
5cc1b819f9 | ||
|
|
1c0c6e6a1b | ||
|
|
1518e37fd8 | ||
|
|
78cb336620 | ||
|
|
e9ec17d7c8 | ||
|
|
b0d8cff5c5 | ||
|
|
cc08078120 | ||
|
|
88a7e2c8ff | ||
|
|
1d07f8b010 | ||
|
|
ed6b0815a7 | ||
|
|
5545d6de6b | ||
|
|
bc7995384c | ||
|
|
78cbd4718b | ||
|
|
b299382ac2 | ||
|
|
4f517de0c3 | ||
|
|
03988f0484 | ||
|
|
5b97af1d97 | ||
|
|
45362de1a8 | ||
|
|
7912509c40 | ||
|
|
9c2ca4dd27 | ||
|
|
20b785075e | ||
|
|
6c2989ee53 | ||
|
|
8282b72db9 | ||
|
|
cf68123036 | ||
|
|
22253cf58e | ||
|
|
4d25101be1 | ||
|
|
a5522f7fd2 | ||
|
|
cfb95c8b4d | ||
|
|
d1751d5800 | ||
|
|
612c950c52 | ||
|
|
105f1cbbc5 | ||
|
|
7a03a6b564 | ||
|
|
4098a0c43a | ||
|
|
4532cafc0b | ||
|
|
9a03dcdb98 | ||
|
|
60f26913d4 | ||
|
|
eb57f20d66 | ||
|
|
febfd2d6a0 | ||
|
|
7b384abcbb | ||
|
|
c9e9733e1f | ||
|
|
4575ec9d3f | ||
|
|
b44fe606f5 | ||
|
|
8aa41ae7cd | ||
|
|
f3483e23c7 | ||
|
|
2f1f2de7db | ||
|
|
dd288e30d0 | ||
|
|
7fc6894919 | ||
|
|
c6500be18c | ||
|
|
96c7508465 | ||
|
|
295d8dd329 | ||
|
|
29ce4cce23 | ||
|
|
e91d5a79ae | ||
|
|
a84b9c7af5 | ||
|
|
c1d82e5a2f | ||
|
|
aec121db75 | ||
|
|
07f8031d52 | ||
|
|
bdd227081f | ||
|
|
d8a18d5f57 | ||
|
|
e4340dbf39 | ||
|
|
46968c7541 | ||
|
|
b4bae23c27 | ||
|
|
7f8aaf8f50 | ||
|
|
7fecc7e856 | ||
|
|
3f9ac3d5c1 | ||
|
|
c1600b679b | ||
|
|
4605800b60 | ||
|
|
d16360dcdd | ||
|
|
8909159e9d | ||
|
|
5cb225cb59 | ||
|
|
edbdd56272 | ||
|
|
459c77906c | ||
|
|
d010f282fe | ||
|
|
54fd23fc78 | ||
|
|
a9a1c2aeef | ||
|
|
715548488e | ||
|
|
926b50327d | ||
|
|
643572e7eb | ||
|
|
2d7cffeb28 | ||
|
|
eb580c530a | ||
|
|
cea64d358b | ||
|
|
ac159927da | ||
|
|
99ef80f232 | ||
|
|
07af2c063b | ||
|
|
04282d0d7e | ||
|
|
8cb2c8e37c | ||
|
|
8638dbcd15 | ||
|
|
de179e0542 | ||
|
|
41f06ff470 | ||
|
|
4b2a6b2c74 | ||
|
|
06322971d7 | ||
|
|
e9c42fb431 | ||
|
|
e8674fc6f0 | ||
|
|
58be159d69 | ||
|
|
ef8a880101 | ||
|
|
f7ea5b637f | ||
|
|
556e6babe6 | ||
|
|
c6698bffe6 | ||
|
|
056638397b | ||
|
|
66409930b3 | ||
|
|
a0fab1dd40 | ||
|
|
f2b260db25 | ||
|
|
5cf216c50e | ||
|
|
07362a743d | ||
|
|
1cdb47b7db | ||
|
|
ec5e43a954 | ||
|
|
253e61010c | ||
|
|
35a55e4e0c | ||
|
|
c5a211085c | ||
|
|
6d29732604 | ||
|
|
4675edcc72 | ||
|
|
949263009c | ||
|
|
1e3edcdf32 | ||
|
|
1d7bce7081 | ||
|
|
0810042cc9 | ||
|
|
cae46002ee | ||
|
|
3d659fe38a | ||
|
|
d4256a7f89 | ||
|
|
ac2eb44bc7 | ||
|
|
253dc3ed78 | ||
|
|
096fd80d60 | ||
|
|
6652b2be25 | ||
|
|
e8cb9e730f | ||
|
|
651b40b99d | ||
|
|
cd5604afb6 | ||
|
|
a502641abe | ||
|
|
ced1758974 | ||
|
|
9a8263f158 | ||
|
|
fb8305d300 | ||
|
|
3d00b746e5 | ||
|
|
97b4c95b49 | ||
|
|
6da15a062d | ||
|
|
d0ce49321d | ||
|
|
2c43c7cd25 | ||
|
|
fe518f4321 | ||
|
|
d7ccaed585 | ||
|
|
67a6da0b11 | ||
|
|
b709d6ace0 | ||
|
|
4643152ca8 | ||
|
|
6dea3f6903 | ||
|
|
4c070bcc2b | ||
|
|
c18c9c1a1f | ||
|
|
d221ee1438 | ||
|
|
aa9bf2b532 | ||
|
|
f6858c03a1 | ||
|
|
d7dd521823 | ||
|
|
bb3f28d8f2 | ||
|
|
b3ab5731a1 | ||
|
|
1fd1a3899f | ||
|
|
12c627848a | ||
|
|
19e73c9885 | ||
|
|
62baa39368 | ||
|
|
a8449b3f6b | ||
|
|
ed4e097dd3 | ||
|
|
f154b7bb88 | ||
|
|
05762717dd | ||
|
|
8b565d8592 | ||
|
|
8d6f6d8975 | ||
|
|
d61f00778f | ||
|
|
b13ac58684 | ||
|
|
75322d94ec | ||
|
|
d0a11d8977 | ||
|
|
34e84a832a | ||
|
|
476caecdaf | ||
|
|
f61db248a5 | ||
|
|
b014a0c7fd | ||
|
|
ead1195a4d | ||
|
|
082c384eb6 | ||
|
|
73661ceed1 | ||
|
|
e7ed495861 | ||
|
|
4cdc439a86 | ||
|
|
43f09e3c22 | ||
|
|
e1dd7741f7 | ||
|
|
b333a470be | ||
|
|
c3081bf1dc | ||
|
|
f3dd13c42c | ||
|
|
cf31dec83f | ||
|
|
ba61db2950 | ||
|
|
65d2f98f5a | ||
|
|
30abd2ad5e | ||
|
|
f17547d70d | ||
|
|
669d29357d | ||
|
|
0ff84def14 | ||
|
|
116879733a | ||
|
|
2ea9adea56 | ||
|
|
cf2ac70c4c | ||
|
|
7914ce41a9 | ||
|
|
5495735865 | ||
|
|
bd98c46537 | ||
|
|
cbaa2627b8 | ||
|
|
a074284a5a | ||
|
|
5a82136919 | ||
|
|
8df46fc819 | ||
|
|
58a862dfed | ||
|
|
0337c5e7ee | ||
|
|
e3ea2c8fb6 | ||
| 5fffb92c51 | |||
| 28e2f87c31 | |||
| c9845e31a3 | |||
| 1ec4b2a34d | |||
| ba87b2630b | |||
|
|
272ed63938 | ||
|
|
792f0cbb6a | ||
|
|
59a8179efa | ||
|
|
00a49a6e07 | ||
|
|
eca2df8960 | ||
|
|
be8c6de598 | ||
|
|
c7d61c173b | ||
|
|
1e0fe27698 | ||
|
|
59817a48d3 | ||
|
|
6a30ac2bd7 | ||
|
|
5e350fda05 | ||
|
|
12fcf4a6b1 | ||
|
|
1ff84b1016 | ||
|
|
a6beee645d | ||
|
|
39d88c504d | ||
|
|
a7d14600af | ||
|
|
0b7dcbf17f | ||
|
|
9f846e070c | ||
|
|
43132aecaf | ||
|
|
b878136481 | ||
|
|
aa7c1bb27a | ||
|
|
fb2f1df831 | ||
|
|
f642234742 | ||
|
|
43248cdb55 | ||
|
|
e5772e23c8 | ||
|
|
7d1ea669f0 | ||
|
|
9bc4be5683 | ||
|
|
5afffb802c | ||
|
|
7fda575d6c | ||
|
|
af5f6188d9 | ||
|
|
42b4414710 | ||
|
|
b338754e77 | ||
|
|
5cf320e851 | ||
|
|
4b981a0c5a | ||
|
|
628f1a0ec9 | ||
|
|
352aac9380 | ||
|
|
797d20d46f | ||
|
|
e1fa84232d | ||
|
|
77dc5a7294 | ||
|
|
9aa893e109 | ||
|
|
a4899b763a | ||
|
|
06d0a4e916 | ||
|
|
9d1335b4de | ||
|
|
905f418f06 | ||
|
|
7dab86e7b1 | ||
|
|
693d6c3b32 | ||
|
|
5862634583 | ||
|
|
be9089af11 | ||
|
|
308f324d90 | ||
|
|
3346e8384d | ||
|
|
02525b7b47 | ||
|
|
fb244cf065 | ||
|
|
fdc9077538 | ||
|
|
165c98055a | ||
|
|
508b3c5cba | ||
|
|
1bb9262266 | ||
|
|
f97c26ecd5 | ||
|
|
03e1b8278c | ||
|
|
0a6353fe5f | ||
|
|
a20422a08d | ||
|
|
a30ee8153d | ||
|
|
9c65e42136 | ||
|
|
4ae543ab4a | ||
|
|
4effee6abe | ||
|
|
3910ba80b5 | ||
|
|
ddf3c1a91f | ||
|
|
9d444b0d89 | ||
|
|
d4ecd7d283 | ||
|
|
4f5f41fdc2 | ||
|
|
a9b561323b | ||
|
|
bafee22b20 | ||
|
|
32038544b4 | ||
|
|
764657e65d | ||
|
|
b076e93377 | ||
|
|
a915196598 | ||
|
|
46ad5e7ab2 | ||
|
|
f5b6e4c0ac | ||
|
|
2b59a5a3bc | ||
|
|
9bfa2c8b95 | ||
|
|
bbec9836f8 | ||
|
|
b23724fc02 | ||
|
|
598095ebcb | ||
|
|
817c5dd5cf | ||
|
|
515668dca6 | ||
|
|
7d16861a52 | ||
|
|
4e6e03120b | ||
|
|
79f26d76f2 | ||
|
|
bac2476fa2 | ||
|
|
edab8e39a6 | ||
|
|
f9f77c42c9 | ||
|
|
d97d985fa6 | ||
|
|
d5bc4c195a | ||
|
|
5ff3973d91 | ||
|
|
4c2030073e | ||
|
|
d8e514fbd9 | ||
|
|
ceedb0a756 | ||
|
|
17227e8d5d | ||
|
|
a817751684 | ||
|
|
fd34fe7e16 | ||
|
|
273693fcaf | ||
|
|
303f6f2d09 | ||
|
|
dfcdeaf6e4 | ||
|
|
fa015dc643 | ||
|
|
217384846c | ||
|
|
37e1da0bb7 | ||
|
|
b626def417 | ||
|
|
910f3746b5 | ||
|
|
981f53bf0f | ||
|
|
4f803e8694 | ||
|
|
6006dba8e6 | ||
|
|
716a18e5a3 | ||
|
|
e3ad21e4a5 | ||
|
|
6236e68250 | ||
|
|
1c5b5a0a0f | ||
|
|
4e453c0eee | ||
|
|
894999083a | ||
|
|
9a6de017d3 | ||
|
|
5ff7ecbd00 | ||
|
|
8cf5947e12 | ||
|
|
b6dd48020e | ||
|
|
cf05ca9bfe | ||
|
|
bab3ecc66d | ||
|
|
e46933f199 | ||
|
|
1aa6a17070 | ||
|
|
d8fd0141bb | ||
|
|
558f95f625 | ||
|
|
bd0196baca |
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.DS_Store
|
||||||
1
argocd/apps/.gitignore
vendored
Normal file
1
argocd/apps/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.idea
|
||||||
@@ -8,7 +8,7 @@ spec:
|
|||||||
project: default
|
project: default
|
||||||
source:
|
source:
|
||||||
repoURL: 'https://argoproj.github.io/argo-helm'
|
repoURL: 'https://argoproj.github.io/argo-helm'
|
||||||
targetRevision: 8.*
|
targetRevision: 9.*
|
||||||
helm:
|
helm:
|
||||||
parameters:
|
parameters:
|
||||||
- name: 'server.extraArgs[0]'
|
- name: 'server.extraArgs[0]'
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ spec:
|
|||||||
project: default
|
project: default
|
||||||
sources:
|
sources:
|
||||||
- repoURL: https://charts.jetstack.io
|
- repoURL: https://charts.jetstack.io
|
||||||
targetRevision: v1.18.*
|
targetRevision: v1.19.*
|
||||||
chart: cert-manager
|
chart: cert-manager
|
||||||
helm:
|
helm:
|
||||||
version: v3
|
version: v3
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ spec:
|
|||||||
project: default
|
project: default
|
||||||
sources:
|
sources:
|
||||||
- repoURL: https://charts.jetstack.io
|
- repoURL: https://charts.jetstack.io
|
||||||
targetRevision: v1.18.*
|
targetRevision: v1.19.*
|
||||||
chart: cert-manager
|
chart: cert-manager
|
||||||
helm:
|
helm:
|
||||||
version: v3
|
version: v3
|
||||||
|
|||||||
14
argocd/apps/cert-manager/include/brain-cerficate.yaml
Normal file
14
argocd/apps/cert-manager/include/brain-cerficate.yaml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: innovation-hub-niedersachsen.de-brain
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
secretName: brain-tls
|
||||||
|
commonName: 'brain.innovation-hub-niedersachsen.de'
|
||||||
|
dnsNames:
|
||||||
|
- 'brain.innovation-hub-niedersachsen.de'
|
||||||
|
issuerRef:
|
||||||
|
name: lets-encrypt
|
||||||
|
kind: ClusterIssuer
|
||||||
|
group: cert-manager.io
|
||||||
14
argocd/apps/cert-manager/include/keycloak-cerficate.yaml
Normal file
14
argocd/apps/cert-manager/include/keycloak-cerficate.yaml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: innovation-hub-niedersachsen.de-keycloak
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
secretName: keycloak-tls
|
||||||
|
commonName: 'keycloak.innovation-hub-niedersachsen.de'
|
||||||
|
dnsNames:
|
||||||
|
- 'keycloak.innovation-hub-niedersachsen.de'
|
||||||
|
issuerRef:
|
||||||
|
name: lets-encrypt
|
||||||
|
kind: ClusterIssuer
|
||||||
|
group: cert-manager.io
|
||||||
14
argocd/apps/cert-manager/include/mantisbt-cerficate.yaml
Normal file
14
argocd/apps/cert-manager/include/mantisbt-cerficate.yaml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: innovation-hub-niedersachsen.de-mantisbt
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
secretName: mantisbt-tls
|
||||||
|
commonName: 'mantisbt.innovation-hub-niedersachsen.de'
|
||||||
|
dnsNames:
|
||||||
|
- 'mantisbt.innovation-hub-niedersachsen.de'
|
||||||
|
issuerRef:
|
||||||
|
name: lets-encrypt
|
||||||
|
kind: ClusterIssuer
|
||||||
|
group: cert-manager.io
|
||||||
14
argocd/apps/cert-manager/include/mrknow-cerficate.yaml
Normal file
14
argocd/apps/cert-manager/include/mrknow-cerficate.yaml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: innovation-hub-niedersachsen.de-mrknow
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
secretName: mrknow-tls
|
||||||
|
commonName: 'mrknow.innovation-hub-niedersachsen.de'
|
||||||
|
dnsNames:
|
||||||
|
- 'mrknow.innovation-hub-niedersachsen.de'
|
||||||
|
issuerRef:
|
||||||
|
name: lets-encrypt
|
||||||
|
kind: ClusterIssuer
|
||||||
|
group: cert-manager.io
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
#apiVersion: cert-manager.io/v1
|
apiVersion: cert-manager.io/v1
|
||||||
#kind: Certificate
|
kind: Certificate
|
||||||
#metadata:
|
metadata:
|
||||||
# name: innovation-hub-niedersachsen.de-openproject
|
name: innovation-hub-niedersachsen.de-openproject
|
||||||
# namespace: kube-system
|
namespace: kube-system
|
||||||
#spec:
|
spec:
|
||||||
# secretName: openproject-tls
|
secretName: openproject-tls
|
||||||
# commonName: 'openproject.innovation-hub-niedersachsen.de'
|
commonName: 'openproject.innovation-hub-niedersachsen.de'
|
||||||
# dnsNames:
|
dnsNames:
|
||||||
# - 'openproject.innovation-hub-niedersachsen.de'
|
- 'openproject.innovation-hub-niedersachsen.de'
|
||||||
# issuerRef:
|
issuerRef:
|
||||||
# name: lets-encrypt-staging
|
name: lets-encrypt
|
||||||
# kind: ClusterIssuer
|
kind: ClusterIssuer
|
||||||
# group: cert-manager.io
|
group: cert-manager.io
|
||||||
|
|||||||
13
argocd/apps/cert-manager/include/passbolt-certificate.yaml
Normal file
13
argocd/apps/cert-manager/include/passbolt-certificate.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: passbolt-cert
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
secretName: passbolt-tls
|
||||||
|
issuerRef:
|
||||||
|
name: lets-encrypt
|
||||||
|
kind: ClusterIssuer
|
||||||
|
commonName: passbolt.innovation-hub-niedersachsen.de
|
||||||
|
dnsNames:
|
||||||
|
- passbolt.innovation-hub-niedersachsen.de
|
||||||
14
argocd/apps/cert-manager/include/plane-cerficate.yaml
Normal file
14
argocd/apps/cert-manager/include/plane-cerficate.yaml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: innovation-hub-niedersachsen.de-plane
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
secretName: plane-tls
|
||||||
|
commonName: 'plane.innovation-hub-niedersachsen.de'
|
||||||
|
dnsNames:
|
||||||
|
- 'plane.innovation-hub-niedersachsen.de'
|
||||||
|
issuerRef:
|
||||||
|
name: lets-encrypt
|
||||||
|
kind: ClusterIssuer
|
||||||
|
group: cert-manager.io
|
||||||
14
argocd/apps/cert-manager/include/qrdoc-cerficate.yaml
Normal file
14
argocd/apps/cert-manager/include/qrdoc-cerficate.yaml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: innovation-hub-niedersachsen.qrdoc
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
secretName: qrdoc.innovation-hub-niedersachsen.de-tls
|
||||||
|
commonName: 'qrdoc.innovation-hub-niedersachsen.de'
|
||||||
|
dnsNames:
|
||||||
|
- 'qrdoc.innovation-hub-niedersachsen.de'
|
||||||
|
issuerRef:
|
||||||
|
name: lets-encrypt
|
||||||
|
kind: ClusterIssuer
|
||||||
|
group: cert-manager.io
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
apiVersion: cert-manager.io/v1
|
|
||||||
kind: Certificate
|
|
||||||
metadata:
|
|
||||||
name: innovation-hub-niedersachsen.sws3
|
|
||||||
namespace: kube-system
|
|
||||||
spec:
|
|
||||||
secretName: sws3.innovation-hub-niedersachsen.de-tls
|
|
||||||
commonName: 'sws3.innovation-hub-niedersachsen.de'
|
|
||||||
dnsNames:
|
|
||||||
- 'sws3.innovation-hub-niedersachsen.de'
|
|
||||||
issuerRef:
|
|
||||||
name: lets-encrypt
|
|
||||||
kind: ClusterIssuer
|
|
||||||
group: cert-manager.io
|
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: vaultwarden-cert
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
secretName: vaultwarden-tls
|
||||||
|
issuerRef:
|
||||||
|
name: lets-encrypt
|
||||||
|
kind: ClusterIssuer
|
||||||
|
commonName: vaultwarden.innovation-hub-niedersachsen.de
|
||||||
|
dnsNames:
|
||||||
|
- vaultwarden.innovation-hub-niedersachsen.de
|
||||||
14
argocd/apps/cert-manager/include/wekantest-cerficate.yaml
Normal file
14
argocd/apps/cert-manager/include/wekantest-cerficate.yaml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: innovation-hub-niedersachsen.de-wekantest
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
secretName: wekantest-tls
|
||||||
|
commonName: 'wekantest.innovation-hub-niedersachsen.de'
|
||||||
|
dnsNames:
|
||||||
|
- 'wekantest.innovation-hub-niedersachsen.de'
|
||||||
|
issuerRef:
|
||||||
|
name: lets-encrypt
|
||||||
|
kind: ClusterIssuer
|
||||||
|
group: cert-manager.io
|
||||||
@@ -1,47 +1,47 @@
|
|||||||
apiVersion: argoproj.io/v1alpha1
|
#apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
#kind: Application
|
||||||
metadata:
|
#metadata:
|
||||||
name: dashboard
|
# name: dashboard
|
||||||
finalizers:
|
# finalizers:
|
||||||
- resources-finalizer.argocd.argoproj.io
|
# - resources-finalizer.argocd.argoproj.io
|
||||||
spec:
|
#spec:
|
||||||
project: default
|
# project: default
|
||||||
source:
|
# source:
|
||||||
repoURL: 'https://kubernetes.github.io/dashboard/'
|
# repoURL: 'https://kubernetes.github.io/dashboard/'
|
||||||
targetRevision: 7.*.*
|
# targetRevision: 7.*.*
|
||||||
helm:
|
# helm:
|
||||||
parameters:
|
# parameters:
|
||||||
- name: 'ingress.enabled'
|
# - name: 'ingress.enabled'
|
||||||
value: 'true'
|
# value: 'true'
|
||||||
- name: ingress.host
|
# - name: ingress.host
|
||||||
value: 'dashboard.innohub.local'
|
# value: 'dashboard.innohub.local'
|
||||||
- name: 'ingress.tls[0].hosts[0]'
|
# - name: 'ingress.tls[0].hosts[0]'
|
||||||
value: 'dashboard.innohub.local'
|
# value: 'dashboard.innohub.local'
|
||||||
- name: 'ingress.tls[0].secretName'
|
# - name: 'ingress.tls[0].secretName'
|
||||||
value: dashboard-tls
|
# value: dashboard-tls
|
||||||
- name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.entrypoints
|
# - name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.entrypoints
|
||||||
value: websecure
|
# value: websecure
|
||||||
- name: ingress.annotations.kubernetes\.io\/ingress\.class
|
# - name: ingress.annotations.kubernetes\.io\/ingress\.class
|
||||||
value: traefik
|
# value: traefik
|
||||||
- name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.tls
|
# - name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.tls
|
||||||
value: 'true'
|
# value: 'true'
|
||||||
forceString: true
|
# forceString: true
|
||||||
- name: serversTransport
|
# - name: serversTransport
|
||||||
value: 'no-verify-tls'
|
# value: 'no-verify-tls'
|
||||||
# - name: ingress.annotations.cert-manager\.io\/cluster-issuer
|
## - name: ingress.annotations.cert-manager\.io\/cluster-issuer
|
||||||
# value: lets-encrypt
|
## value: lets-encrypt
|
||||||
- name: persistence.enabled
|
# - name: persistence.enabled
|
||||||
value: 'true'
|
# value: 'true'
|
||||||
chart: kubernetes-dashboard
|
# chart: kubernetes-dashboard
|
||||||
destination:
|
# destination:
|
||||||
server: 'https://kubernetes.default.svc'
|
# server: 'https://kubernetes.default.svc'
|
||||||
namespace: kubernetes-dashboard
|
# namespace: kubernetes-dashboard
|
||||||
syncPolicy:
|
# syncPolicy:
|
||||||
# managedNamespaceMetadata:
|
## managedNamespaceMetadata:
|
||||||
# labels:
|
## labels:
|
||||||
# pod-security.kubernetes.io/enforce: 'privileged'
|
## pod-security.kubernetes.io/enforce: 'privileged'
|
||||||
automated:
|
# automated:
|
||||||
selfHeal: true
|
# selfHeal: true
|
||||||
prune: true
|
# prune: true
|
||||||
syncOptions:
|
# syncOptions:
|
||||||
- CreateNamespace=true
|
# - CreateNamespace=true
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ spec:
|
|||||||
source:
|
source:
|
||||||
repoURL: 'https://grafana.github.io/helm-charts'
|
repoURL: 'https://grafana.github.io/helm-charts'
|
||||||
path: 'grafana'
|
path: 'grafana'
|
||||||
targetRevision: 9.*.*
|
targetRevision: 10.*.*
|
||||||
chart: grafana
|
chart: grafana
|
||||||
helm:
|
helm:
|
||||||
parameters:
|
parameters:
|
||||||
|
|||||||
66
argocd/apps/headlamp/values-headlamp.yaml
Normal file
66
argocd/apps/headlamp/values-headlamp.yaml
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: headlamp
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: "https://kubernetes-sigs.github.io/headlamp/"
|
||||||
|
chart: "headlamp"
|
||||||
|
targetRevision: 0.*.*
|
||||||
|
helm:
|
||||||
|
values: |
|
||||||
|
config:
|
||||||
|
inCluster: false # ❗ deaktiviert die in-Cluster-Verbindung
|
||||||
|
extraArgs: []
|
||||||
|
|
||||||
|
env:
|
||||||
|
- name: KUBECONFIG
|
||||||
|
value: /config/kubeconfig
|
||||||
|
|
||||||
|
serviceAccount:
|
||||||
|
create: false
|
||||||
|
name: headlamp-admin
|
||||||
|
|
||||||
|
clusterRoleBinding:
|
||||||
|
create: false
|
||||||
|
|
||||||
|
automountServiceAccountToken: false
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: sa-token
|
||||||
|
secret:
|
||||||
|
secretName: headlamp-admin-token
|
||||||
|
- name: kubeconfig
|
||||||
|
secret:
|
||||||
|
secretName: headlamp-kubeconfig
|
||||||
|
|
||||||
|
volumeMounts:
|
||||||
|
- name: sa-token
|
||||||
|
mountPath: /var/run/secrets/kubernetes.io/serviceaccount
|
||||||
|
readOnly: true
|
||||||
|
- name: kubeconfig
|
||||||
|
mountPath: /config
|
||||||
|
readOnly: true
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
ingressClassName: "traefik"
|
||||||
|
annotations:
|
||||||
|
traefik.ingress.kubernetes.io/router.entrypoints: web
|
||||||
|
hosts:
|
||||||
|
- host: headlamp.innohub.local
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
type: ImplementationSpecific
|
||||||
|
destination:
|
||||||
|
server: 'https://kubernetes.default.svc'
|
||||||
|
namespace: kube-system
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
selfHeal: true
|
||||||
|
prune: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
42
argocd/apps/keycloak/values-keycloak.yaml
Normal file
42
argocd/apps/keycloak/values-keycloak.yaml
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: Middleware
|
||||||
|
metadata:
|
||||||
|
name: keycloak-headers
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
headers:
|
||||||
|
customRequestHeaders:
|
||||||
|
X-Forwarded-Proto: "https"
|
||||||
|
X-Forwarded-Port: "443"
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: keycloak
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`keycloak.innovation-hub-niedersachsen.de`)
|
||||||
|
kind: Rule
|
||||||
|
middlewares:
|
||||||
|
- name: keycloak-headers
|
||||||
|
services:
|
||||||
|
- name: keycloak-external
|
||||||
|
port: 8080
|
||||||
|
tls:
|
||||||
|
secretName: keycloak-tls
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: keycloak-external
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
type: ExternalName
|
||||||
|
externalName: keycloak.innohub.local
|
||||||
|
ports:
|
||||||
|
- port: 8080
|
||||||
56
argocd/apps/longhorn-dev/values-longhorn-dev.yaml
Normal file
56
argocd/apps/longhorn-dev/values-longhorn-dev.yaml
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: longhorn-dev
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: "https://charts.longhorn.io"
|
||||||
|
chart: "longhorn"
|
||||||
|
targetRevision: 1.*.*
|
||||||
|
helm:
|
||||||
|
values: |
|
||||||
|
preUpgradeChecker:
|
||||||
|
jobEnabled: false
|
||||||
|
upgradeVersionCheck: false
|
||||||
|
persistence:
|
||||||
|
defaultClass: true
|
||||||
|
defaultFsType: ext4
|
||||||
|
defaultMkfsParams: ""
|
||||||
|
defaultClassReplicaCount: 2
|
||||||
|
defaultDataLocality: disabled
|
||||||
|
reclaimPolicy: Delete
|
||||||
|
volumeBindingMode: "Immediate"
|
||||||
|
migratable: false
|
||||||
|
disableRevisionCounter: "true"
|
||||||
|
nfsOptions: ""
|
||||||
|
|
||||||
|
defaultSettings:
|
||||||
|
storageOverProvisioningPercentage: "200"
|
||||||
|
storageMinimalAvailablePercentage: "10"
|
||||||
|
storageReservedPercentageForDefaultDisk: "10"
|
||||||
|
defaultReplicaCount: '{"v1":"2","v2":"2"}'
|
||||||
|
replicaAutoBalance: "best-effort"
|
||||||
|
disableRevisionCounter: '{"v1":"true"}'
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
ingressClassName: "traefik"
|
||||||
|
annotations:
|
||||||
|
traefik.ingress.kubernetes.io/router.entrypoints: web
|
||||||
|
host: longhorn-dev.innohub.local
|
||||||
|
|
||||||
|
destination:
|
||||||
|
server: 'https://192.168.4.202:6443'
|
||||||
|
namespace: longhorn-system
|
||||||
|
syncPolicy:
|
||||||
|
managedNamespaceMetadata:
|
||||||
|
labels:
|
||||||
|
pod-security.kubernetes.io/enforce: "privileged"
|
||||||
|
automated:
|
||||||
|
selfHeal: true
|
||||||
|
prune: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
60
argocd/apps/longhorn/values-longhorn.yaml
Normal file
60
argocd/apps/longhorn/values-longhorn.yaml
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: longhorn
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: "https://charts.longhorn.io"
|
||||||
|
chart: "longhorn"
|
||||||
|
targetRevision: 1.*.*
|
||||||
|
helm:
|
||||||
|
values: |
|
||||||
|
preUpgradeChecker:
|
||||||
|
jobEnabled: false
|
||||||
|
upgradeVersionCheck: false
|
||||||
|
persistence:
|
||||||
|
defaultClass: true
|
||||||
|
defaultFsType: ext4
|
||||||
|
defaultMkfsParams: ""
|
||||||
|
defaultClassReplicaCount: 2
|
||||||
|
defaultDataLocality: disabled
|
||||||
|
reclaimPolicy: Delete
|
||||||
|
volumeBindingMode: "Immediate"
|
||||||
|
migratable: false
|
||||||
|
disableRevisionCounter: "true"
|
||||||
|
nfsOptions: ""
|
||||||
|
|
||||||
|
defaultSettings:
|
||||||
|
storageOverProvisioningPercentage: "200"
|
||||||
|
storageMinimalAvailablePercentage: "10"
|
||||||
|
storageReservedPercentageForDefaultDisk: "10"
|
||||||
|
defaultReplicaCount: '{"v1":"2","v2":"2"}'
|
||||||
|
replicaAutoBalance: "best-effort"
|
||||||
|
disableRevisionCounter: '{"v1":"true"}'
|
||||||
|
# Disk-Erstellung nur auf gelabelten Nodes
|
||||||
|
createDefaultDiskLabeledNodes: true
|
||||||
|
# Default-Pfad für neue Disks
|
||||||
|
defaultDataPath: "/mnt/datastore/longhorn"
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
ingressClassName: "traefik"
|
||||||
|
annotations:
|
||||||
|
traefik.ingress.kubernetes.io/router.entrypoints: web
|
||||||
|
host: longhorn.innohub.local
|
||||||
|
|
||||||
|
destination:
|
||||||
|
server: 'https://kubernetes.default.svc'
|
||||||
|
namespace: longhorn-system
|
||||||
|
syncPolicy:
|
||||||
|
managedNamespaceMetadata:
|
||||||
|
labels:
|
||||||
|
pod-security.kubernetes.io/enforce: "privileged"
|
||||||
|
automated:
|
||||||
|
selfHeal: true
|
||||||
|
prune: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
35
argocd/apps/mantisbt/config_inc.php
Normal file
35
argocd/apps/mantisbt/config_inc.php
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
<?php
|
||||||
|
$g_hostname = 'mantisbt-mariadb';
|
||||||
|
$g_db_type = 'mysqli';
|
||||||
|
$g_database_name = 'mantisbt';
|
||||||
|
$g_db_username = 'mantisbt';
|
||||||
|
$g_db_password = 'MantisDBPassword_2024!';
|
||||||
|
|
||||||
|
$g_default_timezone = 'Europe/Berlin';
|
||||||
|
|
||||||
|
$g_crypto_master_salt = 'shJaiK32W2tABdTZjwRUrZN+90AWLHXaLKiOt1Fwpaw=';
|
||||||
|
|
||||||
|
$g_path = 'https://mantisbt.innovation-hub-niedersachsen.de/';
|
||||||
|
|
||||||
|
# Email settings
|
||||||
|
$g_webmaster_email = 'inno-netz@zpd.polizei.niedersachsen.de';
|
||||||
|
$g_from_email = 'mantisbt@innovation-hub-niedersachsen.de';
|
||||||
|
$g_return_path_email = 'mantisbt@innovation-hub-niedersachsen.de';
|
||||||
|
$g_from_name = 'InnoHub MantisBT';
|
||||||
|
|
||||||
|
# SMTP Configuration
|
||||||
|
$g_phpMailer_method = PHPMAILER_METHOD_SMTP;
|
||||||
|
$g_smtp_host = '192.168.4.125';
|
||||||
|
$g_smtp_port = 25;
|
||||||
|
$g_enable_email_notification = ON;
|
||||||
|
|
||||||
|
# File upload - match PHP limit
|
||||||
|
$g_max_file_size = 2000000;
|
||||||
|
$g_allowed_files = 'png,gif,jpg,jpeg,pdf,doc,docx,xls,xlsx,ppt,pptx,txt,zip,rar,7z';
|
||||||
|
|
||||||
|
# Site settings
|
||||||
|
$g_window_title = 'InnoHub Bug Tracker';
|
||||||
|
$g_logo_image = 'images/mantis_logo.png';
|
||||||
|
|
||||||
|
# Security - disable after installation!
|
||||||
|
# $g_allow_signup = OFF;
|
||||||
91
argocd/apps/mantisbt/values-mantisbt.yaml
Normal file
91
argocd/apps/mantisbt/values-mantisbt.yaml
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: mantisbt
|
||||||
|
namespace: argocd
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: 'https://gitea.innovation-hub-niedersachsen.de/innohub/charts/raw/main/mantisbt'
|
||||||
|
targetRevision: 0.4.*
|
||||||
|
chart: mantisbt
|
||||||
|
helm:
|
||||||
|
values: |
|
||||||
|
image:
|
||||||
|
repository: xlrl/mantisbt
|
||||||
|
tag: "latest"
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
className: traefik
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: traefik
|
||||||
|
traefik.ingress.kubernetes.io/router.tls: "true"
|
||||||
|
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||||
|
cert-manager.io/cluster-issuer: lets-encrypt
|
||||||
|
hosts:
|
||||||
|
- mantisbt.innovation-hub-niedersachsen.de
|
||||||
|
tls:
|
||||||
|
- secretName: mantisbt-tls
|
||||||
|
hosts:
|
||||||
|
- mantisbt.innovation-hub-niedersachsen.de
|
||||||
|
|
||||||
|
mantisbt:
|
||||||
|
enableAdmin: "0"
|
||||||
|
timezone: "Europe/Berlin"
|
||||||
|
masterSalt: "shJaiK32W2tABdTZjwRUrZN+90AWLHXaLKiOt1Fwpaw="
|
||||||
|
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
storageClass: longhorn
|
||||||
|
size: 10Gi
|
||||||
|
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: 256Mi
|
||||||
|
cpu: 100m
|
||||||
|
limits:
|
||||||
|
memory: 512Mi
|
||||||
|
cpu: 500m
|
||||||
|
|
||||||
|
mariadb:
|
||||||
|
enabled: true
|
||||||
|
image:
|
||||||
|
tag: "latest"
|
||||||
|
auth:
|
||||||
|
database: mantisbt
|
||||||
|
username: mantisbt
|
||||||
|
password: "MantisDBPassword_2024!"
|
||||||
|
rootPassword: "RootDBPassword_2024!"
|
||||||
|
primary:
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
storageClass: longhorn
|
||||||
|
size: 8Gi
|
||||||
|
livenessProbe:
|
||||||
|
enabled: true
|
||||||
|
initialDelaySeconds: 120
|
||||||
|
periodSeconds: 10
|
||||||
|
timeoutSeconds: 5
|
||||||
|
failureThreshold: 3
|
||||||
|
readinessProbe:
|
||||||
|
enabled: true
|
||||||
|
initialDelaySeconds: 30
|
||||||
|
periodSeconds: 10
|
||||||
|
timeoutSeconds: 5
|
||||||
|
failureThreshold: 3
|
||||||
|
|
||||||
|
destination:
|
||||||
|
server: 'https://kubernetes.default.svc'
|
||||||
|
namespace: mantisbt
|
||||||
|
syncPolicy:
|
||||||
|
managedNamespaceMetadata:
|
||||||
|
labels:
|
||||||
|
pod-security.kubernetes.io/enforce: "privileged"
|
||||||
|
automated:
|
||||||
|
selfHeal: true
|
||||||
|
prune: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
@@ -1,47 +1,43 @@
|
|||||||
apiVersion: argoproj.io/v1alpha1
|
apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: wekan
|
name: mattermost
|
||||||
finalizers:
|
finalizers:
|
||||||
- resources-finalizer.argocd.argoproj.io
|
- resources-finalizer.argocd.argoproj.io
|
||||||
spec:
|
spec:
|
||||||
project: default
|
project: default
|
||||||
source:
|
source:
|
||||||
repoURL: 'https://wekan.github.io/charts/'
|
repoURL: 'https://helm.mattermost.com'
|
||||||
targetRevision: 7.*.*
|
targetRevision: 6.*.*
|
||||||
helm:
|
helm:
|
||||||
parameters:
|
parameters:
|
||||||
- name: 'ingress.enabled'
|
- name: 'ingress.enabled'
|
||||||
value: 'true'
|
value: 'true'
|
||||||
- name: 'endpoint'
|
- name: 'endpoint'
|
||||||
value: 'wekan.innovation-hub-niedersachsen.de'
|
value: 'mattermost.innovation-hub-niedersachsen.de'
|
||||||
- name: ingress.hosts[0]
|
- name: ingress.hosts[0]
|
||||||
value: 'wekan.innovation-hub-niedersachsen.de'
|
value: 'mattermost.innovation-hub-niedersachsen.de'
|
||||||
- name: 'ingress.tls[0].hosts[0]'
|
- name: 'ingress.tls[0].hosts[0]'
|
||||||
value: 'wekan.innovation-hub-niedersachsen.de'
|
value: 'mattermost.innovation-hub-niedersachsen.de'
|
||||||
- name: 'ingress.tls[0].secretName'
|
- name: 'ingress.tls[0].secretName'
|
||||||
value: wekan-tls
|
value: mattermost-tls
|
||||||
- name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.entrypoints
|
|
||||||
value: websecure
|
|
||||||
- name: ingress.annotations.kubernetes\.io\/ingress\.class
|
- name: ingress.annotations.kubernetes\.io\/ingress\.class
|
||||||
value: traefik
|
value: traefik
|
||||||
- name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.tls
|
- name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.tls
|
||||||
value: 'true'
|
value: 'true'
|
||||||
forceString: true
|
forceString: true
|
||||||
|
- name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.middlewares
|
||||||
|
value: 'default-http-redirect@kubernetescrd'
|
||||||
- name: ingress.annotations.cert-manager\.io\/cluster-issuer
|
- name: ingress.annotations.cert-manager\.io\/cluster-issuer
|
||||||
value: lets-encrypt
|
value: lets-encrypt
|
||||||
- name: autoscaling.enabled
|
- name: mysql.mysqlUser
|
||||||
value: 'false'
|
value: 'mmdbuser'
|
||||||
- name: sharedDataFolder.storageClass
|
- name: mysql.mysqlPassword
|
||||||
value: local-path
|
value: 'mmdbpwd'
|
||||||
- name: mongodb.replicaCount
|
chart: mattermost-team-edition
|
||||||
value: '1'
|
|
||||||
- name: root_url
|
|
||||||
value: https://wekan.innovation-hub-niedersachsen.de
|
|
||||||
chart: wekan
|
|
||||||
destination:
|
destination:
|
||||||
server: 'https://kubernetes.default.svc'
|
server: 'https://kubernetes.default.svc'
|
||||||
namespace: wekan
|
namespace: mattermost
|
||||||
syncPolicy:
|
syncPolicy:
|
||||||
managedNamespaceMetadata:
|
managedNamespaceMetadata:
|
||||||
labels:
|
labels:
|
||||||
@@ -50,4 +46,4 @@ spec:
|
|||||||
selfHeal: true
|
selfHeal: true
|
||||||
prune: true
|
prune: true
|
||||||
syncOptions:
|
syncOptions:
|
||||||
- CreateNamespace=true
|
- CreateNamespace=true
|
||||||
@@ -1,43 +1,101 @@
|
|||||||
apiVersion: argoproj.io/v1alpha1
|
apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: mattermost-postgres
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: 'https://charts.bitnami.com/bitnami'
|
||||||
|
targetRevision: 16.*.*
|
||||||
|
chart: postgresql
|
||||||
|
helm:
|
||||||
|
valuesObject:
|
||||||
|
auth:
|
||||||
|
postgresPassword: "mmROOT12345"
|
||||||
|
database: "mattermost"
|
||||||
|
username: "mmdbuser"
|
||||||
|
password: "mmdbpwd"
|
||||||
|
|
||||||
|
primary:
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
storageClass: "longhorn"
|
||||||
|
size: 10Gi
|
||||||
|
|
||||||
|
fullnameOverride: "mattermost-postgresql"
|
||||||
|
|
||||||
|
destination:
|
||||||
|
server: 'https://kubernetes.default.svc'
|
||||||
|
namespace: mattermost
|
||||||
|
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
selfHeal: true
|
||||||
|
prune: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: mattermost
|
name: mattermost
|
||||||
finalizers:
|
|
||||||
- resources-finalizer.argocd.argoproj.io
|
|
||||||
spec:
|
spec:
|
||||||
project: default
|
project: default
|
||||||
source:
|
source:
|
||||||
repoURL: 'https://helm.mattermost.com'
|
repoURL: 'https://helm.mattermost.com'
|
||||||
targetRevision: 6.*.*
|
targetRevision: 6.*.*
|
||||||
helm:
|
|
||||||
parameters:
|
|
||||||
- name: 'ingress.enabled'
|
|
||||||
value: 'true'
|
|
||||||
- name: 'endpoint'
|
|
||||||
value: 'mattermost.innovation-hub-niedersachsen.de'
|
|
||||||
- name: ingress.hosts[0]
|
|
||||||
value: 'mattermost.innovation-hub-niedersachsen.de'
|
|
||||||
- name: 'ingress.tls[0].hosts[0]'
|
|
||||||
value: 'mattermost.innovation-hub-niedersachsen.de'
|
|
||||||
- name: 'ingress.tls[0].secretName'
|
|
||||||
value: mattermost-tls
|
|
||||||
- name: ingress.annotations.kubernetes\.io\/ingress\.class
|
|
||||||
value: traefik
|
|
||||||
- name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.tls
|
|
||||||
value: 'true'
|
|
||||||
forceString: true
|
|
||||||
- name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.middlewares
|
|
||||||
value: 'default-http-redirect@kubernetescrd'
|
|
||||||
- name: ingress.annotations.cert-manager\.io\/cluster-issuer
|
|
||||||
value: lets-encrypt
|
|
||||||
- name: mysql.mysqlUser
|
|
||||||
value: 'mmdbuser'
|
|
||||||
- name: mysql.mysqlPassword
|
|
||||||
value: 'mmdbpwd'
|
|
||||||
chart: mattermost-team-edition
|
chart: mattermost-team-edition
|
||||||
|
helm:
|
||||||
|
valuesObject:
|
||||||
|
|
||||||
|
# Persistence für Mattermost Daten
|
||||||
|
persistence:
|
||||||
|
data:
|
||||||
|
enabled: true
|
||||||
|
size: 10Gi
|
||||||
|
storageClass: "longhorn"
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
plugins:
|
||||||
|
enabled: true
|
||||||
|
size: 1Gi
|
||||||
|
storageClass: "longhorn"
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
|
||||||
|
# MySQL SubChart DEAKTIVIEREN
|
||||||
|
mysql:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
# PostgreSQL als externe Datenbank
|
||||||
|
externalDB:
|
||||||
|
enabled: true
|
||||||
|
externalDriverType: "postgres"
|
||||||
|
externalConnectionString: "mmdbuser:mmdbpwd@mattermost-postgresql:5432/mattermost?sslmode=disable&connect_timeout=10"
|
||||||
|
|
||||||
|
# WICHTIG: Security Context für korrekte Volume-Berechtigungen
|
||||||
|
# Mattermost läuft als UID 2000, GID 2000
|
||||||
|
securityContext:
|
||||||
|
fsGroup: 2000
|
||||||
|
runAsUser: 2000
|
||||||
|
runAsGroup: 2000
|
||||||
|
|
||||||
|
# Ingress Konfiguration
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
hosts:
|
||||||
|
- mattermost.innovation-hub-niedersachsen.de
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- mattermost.innovation-hub-niedersachsen.de
|
||||||
|
secretName: mattermost-tls
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: traefik
|
||||||
|
cert-manager.io/cluster-issuer: lets-encrypt
|
||||||
|
|
||||||
destination:
|
destination:
|
||||||
server: 'https://kubernetes.default.svc'
|
server: 'https://kubernetes.default.svc'
|
||||||
namespace: mattermost
|
namespace: mattermost
|
||||||
|
|
||||||
syncPolicy:
|
syncPolicy:
|
||||||
managedNamespaceMetadata:
|
managedNamespaceMetadata:
|
||||||
labels:
|
labels:
|
||||||
|
|||||||
9
argocd/apps/mattermost/mmm-initcontainer.yaml
Normal file
9
argocd/apps/mattermost/mmm-initcontainer.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
extraInitContainers:
|
||||||
|
- name: fix-permissions
|
||||||
|
image: busybox
|
||||||
|
command: ["sh", "-c", "chown -R 2000:2000 /mattermost/data"]
|
||||||
|
volumeMounts:
|
||||||
|
- name: mattermost-data
|
||||||
|
mountPath: /mattermost/data
|
||||||
|
securityContext:
|
||||||
|
runAsUser: 0
|
||||||
10
argocd/apps/mattermost/mysql-secrets.yaml
Normal file
10
argocd/apps/mattermost/mysql-secrets.yaml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: mattermost-db-credentials
|
||||||
|
namespace: mattermost
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
mysql-root-password: "InnoHubMYSQL_2025!"
|
||||||
|
mysql-password: "mmdbpwd"
|
||||||
|
mysql-user: "mmdbuser"
|
||||||
@@ -1,64 +1,64 @@
|
|||||||
apiVersion: argoproj.io/v1alpha1
|
#apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
#kind: Application
|
||||||
metadata:
|
#metadata:
|
||||||
name: minio
|
# name: minio
|
||||||
finalizers:
|
# finalizers:
|
||||||
- resources-finalizer.argocd.argoproj.io
|
# - resources-finalizer.argocd.argoproj.io
|
||||||
spec:
|
#spec:
|
||||||
project: default
|
# project: default
|
||||||
source:
|
# source:
|
||||||
repoURL: 'registry-1.docker.io/bitnamicharts'
|
# repoURL: 'registry-1.docker.io/bitnamicharts'
|
||||||
path: minio
|
# path: minio
|
||||||
targetRevision: 16.*.*
|
# targetRevision: 16.*.*
|
||||||
chart: minio
|
# chart: minio
|
||||||
helm:
|
# helm:
|
||||||
parameters:
|
# parameters:
|
||||||
- name: auth.rootPassword
|
# - name: auth.rootPassword
|
||||||
value: 'InnoHubMINIO_2024!'
|
# value: 'InnoHubMINIO_2024!'
|
||||||
- name: ingress.enabled
|
# - name: ingress.enabled
|
||||||
value: 'true'
|
# value: 'true'
|
||||||
- name: ingress.hostname
|
# - name: ingress.hostname
|
||||||
value: 's3.innovation-hub-niedersachsen.de'
|
# value: 's3.innovation-hub-niedersachsen.de'
|
||||||
- name: ingress.tls
|
# - name: ingress.tls
|
||||||
value: 'true'
|
# value: 'true'
|
||||||
- name: ingress.annotations.kubernetes\.io\/ingress\.class
|
# - name: ingress.annotations.kubernetes\.io\/ingress\.class
|
||||||
value: traefik
|
# value: traefik
|
||||||
- name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.tls
|
# - name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.tls
|
||||||
value: 'true'
|
# value: 'true'
|
||||||
forceString: true
|
# forceString: true
|
||||||
- name: ingress.annotations.cert-manager\.io\/cluster-issuer
|
# - name: ingress.annotations.cert-manager\.io\/cluster-issuer
|
||||||
value: 'lets-encrypt'
|
# value: 'lets-encrypt'
|
||||||
- name: ingress.annotations.ingress\.secrets
|
# - name: ingress.annotations.ingress\.secrets
|
||||||
value: 's3.innovation-hub-niedersachsen.de-tls'
|
# value: 's3.innovation-hub-niedersachsen.de-tls'
|
||||||
- name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.entrypoints
|
# - name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.entrypoints
|
||||||
value: websecure
|
# value: websecure
|
||||||
- name: apiIngress.enabled
|
# - name: apiIngress.enabled
|
||||||
value: 'true'
|
# value: 'true'
|
||||||
- name: apiIngress.hostname
|
# - name: apiIngress.hostname
|
||||||
value: 'api-s3.innovation-hub-niedersachsen.de'
|
# value: 'api-s3.innovation-hub-niedersachsen.de'
|
||||||
- name: apiIngress.tls
|
# - name: apiIngress.tls
|
||||||
value: 'true'
|
# value: 'true'
|
||||||
- name: apiIngress.annotations.traefik\.ingress\.kubernetes\.io\/router\.entrypoints
|
# - name: apiIngress.annotations.traefik\.ingress\.kubernetes\.io\/router\.entrypoints
|
||||||
value: 'websecure'
|
# value: 'websecure'
|
||||||
- name: apiIngress.annotations.kubernetes\.io\/ingress\.class
|
# - name: apiIngress.annotations.kubernetes\.io\/ingress\.class
|
||||||
value: traefik
|
# value: traefik
|
||||||
- name: apiIngress.annotations.traefik\.ingress\.kubernetes\.io\/router\.tls
|
# - name: apiIngress.annotations.traefik\.ingress\.kubernetes\.io\/router\.tls
|
||||||
value: 'true'
|
# value: 'true'
|
||||||
forceString: true
|
# forceString: true
|
||||||
- name: apiIngress.annotations.cert-manager\.io\/cluster-issuer
|
# - name: apiIngress.annotations.cert-manager\.io\/cluster-issuer
|
||||||
value: 'lets-encrypt'
|
# value: 'lets-encrypt'
|
||||||
- name: apiIngress.annotations.ingress\.secrets
|
# - name: apiIngress.annotations.ingress\.secrets
|
||||||
value: 'api-s3.innovation-hub-niedersachsen.de-tls'
|
# value: 'api-s3.innovation-hub-niedersachsen.de-tls'
|
||||||
destination:
|
# destination:
|
||||||
server: 'https://kubernetes.default.svc'
|
# server: 'https://kubernetes.default.svc'
|
||||||
namespace: minio
|
# namespace: minio
|
||||||
syncPolicy:
|
# syncPolicy:
|
||||||
managedNamespaceMetadata:
|
# managedNamespaceMetadata:
|
||||||
labels:
|
# labels:
|
||||||
pod-security.kubernetes.io/enforce: "privileged"
|
# pod-security.kubernetes.io/enforce: "privileged"
|
||||||
automated:
|
# automated:
|
||||||
selfHeal: true
|
# selfHeal: true
|
||||||
prune: true
|
# prune: true
|
||||||
syncOptions:
|
# syncOptions:
|
||||||
- CreateNamespace=true
|
# - CreateNamespace=true
|
||||||
- RespectIgnoreDifferences=true
|
# - RespectIgnoreDifferences=true
|
||||||
|
|||||||
67
argocd/apps/minio/values-minio.yaml
Normal file
67
argocd/apps/minio/values-minio.yaml
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: minio
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: 'registry-1.docker.io/cloudpirates'
|
||||||
|
path: minio
|
||||||
|
targetRevision: 0.*.*
|
||||||
|
chart: minio
|
||||||
|
helm:
|
||||||
|
values: |
|
||||||
|
auth:
|
||||||
|
rootPassword: "InnoHubMINIO_2024!"
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
className: "traefik"
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: traefik
|
||||||
|
traefik.ingress.kubernetes.io/router.tls: "true"
|
||||||
|
cert-manager.io/cluster-issuer: lets-encrypt
|
||||||
|
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||||
|
hosts:
|
||||||
|
- host: "api-s3.innovation-hub-niedersachsen.de"
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: "Prefix"
|
||||||
|
tls:
|
||||||
|
- secretName: "api-s3.innovation-hub-niedersachsen.de-tls"
|
||||||
|
hosts:
|
||||||
|
- "api-s3.innovation-hub-niedersachsen.de"
|
||||||
|
|
||||||
|
consoleIngress:
|
||||||
|
enabled: true
|
||||||
|
className: "traefik"
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: traefik
|
||||||
|
traefik.ingress.kubernetes.io/router.tls: "true"
|
||||||
|
cert-manager.io/cluster-issuer: lets-encrypt
|
||||||
|
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||||
|
hosts:
|
||||||
|
- host: "s3.innovation-hub-niedersachsen.de"
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: "Prefix"
|
||||||
|
tls:
|
||||||
|
- secretName: "s3.innovation-hub-niedersachsen.de-tls"
|
||||||
|
hosts:
|
||||||
|
- "s3.innovation-hub-niedersachsen.de"
|
||||||
|
persistence:
|
||||||
|
storageClass: "longhorn"
|
||||||
|
|
||||||
|
destination:
|
||||||
|
server: 'https://kubernetes.default.svc'
|
||||||
|
namespace: minio
|
||||||
|
syncPolicy:
|
||||||
|
managedNamespaceMetadata:
|
||||||
|
labels:
|
||||||
|
pod-security.kubernetes.io/enforce: "privileged"
|
||||||
|
automated:
|
||||||
|
selfHeal: true
|
||||||
|
prune: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
165
argocd/apps/mrknow/traefik-mrknow.yaml
Normal file
165
argocd/apps/mrknow/traefik-mrknow.yaml
Normal file
@@ -0,0 +1,165 @@
|
|||||||
|
# =============================================================================
|
||||||
|
# Traefik IngressRoute Konfiguration für MR.KNOW / BPM Inspire
|
||||||
|
# =============================================================================
|
||||||
|
# Anpassen:
|
||||||
|
# - Host: mrknow.innovation-hub-niedersachsen.de (oder gewünschte Domain)
|
||||||
|
# - externalName: IP/Hostname des Portainer/Docker Hosts
|
||||||
|
# - secretName: TLS-Zertifikat Secret
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: Middleware
|
||||||
|
metadata:
|
||||||
|
name: mrknow-headers
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
headers:
|
||||||
|
customRequestHeaders:
|
||||||
|
X-Forwarded-Proto: "https"
|
||||||
|
X-Forwarded-Port: "443"
|
||||||
|
|
||||||
|
---
|
||||||
|
# =============================================================================
|
||||||
|
# IngressRoute für InForm (Frontend / Root-Pfad)
|
||||||
|
# =============================================================================
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: mrknow-inform
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`mrknow.innovation-hub-niedersachsen.de`) && !PathPrefix(`/insign`) && !PathPrefix(`/inspire`) && !PathPrefix(`/pgadmin`)
|
||||||
|
kind: Rule
|
||||||
|
middlewares:
|
||||||
|
- name: mrknow-headers
|
||||||
|
services:
|
||||||
|
- name: mrknow-inform-external
|
||||||
|
port: 8080
|
||||||
|
tls:
|
||||||
|
secretName: mrknow-tls
|
||||||
|
|
||||||
|
---
|
||||||
|
# =============================================================================
|
||||||
|
# IngressRoute für InSign
|
||||||
|
# =============================================================================
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: mrknow-insign
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`mrknow.innovation-hub-niedersachsen.de`) && PathPrefix(`/insign`)
|
||||||
|
kind: Rule
|
||||||
|
middlewares:
|
||||||
|
- name: mrknow-headers
|
||||||
|
services:
|
||||||
|
- name: mrknow-insign-external
|
||||||
|
port: 8081
|
||||||
|
tls:
|
||||||
|
secretName: mrknow-tls
|
||||||
|
|
||||||
|
---
|
||||||
|
# =============================================================================
|
||||||
|
# IngressRoute für InSpire
|
||||||
|
# =============================================================================
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: mrknow-inspire
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`mrknow.innovation-hub-niedersachsen.de`) && PathPrefix(`/inspire`)
|
||||||
|
kind: Rule
|
||||||
|
middlewares:
|
||||||
|
- name: mrknow-headers
|
||||||
|
services:
|
||||||
|
- name: mrknow-inspire-external
|
||||||
|
port: 8082
|
||||||
|
tls:
|
||||||
|
secretName: mrknow-tls
|
||||||
|
|
||||||
|
# ---
|
||||||
|
# =============================================================================
|
||||||
|
# IngressRoute für PgAdmin (optional)
|
||||||
|
# =============================================================================
|
||||||
|
# apiVersion: traefik.io/v1alpha1
|
||||||
|
# kind: IngressRoute
|
||||||
|
# metadata:
|
||||||
|
# name: mrknow-pgadmin
|
||||||
|
# namespace: kube-system
|
||||||
|
# spec:
|
||||||
|
# entryPoints:
|
||||||
|
# - websecure
|
||||||
|
# routes:
|
||||||
|
# - match: Host(`mrknow.innovation-hub-niedersachsen.de`) && PathPrefix(`/pgadmin`)
|
||||||
|
# kind: Rule
|
||||||
|
# middlewares:
|
||||||
|
# - name: mrknow-headers
|
||||||
|
# services:
|
||||||
|
# - name: mrknow-pgadmin-external
|
||||||
|
# port: 5050
|
||||||
|
# tls:
|
||||||
|
# secretName: mrknow-tls
|
||||||
|
|
||||||
|
---
|
||||||
|
# =============================================================================
|
||||||
|
# External Services - Verbindung zum Portainer/Docker Host
|
||||||
|
# =============================================================================
|
||||||
|
# WICHTIG: externalName auf den Hostnamen/IP deines Docker-Hosts anpassen!
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: mrknow-inform-external
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
type: ExternalName
|
||||||
|
externalName: mrknow.innohub.local
|
||||||
|
ports:
|
||||||
|
- port: 8080
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: mrknow-insign-external
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
type: ExternalName
|
||||||
|
externalName: mrknow.innohub.local
|
||||||
|
ports:
|
||||||
|
- port: 8081
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: mrknow-inspire-external
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
type: ExternalName
|
||||||
|
externalName: mrknow.innohub.local
|
||||||
|
ports:
|
||||||
|
- port: 8082
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: mrknow-pgadmin-external
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
type: ExternalName
|
||||||
|
externalName: mrknow.innohub.local
|
||||||
|
ports:
|
||||||
|
- port: 5050
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
#apiVersion: argoproj.io/v1alpha1
|
|
||||||
#kind: Application
|
|
||||||
#metadata:
|
|
||||||
# name: n8n-dev
|
|
||||||
# finalizers:
|
|
||||||
# - resources-finalizer.argocd.argoproj.io
|
|
||||||
#spec:
|
|
||||||
# project: default
|
|
||||||
# source:
|
|
||||||
# repoURL: '8gears.container-registry.com/library'
|
|
||||||
# path: n8n
|
|
||||||
# targetRevision: 1.*.*
|
|
||||||
# chart: n8n
|
|
||||||
# helm:
|
|
||||||
# parameters:
|
|
||||||
# - name: ingress.enabled
|
|
||||||
# value: 'true'
|
|
||||||
# - name: ingress.className
|
|
||||||
# value: traefik
|
|
||||||
# - name: ingress.hosts[0].host
|
|
||||||
# value: n8n-dev.innovation-hub-niedersachsen.de
|
|
||||||
# - name: ingress.hosts[0].paths[0].path
|
|
||||||
# value: "/"
|
|
||||||
# - name: ingress.hosts[0].paths[0].pathType
|
|
||||||
# value: "Prefix"
|
|
||||||
# - name: ingress.annotations.kubernetes\.io\/ingress\.class
|
|
||||||
# value: traefik
|
|
||||||
# - name: ingress.tls[0].secretName
|
|
||||||
# value: "n8n-dev-tls"
|
|
||||||
# - name: ingress.tls[0].hosts[0]
|
|
||||||
# value: "n8n-dev.innovation-hub-niedersachsen.de"
|
|
||||||
# - name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.entrypoints
|
|
||||||
# value: websecure
|
|
||||||
# - name: ingress.annotations.kubernetes\.io\/ingress\.class
|
|
||||||
# value: traefik
|
|
||||||
# - name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.tls
|
|
||||||
# value: 'true'
|
|
||||||
# forceString: true
|
|
||||||
# - name: main.persistence.enabled
|
|
||||||
# value: 'true'
|
|
||||||
# - name: redis.enabled
|
|
||||||
# value: 'true'
|
|
||||||
# - name: worker.enabled
|
|
||||||
# value: 'true'
|
|
||||||
# - name: main.secret.n8n.encryption_key
|
|
||||||
# value: '8gears-n8n-dev-encryption-key'
|
|
||||||
# - name: main.config.n8n.runners_enabled
|
|
||||||
# value: 'true'
|
|
||||||
# - name: main.config.n8n.enforce_settings_file_permissions
|
|
||||||
# value: 'true'
|
|
||||||
# destination:
|
|
||||||
# namespace: n8n
|
|
||||||
# server: 'https://192.168.4.202:6443'
|
|
||||||
# syncPolicy:
|
|
||||||
# automated:
|
|
||||||
# prune: true
|
|
||||||
# selfHeal: true
|
|
||||||
# syncOptions:
|
|
||||||
# - CreateNamespace=true
|
|
||||||
@@ -1,69 +0,0 @@
|
|||||||
apiVersion: argoproj.io/v1alpha1
|
|
||||||
kind: Application
|
|
||||||
metadata:
|
|
||||||
name: n8n
|
|
||||||
finalizers:
|
|
||||||
- resources-finalizer.argocd.argoproj.io
|
|
||||||
spec:
|
|
||||||
project: default
|
|
||||||
source:
|
|
||||||
repoURL: 'https://community-charts.github.io/helm-charts'
|
|
||||||
targetRevision: 1.*.*
|
|
||||||
chart: n8n
|
|
||||||
helm:
|
|
||||||
parameters:
|
|
||||||
- name: db.type
|
|
||||||
value: "postgresdb"
|
|
||||||
- name: postgresql.enabled
|
|
||||||
value: "true"
|
|
||||||
- name: postgresql.primary.persistence.enabled
|
|
||||||
value: "true"
|
|
||||||
- name: postgresql.auth.usename
|
|
||||||
value: "n8n"
|
|
||||||
- name: postgresql.auth.password
|
|
||||||
value: "n8n"
|
|
||||||
- name: minio.enabled
|
|
||||||
value: "true"
|
|
||||||
- name: minio.persistence.enabled
|
|
||||||
value: "true"
|
|
||||||
- name: webhook.allNodes
|
|
||||||
value: "true"
|
|
||||||
- name: webhook.url
|
|
||||||
value: "https://n8n.innovation-hub-niedersachsen.de/"
|
|
||||||
- name: redis.enabled
|
|
||||||
value: "true"
|
|
||||||
- name: redis.master.persistence.enabled
|
|
||||||
value: "true"
|
|
||||||
- name: ingress.enabled
|
|
||||||
value: "true"
|
|
||||||
- name: ingress.className
|
|
||||||
value: "traefik"
|
|
||||||
- name: ingress.hosts[0].host
|
|
||||||
value: "n8n.innovation-hub-niedersachsen.de"
|
|
||||||
- name: ingress.hosts[0].paths[0].path
|
|
||||||
value: "/"
|
|
||||||
- name: ingress.hosts[0].paths[0].pathType
|
|
||||||
value: "Prefix"
|
|
||||||
- name: ingress.annotations.kubernetes\.io\/ingress\.class
|
|
||||||
value: traefik
|
|
||||||
- name: ingress.tls[0].secretName
|
|
||||||
value: "n8n-tls"
|
|
||||||
- name: ingress.tls[0].hosts[0]
|
|
||||||
value: "n8n.innovation-hub-niedersachsen.de"
|
|
||||||
- name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.tls
|
|
||||||
value: "true"
|
|
||||||
forceString: true
|
|
||||||
- name: ingress.annotations.cert-manager\.io\/cluster-issuer
|
|
||||||
value: lets-encrypt
|
|
||||||
destination:
|
|
||||||
server: 'https://kubernetes.default.svc'
|
|
||||||
namespace: n8n
|
|
||||||
syncPolicy:
|
|
||||||
managedNamespaceMetadata:
|
|
||||||
labels:
|
|
||||||
pod-security.kubernetes.io/enforce: "privileged"
|
|
||||||
automated:
|
|
||||||
selfHeal: true
|
|
||||||
prune: true
|
|
||||||
syncOptions:
|
|
||||||
- CreateNamespace=true
|
|
||||||
112
argocd/apps/n8n/values-n8n.yaml
Normal file
112
argocd/apps/n8n/values-n8n.yaml
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: n8n
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: 'https://community-charts.github.io/helm-charts'
|
||||||
|
targetRevision: 1.*.*
|
||||||
|
chart: n8n
|
||||||
|
helm:
|
||||||
|
values: |
|
||||||
|
encryptionKey: "239fbfe8315c786826a9af8f6f984e46"
|
||||||
|
|
||||||
|
# n8n Hauptknoten mit Persistenz
|
||||||
|
main:
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
storageClass: "longhorn"
|
||||||
|
size: 10Gi
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
mountPath: "/home/node/.n8n"
|
||||||
|
annotations:
|
||||||
|
helm.sh/resource-policy: keep
|
||||||
|
forceToUseStatefulset: true
|
||||||
|
count: 1
|
||||||
|
|
||||||
|
# Umgebungsvariablen für Trust Proxy
|
||||||
|
extraEnvVars:
|
||||||
|
N8N_PROXY_HOPS: "1"
|
||||||
|
|
||||||
|
# PostgreSQL Datenbank
|
||||||
|
db:
|
||||||
|
type: "postgresdb"
|
||||||
|
postgresql:
|
||||||
|
enabled: true
|
||||||
|
primary:
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
storageClass: "longhorn"
|
||||||
|
size: 10Gi
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
annotations:
|
||||||
|
helm.sh/resource-policy: keep
|
||||||
|
auth:
|
||||||
|
username: "n8n"
|
||||||
|
password: "n8n"
|
||||||
|
postgresPassword: "35PuQG99qi"
|
||||||
|
database: "n8n"
|
||||||
|
|
||||||
|
# MinIO für Binary Data
|
||||||
|
minio:
|
||||||
|
enabled: true
|
||||||
|
rootUser: "vkYCY4YJsFv11E18az7o"
|
||||||
|
rootPassword: "gOVBJMs5qxABhReVQwe3M43mfS8RsejUJSKOWr5N"
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
storageClass: "longhorn"
|
||||||
|
size: 40Gi
|
||||||
|
annotations:
|
||||||
|
helm.sh/resource-policy: keep
|
||||||
|
|
||||||
|
# Redis für Queue Mode
|
||||||
|
redis:
|
||||||
|
enabled: true
|
||||||
|
auth:
|
||||||
|
password: "y8GBnBTleK"
|
||||||
|
master:
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
storageClass: "longhorn"
|
||||||
|
size: 5Gi
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
annotations:
|
||||||
|
helm.sh/resource-policy: keep
|
||||||
|
|
||||||
|
webhook:
|
||||||
|
url: "https://n8n.innovation-hub-niedersachsen.de/"
|
||||||
|
allNodes: true
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
className: "traefik"
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: traefik
|
||||||
|
traefik.ingress.kubernetes.io/router.tls: "true"
|
||||||
|
cert-manager.io/cluster-issuer: lets-encrypt
|
||||||
|
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||||
|
hosts:
|
||||||
|
- host: "n8n.innovation-hub-niedersachsen.de"
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: "Prefix"
|
||||||
|
tls:
|
||||||
|
- secretName: "n8n-tls"
|
||||||
|
hosts:
|
||||||
|
- "n8n.innovation-hub-niedersachsen.de"
|
||||||
|
|
||||||
|
destination:
|
||||||
|
server: 'https://kubernetes.default.svc'
|
||||||
|
namespace: n8n
|
||||||
|
syncPolicy:
|
||||||
|
managedNamespaceMetadata:
|
||||||
|
labels:
|
||||||
|
pod-security.kubernetes.io/enforce: "privileged"
|
||||||
|
automated:
|
||||||
|
selfHeal: true
|
||||||
|
prune: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
128
argocd/apps/nextcloud/nextcloud.bak
Normal file
128
argocd/apps/nextcloud/nextcloud.bak
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: nextcloud
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: 'https://nextcloud.github.io/helm/'
|
||||||
|
targetRevision: 8.*.*
|
||||||
|
helm:
|
||||||
|
parameters:
|
||||||
|
- name: image.repository
|
||||||
|
value: 'nextcloud'
|
||||||
|
- name: image.flavor
|
||||||
|
value: 'fpm'
|
||||||
|
- name: ingress.className
|
||||||
|
value: 'traefik'
|
||||||
|
- name: nginx.enabled
|
||||||
|
value: 'true'
|
||||||
|
- name: 'ingress.enabled'
|
||||||
|
value: 'true'
|
||||||
|
- name: ingress.servicePort
|
||||||
|
value: 'https'
|
||||||
|
- name: phpClientHttpsFix.enabled
|
||||||
|
value: 'true'
|
||||||
|
- name: phpClientHttpsFix.protocol
|
||||||
|
value: 'https'
|
||||||
|
- name: nextcloud.host
|
||||||
|
value: 'innocloud.innovation-hub-niedersachsen.de'
|
||||||
|
- name: nextcloud.password
|
||||||
|
value: 'InnoHubADMIN_2024!'
|
||||||
|
- name: internalDatabase.enabled
|
||||||
|
value: 'false'
|
||||||
|
- name: redis.enabled
|
||||||
|
value: 'true'
|
||||||
|
- name: redis.auth.password
|
||||||
|
value: 'redisInnoDBUser'
|
||||||
|
- name: postgresql.enabled
|
||||||
|
value: 'true'
|
||||||
|
- name: postgresql.global.postgresql.auth.password
|
||||||
|
value: 'pgInnoDBUser'
|
||||||
|
- name: postgresql.primary.persistence.enabled
|
||||||
|
value: 'true'
|
||||||
|
- name: 'endpoint'
|
||||||
|
value: 'innocloud.innovation-hub-niedersachsen.de'
|
||||||
|
- name: ingress.hosts[0]
|
||||||
|
value: 'innocloud.innovation-hub-niedersachsen.de'
|
||||||
|
- name: 'ingress.tls[0].hosts[0]'
|
||||||
|
value: 'innocloud.innovation-hub-niedersachsen.de'
|
||||||
|
- name: 'ingress.tls[0].secretName'
|
||||||
|
value: innocloud-tls
|
||||||
|
- name: ingress.annotations.kubernetes\.io\/ingress\.class
|
||||||
|
value: traefik
|
||||||
|
- name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.tls
|
||||||
|
value: 'true'
|
||||||
|
forceString: true
|
||||||
|
- name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.middlewares
|
||||||
|
value: 'kube-system-hsts@kubernetescrd'
|
||||||
|
- name: service\.annotations\.traefik\.ingress\.kubernetes\.io\/service\.sticky\.cookie
|
||||||
|
value: 'true'
|
||||||
|
- name: ingress.annotations.cert-manager\.io\/cluster-issuer
|
||||||
|
value: lets-encrypt
|
||||||
|
- name: persistence.enabled
|
||||||
|
value: 'true'
|
||||||
|
- name: persistence.nextcloudData.enabled
|
||||||
|
value: 'true'
|
||||||
|
- name: cronjob.enabled
|
||||||
|
value: 'true'
|
||||||
|
- name: nextcloud.mail.fromAddress
|
||||||
|
value: 'admin'
|
||||||
|
- name: nextcloud.mail.domain
|
||||||
|
value: 'innovation-hub-niedersachsen.de'
|
||||||
|
- name: nextcloud.mail.smtp.host
|
||||||
|
value: '192.168.4.125'
|
||||||
|
- name: nextcloud.mail.smtp.port
|
||||||
|
value: '25'
|
||||||
|
|
||||||
|
# AppAPI DinD Sidecar Configuration
|
||||||
|
- name: nextcloud.extraSidecarContainers[0].name
|
||||||
|
value: 'dind'
|
||||||
|
- name: nextcloud.extraSidecarContainers[0].image
|
||||||
|
value: 'docker:27-dind'
|
||||||
|
- name: nextcloud.extraSidecarContainers[0].securityContext.privileged
|
||||||
|
value: 'true'
|
||||||
|
- name: nextcloud.extraSidecarContainers[0].env[0].name
|
||||||
|
value: 'DOCKER_TLS_CERTDIR'
|
||||||
|
- name: nextcloud.extraSidecarContainers[0].env[0].value
|
||||||
|
value: ''
|
||||||
|
- name: nextcloud.extraSidecarContainers[0].volumeMounts[0].name
|
||||||
|
value: 'docker-sock'
|
||||||
|
- name: nextcloud.extraSidecarContainers[0].volumeMounts[0].mountPath
|
||||||
|
value: '/var/run'
|
||||||
|
- name: nextcloud.extraSidecarContainers[0].volumeMounts[1].name
|
||||||
|
value: 'dind-storage'
|
||||||
|
- name: nextcloud.extraSidecarContainers[0].volumeMounts[1].mountPath
|
||||||
|
value: '/var/lib/docker'
|
||||||
|
|
||||||
|
# Extra Volumes für DinD
|
||||||
|
- name: nextcloud.extraVolumes[0].name
|
||||||
|
value: 'docker-sock'
|
||||||
|
- name: nextcloud.extraVolumes[0].emptyDir
|
||||||
|
value: '{}'
|
||||||
|
- name: nextcloud.extraVolumes[1].name
|
||||||
|
value: 'dind-storage'
|
||||||
|
- name: nextcloud.extraVolumes[1].emptyDir
|
||||||
|
value: '{}'
|
||||||
|
|
||||||
|
# Mount Docker Socket in Nextcloud Container
|
||||||
|
- name: nextcloud.extraVolumeMounts[0].name
|
||||||
|
value: 'docker-sock'
|
||||||
|
- name: nextcloud.extraVolumeMounts[0].mountPath
|
||||||
|
value: '/var/run'
|
||||||
|
|
||||||
|
chart: nextcloud
|
||||||
|
destination:
|
||||||
|
server: 'https://kubernetes.default.svc'
|
||||||
|
namespace: nextcloud
|
||||||
|
syncPolicy:
|
||||||
|
managedNamespaceMetadata:
|
||||||
|
labels:
|
||||||
|
pod-security.kubernetes.io/enforce: "privileged"
|
||||||
|
automated:
|
||||||
|
selfHeal: true
|
||||||
|
prune: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
@@ -8,90 +8,129 @@ spec:
|
|||||||
project: default
|
project: default
|
||||||
source:
|
source:
|
||||||
repoURL: 'https://nextcloud.github.io/helm/'
|
repoURL: 'https://nextcloud.github.io/helm/'
|
||||||
targetRevision: 7.*.*
|
targetRevision: 8.*.*
|
||||||
helm:
|
helm:
|
||||||
parameters:
|
values: |
|
||||||
- name: image.repository
|
image:
|
||||||
value: 'nextcloud'
|
repository: nextcloud
|
||||||
- name: image.flavor
|
flavor: fpm
|
||||||
value: 'fpm'
|
|
||||||
- name: ingress.className
|
ingress:
|
||||||
value: 'traefik'
|
enabled: true
|
||||||
- name: nginx.enabled
|
className: traefik
|
||||||
value: 'true'
|
servicePort: https
|
||||||
- name: 'ingress.enabled'
|
annotations:
|
||||||
value: 'true'
|
kubernetes.io/ingress.class: traefik
|
||||||
- name: ingress.servicePort
|
traefik.ingress.kubernetes.io/router.tls: "true"
|
||||||
value: 'https'
|
traefik.ingress.kubernetes.io/router.middlewares: kube-system-hsts@kubernetescrd
|
||||||
- name: phpClientHttpsFix.enabled
|
cert-manager.io/cluster-issuer: lets-encrypt
|
||||||
value: 'true'
|
hosts:
|
||||||
- name: phpClientHttpsFix.protocol
|
- innocloud.innovation-hub-niedersachsen.de
|
||||||
value: 'https'
|
tls:
|
||||||
- name: nextcloud.host
|
- secretName: innocloud-tls
|
||||||
value: 'innocloud.innovation-hub-niedersachsen.de'
|
hosts:
|
||||||
- name: nextcloud.password
|
- innocloud.innovation-hub-niedersachsen.de
|
||||||
value: 'InnoHubADMIN_2024!'
|
|
||||||
- name: internalDatabase.enabled
|
service:
|
||||||
value: 'false'
|
annotations:
|
||||||
- name: redis.enabled
|
traefik.ingress.kubernetes.io/service.sticky.cookie: "true"
|
||||||
value: 'true'
|
|
||||||
- name: redis.auth.password
|
nginx:
|
||||||
value: 'redisInnoDBUser'
|
enabled: true
|
||||||
- name: postgresql.enabled
|
|
||||||
value: 'true'
|
phpClientHttpsFix:
|
||||||
- name: postgresql.global.postgresql.auth.password
|
enabled: true
|
||||||
value: 'pgInnoDBUser'
|
protocol: https
|
||||||
- name: postgresql.primary.persistence.enabled
|
|
||||||
value: 'true'
|
nextcloud:
|
||||||
# - name: externalDatabase.type
|
host: innocloud.innovation-hub-niedersachsen.de
|
||||||
# value: postgresql
|
password: InnoHubADMIN_2024!
|
||||||
# - name: externalDatabase.host
|
mail:
|
||||||
# value: 'nextcloud-postgresql-0'
|
enabled: true
|
||||||
# - name: externalDatabase.password
|
fromAddress: admin
|
||||||
# value: 'pgInnoDBUser'
|
domain: innovation-hub-niedersachsen.de
|
||||||
- name: 'endpoint'
|
smtp:
|
||||||
value: 'innocloud.innovation-hub-niedersachsen.de'
|
host: 192.168.4.125
|
||||||
- name: ingress.hosts[0]
|
port: 25
|
||||||
value: 'innocloud.innovation-hub-niedersachsen.de'
|
|
||||||
- name: 'ingress.tls[0].hosts[0]'
|
# DinD Sidecar für AppAPI (TCP Mode)
|
||||||
value: 'innocloud.innovation-hub-niedersachsen.de'
|
extraSidecarContainers:
|
||||||
- name: 'ingress.tls[0].secretName'
|
- name: dind
|
||||||
value: innocloud-tls
|
image: docker:27-dind
|
||||||
- name: ingress.annotations.kubernetes\.io\/ingress\.class
|
securityContext:
|
||||||
value: traefik
|
privileged: true
|
||||||
- name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.tls
|
command:
|
||||||
value: 'true'
|
- dockerd
|
||||||
forceString: true
|
args:
|
||||||
- name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.middlewares
|
- --host=tcp://0.0.0.0:2375
|
||||||
value: 'kube-system-hsts@kubernetescrd'
|
- --tls=false
|
||||||
- name: service\.annotations\.traefik\.ingress\.kubernetes\.io\/service\.sticky\.cookie
|
env:
|
||||||
value: 'true'
|
- name: DOCKER_TLS_CERTDIR
|
||||||
- name: ingress.annotations.cert-manager\.io\/cluster-issuer
|
value: ""
|
||||||
value: lets-encrypt
|
volumeMounts:
|
||||||
- name: persistence.enabled
|
- name: dind-storage
|
||||||
value: 'true'
|
mountPath: /var/lib/docker
|
||||||
- name: persistence.nextcloudData.enabled
|
ports:
|
||||||
value: 'true'
|
- containerPort: 2375
|
||||||
- name: cronjob.enabled
|
name: docker
|
||||||
value: 'true'
|
|
||||||
- name: nextcloud.mail.fromAddress
|
extraVolumes:
|
||||||
value: 'admin'
|
- name: dind-storage
|
||||||
- name: nextcloud.mail.domain
|
emptyDir: {}
|
||||||
value: 'innovation-hub-niedersachsen.de'
|
|
||||||
- name: nextcloud.mail.smtp.host
|
internalDatabase:
|
||||||
value: '192.168.4.125'
|
enabled: false
|
||||||
- name: nextcloud.mail.smtp.port
|
|
||||||
value: '25'
|
redis:
|
||||||
|
enabled: true
|
||||||
|
auth:
|
||||||
|
password: redisInnoDBUser
|
||||||
|
# architecture: standalone
|
||||||
|
master:
|
||||||
|
extraEnvVars:
|
||||||
|
- name: REDIS_MASTER_HOST
|
||||||
|
value: "localhost"
|
||||||
|
- name: REDIS_MASTER_PORT_NUMBER
|
||||||
|
value: "6379"
|
||||||
|
readinessProbe:
|
||||||
|
timeoutSeconds: 20
|
||||||
|
replica:
|
||||||
|
extraEnvVars:
|
||||||
|
- name: REDIS_MASTER_HOST
|
||||||
|
value: "nextcloud-redis-master"
|
||||||
|
- name: REDIS_MASTER_PORT_NUMBER
|
||||||
|
value: "6379"
|
||||||
|
readinessProbe:
|
||||||
|
timeoutSeconds: 20
|
||||||
|
|
||||||
|
postgresql:
|
||||||
|
enabled: true
|
||||||
|
global:
|
||||||
|
postgresql:
|
||||||
|
auth:
|
||||||
|
password: pgInnoDBUser
|
||||||
|
primary:
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
nextcloudData:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
cronjob:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
chart: nextcloud
|
chart: nextcloud
|
||||||
destination:
|
destination:
|
||||||
server: 'https://kubernetes.default.svc'
|
server: 'https://kubernetes.default.svc'
|
||||||
namespace: nextcloud
|
namespace: nextcloud
|
||||||
syncPolicy:
|
syncPolicy:
|
||||||
managedNamespaceMetadata:
|
managedNamespaceMetadata:
|
||||||
labels:
|
labels:
|
||||||
pod-security.kubernetes.io/enforce: "privileged"
|
pod-security.kubernetes.io/enforce: "privileged"
|
||||||
automated:
|
automated:
|
||||||
selfHeal: true
|
selfHeal: true
|
||||||
prune: true
|
prune: true
|
||||||
syncOptions:
|
syncOptions:
|
||||||
- CreateNamespace=true
|
- CreateNamespace=true
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
apiVersion: argoproj.io/v1alpha1
|
|
||||||
kind: Application
|
|
||||||
metadata:
|
|
||||||
name: open-webui
|
|
||||||
finalizers:
|
|
||||||
- resources-finalizer.argocd.argoproj.io
|
|
||||||
spec:
|
|
||||||
project: default
|
|
||||||
source:
|
|
||||||
repoURL: 'https://helm.openwebui.com/'
|
|
||||||
targetRevision: 8.*.*
|
|
||||||
helm:
|
|
||||||
parameters:
|
|
||||||
- name: serviceAccount.enable
|
|
||||||
value: 'false'
|
|
||||||
- name: persistence.size
|
|
||||||
value: 200Gi
|
|
||||||
- name: existingClaim
|
|
||||||
value: "open-webui"
|
|
||||||
- name: ollama.enabled
|
|
||||||
value: 'false'
|
|
||||||
# - name: ollama.persistentVolume.enabled
|
|
||||||
# value: 'true'
|
|
||||||
# - name: ollama.persistence.existingClaim
|
|
||||||
# value: "open-webui-llm-storage"
|
|
||||||
# - name: ollama.persistenceVolume.size
|
|
||||||
# value: 200Gi
|
|
||||||
- name: ingress.class
|
|
||||||
value: 'traefik'
|
|
||||||
- name: ingress.enabled
|
|
||||||
value: 'true'
|
|
||||||
- name: ingress.host
|
|
||||||
value: "innollm.innovation-hub-niedersachsen.de"
|
|
||||||
- name: ingress.tls
|
|
||||||
value: 'true'
|
|
||||||
- name: ingress.existingSecret
|
|
||||||
value: 'innollm-tls'
|
|
||||||
- name: ingress.annotations.kubernetes\.io\/ingress\.class
|
|
||||||
value: traefik
|
|
||||||
- name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.tls
|
|
||||||
value: 'true'
|
|
||||||
forceString: true
|
|
||||||
- name: ingress.annotations.cert-manager\.io\/cluster-issuer
|
|
||||||
value: lets-encrypt
|
|
||||||
chart: open-webui
|
|
||||||
destination:
|
|
||||||
server: 'https://kubernetes.default.svc'
|
|
||||||
namespace: open-webui
|
|
||||||
syncPolicy:
|
|
||||||
managedNamespaceMetadata:
|
|
||||||
labels:
|
|
||||||
pod-security.kubernetes.io/enforce: 'privileged'
|
|
||||||
automated:
|
|
||||||
selfHeal: true
|
|
||||||
prune: true
|
|
||||||
syncOptions:
|
|
||||||
- CreateNamespace=true
|
|
||||||
72
argocd/apps/open-webui/values-openwebui.yaml
Normal file
72
argocd/apps/open-webui/values-openwebui.yaml
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: open-webui
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: 'https://helm.openwebui.com/'
|
||||||
|
targetRevision: 9.*.*
|
||||||
|
chart: open-webui
|
||||||
|
helm:
|
||||||
|
values: |
|
||||||
|
serviceAccount:
|
||||||
|
enable: false
|
||||||
|
|
||||||
|
persistence:
|
||||||
|
size: 200Gi
|
||||||
|
storageClass: longhorn
|
||||||
|
|
||||||
|
ollama:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
extraEnvVars:
|
||||||
|
- name: OAUTH_LOGOUT_REDIRECT_URL
|
||||||
|
value: "https://innollm.innovation-hub-niedersachsen.de/"
|
||||||
|
- name: ENABLE_OAUTH_LOGOUT
|
||||||
|
value: "true"
|
||||||
|
- name: WEBUI_SECRET_KEY
|
||||||
|
value: "17e027e793724fcbf0400c91374d6960f1beec64b52939c4ee20c1b6faf859ad"
|
||||||
|
- name: CORS_ALLOW_ORIGIN
|
||||||
|
value: "https://innollm.innovation-hub-niedersachsen.de"
|
||||||
|
- name: USER_AGENT
|
||||||
|
value: "Open-WebUI/InnoHub"
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
class: traefik
|
||||||
|
host: "innollm.innovation-hub-niedersachsen.de"
|
||||||
|
tls: true
|
||||||
|
existingSecret: "innollm-tls"
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: traefik
|
||||||
|
traefik.ingress.kubernetes.io/router.tls: "true"
|
||||||
|
cert-manager.io/cluster-issuer: lets-encrypt
|
||||||
|
|
||||||
|
sso:
|
||||||
|
enabled: true
|
||||||
|
enableSignup: true
|
||||||
|
mergeAccountsByEmail: false
|
||||||
|
enableRoleManagement: false
|
||||||
|
enableGroupManagement: false
|
||||||
|
oidc:
|
||||||
|
enabled: true
|
||||||
|
clientId: "open-webui"
|
||||||
|
clientSecret: "RFkQ5RDXv6KE4DiQsOq3BJejWFElu90G"
|
||||||
|
providerUrl: "https://keycloak.innovation-hub-niedersachsen.de/realms/innohub/.well-known/openid-configuration"
|
||||||
|
providerName: "Keycloak"
|
||||||
|
|
||||||
|
destination:
|
||||||
|
server: 'https://kubernetes.default.svc'
|
||||||
|
namespace: open-webui
|
||||||
|
syncPolicy:
|
||||||
|
managedNamespaceMetadata:
|
||||||
|
labels:
|
||||||
|
pod-security.kubernetes.io/enforce: 'privileged'
|
||||||
|
automated:
|
||||||
|
selfHeal: true
|
||||||
|
prune: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
10
argocd/apps/plane/bakup/plane-ingress_fix.txt
Normal file
10
argocd/apps/plane/bakup/plane-ingress_fix.txt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
kubectl patch ingress plane-ingress -n plane \
|
||||||
|
--type merge \
|
||||||
|
-p '{
|
||||||
|
"spec": {
|
||||||
|
"tls": [{
|
||||||
|
"hosts": ["plane.innovation-hub-niedersachsen.de"],
|
||||||
|
"secretName": "plane-tls"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
}'
|
||||||
63
argocd/apps/plane/plane-secret-patcher.yaml
Normal file
63
argocd/apps/plane/plane-secret-patcher.yaml
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
apiVersion: batch/v1
|
||||||
|
kind: Job
|
||||||
|
metadata:
|
||||||
|
name: plane-secret-patcher
|
||||||
|
namespace: plane
|
||||||
|
annotations:
|
||||||
|
argocd.argoproj.io/hook: PostSync
|
||||||
|
argocd.argoproj.io/hook-delete-policy: BeforeHookCreation
|
||||||
|
spec:
|
||||||
|
template:
|
||||||
|
spec:
|
||||||
|
serviceAccountName: plane-secret-patcher
|
||||||
|
restartPolicy: Never
|
||||||
|
containers:
|
||||||
|
- name: patcher
|
||||||
|
image: bitnami/kubectl:latest
|
||||||
|
command:
|
||||||
|
- /bin/sh
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
# Patch plane-app-secrets
|
||||||
|
kubectl patch secret plane-app-secrets -n plane --type='json' -p='[
|
||||||
|
{"op": "replace", "path": "/data/DATABASE_URL", "value": "'$(echo -n "postgresql://plane:plane@plane-pgdb:5432/plane" | base64)'"},
|
||||||
|
{"op": "replace", "path": "/data/REDIS_URL", "value": "'$(echo -n "redis://plane-redis:6379/" | base64)'"},
|
||||||
|
{"op": "replace", "path": "/data/AMQP_URL", "value": "'$(echo -n "amqp://plane:plane@plane-rabbitmq/" | base64)'"}
|
||||||
|
]'
|
||||||
|
|
||||||
|
# Patch plane-live-secrets
|
||||||
|
kubectl patch secret plane-live-secrets -n plane --type='json' -p='[
|
||||||
|
{"op": "replace", "path": "/data/REDIS_URL", "value": "'$(echo -n "redis://plane-redis:6379/" | base64)'"}
|
||||||
|
]'
|
||||||
|
|
||||||
|
echo "Secrets patched successfully"
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: plane-secret-patcher
|
||||||
|
namespace: plane
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: Role
|
||||||
|
metadata:
|
||||||
|
name: plane-secret-patcher
|
||||||
|
namespace: plane
|
||||||
|
rules:
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["secrets"]
|
||||||
|
verbs: ["get", "patch"]
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: RoleBinding
|
||||||
|
metadata:
|
||||||
|
name: plane-secret-patcher
|
||||||
|
namespace: plane
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: Role
|
||||||
|
name: plane-secret-patcher
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: plane-secret-patcher
|
||||||
|
namespace: plane
|
||||||
135
argocd/apps/plane/values-plane.yaml
Normal file
135
argocd/apps/plane/values-plane.yaml
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: plane
|
||||||
|
namespace: argocd
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
ignoreDifferences:
|
||||||
|
- group: ""
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
jsonPointers:
|
||||||
|
- /metadata/creationTimestamp
|
||||||
|
- group: batch
|
||||||
|
kind: Job
|
||||||
|
jsonPointers:
|
||||||
|
- /spec
|
||||||
|
- /metadata/annotations
|
||||||
|
- /metadata/labels
|
||||||
|
- group: apps
|
||||||
|
kind: StatefulSet
|
||||||
|
jsonPointers:
|
||||||
|
- /spec/volumeClaimTemplates/0/metadata/creationTimestamp
|
||||||
|
- /spec/volumeClaimTemplates/1/metadata/creationTimestamp
|
||||||
|
- /spec/volumeClaimTemplates/2/metadata/creationTimestamp
|
||||||
|
- group: ""
|
||||||
|
kind: Secret
|
||||||
|
jsonPointers:
|
||||||
|
- /data
|
||||||
|
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: 'https://helm.plane.so/'
|
||||||
|
chart: 'plane-ce'
|
||||||
|
targetRevision: 1.*.*
|
||||||
|
helm:
|
||||||
|
values: |
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
appHost: "plane.innovation-hub-niedersachsen.de"
|
||||||
|
ingressClass: "traefik"
|
||||||
|
ingress_annotations:
|
||||||
|
cert-manager.io/cluster-issuer: lets-encrypt
|
||||||
|
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||||
|
|
||||||
|
ssl:
|
||||||
|
tls_secret_name: "plane-tls"
|
||||||
|
createIssuer: false
|
||||||
|
generateCerts: false
|
||||||
|
|
||||||
|
redis:
|
||||||
|
local_setup: true
|
||||||
|
assign_cluster_ip: true
|
||||||
|
storageClass: "longhorn"
|
||||||
|
volumeSize: 500Mi
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
local_setup: true
|
||||||
|
assign_cluster_ip: true
|
||||||
|
storageClass: "longhorn"
|
||||||
|
volumeSize: 5Gi
|
||||||
|
|
||||||
|
rabbitmq:
|
||||||
|
local_setup: true
|
||||||
|
assign_cluster_ip: true
|
||||||
|
storageClass: "longhorn"
|
||||||
|
volumeSize: 500Mi
|
||||||
|
|
||||||
|
minio:
|
||||||
|
local_setup: true
|
||||||
|
storageClass: "longhorn"
|
||||||
|
volumeSize: 10Gi
|
||||||
|
root_user: "plane-minio-admin"
|
||||||
|
root_password: "InnoHubPLANE2025!"
|
||||||
|
|
||||||
|
api:
|
||||||
|
replicas: 1
|
||||||
|
memoryLimit: 2Gi
|
||||||
|
cpuLimit: 1000m
|
||||||
|
dnsConfig:
|
||||||
|
options:
|
||||||
|
- name: ndots
|
||||||
|
value: "1"
|
||||||
|
|
||||||
|
worker:
|
||||||
|
replicas: 1
|
||||||
|
memoryLimit: 8Gi
|
||||||
|
cpuLimit: 1500m
|
||||||
|
cpuRequest: 500m
|
||||||
|
memoryRequest: 6Gi
|
||||||
|
dnsConfig:
|
||||||
|
options:
|
||||||
|
- name: ndots
|
||||||
|
value: "1"
|
||||||
|
|
||||||
|
beatworker:
|
||||||
|
replicas: 1
|
||||||
|
dnsConfig:
|
||||||
|
options:
|
||||||
|
- name: ndots
|
||||||
|
value: "1"
|
||||||
|
|
||||||
|
live:
|
||||||
|
replicas: 1
|
||||||
|
dnsConfig:
|
||||||
|
options:
|
||||||
|
- name: ndots
|
||||||
|
value: "1"
|
||||||
|
|
||||||
|
env:
|
||||||
|
pgdb_username: plane
|
||||||
|
pgdb_password: plane
|
||||||
|
pgdb_name: plane
|
||||||
|
pgdb_remote_url: ""
|
||||||
|
remote_redis_url: ""
|
||||||
|
docstore_bucket: "uploads"
|
||||||
|
doc_upload_size_limit: "5242880"
|
||||||
|
cors_allowed_origins: "https://plane.innovation-hub-niedersachsen.de"
|
||||||
|
|
||||||
|
destination:
|
||||||
|
server: 'https://kubernetes.default.svc'
|
||||||
|
namespace: plane
|
||||||
|
|
||||||
|
syncPolicy:
|
||||||
|
managedNamespaceMetadata:
|
||||||
|
labels:
|
||||||
|
pod-security.kubernetes.io/enforce: "privileged"
|
||||||
|
automated:
|
||||||
|
selfHeal: true
|
||||||
|
prune: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
|
- RespectIgnoreDifferences=true
|
||||||
|
- PruneLast=true
|
||||||
46
argocd/apps/praktikum/values-praktikum.yaml
Normal file
46
argocd/apps/praktikum/values-praktikum.yaml
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: praktikum
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: 'https://gitea.innovation-hub-niedersachsen.de/innohub/charts/raw/main/praktikum'
|
||||||
|
targetRevision: 0.*.*
|
||||||
|
chart: praktikum
|
||||||
|
helm:
|
||||||
|
values: |
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
className: traefik
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: traefik
|
||||||
|
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||||
|
traefik.ingress.kubernetes.io/router.tls: "true"
|
||||||
|
cert-manager.io/cluster-issuer: lets-encrypt
|
||||||
|
hosts:
|
||||||
|
- praktikum.innovation-hub-niedersachsen.de
|
||||||
|
tls:
|
||||||
|
- secretName: praktikum-tls
|
||||||
|
hosts:
|
||||||
|
- praktikum.innovation-hub-niedersachsen.de
|
||||||
|
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
storageClass: longhorn
|
||||||
|
size: 5Gi
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
destination:
|
||||||
|
server: 'https://kubernetes.default.svc'
|
||||||
|
namespace: praktikum
|
||||||
|
syncPolicy:
|
||||||
|
managedNamespaceMetadata:
|
||||||
|
labels:
|
||||||
|
pod-security.kubernetes.io/enforce: "privileged"
|
||||||
|
automated:
|
||||||
|
selfHeal: true
|
||||||
|
prune: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
apiVersion: argoproj.io/v1alpha1
|
apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: praktikum
|
name: qr-formlink
|
||||||
finalizers:
|
finalizers:
|
||||||
- resources-finalizer.argocd.argoproj.io
|
- resources-finalizer.argocd.argoproj.io
|
||||||
spec:
|
spec:
|
||||||
project: default
|
project: default
|
||||||
source:
|
source:
|
||||||
repoURL: 'https://gitea.innovation-hub-niedersachsen.de/innohub/charts/raw/main/praktikum'
|
repoURL: 'https://gitea.innovation-hub-niedersachsen.de/innohub/charts/raw/main/qr-formlink'
|
||||||
targetRevision: 0.*.*
|
targetRevision: 0.*.*
|
||||||
helm:
|
helm:
|
||||||
parameters:
|
parameters:
|
||||||
@@ -16,11 +16,11 @@ spec:
|
|||||||
- name: ingress.className
|
- name: ingress.className
|
||||||
value: "traefik"
|
value: "traefik"
|
||||||
- name: ingress.hosts[0]
|
- name: ingress.hosts[0]
|
||||||
value: "praktikum.innovation-hub-niedersachsen.de"
|
value: "qrdoc.innovation-hub-niedersachsen.de"
|
||||||
- name: ingress.annotations.kubernetes\.io\/ingress\.class
|
- name: ingress.annotations.kubernetes\.io\/ingress\.class
|
||||||
value: traefik
|
value: traefik
|
||||||
- name: ingress.tls[0].secretName
|
- name: ingress.tls[0].secretName
|
||||||
value: "praktikum-tls"
|
value: "qrdoc.innovation-hub-niedersachsen.de-tls"
|
||||||
- name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.entrypoints
|
- name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.entrypoints
|
||||||
value: websecure
|
value: websecure
|
||||||
- name: ingress.annotations.kubernetes\.io\/ingress\.class
|
- name: ingress.annotations.kubernetes\.io\/ingress\.class
|
||||||
@@ -29,13 +29,13 @@ spec:
|
|||||||
value: 'true'
|
value: 'true'
|
||||||
forceString: true
|
forceString: true
|
||||||
- name: ingress.tls[0].hosts[0]
|
- name: ingress.tls[0].hosts[0]
|
||||||
value: "praktikum.innovation-hub-niedersachsen.de"
|
value: "qrdoc.innovation-hub-niedersachsen.de"
|
||||||
- name: ingress.annotations.cert-manager\.io\/cluster-issuer
|
- name: ingress.annotations.cert-manager\.io\/cluster-issuer
|
||||||
value: lets-encrypt
|
value: lets-encrypt
|
||||||
chart: praktikum
|
chart: qr-formlink
|
||||||
destination:
|
destination:
|
||||||
server: 'https://kubernetes.default.svc'
|
server: 'https://kubernetes.default.svc'
|
||||||
namespace: praktikum
|
namespace: qr-formlink
|
||||||
syncPolicy:
|
syncPolicy:
|
||||||
managedNamespaceMetadata:
|
managedNamespaceMetadata:
|
||||||
labels:
|
labels:
|
||||||
@@ -1,12 +1,46 @@
|
|||||||
apiVersion: v1
|
#apiVersion: v1
|
||||||
kind: Secret
|
#kind: Secret
|
||||||
type: Opaque
|
#type: Opaque
|
||||||
metadata:
|
#metadata:
|
||||||
name: admin-s3-secret
|
# name: admin-s3-secret
|
||||||
namespace: seaweedfs
|
# namespace: seaweedfs
|
||||||
labels:
|
# labels:
|
||||||
app.kubernetes.io/name: seaweedfs
|
# app.kubernetes.io/name: seaweedfs
|
||||||
app.kubernetes.io/component: seaweedfs-s3
|
# app.kubernetes.io/component: seaweedfs-s3
|
||||||
stringData:
|
#
|
||||||
# this key must be an inline json config file
|
#stringData:
|
||||||
seaweedfs_s3_config: '{"identities":[{"name":"admin","credentials":[{"accessKey":"wjpKrmaqXra99rX3D61H","secretKey":"fTPi0u0FR6Lv9Y9IKydWv6WM0EA5XrsK008HCt9u"}],"actions":["Admin","Read","Write"]}]}'
|
# seaweedfs_s3_config: |
|
||||||
|
# {
|
||||||
|
# "identities": [
|
||||||
|
# {
|
||||||
|
# "name": "tatort",
|
||||||
|
# "credentials": [
|
||||||
|
# {
|
||||||
|
# "accessKey": "wjpKrmaqXra99rX3D61H",
|
||||||
|
# "secretKey": "fTPi0u0FR6Lv9Y9IKydWv6WM0EA5XrsK008HCt9u"
|
||||||
|
# }
|
||||||
|
# ],
|
||||||
|
# "actions": ["Read", "Write", "Admin"]
|
||||||
|
# },
|
||||||
|
# {
|
||||||
|
# "name": "plane",
|
||||||
|
# "credentials": [
|
||||||
|
# {
|
||||||
|
# "accessKey": "a0ccb47cc0994bf51ecd",
|
||||||
|
# "secretKey": "0d54ee2f943f2a56b8cafc3afe9cb1e2f9fecac2"
|
||||||
|
# }
|
||||||
|
# ],
|
||||||
|
# "actions": ["Read", "Write", "Admin"]
|
||||||
|
# },
|
||||||
|
# {
|
||||||
|
# "name": "n8n",
|
||||||
|
# "credentials": [
|
||||||
|
# {
|
||||||
|
# "accessKey": "WPpTwIoSMgrPChsS3rdS",
|
||||||
|
# "secretKey": "C59o3EAhsUKBWj1oiPtiYRq3GhLMFeYDeiMxJ4SW"
|
||||||
|
# }
|
||||||
|
# ],
|
||||||
|
# "actions": ["Read", "Write", "Admin"]
|
||||||
|
# }
|
||||||
|
# ]
|
||||||
|
# }
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
apiVersion: v1
|
#apiVersion: v1
|
||||||
kind: Secret
|
#kind: Secret
|
||||||
metadata:
|
#metadata:
|
||||||
name: seaweedfs-jwt
|
# name: seaweedfs-jwt
|
||||||
namespace: seaweedfs
|
# namespace: seaweedfs
|
||||||
stringData:
|
#stringData:
|
||||||
jwt.json: |
|
# jwt.json: |
|
||||||
{
|
# {
|
||||||
"secret": "inno-super-secret-key"
|
# "secret": "inno-super-secret-key"
|
||||||
}
|
# }
|
||||||
|
|||||||
@@ -1,73 +0,0 @@
|
|||||||
apiVersion: argoproj.io/v1alpha1
|
|
||||||
kind: Application
|
|
||||||
metadata:
|
|
||||||
name: seaweedfs
|
|
||||||
finalizers:
|
|
||||||
- resources-finalizer.argocd.argoproj.io
|
|
||||||
spec:
|
|
||||||
project: default
|
|
||||||
source:
|
|
||||||
repoURL: 'https://seaweedfs.github.io/seaweedfs/helm'
|
|
||||||
chart: seaweedfs
|
|
||||||
targetRevision: 4.*.*
|
|
||||||
helm:
|
|
||||||
values: |
|
|
||||||
master:
|
|
||||||
enabled: true
|
|
||||||
replicas: 1
|
|
||||||
|
|
||||||
volume:
|
|
||||||
enabled: true
|
|
||||||
replicas: 1
|
|
||||||
|
|
||||||
filer:
|
|
||||||
enabled: true
|
|
||||||
replicas: 1
|
|
||||||
|
|
||||||
s3:
|
|
||||||
enabled: true
|
|
||||||
replicas: 1
|
|
||||||
port: 8333
|
|
||||||
httpsPort: 8433
|
|
||||||
enableAuth: true
|
|
||||||
existingConfigSecret: "admin-s3-secret"
|
|
||||||
ingress:
|
|
||||||
enabled: true
|
|
||||||
className: "traefik"
|
|
||||||
host: "sws3.innovation-hub-niedersachsen.de"
|
|
||||||
# additional ingress annotations for the s3 endpoint
|
|
||||||
annotations:
|
|
||||||
kubernetes.io/ingress.class: "traefik"
|
|
||||||
traefik.ingress.kubernetes.io/router.entrypoints: "websecure"
|
|
||||||
traefik.ingress.kubernetes.io/router.tls: "true"
|
|
||||||
cert-manager.io/cluster-issuer: "lets-encrypt"
|
|
||||||
# traefik.ingress.kubernetes.io/headers.customRequestHeaders: |
|
|
||||||
# X-Forwarded-Proto = https
|
|
||||||
#traefik.ingress.kubernetes.io/headers.customResponseHeaders: |
|
|
||||||
# Access-Control-Allow-Origin: "*"
|
|
||||||
# Access-Control-Allow-Methods: "GET, OPTIONS, PUT, POST, DELETE"
|
|
||||||
# Access-Control-Allow-Headers: "DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range"
|
|
||||||
# Access-Control-Expose-Headers: "Content-Length,Content-Range"
|
|
||||||
# Referrer-Policy: no-referrer-when-downgrade
|
|
||||||
hosts:
|
|
||||||
- host: "sws3.innovation-hub-niedersachsen.de"
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
tls:
|
|
||||||
- secretName: "sws3.innovation-hub-niedersachsen.de-tls"
|
|
||||||
hosts:
|
|
||||||
- "sws3.innovation-hub-niedersachsen.de"
|
|
||||||
|
|
||||||
destination:
|
|
||||||
server: 'https://kubernetes.default.svc'
|
|
||||||
namespace: seaweedfs
|
|
||||||
syncPolicy:
|
|
||||||
managedNamespaceMetadata:
|
|
||||||
labels:
|
|
||||||
pod-security.kubernetes.io/enforce: "privileged"
|
|
||||||
automated:
|
|
||||||
selfHeal: true
|
|
||||||
prune: true
|
|
||||||
syncOptions:
|
|
||||||
- CreateNamespace=true
|
|
||||||
108
argocd/apps/seaweedfs/values-seaweedfs.yaml
Normal file
108
argocd/apps/seaweedfs/values-seaweedfs.yaml
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
#apiVersion: argoproj.io/v1alpha1
|
||||||
|
#kind: Application
|
||||||
|
#metadata:
|
||||||
|
# name: seaweedfs
|
||||||
|
# finalizers:
|
||||||
|
# - resources-finalizer.argocd.argoproj.io
|
||||||
|
#spec:
|
||||||
|
# project: default
|
||||||
|
# source:
|
||||||
|
# repoURL: "https://seaweedfs.github.io/seaweedfs/helm"
|
||||||
|
# chart: seaweedfs
|
||||||
|
# targetRevision: "4.*.*"
|
||||||
|
# helm:
|
||||||
|
# values: |
|
||||||
|
# global:
|
||||||
|
# extraEnvironmentVars:
|
||||||
|
# WEED_CLUSTER_DEFAULT: "sw"
|
||||||
|
# WEED_CLUSTER_SW_MASTER: "seaweedfs-master.seaweedfs:9333"
|
||||||
|
# WEED_CLUSTER_SW_FILER: "seaweedfs-filer.seaweedfs:8888"
|
||||||
|
#
|
||||||
|
# master:
|
||||||
|
# enabled: true
|
||||||
|
# replicas: 1
|
||||||
|
# data:
|
||||||
|
# type: existingClaim
|
||||||
|
# claimName: seaweedfs-master-data-longhorn
|
||||||
|
#
|
||||||
|
# volume:
|
||||||
|
# enabled: true
|
||||||
|
# replicas: 1
|
||||||
|
# dataDirs:
|
||||||
|
# - name: data1
|
||||||
|
# type: existingClaim
|
||||||
|
# claimName: seaweedfs-volume-data-longhorn
|
||||||
|
# maxVolumes: 0
|
||||||
|
# idx:
|
||||||
|
# type: existingClaim
|
||||||
|
# claimName: seaweedfs-volume-idx-longhorn
|
||||||
|
#
|
||||||
|
# filer:
|
||||||
|
# enabled: true
|
||||||
|
# replicas: 1
|
||||||
|
# data:
|
||||||
|
# type: existingClaim
|
||||||
|
# claimName: seaweedfs-filer-data-longhorn
|
||||||
|
# # s3:
|
||||||
|
# # enabled: false
|
||||||
|
# # port: 8333
|
||||||
|
# # domainName: "sws3.innovation-hub-niedersachsen.de"
|
||||||
|
# # allowEmptyFolder: true
|
||||||
|
# # enableAuth: true
|
||||||
|
# # allowDeleteBucketNotEmpty: true
|
||||||
|
#
|
||||||
|
# s3:
|
||||||
|
# enabled: true
|
||||||
|
# replicas: 1
|
||||||
|
# port: 8333
|
||||||
|
# enableAuth: true
|
||||||
|
# existingConfigSecret: admin-s3-secret
|
||||||
|
# existingConfigSecretKey: seaweedfs_s3_config
|
||||||
|
#
|
||||||
|
# extraEnvironmentVars:
|
||||||
|
# WEED_S3_ALLOWED_ORIGINS: "*"
|
||||||
|
# WEED_FILER: "seaweedfs-filer.seaweedfs.svc.cluster.local:8888"
|
||||||
|
# extraArgs:
|
||||||
|
# - "-allowedOrigins=*"
|
||||||
|
# - "-filer=seaweedfs-filer.seaweedfs:8888"
|
||||||
|
#
|
||||||
|
# service:
|
||||||
|
# type: ClusterIP
|
||||||
|
# ports:
|
||||||
|
# - name: http
|
||||||
|
# port: 8333
|
||||||
|
# targetPort: 8333
|
||||||
|
# protocol: TCP
|
||||||
|
#
|
||||||
|
# ingress:
|
||||||
|
# enabled: true
|
||||||
|
# className: traefik
|
||||||
|
# annotations:
|
||||||
|
# traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||||
|
# traefik.ingress.kubernetes.io/router.tls: "true"
|
||||||
|
# cert-manager.io/cluster-issuer: "lets-encrypt"
|
||||||
|
# traefik.ingress.kubernetes.io/router.middlewares: seaweedfs-s3-cors@kubernetescrd
|
||||||
|
# host: "sws3.innovation-hub-niedersachsen.de"
|
||||||
|
# hosts:
|
||||||
|
# - host: sws3.innovation-hub-niedersachsen.de
|
||||||
|
# paths:
|
||||||
|
# - path: /
|
||||||
|
# pathType: Prefix
|
||||||
|
# tls:
|
||||||
|
# - secretName: sws3.innovation-hub-niedersachsen.de-tls
|
||||||
|
# hosts:
|
||||||
|
# - sws3.innovation-hub-niedersachsen.de
|
||||||
|
#
|
||||||
|
# destination:
|
||||||
|
# server: "https://kubernetes.default.svc"
|
||||||
|
# namespace: seaweedfs
|
||||||
|
#
|
||||||
|
# syncPolicy:
|
||||||
|
# managedNamespaceMetadata:
|
||||||
|
# labels:
|
||||||
|
# pod-security.kubernetes.io/enforce: "privileged"
|
||||||
|
# automated:
|
||||||
|
# selfHeal: true
|
||||||
|
# prune: true
|
||||||
|
# syncOptions:
|
||||||
|
# - CreateNamespace=true
|
||||||
112
argocd/apps/wekan/values-wekan.yaml
Normal file
112
argocd/apps/wekan/values-wekan.yaml
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: wekan
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: 'https://wekan.github.io/charts/'
|
||||||
|
chart: wekan
|
||||||
|
targetRevision: 7.97.0
|
||||||
|
helm:
|
||||||
|
values: |
|
||||||
|
replicaCount: 1
|
||||||
|
dbname: wekan
|
||||||
|
env:
|
||||||
|
- name: MONGO_URL
|
||||||
|
value: mongodb://wekan-mongodb:27017/wekan
|
||||||
|
- name: MAIL_URL
|
||||||
|
value: smtp://192.168.4.125:25?ignoreTLS=true&tls={rejectUnauthorized:false}&secure=false
|
||||||
|
- name: MAIL_FROM
|
||||||
|
value: Noreplay admin@innovation-hub-niedersachsen.de
|
||||||
|
- name: OAUTH2_ENABLED
|
||||||
|
value: "true"
|
||||||
|
- name: OAUTH2_LOGIN_STYLE
|
||||||
|
value: "redirect"
|
||||||
|
- name: OAUTH2_CLIENT_ID
|
||||||
|
value: "wekan"
|
||||||
|
- name: OAUTH2_SERVER_URL
|
||||||
|
value: "https://keycloak.innovation-hub-niedersachsen.de"
|
||||||
|
- name: OAUTH2_AUTH_ENDPOINT
|
||||||
|
value: "/realms/innohub/protocol/openid-connect/auth"
|
||||||
|
- name: OAUTH2_USERINFO_ENDPOINT
|
||||||
|
value: "/realms/innohub/protocol/openid-connect/userinfo"
|
||||||
|
- name: OAUTH2_TOKEN_ENDPOINT
|
||||||
|
value: "/realms/innohub/protocol/openid-connect/token"
|
||||||
|
- name: OAUTH2_SECRET
|
||||||
|
value: "vp1kG3WgUdPCUAWvECZbAmBdST6Vgm0I"
|
||||||
|
- name: OAUTH2_ID_MAP
|
||||||
|
value: "sub"
|
||||||
|
- name: OAUTH2_USERNAME_MAP
|
||||||
|
value: "preferred_username"
|
||||||
|
- name: OAUTH2_EMAIL_MAP
|
||||||
|
value: "email"
|
||||||
|
- name: OAUTH2_FULLNAME_MAP
|
||||||
|
value: "name"
|
||||||
|
- name: OAUTH2_ADFS_ENABLED
|
||||||
|
value: "false"
|
||||||
|
- name: OAUTH2_B2C_ENABLED
|
||||||
|
value: "false"
|
||||||
|
- name: OAUTH2_REQUEST_PERMISSIONS
|
||||||
|
value: "openid profile email"
|
||||||
|
|
||||||
|
end_point: wekan.innovation-hub-niedersachsen.de
|
||||||
|
root_url: https://wekan.innovation-hub-niedersachsen.de
|
||||||
|
|
||||||
|
# Probe-Einstellungen anpassen
|
||||||
|
livenessProbe:
|
||||||
|
enabled: true
|
||||||
|
initialDelaySeconds: 60
|
||||||
|
periodSeconds: 15
|
||||||
|
timeoutSeconds: 10
|
||||||
|
failureThreshold: 5
|
||||||
|
|
||||||
|
readinessProbe:
|
||||||
|
enabled: true
|
||||||
|
initialDelaySeconds: 20
|
||||||
|
periodSeconds: 15
|
||||||
|
timeoutSeconds: 10
|
||||||
|
failureThreshold: 3
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: traefik
|
||||||
|
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||||
|
traefik.ingress.kubernetes.io/router.tls: "true"
|
||||||
|
cert-manager.io/cluster-issuer: lets-encrypt
|
||||||
|
hosts:
|
||||||
|
- wekan.innovation-hub-niedersachsen.de
|
||||||
|
tls:
|
||||||
|
- secretName: wekan-tls
|
||||||
|
hosts:
|
||||||
|
- wekan.innovation-hub-niedersachsen.de
|
||||||
|
route:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
sharedDataFolder:
|
||||||
|
enabled: true
|
||||||
|
storageClass: longhorn
|
||||||
|
|
||||||
|
mongodb:
|
||||||
|
enabled: true
|
||||||
|
image:
|
||||||
|
tag: 7.0.28
|
||||||
|
storage:
|
||||||
|
className: longhorn
|
||||||
|
nodeSelector:
|
||||||
|
kubernetes.io/hostname: k3s-prod
|
||||||
|
|
||||||
|
destination:
|
||||||
|
server: 'https://kubernetes.default.svc'
|
||||||
|
namespace: wekan
|
||||||
|
syncPolicy:
|
||||||
|
managedNamespaceMetadata:
|
||||||
|
labels:
|
||||||
|
pod-security.kubernetes.io/enforce: "privileged"
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
110
argocd/apps/wekantest/values-wekantest.yaml
Normal file
110
argocd/apps/wekantest/values-wekantest.yaml
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: wekantest
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: 'https://wekan.github.io/charts/'
|
||||||
|
chart: wekan
|
||||||
|
targetRevision: 8.*.*
|
||||||
|
helm:
|
||||||
|
values: |
|
||||||
|
replicaCount: 1
|
||||||
|
dbname: wekan
|
||||||
|
env:
|
||||||
|
- name: MONGO_URL
|
||||||
|
value: mongodb://wekantest-mongodb:27017/wekan
|
||||||
|
- name: MAIL_URL
|
||||||
|
value: smtp://192.168.4.125:25?ignoreTLS=true&tls={rejectUnauthorized:false}&secure=false
|
||||||
|
- name: MAIL_FROM
|
||||||
|
value: Noreplay admin@innovation-hub-niedersachsen.de
|
||||||
|
- name: OAUTH2_ENABLED
|
||||||
|
value: "true"
|
||||||
|
- name: OAUTH2_LOGIN_STYLE
|
||||||
|
value: "redirect"
|
||||||
|
- name: OAUTH2_CLIENT_ID
|
||||||
|
value: "wekantest"
|
||||||
|
- name: OAUTH2_SERVER_URL
|
||||||
|
value: "https://keycloak.innovation-hub-niedersachsen.de"
|
||||||
|
- name: OAUTH2_AUTH_ENDPOINT
|
||||||
|
value: "/realms/innohub/protocol/openid-connect/auth"
|
||||||
|
- name: OAUTH2_USERINFO_ENDPOINT
|
||||||
|
value: "/realms/innohub/protocol/openid-connect/userinfo"
|
||||||
|
- name: OAUTH2_TOKEN_ENDPOINT
|
||||||
|
value: "/realms/innohub/protocol/openid-connect/token"
|
||||||
|
- name: OAUTH2_SECRET
|
||||||
|
value: "cOJpL4jiiA6OL8fFqA3lb4KCbxjjl7AQ"
|
||||||
|
- name: OAUTH2_ID_MAP
|
||||||
|
value: "sub"
|
||||||
|
- name: OAUTH2_USERNAME_MAP
|
||||||
|
value: "preferred_username"
|
||||||
|
- name: OAUTH2_EMAIL_MAP
|
||||||
|
value: "email"
|
||||||
|
- name: OAUTH2_FULLNAME_MAP
|
||||||
|
value: "name"
|
||||||
|
- name: OAUTH2_ADFS_ENABLED
|
||||||
|
value: "false"
|
||||||
|
- name: OAUTH2_B2C_ENABLED
|
||||||
|
value: "false"
|
||||||
|
- name: OAUTH2_REQUEST_PERMISSIONS
|
||||||
|
value: "openid profile email"
|
||||||
|
|
||||||
|
end_point: wekantest.innovation-hub-niedersachsen.de
|
||||||
|
root_url: https://wekantest.innovation-hub-niedersachsen.de
|
||||||
|
|
||||||
|
# Probe-Einstellungen anpassen
|
||||||
|
livenessProbe:
|
||||||
|
enabled: true
|
||||||
|
initialDelaySeconds: 60
|
||||||
|
periodSeconds: 15
|
||||||
|
timeoutSeconds: 10
|
||||||
|
failureThreshold: 5
|
||||||
|
|
||||||
|
readinessProbe:
|
||||||
|
enabled: true
|
||||||
|
initialDelaySeconds: 20
|
||||||
|
periodSeconds: 15
|
||||||
|
timeoutSeconds: 10
|
||||||
|
failureThreshold: 3
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: traefik
|
||||||
|
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||||
|
traefik.ingress.kubernetes.io/router.tls: "true"
|
||||||
|
cert-manager.io/cluster-issuer: lets-encrypt
|
||||||
|
hosts:
|
||||||
|
- wekantest.innovation-hub-niedersachsen.de
|
||||||
|
tls:
|
||||||
|
- secretName: wekantest-tls
|
||||||
|
hosts:
|
||||||
|
- wekantest.innovation-hub-niedersachsen.de
|
||||||
|
route:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
sharedDataFolder:
|
||||||
|
enabled: true
|
||||||
|
storageClass: longhorn
|
||||||
|
|
||||||
|
mongodb:
|
||||||
|
enabled: true
|
||||||
|
storage:
|
||||||
|
className: longhorn
|
||||||
|
nodeSelector:
|
||||||
|
kubernetes.io/hostname: k3s-prod
|
||||||
|
|
||||||
|
destination:
|
||||||
|
server: 'https://kubernetes.default.svc'
|
||||||
|
namespace: wekantest
|
||||||
|
syncPolicy:
|
||||||
|
managedNamespaceMetadata:
|
||||||
|
labels:
|
||||||
|
pod-security.kubernetes.io/enforce: "privileged"
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
@@ -9,7 +9,7 @@ spec:
|
|||||||
source:
|
source:
|
||||||
repoURL: 'registry-1.docker.io/bitnamicharts'
|
repoURL: 'registry-1.docker.io/bitnamicharts'
|
||||||
path: wordpress
|
path: wordpress
|
||||||
targetRevision: 25.*.*
|
targetRevision: 28.*.*
|
||||||
chart: wordpress
|
chart: wordpress
|
||||||
helm:
|
helm:
|
||||||
parameters:
|
parameters:
|
||||||
|
|||||||
10
config/.idea/.gitignore
generated
vendored
Normal file
10
config/.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Ignored default folder with query files
|
||||||
|
/queries/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
||||||
151
config/.idea/IntelliLang.xml
generated
Normal file
151
config/.idea/IntelliLang.xml
generated
Normal file
@@ -0,0 +1,151 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="LanguageInjectionConfiguration">
|
||||||
|
<injection language="SQL" injector-id="java">
|
||||||
|
<display-name>AsyncQueryRunner (org.apache.commons.dbutils)</display-name>
|
||||||
|
<single-file value="true" />
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("batch").withParameterCount(2).definedInClass("org.apache.commons.dbutils.AsyncQueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("insertBatch").withParameterCount(3).definedInClass("org.apache.commons.dbutils.AsyncQueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "insert").withParameters("java.lang.String", "org.apache.commons.dbutils.ResultSetHandler").definedInClass("org.apache.commons.dbutils.AsyncQueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "insert").withParameters("java.lang.String", "org.apache.commons.dbutils.ResultSetHandler", "java.lang.Object...").definedInClass("org.apache.commons.dbutils.AsyncQueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("update").withParameters("java.lang.String").definedInClass("org.apache.commons.dbutils.AsyncQueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("update").withParameters("java.lang.String", "java.lang.Object").definedInClass("org.apache.commons.dbutils.AsyncQueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("update").withParameters("java.lang.String", "java.lang.Object...").definedInClass("org.apache.commons.dbutils.AsyncQueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(1, psiMethod().withName("batch").withParameterCount(3).definedInClass("org.apache.commons.dbutils.AsyncQueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(1, psiMethod().withName("insertBatch").withParameterCount(4).definedInClass("org.apache.commons.dbutils.AsyncQueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(1, psiMethod().withName("query", "insert").withParameters("java.sql.Connection", "java.lang.String", "org.apache.commons.dbutils.ResultSetHandler").definedInClass("org.apache.commons.dbutils.AsyncQueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(1, psiMethod().withName("query", "insert").withParameters("java.sql.Connection", "java.lang.String", "org.apache.commons.dbutils.ResultSetHandler", "java.lang.Object...").definedInClass("org.apache.commons.dbutils.AsyncQueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(1, psiMethod().withName("update").withParameters("java.sql.Connection", "java.lang.String").definedInClass("org.apache.commons.dbutils.AsyncQueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(1, psiMethod().withName("update").withParameters("java.sql.Connection", "java.lang.String", "java.lang.Object").definedInClass("org.apache.commons.dbutils.AsyncQueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(1, psiMethod().withName("update").withParameters("java.sql.Connection", "java.lang.String", "java.lang.Object...").definedInClass("org.apache.commons.dbutils.AsyncQueryRunner"))]]></place>
|
||||||
|
</injection>
|
||||||
|
<injection language="SQL" injector-id="java">
|
||||||
|
<display-name>Jodd (jodd.db)</display-name>
|
||||||
|
<single-file value="true" />
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query").withParameterCount(1).definedInClass("jodd.db.DbQuery"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(1, psiMethod().withName("DbQuery").withParameterCount(2).definedInClass("jodd.db.DbQuery"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(1, psiMethod().withName("query").withParameterCount(2).definedInClass("jodd.db.DbQuery"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(2, psiMethod().withName("DbQuery").withParameterCount(3).definedInClass("jodd.db.DbQuery"))]]></place>
|
||||||
|
</injection>
|
||||||
|
<injection language="SQL" injector-id="java">
|
||||||
|
<display-name>MyBatis @Select/@Delete/@Insert/@Update</display-name>
|
||||||
|
<single-file value="true" />
|
||||||
|
<place><![CDATA[psiMethod().withName("value").withParameters().definedInClass("org.apache.ibatis.annotations.Delete")]]></place>
|
||||||
|
<place><![CDATA[psiMethod().withName("value").withParameters().definedInClass("org.apache.ibatis.annotations.Insert")]]></place>
|
||||||
|
<place><![CDATA[psiMethod().withName("value").withParameters().definedInClass("org.apache.ibatis.annotations.Select")]]></place>
|
||||||
|
<place><![CDATA[psiMethod().withName("value").withParameters().definedInClass("org.apache.ibatis.annotations.Update")]]></place>
|
||||||
|
</injection>
|
||||||
|
<injection language="SQL" injector-id="java">
|
||||||
|
<display-name>QueryRunner (org.apache.commons.dbutils)</display-name>
|
||||||
|
<single-file value="true" />
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("batch").withParameterCount(2).definedInClass("org.apache.commons.dbutils.QueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("insertBatch").withParameterCount(3).definedInClass("org.apache.commons.dbutils.QueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "insert").withParameters("java.lang.String", "org.apache.commons.dbutils.ResultSetHandler").definedInClass("org.apache.commons.dbutils.QueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "insert", "execute").withParameters("java.lang.String", "org.apache.commons.dbutils.ResultSetHandler", "java.lang.Object...").definedInClass("org.apache.commons.dbutils.QueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("update").withParameters("java.lang.String").definedInClass("org.apache.commons.dbutils.QueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("update").withParameters("java.lang.String", "java.lang.Object").definedInClass("org.apache.commons.dbutils.QueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("update", "execute").withParameters("java.lang.String", "java.lang.Object...").definedInClass("org.apache.commons.dbutils.QueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(1, psiMethod().withName("batch").withParameterCount(3).definedInClass("org.apache.commons.dbutils.QueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(1, psiMethod().withName("insertBatch").withParameterCount(4).definedInClass("org.apache.commons.dbutils.QueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(1, psiMethod().withName("query", "insert").withParameters("java.sql.Connection", "java.lang.String", "org.apache.commons.dbutils.ResultSetHandler", "java.lang.Object...").definedInClass("org.apache.commons.dbutils.QueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(1, psiMethod().withName("query", "insert", "execute").withParameters("java.sql.Connection", "java.lang.String", "org.apache.commons.dbutils.ResultSetHandler").definedInClass("org.apache.commons.dbutils.QueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(1, psiMethod().withName("update").withParameters("java.sql.Connection", "java.lang.String").definedInClass("org.apache.commons.dbutils.QueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(1, psiMethod().withName("update").withParameters("java.sql.Connection", "java.lang.String", "java.lang.Object").definedInClass("org.apache.commons.dbutils.QueryRunner"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(1, psiMethod().withName("update", "execute").withParameters("java.sql.Connection", "java.lang.String", "java.lang.Object...").definedInClass("org.apache.commons.dbutils.QueryRunner"))]]></place>
|
||||||
|
</injection>
|
||||||
|
<injection language="SQL" injector-id="java">
|
||||||
|
<display-name>R2DBC (io.r2dbc)</display-name>
|
||||||
|
<single-file value="true" />
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("add").definedInClass("io.r2dbc.spi.Batch"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("createStatement").definedInClass("io.r2dbc.spi.Connection"))]]></place>
|
||||||
|
</injection>
|
||||||
|
<injection language="PostgreSQL" injector-id="java">
|
||||||
|
<display-name>Reactiverse Postgres Client (io.reactiverse)</display-name>
|
||||||
|
<single-file value="true" />
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "prepare", "preparedQuery", "preparedBatch").definedInClass("io.reactiverse.pgclient.PgConnection"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "prepare", "preparedQuery", "preparedBatch").definedInClass("io.reactiverse.pgclient.PgTransaction"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "prepare", "preparedQuery", "preparedBatch", "rxQuery", "rxPrepare", "rxPreparedQuery", "rxPreparedBatch").definedInClass("io.reactiverse.reactivex.pgclient.PgClient"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "prepare", "preparedQuery", "preparedBatch", "rxQuery", "rxPrepare", "rxPreparedQuery", "rxPreparedBatch").definedInClass("io.reactiverse.reactivex.pgclient.PgConnection"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "prepare", "preparedQuery", "preparedBatch", "rxQuery", "rxPrepare", "rxPreparedQuery", "rxPreparedBatch").definedInClass("io.reactiverse.reactivex.pgclient.PgPool"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "prepare", "preparedQuery", "preparedBatch", "rxQuery", "rxPrepare", "rxPreparedQuery", "rxPreparedBatch").definedInClass("io.reactiverse.reactivex.pgclient.PgTransaction"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "preparedQuery", "preparedBatch").definedInClass("io.reactiverse.axle.pgclient.PgClient"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "preparedQuery", "preparedBatch").definedInClass("io.reactiverse.pgclient.PgClient"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "preparedQuery", "preparedBatch").definedInClass("io.reactiverse.pgclient.PgPool"))]]></place>
|
||||||
|
</injection>
|
||||||
|
<injection language="SQL" injector-id="java">
|
||||||
|
<display-name>SmallRye Axle SqlClient (io.vertx.axle.sqlclient)</display-name>
|
||||||
|
<single-file value="true" />
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "preparedQuery", "preparedBatch").definedInClass("io.vertx.axle.sqlclient.Pool"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "preparedQuery", "preparedBatch").definedInClass("io.vertx.axle.sqlclient.SqlClient"))]]></place>
|
||||||
|
</injection>
|
||||||
|
<injection language="SQL" injector-id="java">
|
||||||
|
<display-name>SmallRye Mutiny SqlClient (io.vertx.mutiny.sqlclient)</display-name>
|
||||||
|
<single-file value="true" />
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "preparedQuery", "preparedBatch").definedInClass("io.vertx.mutiny.sqlclient.Pool"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "preparedQuery", "preparedBatch").definedInClass("io.vertx.mutiny.sqlclient.SqlClient"))]]></place>
|
||||||
|
</injection>
|
||||||
|
<injection language="SQL" injector-id="java">
|
||||||
|
<display-name>SmallRye Mutiny SqlConnection (io.vertx.mutiny.sqlclient)</display-name>
|
||||||
|
<single-file value="true" />
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("prepare", "prepareAndAwait").definedInClass("io.vertx.mutiny.db2client.DB2Connection"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("prepare", "prepareAndAwait").definedInClass("io.vertx.mutiny.mssqlclient.MSSQLConnection"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("prepare", "prepareAndAwait").definedInClass("io.vertx.mutiny.mysqlclient.MySQLConnection"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("prepare", "prepareAndAwait").definedInClass("io.vertx.mutiny.pgclient.PgConnection"))]]></place>
|
||||||
|
</injection>
|
||||||
|
<injection language="SQL" injector-id="java">
|
||||||
|
<display-name>Vert.x SQL Extensions (io.vertx.ext.sql)</display-name>
|
||||||
|
<single-file value="true" />
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "queryWithParams", "queryStream", "queryStreamWithParams", "querySingle", "querySingleWithParams", "update", "updateWithParams", "call", "callWithParams").definedInClass("io.vertx.ext.sql.SQLClient"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "queryWithParams", "queryStream", "queryStreamWithParams", "querySingle", "querySingleWithParams", "update", "updateWithParams", "call", "callWithParams").definedInClass("io.vertx.ext.sql.SQLOperations"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "queryWithParams", "queryStream", "queryStreamWithParams", "querySingle", "querySingleWithParams", "update", "updateWithParams", "call", "callWithParams", "execute", "batchWithParams", "batchCallableWithParams").definedInClass("io.vertx.ext.sql.SQLConnection"))]]></place>
|
||||||
|
</injection>
|
||||||
|
<injection language="SQL" injector-id="java">
|
||||||
|
<display-name>Vert.x SQL Reactive Extensions (io.vertx.reactivex.ext.sql)</display-name>
|
||||||
|
<single-file value="true" />
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "queryWithParams", "queryStream", "queryStreamWithParams", "querySingle", "querySingleWithParams", "update", "updateWithParams", "call", "callWithParams").definedInClass("io.vertx.reactivex.ext.sql.SQLOperations"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "queryWithParams", "queryStream", "queryStreamWithParams", "querySingle", "querySingleWithParams", "update", "updateWithParams", "call", "callWithParams", "execute", "batchWithParams", "batchCallableWithParams", "rxQuerySingle", "rxQuerySingleWithParams", "rxQuery", "rxQueryWithParams", "rxQueryStream", "rxQueryStreamWithParams", "rxUpdate", "rxUpdateWithParams", "rxCall", "rxCallWithParams", "rxExecute", "rxBatchWithParams", "rxBatchCallableWithParams").definedInClass("io.vertx.reactivex.ext.sql.SQLClient"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "queryWithParams", "queryStream", "queryStreamWithParams", "querySingle", "querySingleWithParams", "update", "updateWithParams", "call", "callWithParams", "execute", "batchWithParams", "batchCallableWithParams", "rxQuerySingle", "rxQuerySingleWithParams", "rxQuery", "rxQueryWithParams", "rxQueryStream", "rxQueryStreamWithParams", "rxUpdate", "rxUpdateWithParams", "rxCall", "rxCallWithParams", "rxExecute", "rxBatchWithParams", "rxBatchCallableWithParams").definedInClass("io.vertx.reactivex.ext.sql.SQLConnection"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("querySingle", "rxQuerySingle", "querySingleWithParams", "rxQuerySingleWithParams").definedInClass("io.vertx.reactivex.ext.asyncsql.AsyncSQLClient"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("querySingle", "rxQuerySingle", "querySingleWithParams", "rxQuerySingleWithParams").definedInClass("io.vertx.reactivex.ext.asyncsql.MySQLClient"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("querySingle", "rxQuerySingle", "querySingleWithParams", "rxQuerySingleWithParams").definedInClass("io.vertx.reactivex.ext.asyncsql.PostgreSQLClient"))]]></place>
|
||||||
|
</injection>
|
||||||
|
<injection language="SQL" injector-id="java">
|
||||||
|
<display-name>Vert.x SqlClient (io.vertx.sqlclient)</display-name>
|
||||||
|
<single-file value="true" />
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "prepare", "preparedQuery", "preparedBatch").definedInClass("io.vertx.mssqlclient.MSSQLConnection"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "prepare", "preparedQuery", "preparedBatch").definedInClass("io.vertx.mysqlclient.MySQLConnection"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "prepare", "preparedQuery", "preparedBatch").definedInClass("io.vertx.pgclient.PgConnection"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "prepare", "preparedQuery", "preparedBatch").definedInClass("io.vertx.sqlclient.Pool"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "prepare", "preparedQuery", "preparedBatch").definedInClass("io.vertx.sqlclient.SqlClient"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "prepare", "preparedQuery", "preparedBatch").definedInClass("io.vertx.sqlclient.SqlConnection"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "prepare", "preparedQuery", "preparedBatch").definedInClass("io.vertx.sqlclient.Transaction"))]]></place>
|
||||||
|
</injection>
|
||||||
|
<injection language="SQL" injector-id="java">
|
||||||
|
<display-name>Vert.x SqlClient RxJava2 (io.vertx.reactivex.sqlclient)</display-name>
|
||||||
|
<single-file value="true" />
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "prepare", "preparedQuery", "preparedBatch", "rxQuery", "rxPrepare", "rxPreparedQuery", "rxPreparedBatch").definedInClass("io.vertx.reactivex.mysqlclient.MySQLConnection"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "prepare", "preparedQuery", "preparedBatch", "rxQuery", "rxPrepare", "rxPreparedQuery", "rxPreparedBatch").definedInClass("io.vertx.reactivex.pgclient.PgConnection"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "prepare", "preparedQuery", "preparedBatch", "rxQuery", "rxPrepare", "rxPreparedQuery", "rxPreparedBatch").definedInClass("io.vertx.reactivex.sqlclient.SqlConnection"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "prepare", "preparedQuery", "preparedBatch", "rxQuery", "rxPrepare", "rxPreparedQuery", "rxPreparedBatch").definedInClass("io.vertx.reactivex.sqlclient.Transaction"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "prepare", "preparedQuery", "preparedBatch", "rxQuery", "rxPreparedQuery", "rxPreparedBatch").definedInClass("io.vertx.reactivex.mysqlclient.MySQLPool"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "prepare", "preparedQuery", "preparedBatch", "rxQuery", "rxPreparedQuery", "rxPreparedBatch").definedInClass("io.vertx.reactivex.pgclient.PgPool"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "prepare", "preparedQuery", "preparedBatch", "rxQuery", "rxPreparedQuery", "rxPreparedBatch").definedInClass("io.vertx.reactivex.sqlclient.Pool"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "prepare", "preparedQuery", "preparedBatch", "rxQuery", "rxPreparedQuery", "rxPreparedBatch").definedInClass("io.vertx.reactivex.sqlclient.SqlClient"))]]></place>
|
||||||
|
</injection>
|
||||||
|
<injection language="SQL" injector-id="java">
|
||||||
|
<display-name>jOOQ (org.jooq.DSLContext)</display-name>
|
||||||
|
<single-file value="true" />
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("batch").withParameters("java.lang.String", "java.lang.Object[]...").definedInClass("org.jooq.DSLContext"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "fetch", "fetchLazy", "fetchAsync", "fetchStream", "fetchMany", "fetchOne", "fetchSingle", "fetchOptional", "fetchValue", "fetchOptionalValue", "fetchValues", "execute", "resultQuery").withParameters("java.lang.String", "java.lang.Object...").definedInClass("org.jooq.DSLContext"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("query", "fetch", "fetchLazy", "fetchAsync", "fetchStream", "fetchMany", "fetchOne", "fetchSingle", "fetchOptional", "fetchValue", "fetchOptionalValue", "fetchValues", "execute", "resultQuery", "batch").withParameters("java.lang.String").definedInClass("org.jooq.DSLContext"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(psiMethod().withName("batch").withParameters("java.lang.String...").definedInClass("org.jooq.DSLContext"))]]></place>
|
||||||
|
</injection>
|
||||||
|
<injection language="SQL" injector-id="java">
|
||||||
|
<display-name>rxjava2-jdbc (org.davidmoten.rx.jdbc)</display-name>
|
||||||
|
<single-file value="true" />
|
||||||
|
<place><![CDATA[psiMethod().withName("value").definedInClass("org.davidmoten.rx.jdbc.annotations.Query")]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("call", "select", "update").definedInClass("org.davidmoten.rx.jdbc.Database"))]]></place>
|
||||||
|
<place><![CDATA[psiParameter().ofMethod(0, psiMethod().withName("call", "select", "update").definedInClass("org.davidmoten.rx.jdbc.TransactedBuilder"))]]></place>
|
||||||
|
</injection>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
9
config/.idea/config.iml
generated
Normal file
9
config/.idea/config.iml
generated
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$" />
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
6
config/.idea/misc.xml
generated
Normal file
6
config/.idea/misc.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectRootManager" version="2">
|
||||||
|
<output url="file://$PROJECT_DIR$/out" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
8
config/.idea/modules.xml
generated
Normal file
8
config/.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/config.iml" filepath="$PROJECT_DIR$/.idea/config.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
6
config/.idea/vcs.xml
generated
Normal file
6
config/.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
53
config/brain/brain-ingressroute.yaml
Normal file
53
config/brain/brain-ingressroute.yaml
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
---
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: Middleware
|
||||||
|
metadata:
|
||||||
|
name: brain-stripprefix
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
stripPrefix:
|
||||||
|
prefixes:
|
||||||
|
- /
|
||||||
|
---
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: ServersTransport
|
||||||
|
metadata:
|
||||||
|
name: brain-transport
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
insecureSkipVerify: true
|
||||||
|
---
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: brain-external
|
||||||
|
namespace: kube-system
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: "lets-encrypt"
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`brain.innovation-hub-niedersachsen.de`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: brain-external-service
|
||||||
|
port: 8083
|
||||||
|
scheme: http
|
||||||
|
serversTransport: brain-transport
|
||||||
|
middlewares:
|
||||||
|
- name: brain-stripprefix
|
||||||
|
tls:
|
||||||
|
secretName: brain-tls
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: brain-external-service
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
type: ExternalName
|
||||||
|
externalName: 192-168-4-106.nip.io
|
||||||
|
ports:
|
||||||
|
- port: 8083
|
||||||
|
targetPort: 8083
|
||||||
@@ -22,6 +22,8 @@ kind: IngressRoute
|
|||||||
metadata:
|
metadata:
|
||||||
name: hemmelig-external
|
name: hemmelig-external
|
||||||
namespace: kube-system
|
namespace: kube-system
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: "lets-encrypt"
|
||||||
spec:
|
spec:
|
||||||
entryPoints:
|
entryPoints:
|
||||||
- websecure
|
- websecure
|
||||||
|
|||||||
61
config/minio/minio-policies-configmap.yaml
Normal file
61
config/minio/minio-policies-configmap.yaml
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: minio-policies
|
||||||
|
namespace: minio
|
||||||
|
data:
|
||||||
|
# Policy: Vollzugriff auf tatort
|
||||||
|
policy-tatort.json: |
|
||||||
|
{
|
||||||
|
"Version": "2012-10-17",
|
||||||
|
"Statement": [
|
||||||
|
{
|
||||||
|
"Effect": "Allow",
|
||||||
|
"Action": [
|
||||||
|
"s3:GetBucketLocation",
|
||||||
|
"s3:ListBucket",
|
||||||
|
"s3:ListBucketMultipartUploads"
|
||||||
|
],
|
||||||
|
"Resource": ["arn:aws:s3:::tatort"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Effect": "Allow",
|
||||||
|
"Action": [
|
||||||
|
"s3:GetObject",
|
||||||
|
"s3:PutObject",
|
||||||
|
"s3:DeleteObject",
|
||||||
|
"s3:ListMultipartUploadParts",
|
||||||
|
"s3:AbortMultipartUpload"
|
||||||
|
],
|
||||||
|
"Resource": ["arn:aws:s3:::tatort/*"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
# Policy: Vollzugriff auf tatort-dev
|
||||||
|
policy-tatort-dev.json: |
|
||||||
|
{
|
||||||
|
"Version": "2012-10-17",
|
||||||
|
"Statement": [
|
||||||
|
{
|
||||||
|
"Effect": "Allow",
|
||||||
|
"Action": [
|
||||||
|
"s3:GetBucketLocation",
|
||||||
|
"s3:ListBucket",
|
||||||
|
"s3:ListBucketMultipartUploads"
|
||||||
|
],
|
||||||
|
"Resource": ["arn:aws:s3:::tatort-dev"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Effect": "Allow",
|
||||||
|
"Action": [
|
||||||
|
"s3:GetObject",
|
||||||
|
"s3:PutObject",
|
||||||
|
"s3:DeleteObject",
|
||||||
|
"s3:ListMultipartUploadParts",
|
||||||
|
"s3:AbortMultipartUpload"
|
||||||
|
],
|
||||||
|
"Resource": ["arn:aws:s3:::tatort-dev/*"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
77
config/minio/minio-setup-job.yaml
Normal file
77
config/minio/minio-setup-job.yaml
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
apiVersion: batch/v1
|
||||||
|
kind: Job
|
||||||
|
metadata:
|
||||||
|
name: minio-setup-users
|
||||||
|
namespace: minio
|
||||||
|
spec:
|
||||||
|
ttlSecondsAfterFinished: 600
|
||||||
|
backoffLimit: 5
|
||||||
|
template:
|
||||||
|
spec:
|
||||||
|
restartPolicy: OnFailure
|
||||||
|
volumes:
|
||||||
|
- name: policies
|
||||||
|
configMap:
|
||||||
|
name: minio-policies
|
||||||
|
containers:
|
||||||
|
- name: mc
|
||||||
|
image: minio/mc:latest
|
||||||
|
volumeMounts:
|
||||||
|
- name: policies
|
||||||
|
mountPath: /policies
|
||||||
|
env:
|
||||||
|
- name: MINIO_ROOT_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: minio
|
||||||
|
key: root-password
|
||||||
|
- name: TATORT_ACCESS
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: minio-users
|
||||||
|
key: tatort-access-key
|
||||||
|
- name: TATORT_SECRET
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: minio-users
|
||||||
|
key: tatort-secret-key
|
||||||
|
- name: TATORT_DEV_ACCESS
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: minio-users
|
||||||
|
key: tatort-dev-access-key
|
||||||
|
- name: TATORT_DEV_SECRET
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: minio-users
|
||||||
|
key: tatort-dev-secret-key
|
||||||
|
command:
|
||||||
|
- /bin/sh
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "Warte auf MinIO..."
|
||||||
|
sleep 10
|
||||||
|
|
||||||
|
echo "Verbinde mit MinIO..."
|
||||||
|
mc alias set myminio http://minio:9000 admin $MINIO_ROOT_PASSWORD
|
||||||
|
|
||||||
|
echo "Erstelle Buckets (falls nicht vorhanden)..."
|
||||||
|
mc mb --ignore-existing myminio/tatort
|
||||||
|
mc mb --ignore-existing myminio/tatort-dev
|
||||||
|
|
||||||
|
echo "Erstelle Policies..."
|
||||||
|
mc admin policy create myminio policy-tatort /policies/policy-tatort.json || true
|
||||||
|
mc admin policy create myminio policy-tatort-dev /policies/policy-tatort-dev.json || true
|
||||||
|
|
||||||
|
echo "Erstelle Benutzer..."
|
||||||
|
mc admin user add myminio $TATORT_ACCESS $TATORT_SECRET || true
|
||||||
|
mc admin user add myminio $TATORT_DEV_ACCESS $TATORT_DEV_SECRET || true
|
||||||
|
|
||||||
|
echo "Weise Policies zu..."
|
||||||
|
mc admin policy attach myminio policy-tatort --user $TATORT_ACCESS
|
||||||
|
mc admin policy attach myminio policy-tatort-dev --user $TATORT_DEV_ACCESS
|
||||||
|
|
||||||
|
echo "Setup abgeschlossen!"
|
||||||
|
mc admin user list myminio
|
||||||
13
config/minio/minio-users-secret.yaml
Normal file
13
config/minio/minio-users-secret.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: minio-users
|
||||||
|
namespace: minio
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
# tatort: Zugriff nur auf tatort
|
||||||
|
tatort-access-key: "GxKhfnfkNvlDU7qzsz0D"
|
||||||
|
tatort-secret-key: "cqSM5rIRr4MPtqzu2sNKgmB9k2OghPbyxwAWogeM"
|
||||||
|
# tatort-dev: Zugriff nur auf tatort-dev
|
||||||
|
tatort-dev-access-key: "AbCdEfGhIjKlMnOpQrSt"
|
||||||
|
tatort-dev-secret-key: "UvWxYz1234567890AbCdEfGhIjKlMnOpQrStUvWx"
|
||||||
53
config/passbolt/passbolt-ingressroute.yaml
Normal file
53
config/passbolt/passbolt-ingressroute.yaml
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
---
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: Middleware
|
||||||
|
metadata:
|
||||||
|
name: passbolt-stripprefix
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
stripPrefix:
|
||||||
|
prefixes:
|
||||||
|
- /
|
||||||
|
---
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: ServersTransport
|
||||||
|
metadata:
|
||||||
|
name: passbolt-transport
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
insecureSkipVerify: true
|
||||||
|
---
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: passbolt-external
|
||||||
|
namespace: kube-system
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: "lets-encrypt"
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`passbolt.innovation-hub-niedersachsen.de`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: passbolt-external-service
|
||||||
|
port: 3001
|
||||||
|
scheme: http
|
||||||
|
serversTransport: passbolt-transport
|
||||||
|
middlewares:
|
||||||
|
- name: passbolt-stripprefix
|
||||||
|
tls:
|
||||||
|
secretName: passbolt-tls
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: passbolt-external-service
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
type: ExternalName
|
||||||
|
externalName: 192-168-4-106.nip.io
|
||||||
|
ports:
|
||||||
|
- port: 3001
|
||||||
|
targetPort: 3001
|
||||||
46
config/seaweedfs/admin-s3-secrets.yaml
Normal file
46
config/seaweedfs/admin-s3-secrets.yaml
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
type: Opaque
|
||||||
|
metadata:
|
||||||
|
name: admin-s3-secret
|
||||||
|
namespace: seaweedfs
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: seaweedfs
|
||||||
|
app.kubernetes.io/component: seaweedfs-s3
|
||||||
|
|
||||||
|
stringData:
|
||||||
|
seaweedfs_s3_config: |
|
||||||
|
{
|
||||||
|
"identities": [
|
||||||
|
{
|
||||||
|
"name": "tatort",
|
||||||
|
"credentials": [
|
||||||
|
{
|
||||||
|
"accessKey": "wjpKrmaqXra99rX3D61H",
|
||||||
|
"secretKey": "fTPi0u0FR6Lv9Y9IKydWv6WM0EA5XrsK008HCt9u"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"actions": ["Read", "Write", "Admin"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "plane",
|
||||||
|
"credentials": [
|
||||||
|
{
|
||||||
|
"accessKey": "a0ccb47cc0994bf51ecd",
|
||||||
|
"secretKey": "0d54ee2f943f2a56b8cafc3afe9cb1e2f9fecac2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"actions": ["Read", "Write", "Admin"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "n8n",
|
||||||
|
"credentials": [
|
||||||
|
{
|
||||||
|
"accessKey": "WPpTwIoSMgrPChsS3rdS",
|
||||||
|
"secretKey": "C59o3EAhsUKBWj1oiPtiYRq3GhLMFeYDeiMxJ4SW"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"actions": ["Read", "Write", "Admin"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
config/seaweedfs/backup/astronaut.glb
Normal file
BIN
config/seaweedfs/backup/astronaut.glb
Normal file
Binary file not shown.
BIN
config/seaweedfs/backup/recovery/tatort_60.dat
Normal file
BIN
config/seaweedfs/backup/recovery/tatort_60.dat
Normal file
Binary file not shown.
BIN
config/seaweedfs/backup/recovery/tatort_62.dat
Normal file
BIN
config/seaweedfs/backup/recovery/tatort_62.dat
Normal file
Binary file not shown.
BIN
config/seaweedfs/backup/recovery/uploads_110.dat
Normal file
BIN
config/seaweedfs/backup/recovery/uploads_110.dat
Normal file
Binary file not shown.
BIN
config/seaweedfs/backup/recovery/uploads_111.dat
Normal file
BIN
config/seaweedfs/backup/recovery/uploads_111.dat
Normal file
Binary file not shown.
BIN
config/seaweedfs/backup/recovery/uploads_112.dat
Normal file
BIN
config/seaweedfs/backup/recovery/uploads_112.dat
Normal file
Binary file not shown.
BIN
config/seaweedfs/backup/recovery/uploads_113.dat
Normal file
BIN
config/seaweedfs/backup/recovery/uploads_113.dat
Normal file
Binary file not shown.
BIN
config/seaweedfs/backup/recovery/uploads_114.dat
Normal file
BIN
config/seaweedfs/backup/recovery/uploads_114.dat
Normal file
Binary file not shown.
BIN
config/seaweedfs/backup/tatort_62.dat
Normal file
BIN
config/seaweedfs/backup/tatort_62.dat
Normal file
Binary file not shown.
0
config/seaweedfs/backup/tatort_large.bin
Normal file
0
config/seaweedfs/backup/tatort_large.bin
Normal file
53
config/vaultwarden/vaultwarden-ingressroute.yaml
Normal file
53
config/vaultwarden/vaultwarden-ingressroute.yaml
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
---
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: Middleware
|
||||||
|
metadata:
|
||||||
|
name: vaultwarden-stripprefix
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
stripPrefix:
|
||||||
|
prefixes:
|
||||||
|
- /
|
||||||
|
---
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: ServersTransport
|
||||||
|
metadata:
|
||||||
|
name: vaultwarden-transport
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
insecureSkipVerify: true
|
||||||
|
---
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: vaultwarden-external
|
||||||
|
namespace: kube-system
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: "lets-encrypt"
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`vaultwarden.innovation-hub-niedersachsen.de`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: vaultwarden-external-service
|
||||||
|
port: 3003
|
||||||
|
scheme: http
|
||||||
|
serversTransport: vaultwarden-transport
|
||||||
|
middlewares:
|
||||||
|
- name: vaultwarden-stripprefix
|
||||||
|
tls:
|
||||||
|
secretName: vaultwarden-tls
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: vaultwarden-external-service
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
type: ExternalName
|
||||||
|
externalName: 192-168-4-106.nip.io
|
||||||
|
ports:
|
||||||
|
- port: 3003
|
||||||
|
targetPort: 3003
|
||||||
Reference in New Issue
Block a user