Compare commits

..

408 Commits

Author SHA1 Message Date
titver968
3bed7c95eb mrknow traefik config 2026-01-15 14:40:49 +01:00
titver968
3379af24f6 mrknow certificate in cert-manager 2026-01-15 14:35:15 +01:00
titver968
19c9a3a5ae wekan and keycloak 2026-01-08 15:49:13 +01:00
titver968
b0d56f2102 wekan and keycloak 2026-01-08 15:44:42 +01:00
titver968
8ea94c3b3d wekan and keycloak 2026-01-08 15:38:53 +01:00
titver968
bdb13cb00a wekantest and keycloak redirect more Variables 2026-01-08 15:24:21 +01:00
titver968
520c545ef4 wekantest and keycloak redirect redirect 2026-01-08 14:59:49 +01:00
titver968
cbf3f58285 wekantest and keycloak redirect redirect 2026-01-08 13:09:44 +01:00
titver968
9848eb1c1b wekantest and keycloak redirect redirect 2026-01-08 13:02:51 +01:00
titver968
f71ee10c63 wekantest and keycloak redirect popup 2026-01-08 12:58:40 +01:00
titver968
6448963486 wekantest and keycloak 2026-01-08 11:59:05 +01:00
titver968
2aae7e8b7e wekantest and keycloak 2026-01-08 11:54:23 +01:00
titver968
6eefb0da8b wekantest and keycloak 2026-01-08 09:58:35 +01:00
titver968
4f8ed26d4d open-webui: warnings fixed 2026-01-07 12:07:29 +01:00
titver968
8dc36f24d9 open-webui: WEBUI_SECRET_KEY added 2026-01-07 12:03:27 +01:00
titver968
6e4daf35ad open-webui: logout redirect URL 2026-01-07 11:54:33 +01:00
titver968
92cf4bdb78 open-webui: logout redirect URL 2026-01-07 11:43:48 +01:00
titver968
569895fb91 open-webui: sso: oidc: realm innohub 2026-01-07 10:50:13 +01:00
titver968
20a9c5b3bb open-webui: sso: oidc: debug 2026-01-07 09:06:17 +01:00
titver968
f5aee6d900 open-webui: sso: oidc: debug 2026-01-07 09:00:48 +01:00
titver968
99670aa277 open-webui: sso: oidc: new config 2026-01-07 08:53:17 +01:00
titver968
9da3941cfc open-webui: sso: oidc: 2026-01-07 08:35:41 +01:00
titver968
5daed5ebd4 deleted old open-webui config file 2026-01-06 10:09:21 +01:00
titver968
17ac7ddd68 open-webui existenceVolume deleted 2026-01-06 09:20:24 +01:00
titver968
2a5133da48 open-webui new version 9 2026-01-06 09:10:04 +01:00
titver968
4631aa1a5a open-webui commented 2026-01-06 09:07:19 +01:00
titver968
e1a6a53c57 back to the old Version 2026-01-06 09:05:03 +01:00
titver968
3efc060d0e open-webui mit helm.chart Konfig 2026-01-06 08:17:14 +01:00
titver968
3bdc7ecaa4 keycloak certifivate nur in cert-manager 2026-01-05 07:56:15 +01:00
titver968
9fdc42a6a3 keycloak certificate in argo-cd 2025-12-30 12:42:56 +01:00
titver968
b910243e2f mantisbt/config_inc.php 2025-12-30 12:25:49 +01:00
titver968
5520c55527 wekantest mongodb image deleted 2025-12-30 07:25:24 +01:00
titver968
519959b991 wekan mongodb tag: 7.0.28 2025-12-29 08:44:03 +01:00
titver968
c902ee862c wekantest mongodb tag: 7.0.28 2025-12-29 08:38:50 +01:00
titver968
f9588b0718 mattermost lets-encrypr Produktion 2025-12-19 09:57:51 +01:00
titver968
7a38ce1774 mantisbt mariadb Readiness 2025-12-19 08:45:46 +01:00
titver968
cc4a9a33cf Wekan und Wekantest die Versionen gewechselt. 2025-12-18 07:53:05 +01:00
titver968
49f4afa55e seaweedfs commented 2025-12-16 23:14:34 +01:00
titver968
daabaabcb2 n8n minio, redis und postgresPassword 2025-12-16 15:00:13 +01:00
titver968
5647295120 enableAdmin 0 2025-12-15 16:07:23 +01:00
titver968
f1efb3a801 enableAdmin 1 2025-12-15 15:33:35 +01:00
titver968
a3b042b104 masterSalt eingetragen 2025-12-15 15:19:02 +01:00
titver968
9bd2f3b8bc enable admin 1 2025-12-15 13:48:47 +01:00
titver968
a71e5ac907 masterSalt Passwort setzten 2025-12-15 13:38:03 +01:00
titver968
84ffea9d59 adminPasswort 2025-12-15 13:22:39 +01:00
titver968
e4ad00b4f3 enableAdmin 0 2025-12-15 12:15:37 +01:00
titver968
1ee0686020 mantisbt V4 more config 2025-12-15 11:54:31 +01:00
titver968
0ae03ae994 mantisbt V4 email configuration added 2025-12-15 11:10:11 +01:00
titver968
0aa3744ba6 mantisbt V4 2025-12-15 10:57:52 +01:00
titver968
8e6c6f72e9 mantisbt V3 mariadb debug 2025-12-15 09:52:38 +01:00
titver968
05e73b6832 mantisbt V3 2025-12-15 09:48:21 +01:00
titver968
581da487ed mantisbt V3 2025-12-15 09:46:12 +01:00
titver968
8ace260f87 mariadb Image tag latest 2025-12-12 12:52:36 +01:00
titver968
0b9f88b7c0 mariadb Image 11.4 auth richtig eingerueckt 2025-12-12 12:49:18 +01:00
titver968
209d0015c1 mariadb Image 11.4 2025-12-12 12:43:57 +01:00
titver968
d329c20444 mantisbt v2 2025-12-12 12:30:43 +01:00
titver968
1641b9bea3 new matisbt App 2025-12-12 11:59:19 +01:00
titver968
2b48963d54 new certificate for matisbt,innovation... 2025-12-12 10:24:39 +01:00
titver968
b8f9370db8 nextcloud redis Timeout 20 S und replicas 2025-12-11 14:45:59 +01:00
titver968
6f36a51451 nextcloud redis standalone 2025-12-11 07:32:03 +01:00
titver968
cf48328090 wekantest dbname 2025-12-10 13:52:49 +01:00
titver968
8b42195f1e added wekantest 2025-12-10 13:49:47 +01:00
titver968
9d8166d49c ohne .idea 2025-12-10 13:47:55 +01:00
titver968
4e21b5e06f gitignore fuer .idea 2025-12-10 13:46:11 +01:00
titver968
b04e96530d wekantest deleted 2025-12-10 13:42:58 +01:00
titver968
fc45280db8 keycloak deleted 2025-12-10 13:41:24 +01:00
titver968
aa1923da06 wekantest added 2025-12-10 13:36:38 +01:00
titver968
fc5f26533d sws3-certificate.yaml deleted 2025-12-10 10:34:30 +01:00
titver968
83f1e5d98f openproject deleted seaweedfs commented 2025-12-10 10:33:02 +01:00
titver968
6d913d015e seaweedfs commented 2025-12-10 10:32:16 +01:00
titver968
7f83a3e526 wekan mongo URL 2025-12-10 09:17:16 +01:00
titver968
e1d2d87f11 wekan mongo url auf internal 2025-12-10 09:13:07 +01:00
titver968
cb2e7017bf wekan MONGO_URL definiert 2025-12-10 09:01:36 +01:00
titver968
24055a0766 wekan live und readines timeout 10 s 2025-12-10 08:49:24 +01:00
titver968
1442621cd3 keycloak in cert-manager 2025-12-10 08:40:43 +01:00
titver968
db302c37b4 nextcloud readines timeout 10 s 2025-12-10 08:29:33 +01:00
titver968
7c5d957cd4 nextcloud readinessTimeout 5 s 2025-12-10 08:11:47 +01:00
titver968
4409194ebd nextcloud redis 2025-12-09 08:39:14 +01:00
titver968
d6fa969a7f debug 2025-12-09 08:17:03 +01:00
titver968
460c398e25 minio consoleIngress typo 2025-12-08 14:58:12 +01:00
titver968
dc8c755aea minio from cloudpirates 2025-12-08 14:46:58 +01:00
titver968
eeb031c87e bitnami minio commented 2025-12-08 13:07:52 +01:00
titver968
cb0c126895 plane mit minio lokal 2025-12-04 14:15:43 +01:00
titver968
cc21235d9f debug 2025-12-04 14:12:34 +01:00
titver968
c11a224302 seaweedfs ingress 2025-12-04 12:56:36 +01:00
titver968
1bccd096d1 seaweedfs debug 2025-12-04 12:38:46 +01:00
titver968
27b28bf11f WEED_FILER 2025-12-04 12:33:11 +01:00
titver968
a4c49dec6f file.s3 auskommentiert 2025-12-04 12:14:43 +01:00
titver968
acb09cd9fa neue seaeedfs konfig 2025-12-04 12:09:11 +01:00
titver968
b370cc6ad3 seaweedfs debug 2025-12-04 12:04:50 +01:00
titver968
5ce5f358aa debug seaweedfs 2025-12-04 12:02:39 +01:00
titver968
1bdacd6823 admin-s3 back to json 2025-12-04 11:50:45 +01:00
titver968
b46c32382b neue version admin-s3 2025-12-04 11:44:07 +01:00
titver968
9444cdc562 seaweedfs debug 2025-12-04 11:39:48 +01:00
titver968
c587b7369f debug seawedfs 2025-12-04 11:36:41 +01:00
titver968
7fea369863 neue admin-s3 Version 2025-12-04 11:34:30 +01:00
titver968
8914e45049 neue admin-s3-credentials 2025-12-04 11:28:15 +01:00
titver968
ecf7a25a08 seaweedfs neue admin-s3-secret 2025-12-04 11:22:36 +01:00
titver968
f9ad16a131 seaweedfs admin-s3 2025-12-04 11:18:42 +01:00
titver968
efecc0fb32 seaweedfs admin-secret 2025-12-04 11:10:33 +01:00
titver968
ec0a17c52d seaweedfs neue Version 2025-12-04 11:07:47 +01:00
titver968
7c519da661 seaweedfs neue Version 2025-12-04 11:05:15 +01:00
titver968
4b60a83e48 admin-s3-secrets 2025-12-04 10:41:47 +01:00
titver968
70f440ce8c neue seaweedfs konfig Version 2025-12-04 10:32:42 +01:00
titver968
b0dc19afc8 plane-docstore 2025-12-04 10:19:46 +01:00
titver968
6d88ffd748 plane aws_s3_use_path_stype -> true 2025-12-04 10:18:57 +01:00
titver968
51cf6b143a ülane docstorebuchet "uploads" 2025-12-04 10:06:11 +01:00
titver968
00cb7b7de0 plane doctore_buchet mit / am ende 2025-12-04 09:58:08 +01:00
titver968
1097142b86 longhostn auf die 2TB /mnt/datastore/longhorn 2025-12-03 11:02:51 +01:00
titver968
2c0fc5033e seaweedfs auf longhorn 2025-12-03 09:43:07 +01:00
titver968
340de61bef neue seaweedfs values 2025-12-03 09:14:38 +01:00
titver968
0cc274f6f6 deleted tvetmp in seaaweedfs 2025-12-03 08:54:12 +01:00
titver968
230d5559c1 seaweedfs auf die Version 4.*.* 2025-12-03 08:33:04 +01:00
titver968
61d780e7f6 wekan-mongodb nur auf k3s-prod starten 2025-12-01 13:13:13 +01:00
titver968
db4dfc6f53 wordpress in die verion 28.*.* 2025-12-01 10:40:55 +01:00
titver968
e1ce1edba1 praktikum persistence und longhorn 2025-11-27 15:13:30 +01:00
titver968
b2150382cf praktikum in values-praktikum geaendert 2025-11-27 15:08:10 +01:00
titver968
a351e448de praktikum yaml neue Version 2025-11-27 15:07:03 +01:00
titver968
20a6ad69c9 mattermost fix /mattermost/data Berechtigungen 2025-11-27 14:23:52 +01:00
titver968
a313f3bdc2 mm security context 2025-11-27 12:12:50 +01:00
titver968
38b4da379f mattermost lets-encrypt 2025-11-27 09:34:38 +01:00
titver968
601b81e466 mm neuer versuch 2025-11-27 09:19:19 +01:00
titver968
70c99e3003 mm neue secret definition 2025-11-27 09:11:47 +01:00
titver968
ce2493e8f5 mattermost mysql 2025-11-27 09:05:37 +01:00
titver968
73cf3b68d2 mattermost mysql dsn 2025-11-27 08:45:28 +01:00
titver968
652acc3aca mattermost auf longhosrn 2025-11-27 08:34:59 +01:00
titver968
a76b1f542f mattermost mysql 2025-11-27 08:26:48 +01:00
titver968
85ebfd0d96 mattermost version 6.*.* 2025-11-27 08:19:17 +01:00
titver968
af7b36d4b5 n8n old encryption Key 2025-11-21 08:27:38 +01:00
titver968
11bab29e1d n8n debug 2025-11-21 08:24:40 +01:00
titver968
7e8cef1e60 n8n encryptionKey 2025-11-21 08:23:27 +01:00
titver968
7982454c5f encryptionKey old 2025-11-21 08:15:11 +01:00
titver968
fef65d9177 n8n config 2025-11-21 08:05:36 +01:00
titver968
e128a6826c n8n config 2025-11-21 08:03:24 +01:00
titver968
718d5881f8 n8n encryption 2025-11-21 08:01:51 +01:00
titver968
f25c06f110 n8n encryption key update 2025-11-21 07:57:58 +01:00
titver968
176f864144 n8n latest encryptionKey 2025-11-20 19:17:52 +01:00
titver968
6051024d20 n8n old encryptionKey 2025-11-20 19:10:53 +01:00
titver968
30aa00a02d n8n back to te runing config 2025-11-20 18:43:22 +01:00
titver968
2ef6054e68 n8n runAsUser, runAsGroup faGroup 1000 2025-11-20 18:41:11 +01:00
titver968
bbba39635a n8n back to the encryptionKey 2025-11-20 18:37:26 +01:00
titver968
2b9bc64b17 n8n extraEnv: 2025-11-20 18:35:05 +01:00
titver968
67a816786c n8n encryptionKey 2025-11-20 18:32:39 +01:00
titver968
f709cd29cb n8n restore yaml file 2025-11-20 18:00:38 +01:00
titver968
e44139c4a3 pod security n8n 2025-11-20 17:57:40 +01:00
titver968
e0d874ef1a main security context 2025-11-20 17:53:06 +01:00
titver968
61bd354618 n8n korrigiert 2025-11-20 17:43:22 +01:00
titver968
344f0037a6 security: encryptionKey: n8n 2025-11-20 17:34:26 +01:00
titver968
ea1f601f2b n8n auf longhosrn mit Persistence Daten 2025-11-20 17:00:54 +01:00
titver968
5239c29fe5 n8n.sql deleted 2025-11-20 16:25:36 +01:00
titver968
2a26a925c9 deleted old n8n.bak config file 2025-11-20 16:24:03 +01:00
titver968
c3c649fd71 plane mit dns 2025-11-18 15:43:50 +01:00
titver968
7b3caaad8f plane secrets back to the old version 2025-11-18 10:34:02 +01:00
titver968
380438dbdf plane secret patcher and dns 2025-11-18 10:25:27 +01:00
titver968
71dffda860 plane debug 2025-11-18 10:20:45 +01:00
titver968
99c6894354 plane secret patcher 2025-11-18 10:17:20 +01:00
titver968
ed93ca4208 plane dnsConfig deleted 2025-11-18 10:10:15 +01:00
titver968
22a25d33f5 plane api dns 2025-11-18 10:09:27 +01:00
titver968
79ee44e0d4 plane dnsConfig commented 2025-11-18 10:07:15 +01:00
titver968
303b0bfc43 plane dnsConfig 2025-11-18 10:04:03 +01:00
titver968
917fad2893 cors_allowed_origin in plane 2025-11-18 09:22:21 +01:00
titver968
0a20138333 plane secret patcher 2025-11-18 09:13:39 +01:00
titver968
7f5fcb34ed plane aws region 2025-11-18 09:12:51 +01:00
titver968
71176f9b60 plane secret patcher 2025-11-18 09:07:37 +01:00
titver968
872577351c plane-docstore 2025-11-18 08:57:24 +01:00
titver968
ab421f0fdf planedocstore 2025-11-18 08:55:33 +01:00
titver968
ddfffb3f46 plane sws3 2025-11-18 08:53:02 +01:00
titver968
2d47f01679 plane sws3 2025-11-18 08:50:11 +01:00
titver968
e5c058a086 plane sws3 2025-11-18 08:45:18 +01:00
titver968
bfae9f9836 new files 2025-11-17 13:35:44 +01:00
titver968
c9ac12161b brain cert added 2025-11-17 12:30:02 +01:00
titver968
e0a1940e7d plane new 2025-11-14 23:17:29 +01:00
titver968
b74768473a plane new config 2025-11-14 08:13:13 +01:00
titver968
1d97ee37b6 plane secrets 2025-11-14 08:06:38 +01:00
titver968
f6d04145d1 plane new config 2025-11-14 07:57:25 +01:00
titver968
9f5cfd2156 plane db connection 2025-11-14 07:43:58 +01:00
titver968
5331f89566 plane db connection 2025-11-14 07:34:32 +01:00
titver968
2f76deb82d default_cluster_domain: cluster.local 2025-11-13 18:14:47 +01:00
titver968
e6c1a669c9 default_cluster_domain: svc.cluster.local 2025-11-13 18:13:38 +01:00
titver968
2a9e494d26 default_cluster_domain: plane.svc.cluster.local 2025-11-13 18:11:22 +01:00
titver968
8d275eba83 default_cluster_domain: cluster.local 2025-11-13 18:03:55 +01:00
titver968
9bb4c246ba default_cluster_domain: "" 2025-11-13 18:01:28 +01:00
titver968
be6b885cc2 kein default_cluster_domain 2025-11-13 17:58:20 +01:00
titver968
36ada82a8b plane default_cluster_domain: "cluster.local" 2025-11-13 17:10:28 +01:00
titver968
9d02f52be6 plane new version 2025-11-13 17:02:11 +01:00
titver968
51e677199f plane default_cluster_domain: innohub.local 2025-11-13 16:49:50 +01:00
titver968
2602faa530 postgresql plane 2025-11-13 16:37:01 +01:00
titver968
b93d794cbe pgsql feste ip 2025-11-13 16:08:51 +01:00
titver968
2795bb0043 plane pgdb debug 2025-11-13 15:54:43 +01:00
titver968
f881642182 plane postgresql 2025-11-13 15:52:58 +01:00
titver968
31efc8d6a7 wekan replica 1 2025-11-13 10:44:58 +01:00
titver968
be4e2d9522 wekan longhorn debug 2025-11-13 09:36:53 +01:00
titver968
444c9778d8 wekan selfHeal 2025-11-13 08:37:12 +01:00
titver968
20ae4eb69c wekan on longhorn 2025-11-13 08:22:43 +01:00
titver968
4d4f2bea04 wekan on longhorn 2025-11-13 08:18:13 +01:00
titver968
37fcff3ea2 wekan on longhorn 2025-11-13 08:16:25 +01:00
titver968
4b800831b1 longhorn-dev name 2025-11-11 08:25:45 +01:00
titver968
24ff0870b8 longhorn-dev added 2025-11-11 08:23:50 +01:00
titver968
9035422a59 headlamp for dev and prod 2025-11-10 15:27:34 +01:00
titver968
086c2f66f8 debug 2025-11-06 16:32:20 +01:00
titver968
52e0883d22 n8n database name 2025-11-06 14:16:39 +01:00
titver968
507feb3378 webhooks und postgresql enabled: true 2025-11-06 14:04:25 +01:00
titver968
fa01ec2941 n8n redis.enabled: true 2025-11-06 14:03:06 +01:00
titver968
cd3a75fc94 n8n minio.enabled: true 2025-11-06 14:02:02 +01:00
titver968
eb37e4bcc5 n8n minio.persistence.enabled: true 2025-11-06 14:00:20 +01:00
titver968
37f41780ea n8n ingredd.enabled: true 2025-11-06 13:58:47 +01:00
titver968
7ca6363a00 n8n redis.master.persistence: true 2025-11-06 13:57:48 +01:00
titver968
dd38629ac3 new n8n values 2025-11-06 13:55:59 +01:00
titver968
e56a0ae3f6 back to te old version 2025-11-06 13:29:54 +01:00
titver968
8531632cb6 new n8n value file 2025-11-06 13:25:12 +01:00
titver968
a890275183 new valuas-n8n.new 2025-11-06 09:12:32 +01:00
titver968
ab3380c054 back to the old version 2025-11-04 16:19:16 +01:00
titver968
4d31769bb9 encryptopnKey 2025-11-04 16:13:52 +01:00
titver968
f20d094ce1 back to the old version 2025-11-04 16:08:36 +01:00
titver968
25a5150bb7 n8n encryptionKey 2025-11-04 16:02:57 +01:00
titver968
d331ecd34d n8n encryptionKey 2025-11-04 15:59:36 +01:00
titver968
1ca6c324fd n8n debug 2025-11-04 15:56:38 +01:00
titver968
ccf0de49aa n8n existingEncryptionKeySecret 2025-11-04 15:56:14 +01:00
titver968
8fd3c0a4b3 postgresql database 2025-11-04 15:46:58 +01:00
titver968
e48ce3cfc7 n8n minio policy 2025-11-04 15:33:29 +01:00
titver968
ef777ee80f minio buckets policy 2025-11-04 15:30:15 +01:00
titver968
7d0cc04e17 n8n minio config 2025-11-04 15:26:58 +01:00
titver968
6940eaecf5 right format values-n8n.yaml 2025-11-04 15:23:55 +01:00
titver968
daeeb5f18c new values-n8n.yaml 2025-11-04 15:20:23 +01:00
titver968
94eb9c3ef2 seaweedfs traefik 2025-11-04 14:36:07 +01:00
titver968
528335dea0 seaweed cors 2025-11-04 14:26:22 +01:00
titver968
5cc1b819f9 seaweedfs s3 extraArgs 2025-11-04 14:20:54 +01:00
titver968
1c0c6e6a1b seaweedfs CORS 2025-11-04 14:17:19 +01:00
titver968
1518e37fd8 admin seaweedfs credentials 2025-11-04 13:44:13 +01:00
titver968
78cb336620 seaweedfs secrets 2025-11-04 13:41:55 +01:00
titver968
e9ec17d7c8 longhorn debug 2025-10-28 16:36:35 +01:00
titver968
b0d8cff5c5 longhorn debug 2025-10-28 16:35:28 +01:00
titver968
cc08078120 longhorn defaultSettings 2025-10-28 16:34:19 +01:00
titver968
88a7e2c8ff longhorn persistence and default values 2025-10-28 16:30:26 +01:00
titver968
1d07f8b010 longhorn ingress 2025-10-28 14:55:48 +01:00
titver968
ed6b0815a7 podsecurity privileged 2025-10-28 14:37:46 +01:00
titver968
5545d6de6b longhorn preUpgradeCheck 2025-10-28 14:34:23 +01:00
titver968
bc7995384c longhostn added 2025-10-28 14:22:53 +01:00
titver968
78cbd4718b seaweedfs version 4.0.399 2025-10-28 09:54:52 +01:00
titver968
b299382ac2 seawwedfs secrets 2025-10-28 09:26:18 +01:00
titver968
4f517de0c3 seaweedfs secrets 2025-10-28 08:43:24 +01:00
titver968
03988f0484 openproject commented 2025-10-28 08:37:01 +01:00
titver968
5b97af1d97 seaweedfs filer.s3 2025-10-28 08:08:20 +01:00
titver968
45362de1a8 plane immutable error 2025-10-28 07:53:08 +01:00
titver968
7912509c40 headlamp auth 2025-10-28 07:43:05 +01:00
titver968
9c2ca4dd27 headlamp auth 2025-10-28 07:37:46 +01:00
titver968
20b785075e headlamp in-cluster 2025-10-27 10:04:55 +01:00
titver968
6c2989ee53 headlamp to http 2025-10-27 09:10:55 +01:00
titver968
8282b72db9 headlamp in-cluster 2025-10-27 08:19:35 +01:00
titver968
cf68123036 headlamp token auth 2025-10-27 08:15:25 +01:00
titver968
22253cf58e headlamp token auth 2025-10-27 08:09:17 +01:00
titver968
4d25101be1 headlamp token 2025-10-27 07:58:51 +01:00
titver968
a5522f7fd2 plane to lets-encrypt 2025-10-24 15:13:46 +02:00
titver968
cfb95c8b4d worker debug 2025-10-24 15:09:37 +02:00
titver968
d1751d5800 worker debug 2025-10-24 14:52:37 +02:00
titver968
612c950c52 worker debug 2025-10-24 14:49:55 +02:00
titver968
105f1cbbc5 worker debug 2025-10-24 14:38:26 +02:00
titver968
7a03a6b564 worker debug 2025-10-24 14:14:56 +02:00
titver968
4098a0c43a plane worker 2025-10-24 14:06:19 +02:00
titver968
4532cafc0b plane back to te last config 2025-10-24 14:03:31 +02:00
titver968
9a03dcdb98 plane config debug 2025-10-24 13:52:02 +02:00
titver968
60f26913d4 plane worker debug 2025-10-24 13:45:53 +02:00
titver968
eb57f20d66 plane worker debug 2025-10-24 13:37:02 +02:00
titver968
febfd2d6a0 worket memory und replicas 2025-10-24 13:20:40 +02:00
titver968
7b384abcbb worker tests 2025-10-24 13:08:18 +02:00
titver968
c9e9733e1f worker configured like standard values 2025-10-24 13:03:49 +02:00
titver968
4575ec9d3f plane ohne cloude changes 2025-10-24 12:53:32 +02:00
titver968
b44fe606f5 plane claude 3 2025-10-24 11:56:19 +02:00
titver968
8aa41ae7cd worker replicas 3 memory 4096 Mi und 8192 Mi 2025-10-24 11:45:43 +02:00
titver968
f3483e23c7 plane claude 2 2025-10-24 11:40:51 +02:00
titver968
2f1f2de7db plane auf version 1.3.3 2025-10-24 11:28:51 +02:00
titver968
dd288e30d0 worker replica 1 concurency 1 2025-10-24 11:20:34 +02:00
titver968
7fc6894919 plane worket memory limits 8Gi 2025-10-24 11:18:32 +02:00
titver968
c6500be18c worket replica 2 concurency 1 2025-10-24 11:13:17 +02:00
titver968
96c7508465 plane claude changes 2025-10-24 11:05:30 +02:00
titver968
295d8dd329 headlamp clusteradmin rolle 2025-10-24 09:39:33 +02:00
titver968
29ce4cce23 config.baseurl deleted 2025-10-24 09:31:11 +02:00
titver968
e91d5a79ae headlamp RBAC 2025-10-24 09:28:08 +02:00
titver968
a84b9c7af5 kubernetes-dashboard deinstalled 2025-10-24 08:36:32 +02:00
titver968
c1d82e5a2f headline baseurl 2025-10-24 08:11:38 +02:00
titver968
aec121db75 headlamp debug 2025-10-24 08:09:04 +02:00
titver968
07f8031d52 headlamp debug 2025-10-24 08:02:41 +02:00
titver968
bdd227081f headlamp namespace 2025-10-24 07:58:55 +02:00
titver968
d8a18d5f57 new headlamp app for watch kubernetes 2025-10-24 07:55:26 +02:00
titver968
e4340dbf39 wekan version 8.*.* 2025-10-23 07:55:30 +02:00
titver968
46968c7541 plane docstore bucket 2025-10-22 09:31:57 +02:00
titver968
b4bae23c27 wekan version 8.11.0 2025-10-22 09:12:27 +02:00
titver968
7f8aaf8f50 seawwedfs auf http 8333 2025-10-22 08:50:03 +02:00
titver968
7fecc7e856 seaweedfs global Variables 2025-10-22 08:25:49 +02:00
titver968
3f9ac3d5c1 seaweedfs filler.s3 deleted 2025-10-22 07:39:25 +02:00
titver968
c1600b679b seaweedfs filer.s3 enabled true 2025-10-21 17:54:34 +02:00
titver968
4605800b60 seaweedfs httpsPort 2025-10-21 17:49:58 +02:00
titver968
d16360dcdd seaweedfs auf version 4.0.393 2025-10-21 17:35:43 +02:00
titver968
8909159e9d seaweedfs auf version 4.*.* 2025-10-21 17:34:14 +02:00
titver968
5cb225cb59 seaweedfs ingress under master 2025-10-21 17:06:06 +02:00
titver968
edbdd56272 plane switsch wits seaweedfs 2025-10-21 16:54:02 +02:00
titver968
459c77906c deletede plane-tls 2025-10-21 16:38:29 +02:00
titver968
d010f282fe new worker limits 2025-10-21 16:30:36 +02:00
titver968
54fd23fc78 plane worker 2025-10-21 16:20:25 +02:00
titver968
a9a1c2aeef plane delete empty lines 2025-10-21 16:14:38 +02:00
titver968
715548488e plane worker und ingress 2025-10-21 16:13:41 +02:00
titver968
926b50327d seaweedfs back to last version 2025-10-21 16:01:45 +02:00
titver968
643572e7eb plane fix 2025-10-21 15:54:35 +02:00
titver968
2d7cffeb28 seaweedfs version 4.0.393 2025-10-21 15:40:19 +02:00
titver968
eb580c530a seaweedfs version 4.0.393 2025-10-21 15:38:11 +02:00
titver968
cea64d358b plane back to lets-encrypt 2025-10-21 07:43:18 +02:00
titver968
ac159927da cert-manager/plane bach to lets-encrypt 2025-10-21 07:41:07 +02:00
titver968
99ef80f232 wekan Version 8.7.0 2025-10-21 07:38:16 +02:00
titver968
07af2c063b plane out of sync fix 2025-10-21 07:37:04 +02:00
titver968
04282d0d7e plane new version 2025-10-20 12:58:38 +02:00
titver968
8cb2c8e37c plane new version 2025-10-20 12:50:10 +02:00
titver968
8638dbcd15 plane new config 2025-10-20 08:48:32 +02:00
titver968
de179e0542 plane new config 2025-10-20 08:46:49 +02:00
titver968
41f06ff470 plane new configuration 2025-10-20 08:43:28 +02:00
titver968
4b2a6b2c74 wekan back to version 8.6.0 2025-10-20 08:10:29 +02:00
titver968
06322971d7 wekan version 8.*.* 2025-10-20 08:09:37 +02:00
titver968
e9c42fb431 argo-cd Version 9.* 2025-10-20 08:00:09 +02:00
titver968
e8674fc6f0 wekan auf Version 8.6.0 2025-10-20 07:37:36 +02:00
titver968
58be159d69 mattermost version 6.6.83 2025-10-17 13:15:11 +02:00
titver968
ef8a880101 mattermost commented 2025-10-17 13:02:37 +02:00
titver968
f7ea5b637f back to mysql 2025-10-17 12:53:23 +02:00
titver968
556e6babe6 mattermost config 2025-10-17 12:46:38 +02:00
titver968
c6698bffe6 mattermost mit postgresql 2025-10-17 12:41:02 +02:00
titver968
056638397b mattermost config 2025-10-17 12:31:22 +02:00
titver968
66409930b3 app version image from config deleted 2025-10-17 12:16:49 +02:00
titver968
a0fab1dd40 mattermost image tag 2025-10-17 12:09:32 +02:00
titver968
f2b260db25 mattermost image tag 2025-10-17 12:07:13 +02:00
titver968
5cf216c50e matermost new tag 2025-10-17 12:00:18 +02:00
titver968
07362a743d mattermost pod "privileged" 2025-10-17 11:42:15 +02:00
titver968
1cdb47b7db neiuere mattermost image 2025-10-17 11:38:15 +02:00
titver968
ec5e43a954 mattermost config 2025-10-17 11:32:41 +02:00
titver968
253e61010c mattermost config 2025-10-17 11:27:16 +02:00
titver968
35a55e4e0c mattermost config 2025-10-17 11:21:59 +02:00
titver968
c5a211085c mattermost config 2025-10-17 11:14:31 +02:00
titver968
6d29732604 mattermost new config 2025-10-17 11:07:18 +02:00
titver968
4675edcc72 mattermost DataSource config 2025-10-17 10:40:44 +02:00
titver968
949263009c mattermost externalDB 2025-10-17 10:29:14 +02:00
titver968
1e3edcdf32 mattermost mysql new config 2025-10-17 10:20:43 +02:00
titver968
1d7bce7081 plane replace deleted 2025-10-17 10:10:14 +02:00
titver968
0810042cc9 mattermost debug 2025-10-17 10:09:36 +02:00
titver968
cae46002ee mattermost debug 2025-10-17 10:02:54 +02:00
titver968
3d659fe38a mattermost lets-encrypt-staging 2025-10-17 10:00:32 +02:00
titver968
d4256a7f89 mattermost auf postgresql 2025-10-17 09:58:29 +02:00
titver968
ac2eb44bc7 lets-encrypt-staging mattermost 2025-10-17 09:48:02 +02:00
titver968
253dc3ed78 mattermost mysql root passwort 2025-10-17 09:44:17 +02:00
titver968
096fd80d60 mattermost new config 2025-10-17 09:40:02 +02:00
titver968
6652b2be25 mattermost new version 2025-10-17 09:28:30 +02:00
titver968
e8cb9e730f mattermost new configuration 2025-10-17 09:25:13 +02:00
titver968
651b40b99d mattermost new configuration 2025-10-17 09:16:09 +02:00
titver968
cd5604afb6 nextcloud.bak.swp 2025-10-17 09:06:24 +02:00
titver968
a502641abe nextcloud und dind new try 2025-10-17 08:52:47 +02:00
titver968
ced1758974 nextcloud reconfigured 2025-10-17 08:33:35 +02:00
titver968
9a8263f158 nexrcloud AppApi mit dind 2025-10-17 08:25:40 +02:00
titver968
fb8305d300 plane immutable ignore 2025-10-17 07:16:36 +02:00
titver968
3d00b746e5 schönheitsfehler 2025-10-16 16:14:49 +02:00
titver968
97b4c95b49 plane plane latest version 2025-10-16 15:25:04 +02:00
titver968
6da15a062d plane standards commented 2025-10-16 15:20:05 +02:00
Daniel
d0ce49321d Update values-plane.yaml 2025-10-16 15:13:20 +02:00
Daniel
2c43c7cd25 Update values-plane.yaml 2025-10-16 14:17:55 +02:00
Daniel
fe518f4321 Update values-plane.yaml 2025-10-16 14:10:41 +02:00
Daniel
d7ccaed585 Update values-plane.yaml 2025-10-16 13:56:21 +02:00
Daniel
67a6da0b11 Fixed plane version to 1.14.1 2025-10-16 13:43:32 +02:00
titver968
b709d6ace0 wekan replicaCount 2025-10-16 11:18:01 +02:00
titver968
4643152ca8 wekan 8.2.0 2025-10-16 11:10:52 +02:00
titver968
6dea3f6903 Wekan back to version 7.*.* 2025-10-16 11:00:10 +02:00
Daniel
4c070bcc2b Merge branch 'main' of https://gitea.innovation-hub-niedersachsen.de/innohub/k3s 2025-10-16 07:03:37 +02:00
Daniel
c18c9c1a1f Vaultwarden ingress and cert. 2025-10-16 07:03:30 +02:00
titver968
d221ee1438 plane api-migrate ignore 2025-10-15 16:16:18 +02:00
titver968
aa9bf2b532 plane lets-encrypt-staging 2025-10-15 15:52:55 +02:00
titver968
f6858c03a1 plane ignore timestamp 2025-10-15 15:49:10 +02:00
titver968
d7dd521823 plane lets-encrypt-staging 2025-10-15 15:39:28 +02:00
titver968
bb3f28d8f2 plane-tls commented 2025-10-15 15:38:48 +02:00
titver968
b3ab5731a1 cert-manager plane-tls added 2025-10-15 15:36:10 +02:00
titver968
1fd1a3899f plane cert in cert-manager 2025-10-15 15:21:06 +02:00
titver968
12c627848a plane cert in cert-manager 2025-10-15 15:18:06 +02:00
titver968
19e73c9885 plane certificate 2025-10-15 15:12:45 +02:00
titver968
62baa39368 new deployment plane 2025-10-15 15:10:32 +02:00
titver968
a8449b3f6b Wekan Version 8.2.0 2025-10-15 13:11:22 +02:00
titver968
ed4e097dd3 Wekan Version ">=8.0.0 <9.0.0" 2025-10-15 13:10:29 +02:00
titver968
f154b7bb88 Wekan Version 8.2.0 2025-10-15 13:06:03 +02:00
titver968
05762717dd Wekan Version 8.*.0 2025-10-15 13:04:38 +02:00
titver968
8b565d8592 Wekan Version 8.02.0 2025-10-15 12:56:32 +02:00
titver968
8d6f6d8975 Wekan Version ^8.00.0 2025-10-15 12:55:15 +02:00
titver968
d61f00778f Wekan Version "^8.0.0" 2025-10-15 12:50:49 +02:00
titver968
b13ac58684 Wekan auf die Version 8.*.* 2025-10-15 12:45:47 +02:00
titver968
75322d94ec new plane config 2025-10-15 10:55:58 +02:00
titver968
d0a11d8977 plane commented 2025-10-15 08:30:31 +02:00
titver968
34e84a832a plane-cert commented 2025-10-15 08:29:03 +02:00
titver968
476caecdaf plane-ingress.yaml deleted 2025-10-15 08:13:48 +02:00
titver968
f61db248a5 plane networking delete from values.yaml 2025-10-15 08:09:15 +02:00
titver968
b014a0c7fd plane certificate staging 2025-10-14 17:38:46 +02:00
titver968
ead1195a4d plane certificate in ns plane 2025-10-14 17:36:29 +02:00
titver968
082c384eb6 plane networking 2025-10-14 17:33:16 +02:00
titver968
73661ceed1 values mit networking 2025-10-14 17:28:01 +02:00
titver968
e7ed495861 plane hooks deleted 2025-10-14 17:22:26 +02:00
titver968
4cdc439a86 plane hooks 2025-10-14 17:08:19 +02:00
titver968
43f09e3c22 plane ingress annotations 2025-10-14 16:57:53 +02:00
titver968
e1dd7741f7 plane ingress annotations 2025-10-14 16:23:57 +02:00
titver968
b333a470be aws_s3_b ucket_name plane 2025-10-14 16:18:45 +02:00
titver968
c3081bf1dc plane minio und s3 2025-10-14 16:14:35 +02:00
titver968
f3dd13c42c plane seaweedfs 2025-10-14 16:06:59 +02:00
titver968
cf31dec83f cert-manager plane 2025-10-14 15:43:39 +02:00
titver968
ba61db2950 debug 2025-10-14 15:37:37 +02:00
titver968
65d2f98f5a plane certificate 2025-10-14 15:31:00 +02:00
titver968
30abd2ad5e cert-manager/plane-certificate in namespace plane 2025-10-14 15:28:30 +02:00
titver968
f17547d70d appName uns tls_secret_name 2025-10-14 14:54:23 +02:00
Daniel
669d29357d Merge branch 'main' of https://gitea.innovation-hub-niedersachsen.de/innohub/k3s 2025-10-14 14:36:22 +02:00
Daniel
0ff84def14 Added passbolt ingress and cert 2025-10-14 14:36:11 +02:00
74 changed files with 2444 additions and 921 deletions

BIN
.DS_Store vendored

Binary file not shown.

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.DS_Store

BIN
argocd/.DS_Store vendored

Binary file not shown.

BIN
argocd/apps/.DS_Store vendored

Binary file not shown.

1
argocd/apps/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.idea

View File

@@ -8,7 +8,7 @@ spec:
project: default
source:
repoURL: 'https://argoproj.github.io/argo-helm'
targetRevision: 8.*
targetRevision: 9.*
helm:
parameters:
- name: 'server.extraArgs[0]'

View 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

View 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

View 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

View 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

View 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

View File

@@ -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

View File

@@ -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

View 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

View File

@@ -1,47 +1,47 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: dashboard
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: default
source:
repoURL: 'https://kubernetes.github.io/dashboard/'
targetRevision: 7.*.*
helm:
parameters:
- name: 'ingress.enabled'
value: 'true'
- name: ingress.host
value: 'dashboard.innohub.local'
- name: 'ingress.tls[0].hosts[0]'
value: 'dashboard.innohub.local'
- name: 'ingress.tls[0].secretName'
value: dashboard-tls
- 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: serversTransport
value: 'no-verify-tls'
# - name: ingress.annotations.cert-manager\.io\/cluster-issuer
# value: lets-encrypt
- name: persistence.enabled
value: 'true'
chart: kubernetes-dashboard
destination:
server: 'https://kubernetes.default.svc'
namespace: kubernetes-dashboard
syncPolicy:
# managedNamespaceMetadata:
# labels:
# pod-security.kubernetes.io/enforce: 'privileged'
automated:
selfHeal: true
prune: true
syncOptions:
- CreateNamespace=true
#apiVersion: argoproj.io/v1alpha1
#kind: Application
#metadata:
# name: dashboard
# finalizers:
# - resources-finalizer.argocd.argoproj.io
#spec:
# project: default
# source:
# repoURL: 'https://kubernetes.github.io/dashboard/'
# targetRevision: 7.*.*
# helm:
# parameters:
# - name: 'ingress.enabled'
# value: 'true'
# - name: ingress.host
# value: 'dashboard.innohub.local'
# - name: 'ingress.tls[0].hosts[0]'
# value: 'dashboard.innohub.local'
# - name: 'ingress.tls[0].secretName'
# value: dashboard-tls
# - 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: serversTransport
# value: 'no-verify-tls'
## - name: ingress.annotations.cert-manager\.io\/cluster-issuer
## value: lets-encrypt
# - name: persistence.enabled
# value: 'true'
# chart: kubernetes-dashboard
# destination:
# server: 'https://kubernetes.default.svc'
# namespace: kubernetes-dashboard
# syncPolicy:
## managedNamespaceMetadata:
## labels:
## pod-security.kubernetes.io/enforce: 'privileged'
# automated:
# selfHeal: true
# prune: true
# syncOptions:
# - CreateNamespace=true

View 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

View 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

View 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

View 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

View 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;

View 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

View File

@@ -1,41 +1,43 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: praktikum
name: mattermost
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: default
source:
repoURL: 'https://gitea.innovation-hub-niedersachsen.de/innohub/charts/raw/main/praktikum'
targetRevision: 0.*.*
repoURL: 'https://helm.mattermost.com'
targetRevision: 6.*.*
helm:
parameters:
- name: ingress.enabled
value: "true"
- name: ingress.className
value: "traefik"
- name: 'ingress.enabled'
value: 'true'
- name: 'endpoint'
value: 'mattermost.innovation-hub-niedersachsen.de'
- name: ingress.hosts[0]
value: "praktikum.innovation-hub-niedersachsen.de"
- name: ingress.annotations.kubernetes\.io\/ingress\.class
value: traefik
- name: ingress.tls[0].secretName
value: "praktikum-tls"
- name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.entrypoints
value: websecure
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.tls[0].hosts[0]
value: "praktikum.innovation-hub-niedersachsen.de"
- 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
chart: praktikum
- name: mysql.mysqlUser
value: 'mmdbuser'
- name: mysql.mysqlPassword
value: 'mmdbpwd'
chart: mattermost-team-edition
destination:
server: 'https://kubernetes.default.svc'
namespace: praktikum
namespace: mattermost
syncPolicy:
managedNamespaceMetadata:
labels:

View File

@@ -1,43 +1,101 @@
apiVersion: argoproj.io/v1alpha1
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:
name: mattermost
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: default
source:
repoURL: 'https://helm.mattermost.com'
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
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:
server: 'https://kubernetes.default.svc'
namespace: mattermost
syncPolicy:
managedNamespaceMetadata:
labels:

View 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

View 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"

View File

@@ -1,64 +1,64 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: minio
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: default
source:
repoURL: 'registry-1.docker.io/bitnamicharts'
path: minio
targetRevision: 16.*.*
chart: minio
helm:
parameters:
- name: auth.rootPassword
value: 'InnoHubMINIO_2024!'
- name: ingress.enabled
value: 'true'
- name: ingress.hostname
value: 's3.innovation-hub-niedersachsen.de'
- name: ingress.tls
value: 'true'
- 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'
- name: ingress.annotations.ingress\.secrets
value: 's3.innovation-hub-niedersachsen.de-tls'
- name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.entrypoints
value: websecure
- name: apiIngress.enabled
value: 'true'
- name: apiIngress.hostname
value: 'api-s3.innovation-hub-niedersachsen.de'
- name: apiIngress.tls
value: 'true'
- name: apiIngress.annotations.traefik\.ingress\.kubernetes\.io\/router\.entrypoints
value: 'websecure'
- name: apiIngress.annotations.kubernetes\.io\/ingress\.class
value: traefik
- name: apiIngress.annotations.traefik\.ingress\.kubernetes\.io\/router\.tls
value: 'true'
forceString: true
- name: apiIngress.annotations.cert-manager\.io\/cluster-issuer
value: 'lets-encrypt'
- name: apiIngress.annotations.ingress\.secrets
value: 'api-s3.innovation-hub-niedersachsen.de-tls'
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
- RespectIgnoreDifferences=true
#apiVersion: argoproj.io/v1alpha1
#kind: Application
#metadata:
# name: minio
# finalizers:
# - resources-finalizer.argocd.argoproj.io
#spec:
# project: default
# source:
# repoURL: 'registry-1.docker.io/bitnamicharts'
# path: minio
# targetRevision: 16.*.*
# chart: minio
# helm:
# parameters:
# - name: auth.rootPassword
# value: 'InnoHubMINIO_2024!'
# - name: ingress.enabled
# value: 'true'
# - name: ingress.hostname
# value: 's3.innovation-hub-niedersachsen.de'
# - name: ingress.tls
# value: 'true'
# - 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'
# - name: ingress.annotations.ingress\.secrets
# value: 's3.innovation-hub-niedersachsen.de-tls'
# - name: ingress.annotations.traefik\.ingress\.kubernetes\.io\/router\.entrypoints
# value: websecure
# - name: apiIngress.enabled
# value: 'true'
# - name: apiIngress.hostname
# value: 'api-s3.innovation-hub-niedersachsen.de'
# - name: apiIngress.tls
# value: 'true'
# - name: apiIngress.annotations.traefik\.ingress\.kubernetes\.io\/router\.entrypoints
# value: 'websecure'
# - name: apiIngress.annotations.kubernetes\.io\/ingress\.class
# value: traefik
# - name: apiIngress.annotations.traefik\.ingress\.kubernetes\.io\/router\.tls
# value: 'true'
# forceString: true
# - name: apiIngress.annotations.cert-manager\.io\/cluster-issuer
# value: 'lets-encrypt'
# - name: apiIngress.annotations.ingress\.secrets
# value: 'api-s3.innovation-hub-niedersachsen.de-tls'
# 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
# - RespectIgnoreDifferences=true

View 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

View 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

View File

@@ -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

View File

@@ -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

View 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

View 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

View File

@@ -10,78 +10,117 @@ spec:
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: externalDatabase.type
# value: postgresql
# - name: externalDatabase.host
# value: 'nextcloud-postgresql-0'
# - name: externalDatabase.password
# value: 'pgInnoDBUser'
- 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'
values: |
image:
repository: nextcloud
flavor: fpm
ingress:
enabled: true
className: traefik
servicePort: https
annotations:
kubernetes.io/ingress.class: traefik
traefik.ingress.kubernetes.io/router.tls: "true"
traefik.ingress.kubernetes.io/router.middlewares: kube-system-hsts@kubernetescrd
cert-manager.io/cluster-issuer: lets-encrypt
hosts:
- innocloud.innovation-hub-niedersachsen.de
tls:
- secretName: innocloud-tls
hosts:
- innocloud.innovation-hub-niedersachsen.de
service:
annotations:
traefik.ingress.kubernetes.io/service.sticky.cookie: "true"
nginx:
enabled: true
phpClientHttpsFix:
enabled: true
protocol: https
nextcloud:
host: innocloud.innovation-hub-niedersachsen.de
password: InnoHubADMIN_2024!
mail:
enabled: true
fromAddress: admin
domain: innovation-hub-niedersachsen.de
smtp:
host: 192.168.4.125
port: 25
# DinD Sidecar für AppAPI (TCP Mode)
extraSidecarContainers:
- name: dind
image: docker:27-dind
securityContext:
privileged: true
command:
- dockerd
args:
- --host=tcp://0.0.0.0:2375
- --tls=false
env:
- name: DOCKER_TLS_CERTDIR
value: ""
volumeMounts:
- name: dind-storage
mountPath: /var/lib/docker
ports:
- containerPort: 2375
name: docker
extraVolumes:
- name: dind-storage
emptyDir: {}
internalDatabase:
enabled: false
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
destination:
server: 'https://kubernetes.default.svc'

View File

@@ -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

View 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

View File

@@ -1,13 +0,0 @@
#!/bin/bash
echo "=== Pods Status ==="
kubectl get pods -n openproject
echo -e "\n=== Deployment Status ==="
kubectl get deployment -n openproject
echo -e "\n=== Web Pod Details ==="
kubectl describe pod -n openproject -l app.kubernetes.io/name=openproject,app.kubernetes.io/component=web | tail -50
echo -e "\n=== ReplicaSet Status ==="
kubectl get replicaset -n openproject

View File

@@ -1,8 +0,0 @@
apiVersion: v1
kind: Namespace
metadata:
name: openproject
labels:
pod-security.kubernetes.io/enforce: privileged
pod-security.kubernetes.io/audit: privileged
pod-security.kubernetes.io/warn: privileged

View File

@@ -1,9 +0,0 @@
apiVersion: v1
kind: Secret
metadata:
name: postgresql-auth
namespace: openproject
type: Opaque
stringData:
postgres-password: InnoPG2025
password: InnoDB2025

View File

@@ -1,126 +0,0 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: openproject
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: default
source:
repoURL: 'https://charts.openproject.org'
chart: openproject
targetRevision: 11.*.*
helm:
values: |
develop: false
environment:
EMAIL_DELIVERY_METHOD: "smtp"
SMTP_ADDRESS: "smtp.innohub.local"
SMTP_PORT: "25"
SMTP_DOMAIN: "innovation-hub-niedersachsen.de"
SMTP_AUTHENTICATION: "none"
SMTP_ENABLE_STARTTLS_AUTO: "false"
cron:
enabled: false
environment:
IMAP_HOST: "smtp.innovation-hub-niedersachsen.de"
IMAP_PORT: 993
IMAP_SSL: "true"
IMAP_USERNAME: "openproject"
IMAP_PASSWORD: "openproject-imap-password"
schedule: "*/5 * * * *"
ingress:
enabled: true
ingressClassName: 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
host: "openproject.innovation-hub-niedersachsen.de"
path: /
pathType: "Prefix"
tls:
enabled: true
secretName: openproject-tls
openproject:
https: true
hsts: true
seed_locale: "de"
useTmpVolumes: "false"
admin_user:
password: "admin"
password_reset: true
name: "OpenProject Admin"
mail: "inno-netz@zpd.polizei.niedersachsen.de"
resources:
requests:
memory: "1Gi"
limits:
memory: "2Gi"
appInit:
resources:
requests:
memory: "512Mi"
limits:
memory: "1Gi"
memcached:
global:
readOnlyRootFilesystem: false
containerSecurityContext:
readOnlyRootFilesystem: false
persistence:
enabled: false
accessModes:
- "ReadWriteOnce"
s3:
enabled: true
auth:
accessKeyId: "K7mNpQ2vRxL9wYtH3Zc8"
secretAccessKey: "jX9fK2mP5nQ8rT1vW4yZ7bN0cM3hL6gF9dS2aE5k"
host: "sws3.innovation-hub-niedersachsen.de"
port: 443
bucketName: "openproject"
region: "eu-central-1"
postgresql:
bundled: true
auth:
existingSecret: "postgresql-auth"
username: "openproject"
# password: "openproject123"
# postgresPassword: "postgres123"
database: "openproject"
global:
readOnlyRootFilesystem: false
primary:
persistence:
enabled: true
size: 8Gi
service:
type: ClusterIP
ports:
postgresql: 5432
destination:
server: 'https://kubernetes.default.svc'
namespace: openproject
syncPolicy:
managedNamespaceMetadata:
labels:
pod-security.kubernetes.io/enforce: "privileged"
automated:
selfHeal: true
prune: true
syncOptions:
- CreateNamespace=true

View 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"
}]
}
}'

View 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

View File

@@ -2,6 +2,7 @@ apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: plane
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
@@ -10,31 +11,112 @@ spec:
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.2.*
targetRevision: 1.*.*
helm:
values: |
planeVersion: stable
ingress:
enabled: true
ingressClass: traefik
annotations:
kubernetes.io/ingress.class: traefik
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls: "true"
appHost: "plane.innovation-hub-niedersachsen.de"
ingressClass: "traefik"
ingress_annotations:
cert-manager.io/cluster-issuer: lets-encrypt
hosts:
- "plane.innovation-hub-niedersachsen.de"
tls:
- secretName: plane-tls
hosts:
- "plane.innovation-hub-niedersachsen.de"
traefik.ingress.kubernetes.io/router.entrypoints: websecure
ssl:
tls_secret_name: plane-tls
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'
@@ -49,3 +131,5 @@ spec:
prune: true
syncOptions:
- CreateNamespace=true
- RespectIgnoreDifferences=true
- PruneLast=true

View File

@@ -1,183 +0,0 @@
planeVersion: stable
dockerRegistry:
enabled: false
host: "index.docker.io/v1/"
loginid: ""
password: ""
ingress:
enabled: true
appHost: "plane.example.com"
minioHost: ""
rabbitmqHost: ""
ingressClass: "nginx"
ingress_annotations: {"nginx.ingress.kubernetes.io/proxy-body-size": "5m"}
# SSL Configuration - Valid only if ingress.enabled is true
ssl:
tls_secret_name: "" # If you have a custom TLS secret name
# If you want to use Let's Encrypt, set createIssuer and generateCerts to true
createIssuer: false
issuer: "http" # Allowed : cloudflare, digitalocean, http
token: "" # not required for http
server: https://acme-v02.api.letsencrypt.org/directory
email: plane@example.com
generateCerts: false
redis:
local_setup: true
image: valkey/valkey:7.2.5-alpine
servicePort: 6379
storageClass: ""
volumeSize: 100Mi
pullPolicy: IfNotPresent
assign_cluster_ip: false
postgres:
local_setup: true
image: postgres:15.7-alpine
servicePort: 5432
storageClass: ""
volumeSize: 1Gi
pullPolicy: IfNotPresent
assign_cluster_ip: false
rabbitmq:
local_setup: true
image: rabbitmq:3.13.6-management-alpine
pullPolicy: IfNotPresent
servicePort: 5672
managementPort: 15672
storageClass: ""
volumeSize: 100Mi
default_user: plane
default_password: plane
external_rabbitmq_url: ''
assign_cluster_ip: false
minio:
image: minio/minio:latest
image_mc: minio/mc:latest
local_setup: true
pullPolicy: IfNotPresent
root_password: password
root_user: admin
storageClass: ""
volumeSize: 1Gi
assign_cluster_ip: false
env:
minio_endpoint_ssl: false
web:
replicas: 1
memoryLimit: 1000Mi
cpuLimit: 500m
cpuRequest: 50m
memoryRequest: 50Mi
image: artifacts.plane.so/makeplane/plane-frontend
pullPolicy: Always
assign_cluster_ip: false
space:
replicas: 1
memoryLimit: 1000Mi
cpuLimit: 500m
cpuRequest: 50m
memoryRequest: 50Mi
image: artifacts.plane.so/makeplane/plane-space
pullPolicy: Always
assign_cluster_ip: false
admin:
replicas: 1
memoryLimit: 1000Mi
cpuLimit: 500m
cpuRequest: 50m
memoryRequest: 50Mi
image: artifacts.plane.so/makeplane/plane-admin
pullPolicy: Always
assign_cluster_ip: false
live:
replicas: 1
memoryLimit: 1000Mi
cpuLimit: 500m
cpuRequest: 50m
memoryRequest: 50Mi
image: artifacts.plane.so/makeplane/plane-live
pullPolicy: Always
assign_cluster_ip: false
api:
replicas: 1
memoryLimit: 1000Mi
cpuLimit: 500m
cpuRequest: 50m
memoryRequest: 50Mi
image: artifacts.plane.so/makeplane/plane-backend
pullPolicy: Always
assign_cluster_ip: false
worker:
replicas: 1
memoryLimit: 1000Mi
cpuLimit: 500m
cpuRequest: 50m
memoryRequest: 50Mi
image: artifacts.plane.so/makeplane/plane-backend
pullPolicy: Always
beatworker:
replicas: 1
memoryLimit: 1000Mi
cpuLimit: 500m
cpuRequest: 50m
memoryRequest: 50Mi
image: artifacts.plane.so/makeplane/plane-backend
pullPolicy: Always
external_secrets:
# Name of the existing Kubernetes Secret resource; see README for more details
rabbitmq_existingSecret: ''
pgdb_existingSecret: ''
doc_store_existingSecret: ''
app_env_existingSecret: ''
live_env_existingSecret: ''
env:
# NEXT_PUBLIC_DEPLOY_URL: ""
# REDIS
remote_redis_url: "" #INCASE OF REMOTE REDIS ONLY
# POSTGRES DB VALUES
pgdb_username: plane
pgdb_password: plane
pgdb_name: plane
pgdb_remote_url: "" #INCASE OF REMOTE PG DB URL ONLY
# DATA STORE
docstore_bucket: "uploads"
doc_upload_size_limit: "5242880" # 5MB
# REQUIRED IF MINIO LOCAL SETUP IS FALSE
aws_access_key: ""
aws_secret_access_key: ""
aws_region: ""
aws_s3_endpoint_url: ""
secret_key: "60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5"
sentry_dsn: ""
sentry_environment: ""
cors_allowed_origins: ""
default_cluster_domain: cluster.local
live_sentry_dsn: ""
live_sentry_environment: ""
live_sentry_traces_sample_rate: ""
api_key_rate_limit: "60/minute"

View 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

View File

@@ -1,44 +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": "admin",
"credentials": [
{
"accessKey": "wjpKrmaqXra99rX3D61H",
"secretKey": "fTPi0u0FR6Lv9Y9IKydWv6WM0EA5XrsK008HCt9u"
}
],
"actions": [
"Admin",
"Read",
"Write"
]
},
{
"name": "openproject",
"credentials": [
{
"accessKey": "K7mNpQ2vRxL9wYtH3Zc8",
"secretKey": "jX9fK2mP5nQ8rT1vW4yZ7bN0cM3hL6gF9dS2aE5k"
}
],
"actions": [
"Admin",
"Read",
"Write"
]
}
]
}
#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"]
# }
# ]
# }

View File

@@ -1,10 +1,10 @@
apiVersion: v1
kind: Secret
metadata:
name: seaweedfs-jwt
namespace: seaweedfs
stringData:
jwt.json: |
{
"secret": "inno-super-secret-key"
}
#apiVersion: v1
#kind: Secret
#metadata:
# name: seaweedfs-jwt
# namespace: seaweedfs
#stringData:
# jwt.json: |
# {
# "secret": "inno-super-secret-key"
# }

View File

@@ -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

View 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

View File

@@ -9,22 +9,67 @@ spec:
source:
repoURL: 'https://wekan.github.io/charts/'
chart: wekan
targetRevision: 8.0.0
targetRevision: 7.97.0
helm:
values: |
replicaCount: 1
dbname: wekan
env:
- name: "MONGO_URL"
value: "mongodb://wekan-mongodb:27017"
- 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:
@@ -41,8 +86,19 @@ spec:
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
@@ -51,7 +107,6 @@ spec:
labels:
pod-security.kubernetes.io/enforce: "privileged"
automated:
selfHeal: true
prune: true
syncOptions:
- CreateNamespace=true

View 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

View File

@@ -9,7 +9,7 @@ spec:
source:
repoURL: 'registry-1.docker.io/bitnamicharts'
path: wordpress
targetRevision: 27.*.*
targetRevision: 28.*.*
chart: wordpress
helm:
parameters:

10
config/.idea/.gitignore generated vendored Normal file
View 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
View 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
View 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
View 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
View 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
View 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>

View 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

View 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/*"]
}
]
}

View 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

View 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"

View 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

View 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"]
}
]
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

View 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