228 Commits

Author SHA1 Message Date
c796aacfec Update app name 2024-06-26 01:15:57 +10:00
17dcd78a31 update container ports 2024-06-26 01:11:41 +10:00
16d9f1df34 using ClusterIP with ingress instead of NodePort 2024-06-26 00:59:06 +10:00
91a305117c add app dokuwiki 2024-06-26 00:50:00 +10:00
62b8ddb6c7 Merge pull request #316 from 3dwardch3ng/app/nexus
remove unneeded nexus ingress
2024-06-25 20:58:19 +10:00
a44781a4c7 remove unneeded nexus ingress 2024-06-25 20:57:50 +10:00
3e80270ec9 Merge pull request #315 from 3dwardch3ng/app/nexus
run docker as root user
2024-06-25 20:18:24 +10:00
d1c71b22af run docker as root user 2024-06-25 20:18:04 +10:00
26727e23cd Merge pull request #314 from 3dwardch3ng/app/nexus
update image
2024-06-25 20:01:17 +10:00
4324087ecb update image 2024-06-25 20:00:52 +10:00
1f86ec4702 Merge pull request #313 from 3dwardch3ng/app/nexus
App/nexus
2024-06-25 19:39:52 +10:00
8fc1165cc0 add app nexus 2024-06-25 19:39:32 +10:00
72be4562ec add app nexus 2024-06-25 19:39:10 +10:00
cd4269e485 Merge pull request #312 from 3dwardch3ng/infra/renovate
update gitea ingress configs
2024-06-25 19:12:07 +10:00
55856e8a15 update gitea ingress configs 2024-06-25 19:11:40 +10:00
ea6032d2fa Merge pull request #311 from 3dwardch3ng/infra/renovate
infra/renovate
2024-06-25 19:00:20 +10:00
f4eb314c46 update renovate configs 2024-06-25 18:59:26 +10:00
46515bdc6d Merge pull request #310 from 3dwardch3ng/renovate/configure
chore: Configure Renovate
2024-06-25 18:44:46 +10:00
renovate[bot]
a3d1fcd6cd chore(deps): add renovate.json 2024-06-25 08:41:20 +00:00
0f014ec66d Merge pull request #309 from 3dwardch3ng/app/gitea
update ingress service name
2024-06-25 18:29:21 +10:00
ecd37c7793 update ingress service name 2024-06-25 18:29:02 +10:00
0581b3cb40 Merge pull request #308 from 3dwardch3ng/app/gitea
update the probes for statability
2024-06-25 16:19:37 +10:00
5edfc815e0 update the probes for statability 2024-06-25 16:19:18 +10:00
d3e62ef96a Merge pull request #307 from 3dwardch3ng/app/gitea
update the updateStrategy to avoid the new deployment to be stuck as …
2024-06-25 16:03:37 +10:00
58e4fbbf56 update the updateStrategy to avoid the new deployment to be stuck as the PV is being used 2024-06-25 16:03:19 +10:00
3b5db030ee Merge pull request #306 from 3dwardch3ng/app/gitea
update the probes for statability
2024-06-25 15:58:08 +10:00
672f5b0935 update the probes for statability 2024-06-25 15:57:47 +10:00
4ead42d438 Merge pull request #305 from 3dwardch3ng/app/jellyfin
add short-videos volume for jellyfin
2024-06-25 13:53:54 +10:00
b86d63541a add short-videos volume for jellyfin 2024-06-25 13:53:34 +10:00
0b7da6761c Merge pull request #304 from 3dwardch3ng/app/jellyfin
add short-videos volume for jellyfin
2024-06-25 13:52:05 +10:00
abc995cae1 add short-videos volume for jellyfin 2024-06-25 13:51:37 +10:00
e4f1fc958d Merge pull request #303 from 3dwardch3ng/app/gitea
disable debug logs for gitea
2024-06-25 12:23:38 +10:00
a76b6cd0b9 disable debug logs for gitea 2024-06-25 12:22:53 +10:00
d5a79df839 Merge pull request #302 from 3dwardch3ng/app/gitea
enable debug logs for gitea
2024-06-25 10:43:07 +10:00
bc39b04bb4 enable debug logs for gitea 2024-06-25 10:42:43 +10:00
8059824d42 Merge pull request #301 from 3dwardch3ng/app/gitea
App/gitea
2024-06-25 10:16:55 +10:00
3bb7305ac9 fix LB ports 2024-06-25 10:16:02 +10:00
d7ce4a3ccc fix LB ports 2024-06-25 10:15:42 +10:00
63dcef953b Merge pull request #300 from 3dwardch3ng/app/gitea
app/gitea
2024-06-25 10:09:26 +10:00
d9f220ac4e fix secret namespace 2024-06-25 10:08:39 +10:00
82a9957831 Merge pull request #299 from 3dwardch3ng/app/gitea
App/gitea
2024-06-25 10:04:46 +10:00
21371c5a88 add app gitea 2024-06-25 10:03:53 +10:00
e89d22f03d Merge branch 'refs/heads/main' into app/gitea 2024-06-25 09:43:33 +10:00
77bf938120 Merge pull request #298 from 3dwardch3ng/app/sonarqube
fix sonarqube user
2024-06-25 01:02:39 +10:00
516168d3e5 fix sonarqube user 2024-06-25 01:02:18 +10:00
619fc74394 Merge pull request #297 from 3dwardch3ng/app/sonarqube
fix sonarqube namespace
2024-06-24 23:05:14 +10:00
4628a78f54 fix sonarqube namespace 2024-06-24 23:04:39 +10:00
57067590b7 Merge pull request #296 from 3dwardch3ng/app/sonarqube
delete sonarqube ingress
2024-06-24 22:06:14 +10:00
86f43d20be delete sonarqube ingress 2024-06-24 22:05:56 +10:00
ccdfee21c2 Merge pull request #295 from 3dwardch3ng/app/sonarqube
add sonarqube ingress
2024-06-24 22:04:34 +10:00
fa832ef64d add sonarqube ingress 2024-06-24 22:04:15 +10:00
9e3a5c7488 Merge pull request #294 from 3dwardch3ng/app/sonarqube
add sonarqube volume
2024-06-24 22:03:12 +10:00
69bb362d57 add sonarqube volume 2024-06-24 22:02:56 +10:00
4724380c3f Merge pull request #293 from 3dwardch3ng/app/sonarqube
fix sonarqube namespace
2024-06-24 21:56:37 +10:00
525d06a715 fix sonarqube namespace 2024-06-24 21:56:20 +10:00
df768c9031 add app gitea 2024-06-24 21:55:38 +10:00
602cabf041 Merge pull request #292 from 3dwardch3ng/misc
add local access of jellyfin onto the homer
2024-06-24 19:34:32 +10:00
9f03ea3b30 add local access of jellyfin onto the homer 2024-06-24 19:34:16 +10:00
f261b6fac4 Merge pull request #291 from 3dwardch3ng/app/sonarqube
add app sonarcube
2024-06-24 19:18:04 +10:00
bd5059863e add app sonarcube 2024-06-24 19:17:38 +10:00
1348ab51f8 Merge pull request #290 from 3dwardch3ng/app/sonarqube
fix postgres ingress issue
2024-06-24 16:08:57 +10:00
e98c99ef9c fix postgres ingress issue 2024-06-24 16:08:37 +10:00
8f6aa7bd61 Merge pull request #289 from 3dwardch3ng/app/sonarqube
fix postgres password issue
2024-06-24 16:05:29 +10:00
74f79898e2 fix postgres password issue 2024-06-24 16:05:10 +10:00
1933ed7a81 Merge pull request #288 from 3dwardch3ng/app/sonarqube
fix postgres password issue
2024-06-24 15:49:01 +10:00
5831e1956d fix postgres password issue 2024-06-24 15:48:41 +10:00
70accb15fb Merge pull request #287 from 3dwardch3ng/app/qBittorrent
fix qBittorrent volumes
2024-06-24 15:27:45 +10:00
d6ea1c47e7 fix qBittorrent volumes 2024-06-24 15:27:19 +10:00
63ca2fa1b4 Merge pull request #286 from 3dwardch3ng/app/qBittorrent
fix qBittorrent volumes
2024-06-24 15:02:29 +10:00
caa385be8d fix qBittorrent volumes 2024-06-24 15:01:58 +10:00
b05ab8766a Merge pull request #285 from 3dwardch3ng/app/qBittorrent
fix qBittorrent volumes
2024-06-24 14:53:20 +10:00
2d32ad307a fix qBittorrent volumes 2024-06-24 14:52:54 +10:00
830f49ca6a Merge pull request #284 from 3dwardch3ng/app/qBittorrent
fix qBittorrent volumes
2024-06-24 14:44:15 +10:00
bb6ada6f15 fix qBittorrent volumes 2024-06-24 14:43:38 +10:00
08ffc1aaee Merge pull request #283 from 3dwardch3ng/app/qBittorrent
fix qBittorrent volumes
2024-06-24 14:40:29 +10:00
a84b754903 fix qBittorrent volumes 2024-06-24 14:40:09 +10:00
07e3ea1e8b Merge pull request #282 from 3dwardch3ng/app/qBittorrent
fix qBittorrent volumes
2024-06-24 14:33:29 +10:00
95299a4d28 fix qBittorrent volumes 2024-06-24 14:33:06 +10:00
ff7bec1733 Merge pull request #281 from 3dwardch3ng/app/qBittorrent
fix qBittorrent volumes
2024-06-24 14:32:25 +10:00
187317ba2e fix qBittorrent volumes 2024-06-24 14:32:07 +10:00
13129c5b0e Merge pull request #280 from 3dwardch3ng/app/qBittorrent
fix qBittorrent volumes
2024-06-24 14:23:21 +10:00
9f175dd49f fix qBittorrent volumes 2024-06-24 14:22:52 +10:00
b2f3f18b4f Merge pull request #279 from 3dwardch3ng/app/qBittorrent
fix qBittorrent volumes
2024-06-24 14:18:47 +10:00
fd2a0e4748 fix qBittorrent volumes 2024-06-24 14:18:25 +10:00
48a280b4aa Merge pull request #278 from 3dwardch3ng/app/qBittorrent
fix qBittorrent volumes
2024-06-24 14:15:02 +10:00
ff57154064 fix qBittorrent volumes 2024-06-24 14:14:26 +10:00
82d7b64322 Merge pull request #277 from 3dwardch3ng/app/qBittorrent
fix qBittorrent volumes
2024-06-24 13:59:13 +10:00
516f304dbe fix qBittorrent volumes 2024-06-24 13:58:55 +10:00
99ce41c430 Merge pull request #276 from 3dwardch3ng/app/qBittorrent
fix qBittorrent volumes
2024-06-24 13:56:30 +10:00
949f11769c fix qBittorrent volumes 2024-06-24 13:56:12 +10:00
4bbb33391b Merge pull request #275 from 3dwardch3ng/app/qBittorrent
fix config volume
2024-06-24 13:44:38 +10:00
ef03aa7a25 fix config volume 2024-06-24 13:44:13 +10:00
c71b356017 Merge pull request #274 from 3dwardch3ng/app/redis
Revert "fix redis volumes"
2024-06-24 13:41:08 +10:00
70b64d0213 Revert "fix redis volumes"
This reverts commit 47cdb6893f.
2024-06-24 13:40:41 +10:00
8a63192c60 Merge pull request #273 from 3dwardch3ng/app/redis
fix redis volumes
2024-06-24 13:33:09 +10:00
47cdb6893f fix redis volumes 2024-06-24 13:31:37 +10:00
636e1a3267 Merge pull request #272 from 3dwardch3ng/app/redis
fix redis
2024-06-24 11:37:13 +10:00
c21960843a fix redis 2024-06-24 11:36:44 +10:00
1f3700887a Merge pull request #271 from 3dwardch3ng/app/redis
add app redis
2024-06-24 10:39:46 +10:00
252457cc7d add app redis 2024-06-24 10:39:26 +10:00
2697c0aea6 Merge pull request #270 from 3dwardch3ng/app/qBittorrent
fix config volume
2024-06-24 09:46:42 +10:00
a979145d9e fix config volume 2024-06-24 09:46:24 +10:00
39d344b52e Merge pull request #269 from 3dwardch3ng/app/qBittorrent
fix config volume
2024-06-24 09:42:29 +10:00
6e0f980bab fix config volume 2024-06-24 09:42:12 +10:00
9a68d82f83 Merge pull request #268 from 3dwardch3ng/app/qBittorrent
Revert "fix config volume"
2024-06-24 09:39:41 +10:00
2f8a0d1841 Revert "fix config volume"
This reverts commit 23fa5fb6d0.
2024-06-24 09:39:06 +10:00
6a75addfa8 Merge pull request #267 from 3dwardch3ng/app/qBittorrent
fix config volume
2024-06-24 09:18:10 +10:00
23fa5fb6d0 fix config volume 2024-06-24 09:17:39 +10:00
23b62970dd Merge pull request #266 from 3dwardch3ng/app/qBittorrent
fix config volume name
2024-06-22 14:13:20 +10:00
ec89adccfc fix config volume name 2024-06-22 14:13:00 +10:00
ec5a9b2cf6 Merge pull request #265 from 3dwardch3ng/app/qBittorrent
fix config volume name
2024-06-21 19:02:41 +10:00
64f268aed8 fix config volume name 2024-06-21 19:02:06 +10:00
ddb8ea9a05 Merge pull request #264 from 3dwardch3ng/app/qBittorrent
remove unneeded file
2024-06-21 17:54:56 +10:00
9d41316730 remove unneeded file 2024-06-21 17:54:33 +10:00
cf49bbb20c Merge pull request #263 from 3dwardch3ng/app/jellyfin
update jellyfin volumes
2024-06-21 15:01:16 +10:00
9cf9e1622c update jellyfin volumes 2024-06-21 15:00:53 +10:00
901da39e24 Merge pull request #262 from 3dwardch3ng/app/qBittorrent
App/q bittorrent
2024-06-21 14:57:36 +10:00
6f247e0903 Merge pull request #261 from 3dwardch3ng/app/jellyfin
update jellyfin volumes
2024-06-21 14:51:58 +10:00
c43357c7c4 update jellyfin volumes 2024-06-21 14:51:36 +10:00
c0731f893a Merge branch 'refs/heads/main' into app/qBittorrent 2024-06-21 14:48:54 +10:00
e6c2157036 Merge pull request #260 from 3dwardch3ng/app/jellyfin
App/jellyfin
2024-06-21 14:40:41 +10:00
ce1ea789c1 update jellyfin volumes 2024-06-21 14:39:46 +10:00
23615dbdf1 Revert "update jellyfin volumes"
This reverts commit 36a01ebbb7.
2024-06-21 14:37:32 +10:00
739d1fa4d7 update volumes and expose port 8388 2024-06-21 14:33:39 +10:00
5b887c5ea3 Merge pull request #259 from 3dwardch3ng/app/qBittorrent
add app qBittorrent
2024-06-21 14:15:35 +10:00
ae8680ce63 add app qBittorrent 2024-06-21 14:12:23 +10:00
81e8425379 Merge pull request #258 from 3dwardch3ng/app/kavita
fix kavita
2024-06-21 11:11:26 +10:00
c8e97f5619 fix kavita 2024-06-21 11:11:00 +10:00
1e5a359aab Merge pull request #257 from 3dwardch3ng/app/kavita
fix kavita
2024-06-21 10:44:42 +10:00
8bf021c6c3 fix kavita 2024-06-21 10:44:11 +10:00
3b50141790 Merge pull request #256 from 3dwardch3ng/app/kavita
fix kavita
2024-06-21 10:37:17 +10:00
5f46937a4e fix kavita 2024-06-21 10:36:45 +10:00
4c8a194452 Merge pull request #255 from 3dwardch3ng/app/kavita
fix kavita
2024-06-20 17:18:14 +10:00
044ea968c0 fix kavita 2024-06-20 17:17:56 +10:00
7be1fbc1f8 Merge pull request #254 from 3dwardch3ng/app/cert-manager
disable certificate issuing
2024-06-20 17:10:55 +10:00
57b8332da2 disable certificate issuing 2024-06-20 17:10:30 +10:00
fc81537d18 Merge pull request #253 from 3dwardch3ng/app/cert-manager
fix certificate issue
2024-06-20 16:59:10 +10:00
6efb893187 fix certificate issue 2024-06-20 16:58:31 +10:00
6c6520f3bc Merge pull request #252 from 3dwardch3ng/app/cert-manager
fix certificate issue
2024-06-20 16:30:40 +10:00
9adb0154f1 fix certificate issue 2024-06-20 16:30:02 +10:00
c23a5b2683 Merge pull request #251 from 3dwardch3ng/app/cert-manager
adguard-home certificate
2024-06-20 16:25:23 +10:00
16a268c9e7 adguard-home certificate 2024-06-20 16:25:04 +10:00
56e18266e4 Merge pull request #250 from 3dwardch3ng/app/kavita
fix replica
2024-06-20 12:30:03 +10:00
e3f2fc19d7 fix replica 2024-06-20 12:29:10 +10:00
42abc7daca Merge pull request #249 from 3dwardch3ng/app/adguard-home
Revert "Revert "add fix mount drive""
2024-06-20 12:18:29 +10:00
39879df061 Revert "Revert "add fix mount drive""
This reverts commit eb6e9924ab.
2024-06-20 12:18:05 +10:00
2db32f6db7 Merge pull request #248 from 3dwardch3ng/app/adguard-home
Revert "add fix mount drive"
2024-06-20 12:11:21 +10:00
eb6e9924ab Revert "add fix mount drive"
This reverts commit 1bcba7a4d8.
2024-06-20 12:10:59 +10:00
ec1999fb7d Merge pull request #247 from 3dwardch3ng/app/adguard-home
add fix mount drive
2024-06-20 12:08:01 +10:00
1bcba7a4d8 add fix mount drive 2024-06-20 12:07:08 +10:00
84b7bda9d4 Merge pull request #246 from 3dwardch3ng/app/adguard-home
add ingress entry for adguard-home
2024-06-20 11:55:23 +10:00
3cf2f4b087 add ingress entry for adguard-home 2024-06-20 11:54:19 +10:00
c2ca39fb76 Merge pull request #245 from 3dwardch3ng/app/kavita
add app kavita
2024-06-20 11:24:49 +10:00
6fc79b2526 add app kavita 2024-06-20 11:24:07 +10:00
ca8e52a54d Merge pull request #244 from 3dwardch3ng/app/jellyfin
update jellyfin volumes
2024-06-19 16:42:14 +10:00
36a01ebbb7 update jellyfin volumes 2024-06-19 16:41:54 +10:00
de8d5d5b58 Merge pull request #243 from 3dwardch3ng/app/jellyfin
update jellyfin volumes
2024-06-19 16:38:48 +10:00
4c8be01ecf update jellyfin volumes 2024-06-19 16:38:29 +10:00
892af5ca7d Merge pull request #242 from 3dwardch3ng/app/jellyfin
update jellyfin volumes
2024-06-19 16:30:29 +10:00
9cbb18c4f4 update jellyfin volumes 2024-06-19 16:30:01 +10:00
a226e9b982 Merge pull request #241 from 3dwardch3ng/app/jellyfin
add app jellyfin
2024-06-19 16:12:26 +10:00
8fd546728d add app jellyfin 2024-06-19 16:12:07 +10:00
205bbbaac9 Merge pull request #240 from 3dwardch3ng/app/jellyfin
add app jellyfin
2024-06-19 16:11:19 +10:00
ae9dddfdf5 add app jellyfin 2024-06-19 16:10:55 +10:00
b44527ac20 Merge pull request #239 from 3dwardch3ng/app/jellyfin
update namespaces
2024-06-19 15:37:01 +10:00
4538d1ed64 update namespaces 2024-06-19 15:36:37 +10:00
3345136e4b Merge pull request #238 from 3dwardch3ng/app/jellyfin
App/jellyfin
2024-06-19 15:34:10 +10:00
4502e596d1 add jellyfin namespace 2024-06-19 15:33:52 +10:00
0e5520c36a remove unneeded scripts 2024-06-19 15:30:17 +10:00
5df774a1d1 Merge pull request #237 from 3dwardch3ng/app/snippet-box
add app snippet-box
2024-06-19 12:56:50 +10:00
0d11c779fa add app snippet-box 2024-06-19 12:56:23 +10:00
74ba1b4204 Merge pull request #236 from 3dwardch3ng/app/snippet-box
add app snippet-box
2024-06-19 12:47:06 +10:00
456384df7d add app snippet-box 2024-06-19 12:46:21 +10:00
ea4f919568 Merge pull request #235 from 3dwardch3ng/app/uptime-kuma
add uptime-kuma app to ks
2024-06-19 11:45:31 +10:00
a42bf41dea add uptime-kuma app to ks 2024-06-19 11:45:14 +10:00
2fed17a433 Merge pull request #234 from 3dwardch3ng/app/uptime-kuma
update repo for uptime-kuma
2024-06-19 11:41:55 +10:00
90e580b1b5 update repo for uptime-kuma 2024-06-19 11:41:24 +10:00
e8892b14e9 Merge pull request #233 from 3dwardch3ng/app/uptime-kuma
update repo for uptime-kuma
2024-06-19 11:25:01 +10:00
a62f61606a update repo for uptime-kuma 2024-06-19 11:24:32 +10:00
c2da7d5d73 Merge pull request #232 from 3dwardch3ng/app/uptime-kuma
added app uptime-kuma
2024-06-19 11:21:35 +10:00
11e12e8556 added app uptime-kuma 2024-06-19 11:19:06 +10:00
a3ecd961d3 Merge pull request #231 from 3dwardch3ng/code-server
fix pvc
2024-06-19 10:20:39 +10:00
335cbe38e0 fix pvc 2024-06-19 10:20:16 +10:00
34d1b3a594 Merge pull request #230 from 3dwardch3ng/code-server
fix pvc
2024-06-19 10:11:20 +10:00
f0f8890dc9 fix pvc 2024-06-19 10:09:17 +10:00
ffafa40208 Merge pull request #229 from 3dwardch3ng/code-server
fix pvc
2024-06-19 09:31:30 +10:00
2218588ecf fix pvc 2024-06-19 09:31:05 +10:00
1a9b0d2686 Merge pull request #228 from 3dwardch3ng/code-server
add app code-server
2024-06-19 09:25:49 +10:00
72241ab088 add app code-server 2024-06-19 09:25:27 +10:00
49d1ac23d4 Merge pull request #227 from 3dwardch3ng/code-server
add namespace for code-server
2024-06-19 08:41:11 +10:00
da678cf970 add namespace for code-server 2024-06-19 08:40:53 +10:00
3da466beab Merge pull request #226 from 3dwardch3ng/code-server
add namespace for code-server
2024-06-19 08:38:54 +10:00
669848c3d5 add namespace for code-server 2024-06-19 08:38:36 +10:00
8dc7ccc43c Merge pull request #225 from 3dwardch3ng/misc
update ingress for cluster
2024-06-19 08:22:22 +10:00
7f4796431b update ingress for cluster 2024-06-19 08:22:01 +10:00
197cccc536 Merge pull request #224 from 3dwardch3ng/app/postgresql
update ingress for postgresql replica
2024-06-19 08:02:20 +10:00
133fe712e4 update ingress for postgresql replica 2024-06-19 08:01:52 +10:00
6371ac1d74 Merge pull request #223 from 3dwardch3ng/app/postgresql
fix ks of postgresql
2024-06-19 02:33:56 +10:00
5a97e286f7 fix ks of postgresql 2024-06-19 02:33:37 +10:00
cb477c00c1 Merge pull request #222 from 3dwardch3ng/app/postgresql
fix values
2024-06-19 02:27:08 +10:00
344ab797ad fix values 2024-06-19 02:26:50 +10:00
4862b5f745 Merge pull request #221 from 3dwardch3ng/app/postgresql
fix pvc
2024-06-19 02:18:57 +10:00
f1b4e1afc2 fix pvc 2024-06-19 02:18:14 +10:00
2f5901d383 Merge pull request #220 from 3dwardch3ng/app/postgresql
fix pvc and fix values
2024-06-19 02:13:52 +10:00
9b9cf55f5b fix pvc and fix values 2024-06-19 02:13:25 +10:00
7b1e5da19e Merge pull request #219 from 3dwardch3ng/app/postgresql
update ingress-nginx to expose port 5432 for postgresql
2024-06-19 01:34:28 +10:00
80b6796a41 update ingress-nginx to expose port 5432 for postgresql 2024-06-19 01:34:08 +10:00
9576468fe6 Merge pull request #218 from 3dwardch3ng/app/postgresql
update bitnami postgresql repo
2024-06-19 01:21:06 +10:00
474834ea2d update bitnami postgresql repo 2024-06-19 01:20:35 +10:00
89191478ac Merge pull request #217 from 3dwardch3ng/app/postgresql
update bitnami postgresql repo
2024-06-18 14:12:22 +10:00
a11198b94c update bitnami postgresql repo 2024-06-18 14:11:50 +10:00
1da7d9ca85 Merge pull request #216 from 3dwardch3ng/app/postgresql
update bitnami postgresql repo
2024-06-18 14:08:33 +10:00
30777bdd84 update bitnami postgresql repo 2024-06-18 14:08:03 +10:00
1b26e7224a Merge pull request #215 from 3dwardch3ng/app/postgresql
update bitnami repo
2024-06-18 13:38:46 +10:00
01d537630e update bitnami repo 2024-06-18 13:38:26 +10:00
dd4559b416 Merge pull request #214 from 3dwardch3ng/app/postgresql
App/postgresql
2024-06-18 13:34:34 +10:00
2607278cd3 update bitnami repo 2024-06-18 13:34:14 +10:00
f18a213af9 update bitnami repo 2024-06-18 13:33:34 +10:00
1e7212e113 Merge pull request #213 from 3dwardch3ng/app/postgresql
add app postgresql
2024-06-18 13:19:16 +10:00
663eabb929 add app postgresql 2024-06-18 13:18:56 +10:00
97377ca90c Merge pull request #212 from 3dwardch3ng/app/postgresql
add namespace postgresql
2024-06-18 13:16:22 +10:00
47ba9252a1 add namespace postgresql 2024-06-18 13:16:04 +10:00
3ba148bf40 Merge pull request #211 from 3dwardch3ng/app/postgresql
add namespace postgresql
2024-06-18 13:11:10 +10:00
a1e598d182 add namespace postgresql 2024-06-18 13:10:51 +10:00
87af7826d4 Merge pull request #210 from 3dwardch3ng/weave-gitops
fix weave-gitops app
2024-06-18 11:24:46 +10:00
db7620ab8e Merge pull request #209 from 3dwardch3ng/weave-gitops
fix weave-gitops app
2024-06-18 11:22:26 +10:00
9758633c9e Merge pull request #208 from 3dwardch3ng/weave-gitops
fix weave-gitops app
2024-06-18 11:17:17 +10:00
cbb451f4a5 Merge pull request #207 from 3dwardch3ng/weave-gitops
Add Weave GitOps Dashboard
2024-06-18 11:12:04 +10:00
86 changed files with 2092 additions and 36 deletions

View File

@@ -69,12 +69,12 @@ spec:
name: http-pprof name: http-pprof
env: env:
- name: TZ - name: TZ
value: America/New_York value: Australia/Sydney
volumeMounts: volumeMounts:
- name: adguard-home-data - name: adguard-home-data
mountPath: /opt/adguardhome/work mountPath: /opt/adguardhome/work
- name: adguard-home-config - name: adguard-home-config
mountPath: /opt/adguardhome/config mountPath: /opt/adguardhome/conf
volumes: volumes:
- name: adguard-home-data - name: adguard-home-data
hostPath: hostPath:

View File

@@ -9,7 +9,7 @@ metadata:
spec: spec:
ingressClassName: nginx ingressClassName: nginx
rules: rules:
- host: "adguard-home.edward.sydney" - host: "adguard-home.cluster.edward.sydney"
http: http:
paths: paths:
- pathType: Prefix - pathType: Prefix
@@ -29,6 +29,16 @@ spec:
name: adguard-home name: adguard-home
port: port:
number: 10080 number: 10080
- host: "setup.adguard-home.cluster.edward.sydney"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: adguard-home
port:
number: 13000
- host: "setup.adguard-home.cluster.local" - host: "setup.adguard-home.cluster.local"
http: http:
paths: paths:
@@ -39,3 +49,13 @@ spec:
name: adguard-home name: adguard-home
port: port:
number: 13000 number: 13000
- host: "doh.adguard-home.cluster.edward.sydney"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: adguard-home
port:
number: 443

View File

@@ -9,7 +9,7 @@ metadata:
spec: spec:
ingressClassName: nginx ingressClassName: nginx
rules: rules:
- host: "capacitor.edward.sydney" - host: "capacitor.cluster.edward.sydney"
http: http:
paths: paths:
- pathType: Prefix - pathType: Prefix

View File

@@ -63,4 +63,56 @@ spec:
postBuild: postBuild:
substituteFrom: substituteFrom:
- kind: Secret - kind: Secret
name: clusterissuer-secrets name: clusterissuer-secrets
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: certificate-secrets
namespace: cert-manager
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
targetNamespace: cert-manager
path: ./certificates
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: home-cluster-ops-secrets
dependsOn:
- name: repositories
namespace: flux-system
decryption:
provider: sops
secretRef:
name: cert-manager-sops-age
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: certificates
namespace: cert-manager
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
targetNamespace: cert-manager
path: ./kubernetes/apps/cert-manager/certificates
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: flux-system
dependsOn:
- name: certificate-secrets
namespace: cert-manager
- name: cert-manager
namespace: cert-manager
- name: clusterissuer
namespace: cert-manager
postBuild:
substituteFrom:
- kind: Secret
name: certificate-secrets

View File

@@ -0,0 +1,64 @@
#apiVersion: cert-manager.io/v1
#kind: Certificate
#metadata:
# name: adguard-home-cert
# namespace: cert-manager
#spec:
# # Secret names are always required.
# secretName: adguard-home.cluster.edward.sydney-tls
#
# privateKey:
# algorithm: RSA
# encoding: PKCS1
# size: 2048
#
# # keystores allows adding additional output formats. This is an example for reference only.
# keystores:
# pkcs12:
# create: true
# passwordSecretRef:
# name: adguard-home-tls-keystore
# key: ${adguard_home_certificate_tls_keystore_password}
# profile: Modern2023
#
# duration: 2160h # 90d
# renewBefore: 360h # 15d
#
# isCA: false
# usages:
# - server auth
# - client auth
#
# subject:
# organizations:
# - edward.sydney
#
# # The literalSubject field is exclusive with subject and commonName. It allows
# # specifying the subject directly as a string. This is useful for when the order
# # of the subject fields is important or when the subject contains special types
# # which can be specified by their OID.
# #
# # literalSubject: "O=jetstack, CN=example.com, 2.5.4.42=John, 2.5.4.4=Doe"
#
# # At least one of commonName (possibly through literalSubject), dnsNames, uris, emailAddresses, ipAddresses or otherNames is required.
# dnsNames:
# - "${adguard_home_certificate_dns_name}"
# - "*.${adguard_home_certificate_dns_name}"
# emailAddresses:
# - ${adguard_home_certificate_email}
#
# # Issuer references are always required.
# issuerRef:
# name: clusterissuer
# # We can reference ClusterIssuers by changing the kind here.
# # The default value is Issuer (i.e. a locally namespaced Issuer)
# kind: ClusterIssuer
# # This is optional since cert-manager will default to this value however
# # if you are using an external issuer, change this to that issuer group.
# group: cert-manager.io
#The certificate request has failed to complete and will be retried:
# Failed to wait for order resource "adguard-home-cert-1-1931876784" to become
# ready: order is in "errored" state: Failed to create Order: 429 urn:ietf:params:acme:error:rateLimited:
# Error creating new order :: too many certificates already issued for "edward.sydney".
# Retry after 2024-06-25T21:00:00Z: see https://letsencrypt.org/docs/rate-limits/

View File

@@ -0,0 +1,21 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: code-server-ingress
namespace: code-server
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
ingressClassName: nginx
rules:
- host: "code-server.cluster.edward.sydney"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: code-server
port:
number: 8443

View File

@@ -0,0 +1,46 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: code-server-pv
namespace: code-server
labels:
type: local
spec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 8Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
local:
path: "/mnt/nfs/AppData/code-server"
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: code-server-pvc
namespace: code-server
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: code-server-pvc
namespace: code-server
labels:
name: code-server-pvc
spec:
storageClassName: local-path
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 8Gi

View File

@@ -0,0 +1,31 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: code-server
namespace: code-server
spec:
releaseName: code-server
targetNamespace: code-server
chart:
spec:
chart: code-server
sourceRef:
kind: HelmRepository
name: nicholaswilde
namespace: flux-system
interval: 1h
install:
remediation:
retries: 3
values:
secret:
PASSWORD: ${password}
SUDO_PASSWORD: ${sudo_password}
env:
TZ: "Australia/Sydney"
persistence:
config:
enabled: true
existingClaim: code-server-pvc

View File

@@ -0,0 +1,47 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: code-server-secrets
namespace: code-server
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
targetNamespace: code-server
path: ./code-server
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: home-cluster-ops-secrets
dependsOn:
- name: repositories
namespace: flux-system
decryption:
provider: sops
secretRef:
name: code-server-sops-age
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: code-server
namespace: code-server
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
targetNamespace: code-server
path: ./kubernetes/apps/code-server/app
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: flux-system
dependsOn:
- name: code-server-secrets
namespace: code-server
postBuild:
substituteFrom:
- kind: Secret
name: code-server-secrets

View File

@@ -0,0 +1,31 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: dokuwiki-ingress
namespace: dokuwiki
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
ingressClassName: nginx
rules:
- host: "dokuwiki.cluster.local"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: dokuwiki-dokuwiki
port:
number: 18000
- host: "dokuwiki.cluster.edward.sydney"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: dokuwiki-dokuwiki
port:
number: 18000

View File

@@ -0,0 +1,34 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: dokuwiki
namespace: dokuwiki
spec:
targetNamespace: dokuwiki
chart:
spec:
chart: dokuwiki
sourceRef:
kind: HelmRepository
name: bitnami
namespace: flux-system
interval: 1h
install:
remediation:
retries: 3
values:
dokuwikiUsername: ${username}
dokuwikiPassword: ${password}
dokuwikiEmail: ${email}
dokuwikiFullName: "Edward Cheng"
dokuwikiWikiName: My Doku Wiki
containerPorts:
http: 18000
https: 18443
persistence:
existingClaim: "dokuwiki-pvc"
service:
type: ClusterIP
ports:
http: 18000
https: 18443

View File

@@ -0,0 +1,46 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: dokuwiki-pv
namespace: dokuwiki
labels:
type: local
spec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 12Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
local:
path: "/mnt/nfs/AppData/dokuwiki"
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: dokuwiki-pvc
namespace: dokuwiki
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: dokuwiki-pvc
namespace: dokuwiki
labels:
name: dokuwiki-pvc
spec:
storageClassName: local-path
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 12Gi

View File

@@ -0,0 +1,46 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: dokuwiki-secrets
namespace: dokuwiki
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
targetNamespace: dokuwiki
path: ./dokuwiki
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: home-cluster-ops-secrets
dependsOn:
- name: repositories
namespace: flux-system
decryption:
provider: sops
secretRef:
name: dokuwiki-sops-age
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: dokuwiki
namespace: dokuwiki
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
path: ./kubernetes/apps/dokuwiki/app
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: flux-system
dependsOn:
- name: dokuwiki-secrets
namespace: dokuwiki
postBuild:
substituteFrom:
- kind: Secret
name: dokuwiki-secrets

View File

@@ -0,0 +1,32 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: gitea-ingress
namespace: gitea
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/proxy-body-size: "50m"
spec:
ingressClassName: nginx
rules:
- host: "gitea.cluster.local"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: gitea-gitea
port:
number: 10080
- host: "gitea.cluster.edward.sydney"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: gitea-gitea
port:
number: 10080

View File

@@ -0,0 +1,56 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: gitea
namespace: gitea
spec:
targetNamespace: gitea
chart:
spec:
chart: gitea
sourceRef:
kind: HelmRepository
name: bitnami
namespace: flux-system
interval: 1h
install:
remediation:
retries: 3
values:
image:
debug: true
updateStrategy:
type: Recreate
livenessProbe:
enabled: true
initialDelaySeconds: 600
periodSeconds: 60
timeoutSeconds: 30
failureThreshold: 5
successThreshold: 1
readinessProbe:
enabled: true
path: /
initialDelaySeconds: 30
periodSeconds: 60
timeoutSeconds: 30
failureThreshold: 5
successThreshold: 1
adminUsername: ${admin_username}
adminPassword: ${admin_password}
adminEmail: ${admin_email}
appName: app_name
persistence:
existingClaim: gitea-pvc
service:
ports:
http: 10080
ssh: 10022
postgresql:
enabled: false
externalDatabase:
host: ${db_host}
port: ${db_port}
user: ${db_user}
database: ${db_name}
password: ${db_password}

View File

@@ -0,0 +1,46 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: gitea-pv
namespace: gitea
labels:
type: local
spec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 32Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
local:
path: "/mnt/nfs/AppData/gitea"
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: gitea-pvc
namespace: gitea
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: gitea-pvc
namespace: gitea
labels:
name: gitea-pvc
spec:
storageClassName: local-path
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 32Gi

View File

@@ -0,0 +1,47 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: gitea-secrets
namespace: gitea
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
targetNamespace: gitea
path: ./gitea
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: home-cluster-ops-secrets
dependsOn:
- name: repositories
namespace: flux-system
decryption:
provider: sops
secretRef:
name: gitea-sops-age
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: gitea
namespace: gitea
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
path: ./kubernetes/apps/gitea/app
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: flux-system
dependsOn:
- name: gitea-secrets
namespace: gitea
postBuild:
substituteFrom:
- kind: Secret
name: gitea-secrets

View File

@@ -0,0 +1,31 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: jellyfin-ingress
namespace: jellyfin
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
ingressClassName: nginx
rules:
- host: "jellyfin.cluster.local"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: jellyfin
port:
number: 8096
- host: "jellyfin.cluster.edward.sydney"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: jellyfin
port:
number: 8096

View File

@@ -0,0 +1,51 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: jellyfin-config
namespace: jellyfin
labels:
type: local
spec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 250Mi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
local:
path: "/mnt/nfs/AppData/jellyfin/config"
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: jellyfin-data
namespace: jellyfin
labels:
type: local
spec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 2Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
local:
path: "/mnt/nfs/AppData/jellyfin/data"
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3

View File

@@ -0,0 +1,167 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: jellyfin
namespace: jellyfin
spec:
releaseName: jellyfin
targetNamespace: jellyfin
chart:
spec:
chart: jellyfin
sourceRef:
kind: HelmRepository
name: beluga-cloud
namespace: flux-system
interval: 1h
install:
remediation:
retries: 3
values:
persistence:
config:
enabled: true
volumeClaimSpec:
accessModes:
- ReadWriteOnce
volumeName: jellyfin-config
data:
enabled: true
volumeClaimSpec:
accessModes:
- ReadWriteOnce
volumeName: jellyfin-data
jellyfin:
mediaVolumes:
- name: movies
readOnly: false
volumeSpec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 8Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: jellyfin-mediavol-movies
namespace: jellyfin
hostPath:
path: "/mnt/nfs/AppData/jellyfin/media/movies"
type: "Directory"
- name: series
readOnly: false
volumeSpec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 8Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: jellyfin-mediavol-series
namespace: jellyfin
hostPath:
path: "/mnt/nfs/AppData/jellyfin/media/series"
type: "Directory"
- name: music-videos
readOnly: false
volumeSpec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 8Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: jellyfin-mediavol-music-videos
namespace: jellyfin
hostPath:
path: "/mnt/nfs/AppData/jellyfin/media/music-videos"
type: "Directory"
- name: short-videos
readOnly: false
volumeSpec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 8Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: jellyfin-mediavol-short-videos
namespace: jellyfin
hostPath:
path: "/mnt/nfs/AppData/jellyfin/media/short-videos"
type: "Directory"
- name: gv
readOnly: false
volumeSpec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 8Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: jellyfin-mediavol-gv
namespace: jellyfin
hostPath:
path: "/mnt/nfs/AppData/jellyfin/media/gv"
type: "Directory"
persistentTranscodes: true

View File

@@ -0,0 +1,16 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: jellyfin
namespace: jellyfin
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
path: ./kubernetes/apps/jellyfin/app
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: flux-system

View File

@@ -0,0 +1,58 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: kavita
namespace: kavita
labels:
app.kubernetes.io/name: kavita
app.kubernetes.io/instance: kavita
annotations:
kubectl.kubernetes.io/default-container: kavita
spec:
selector:
matchLabels:
app.kubernetes.io/name: kavita
app.kubernetes.io/instance: kavita
template:
metadata:
labels:
app.kubernetes.io/name: kavita
app.kubernetes.io/instance: kavita
spec:
containers:
- image: jvmilazz0/kavita:latest
imagePullPolicy: IfNotPresent
name: kavita
ports:
- containerPort: 5000
name: http
protocol: TCP
env:
- name: TZ
value: Australia/Sydney
volumeMounts:
- name: kavita-config
mountPath: /kavita/config
- name: kavita-manga
mountPath: /manga
- name: kavita-book
mountPath: /book
- name: kavita-doc
mountPath: /doc
volumes:
- name: kavita-config
hostPath:
path: /mnt/nfs/AppData/kavita/config
type: Directory
- name: kavita-manga
hostPath:
path: /mnt/nfs/AppData/kavita/manga
type: Directory
- name: kavita-book
hostPath:
path: /mnt/nfs/AppData/kavita/book
type: Directory
- name: kavita-doc
hostPath:
path: /mnt/nfs/AppData/kavita/doc
type: Directory

View File

@@ -0,0 +1,21 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: kavita-ingress
namespace: kavita
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
ingressClassName: nginx
rules:
- host: "kavita.cluster.edward.sydney"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: kavita
port:
number: 5000

View File

@@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
name: kavita
namespace: kavita
labels:
app.kubernetes.io/name: kavita
app.kubernetes.io/instance: kavita
spec:
type: ClusterIP
ports:
- port: 5000
targetPort: 5000
protocol: TCP
name: http
selector:
app.kubernetes.io/name: kavita
app.kubernetes.io/instance: kavita

View File

@@ -0,0 +1,16 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: kavita
namespace: kavita
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
path: ./kubernetes/apps/kavita/app
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: flux-system

View File

@@ -4,6 +4,18 @@ resources:
- ./adguard-home/adguard-home.yaml - ./adguard-home/adguard-home.yaml
- ./capacitor/capacitor.yaml - ./capacitor/capacitor.yaml
- ./cert-manager/cert-manager.yaml - ./cert-manager/cert-manager.yaml
- ./code-server/code-server.yaml
- ./dokuwiki/dokuwiki.yaml
- ./gitea/gitea.yaml
- ./homer/homer.yaml - ./homer/homer.yaml
- ./jellyfin/jellyfin.yaml
- ./kavita/kavita.yaml
- ./nexus/nexus.yaml
- ./podinfo/podinfo.yaml - ./podinfo/podinfo.yaml
- ./postgresql/postgresql.yaml
- ./qbittorrent/qbittorrent.yaml
- ./redis/redis.yaml
- ./snippet-box/snippet-box.yaml
- ./sonarqube/sonarqube.yaml
- ./uptime-kuma/uptime-kuma.yaml
- ./weave-gitops/weave-gitops.yaml - ./weave-gitops/weave-gitops.yaml

View File

@@ -0,0 +1,38 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: nexus
namespace: nexus
spec:
replicas: 1
selector:
matchLabels:
app: nexus
template:
metadata:
labels:
app: nexus
spec:
securityContext:
runAsUser: 0
runAsGroup: 0
containers:
- name: nexus
image: klo2k/nexus3:3.68.1-02
resources:
limits:
memory: "3Gi"
cpu: "500m"
requests:
memory: "2Gi"
cpu: "500m"
ports:
- containerPort: 8081
volumeMounts:
- name: nexus-data
mountPath: /nexus-data
volumes:
- name: nexus-data
hostPath:
path: /mnt/nfs/AppData/nexus
type: Directory

View File

@@ -0,0 +1,17 @@
apiVersion: v1
kind: Service
metadata:
name: nexus
namespace: nexus
annotations:
prometheus.io/scrape: 'true'
prometheus.io/path: /
prometheus.io/port: '8081'
spec:
selector:
app: nexus
type: NodePort
ports:
- port: 8081
targetPort: 8081
nodePort: 32000

View File

@@ -0,0 +1,15 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: nexus
namespace: nexus
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
path: ./kubernetes/apps/nexus/app
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: flux-system

View File

@@ -0,0 +1,31 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: postgresql-ingress
namespace: postgresql
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
ingressClassName: nginx
rules:
- host: "postgres.cluster.local"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: postgresql-primary
port:
number: 5432
- host: "replica.postgres.cluster.local"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: postgresql-replica
port:
number: 5432

View File

@@ -0,0 +1,93 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: postgresql-primary-pv
namespace: postgresql
labels:
type: local
spec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 8Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
local:
path: "/mnt/nfs/AppData/postgresql/primary"
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: postgresql-primary-pvc
namespace: postgresql
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgresql-primary-pvc
namespace: postgresql
labels:
name: postgresql-primary-pvc
spec:
storageClassName: local-path
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 8Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: postgresql-replica-pv
namespace: flux-system
labels:
type: local
spec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 8Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
local:
path: "/mnt/nfs/AppData/postgresql/replica"
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: postgresql-replica-pvc
namespace: postgresql
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgresql-replica-pvc
namespace: postgresql
labels:
name: postgresql-replica-pvc
spec:
storageClassName: local-path
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 8Gi

View File

@@ -0,0 +1,57 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: postgresql
namespace: postgresql
spec:
releaseName: postgresql
chart:
spec:
chart: postgresql
sourceRef:
kind: HelmRepository
name: bitnami
namespace: flux-system
interval: 1h
install:
remediation:
retries: 3
values:
auth:
postgresPassword: ${postgres_password}
username: ${username}
password: ${password}
database: ${database}
replicationPassword: ${replication_password}
architecture: "replication"
replication:
synchronousCommit: "on"
numSynchronousReplicas: 1
applicationName: "postgres_repl"
primary:
podSecurityContext:
fsGroup: 1000
containerSecurityContext:
runAsUser: 1000
runAsGroup: 1000
podLabels:
name: "postgresql-primary"
persistence:
existingClaim: postgresql-primary-pvc
selector:
matchLabels:
name: postgresql-primary-pvc
readReplicas:
name: "replica"
podSecurityContext:
fsGroup: 1000
containerSecurityContext:
runAsUser: 1000
runAsGroup: 1000
podLabels:
name: "postgresql-replica"
persistence:
existingClaim: postgresql-replica-pvc
selector:
matchLabels:
name: postgresql-replica-pvc

View File

@@ -0,0 +1,47 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: postgresql-secrets
namespace: postgresql
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
targetNamespace: postgresql
path: ./postgresql
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: home-cluster-ops-secrets
dependsOn:
- name: repositories
namespace: flux-system
decryption:
provider: sops
secretRef:
name: postgresql-sops-age
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: postgresql
namespace: postgresql
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
path: ./kubernetes/apps/postgresql/app
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: flux-system
dependsOn:
- name: postgresql-secrets
namespace: postgresql
postBuild:
substituteFrom:
- kind: Secret
name: postgresql-secrets

View File

@@ -0,0 +1,10 @@
spec:
ports:
- name: postgresql-tcp
port: 5432
targetPort: 5432
protocol: TCP
- name: postgresql-repl--tcp
port: 5433
targetPort: 5433
protocol: TCP

View File

@@ -0,0 +1,4 @@
#!/bin/bash
set -e
kubectl patch service ingress-nginx-controller -n ingress-nginx --patch "$(cat ingress-nginx-svc-controller-patch.yaml)"

View File

@@ -0,0 +1,21 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: qbittorrent-ingress
namespace: qbittorrent
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
ingressClassName: nginx
rules:
- host: "qbittorrent.cluster.edward.sydney"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: qbittorrent
port:
number: 8888

View File

@@ -0,0 +1,30 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: qbittorrent
namespace: qbittorrent
spec:
targetNamespace: qbittorrent
chart:
spec:
chart: qbittorrent
sourceRef:
kind: HelmRepository
name: adminafk
namespace: flux-system
interval: 1h
install:
remediation:
retries: 3
values:
service:
web:
port: 8888
torrent:
port: 8388
config:
persistence:
name: "qbittorrent-config-pvc"
volumeMounts:
- name: qbittorrent-download-pvc
mountPath: /download

View File

@@ -0,0 +1,93 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: qbittorrent-config
namespace: qbittorrent
labels:
type: local
spec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
local:
path: "/mnt/nfs/AppData/qbittorrent/config"
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: qbittorrent-config-pvc
namespace: qbittorrent
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3
---
#apiVersion: v1
#kind: PersistentVolumeClaim
#metadata:
# name: qbittorrent-config-pvc
# namespace: qbittorrent
# labels:
# name: qbittorrent-config-pvc
#spec:
# storageClassName: local-path
# volumeMode: Filesystem
# accessModes:
# - ReadWriteOnce
# resources:
# requests:
# storage: 5Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: qbittorrent-download
namespace: qbittorrent
labels:
type: local
spec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
local:
path: "/mnt/nfs/AppData/qbittorrent/download"
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: qbittorrent-download-pvc
namespace: qbittorrent
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: qbittorrent-download-pvc
namespace: qbittorrent
labels:
name: qbittorrent-download-pvc
spec:
storageClassName: local-path
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 64Gi

View File

@@ -0,0 +1,16 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: qbittorrent
namespace: qbittorrent
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
path: ./kubernetes/apps/qbittorrent/app
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: flux-system

View File

@@ -0,0 +1,10 @@
spec:
ports:
- name: torrent-tcp
port: 8388
targetPort: 8388
protocol: TCP
- name: torrent-udp
port: 8388
targetPort: 8388
protocol: UDP

View File

@@ -0,0 +1,4 @@
#!/bin/bash
set -e
kubectl patch service ingress-nginx-controller -n ingress-nginx --patch "$(cat kubernetes/apps/qbittorrent/scripts/ingress-nginx-svc-controller-patch.yaml)"

View File

@@ -0,0 +1,38 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: redis
namespace: redis
spec:
releaseName: redis
chart:
spec:
chart: redis
sourceRef:
kind: HelmRepository
name: bitnami
namespace: flux-system
interval: 1h
install:
remediation:
retries: 3
values:
auth:
password: ${password}
master:
persistence:
existingClaim: redis-master-pvc
selector:
matchLabels:
name: redis-master-pvc
persistentVolumeClaimRetentionPolicy:
enabled: true
replica:
replicaCount: 1
persistence:
existingClaim: redis-replica-pvc
selector:
matchLabels:
name: redis-replica-pvc
persistentVolumeClaimRetentionPolicy:
enabled: true

View File

@@ -0,0 +1,31 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: redis-master-pvc
namespace: redis
labels:
name: redis-master-pvc
spec:
storageClassName: local-path
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 8Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: redis-replica-pvc
namespace: redis
labels:
name: redis-replica-pvc
spec:
storageClassName: local-path
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 8Gi

View File

@@ -0,0 +1,46 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: redis-secrets
namespace: redis
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
targetNamespace: redis
path: ./redis
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: home-cluster-ops-secrets
dependsOn:
- name: repositories
namespace: flux-system
decryption:
provider: sops
secretRef:
name: redis-sops-age
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: redis
namespace: redis
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
path: ./kubernetes/apps/redis/app
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: flux-system
dependsOn:
- name: redis-secrets
namespace: redis
postBuild:
substituteFrom:
- kind: Secret
name: redis-secrets

View File

@@ -0,0 +1,34 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: snippet-box
namespace: snippet-box
labels:
app.kubernetes.io/name: snippet-box
spec:
selector:
matchLabels:
app.kubernetes.io/name: snippet-box
template:
metadata:
labels:
app.kubernetes.io/name: snippet-box
spec:
containers:
- name: snippet-box
image: pawelmalak/snippet-box:arm
ports:
- protocol: TCP
containerPort: 5000
name: snippet-box
env:
- name: TZ
value: Australia/Sydney
volumeMounts:
- name: snippet-box-data
mountPath: /app/data
volumes:
- name: snippet-box-data
hostPath:
path: /mnt/nfs/AppData/snippet-box
type: Directory

View File

@@ -0,0 +1,21 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: snippet-box-ingress
namespace: snippet-box
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
ingressClassName: nginx
rules:
- host: "snippet-box.cluster.edward.sydney"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: snippet-box
port:
number: 5000

View File

@@ -0,0 +1,17 @@
apiVersion: v1
kind: Service
metadata:
name: snippet-box
namespace: snippet-box
labels:
app.kubernetes.io/name: snippet-box
spec:
selector:
app.kubernetes.io/name: snippet-box
type: ClusterIP
internalTrafficPolicy: Cluster
ports:
- protocol: TCP
port: 5000
targetPort: 5000
name: snippet-box

View File

@@ -0,0 +1,16 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: snippet-box
namespace: snippet-box
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
targetNamespace: flux-system
path: ./kubernetes/apps/snippet-box/app
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: flux-system

View File

@@ -0,0 +1,47 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: sonarqube
namespace: sonarqube
spec:
releaseName: sonarqube
chart:
spec:
chart: sonarqube
sourceRef:
kind: HelmRepository
name: bitnami
namespace: flux-system
interval: 1h
install:
remediation:
retries: 3
values:
sonarqubeUsername: ${sonarqube_username}
sonarqubePassword: ${sonarqube_password}
sonarqubeEmail: ${sonarqube_email}
smtpHost: ${smtp_host}
smtpPort: ${smtp_port}
smtpUser: ${smtp_user}
smtpPassword: ${smtp_password}
smtpProtocol: ${smtp_protocol}
service:
ports:
http: 8090
elastic: 9091
nodePorts:
http: 30080
elastic: 30091
persistence:
enabled: true
storageClass: "local-path"
size: "32Gi"
existingClaim: "sonarqube-pvc"
postgresql:
enabled: false
externalDatabase:
host: ${db_host}
user: ${db_user}
password: ${db_password}
database: ${db_name}
port: ${db_port}

View File

@@ -0,0 +1,46 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: sonarqube-pv
namespace: sonarqube
labels:
type: local
spec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 32Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
local:
path: "/mnt/nfs/AppData/sonarqube"
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: sonarqube-pvc
namespace: sonarqube
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: sonarqube-pvc
namespace: sonarqube
labels:
name: sonarqube-pvc
spec:
storageClassName: local-path
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 32Gi

View File

@@ -0,0 +1,46 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: sonarqube-secrets
namespace: sonarqube
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
targetNamespace: sonarqube
path: ./sonarqube
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: home-cluster-ops-secrets
dependsOn:
- name: repositories
namespace: flux-system
decryption:
provider: sops
secretRef:
name: sonarqube-sops-age
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: sonarqube
namespace: sonarqube
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
path: ./kubernetes/apps/sonarqube/app
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: flux-system
dependsOn:
- name: sonarqube-secrets
namespace: sonarqube
postBuild:
substituteFrom:
- kind: Secret
name: sonarqube-secrets

View File

@@ -0,0 +1,21 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: uptime-kuma-ingress
namespace: uptime-kuma
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
ingressClassName: nginx
rules:
- host: "uptime-kuma.cluster.edward.sydney"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: uptime-kuma
port:
number: 3001

View File

@@ -0,0 +1,46 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: uptime-kuma-pv
namespace: uptime-kuma
labels:
type: local
spec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 4Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
local:
path: "/mnt/nfs/AppData/uptime-kuma"
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: uptime-kuma-pvc
namespace: uptime-kuma
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-1
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: uptime-kuma-pvc
namespace: uptime-kuma
labels:
name: uptime-kuma-pvc
spec:
storageClassName: local-path
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 4Gi

View File

@@ -0,0 +1,25 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: uptime-kuma
namespace: uptime-kuma
spec:
releaseName: uptime-kuma
targetNamespace: uptime-kuma
chart:
spec:
chart: uptime-kuma
sourceRef:
kind: HelmRepository
name: irsigler
namespace: flux-system
interval: 1h
install:
remediation:
retries: 3
values:
volume:
enabled: true
accessMode: ReadWriteOnce
size: 4Gi
existingClaim: "uptime-kuma-pvc"

View File

@@ -0,0 +1,15 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: uptime-kuma
namespace: uptime-kuma
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
path: ./kubernetes/apps/uptime-kuma/app
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: flux-system

View File

@@ -9,7 +9,7 @@ metadata:
spec: spec:
ingressClassName: nginx ingressClassName: nginx
rules: rules:
- host: "weave-gitops.edward.sydney" - host: "weave-gitops.cluster.edward.sydney"
http: http:
paths: paths:
- pathType: Prefix - pathType: Prefix

View File

@@ -6,8 +6,11 @@ metadata:
data: data:
"53": "flux-system/adguard-home:53" "53": "flux-system/adguard-home:53"
"853": "flux-system/adguard-home:853" "853": "flux-system/adguard-home:853"
"5432": "postgresql/postgresql-primary:5432"
"5433": "postgresql/postgresql-replica:5432"
"5443": "flux-system/adguard-home:5443" "5443": "flux-system/adguard-home:5443"
"6060": "flux-system/adguard-home:6060" "6060": "flux-system/adguard-home:6060"
"8388": "qbittorrent/qbittorrent-torrent:8388"
--- ---
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap
@@ -20,3 +23,4 @@ data:
"68": "flux-system/adguard-home:68" "68": "flux-system/adguard-home:68"
"853": "flux-system/adguard-home:853" "853": "flux-system/adguard-home:853"
"5443": "flux-system/adguard-home:5443" "5443": "flux-system/adguard-home:5443"
"8388": "qbittorrent/qbittorrent-torrent:8388"

View File

@@ -1,13 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- ./namespaces/adguard-home.yaml - ./namespaces/namespaces.yaml
- ./namespaces/capacitor.yaml
- ./namespaces/cert-manager.yaml
- ./namespaces/homer.yaml
- ./namespaces/ingress-nginx.yaml
- ./namespaces/podinfo.yaml
- ./namespaces/prometheus-operator.yaml
- ./repositories/repositories.yaml - ./repositories/repositories.yaml
# - ./cilium/cilium.yaml # - ./cilium/cilium.yaml
- ./ingress-nginx/ingress-nginx-config.yaml - ./ingress-nginx/ingress-nginx-config.yaml

View File

@@ -0,0 +1,16 @@
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/gitrepository_v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: namespaces
namespace: flux-system
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
path: ./kubernetes/infrastructure/namespaces/namespaces
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: flux-system

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: code-server

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: dokuwiki

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: gitea

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: jellyfin

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: kavita

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: nexus

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: postgresql

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: qbittorrent

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: redis

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: snippet-box

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: sonarqube

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: uptime-kuma

View File

@@ -0,0 +1,8 @@
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
name: adminafk
namespace: flux-system
spec:
interval: 6h
url: https://helm-charts.adminafk.fr

View File

@@ -0,0 +1,8 @@
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
name: beluga-cloud
namespace: flux-system
spec:
interval: 6h
url: https://beluga-cloud.github.io/charts

View File

@@ -1,4 +1,4 @@
apiVersion: source.toolkit.fluxcd.io/v1 apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository kind: HelmRepository
metadata: metadata:
name: bitnami name: bitnami

View File

@@ -0,0 +1,8 @@
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
name: irsigler
namespace: flux-system
spec:
interval: 6h
url: https://helm.irsigler.cloud/

View File

@@ -0,0 +1,8 @@
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
name: nicholaswilde
namespace: flux-system
spec:
interval: 6h
url: https://nicholaswilde.github.io/helm-charts/

40
renovate.json Normal file
View File

@@ -0,0 +1,40 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"local>3dwardch3ng/renovate-config"
],
"kubernetes": {
"fileMatch": ["\\.yaml$"]
},
"helm-values": {
"fileMatch": ["\\.yaml$"]
},
"flux": {
"fileMatch": ["\\.yaml$"]
},
"packageRules": [
{
"matchDatasources": ["helm"],
"commitMessageTopic": "{{depName}} Helm release"
},
{
"matchDatasources": ["github-releases"],
"matchPackageNames": ["k3s-io/k3s"],
"separateMinorPatch": true
},
{
"matchPackagePrefixes": ["ghcr.io/immich-app/"],
"groupName": "Immich"
},
{
"matchDatasources": ["github-tags"],
"matchPackageNames": ["bjw-s/helm-charts"],
"versioning": "regex:^(?<compatibility>.+)-(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$"
},
{
"matchDatasources": ["docker", "github-tags"],
"matchPackageNames": ["ghcr.io/fluxcd/flux-manifests", "fluxcd/flux2"],
"groupName": "fluxcd/flux2"
}
]
}

View File

@@ -1,12 +0,0 @@
#!/usr/bin/bash
set -e
filePath=$1
AGE_PUB_KEY"age1d47q8mlty404pxx378q49hr93aqexca4mkeqtdm00w4gjd09xd0qhxcdcz"
sops --age=$AGE_PUB_KEY --encrypt --encrypted-regex '^(data|stringData)$' --in-place $filePath
echo "File encrypted: $filePath."
git add $filePath
git commit -am "Encrypt file $filePath by Age."

View File

@@ -1,10 +0,0 @@
#!/usr/bin/bash
set -e
filePath=$1
sops --encrypt --in-place $filePath
echo "File encrypted: $filePath."
git add $filePath
git commit -am "Encrypt file $filePath by GPG."