913 Commits
dev ... main

Author SHA1 Message Date
310e73b30d update 2025-12-06 07:31:10 -06:00
3e24e0ec80 update 2025-12-06 07:23:03 -06:00
8dac861ae3 update n8n 2025-10-22 05:23:07 -05:00
5508fe3610 add gitlab 2025-10-09 06:25:05 -05:00
69bfdc9852 update octopus 2025-09-20 09:24:21 -05:00
ac8b836748 add dmz ingress 2025-09-20 08:05:50 -05:00
aabec35dd7 fix secret 2025-09-20 07:56:57 -05:00
ed1a465402 fix secrets 2025-09-20 07:55:44 -05:00
868ceddb22 update secrets 2025-09-20 07:51:38 -05:00
4fdddee8e0 update ingress 2025-09-20 07:36:42 -05:00
820e899359 disable crowdsec 2025-09-20 07:34:19 -05:00
16c41556c3 add kube stack 2025-09-20 07:31:02 -05:00
fbaa3877a2 delete crossplane 2025-09-01 16:09:18 -05:00
89a13d81f1 update vaultwarden 2025-09-01 08:31:32 -05:00
59a85a10f9 update ssh keys 2025-08-09 12:35:04 +00:00
d30a36c96e update 2025-07-23 19:57:42 -05:00
2be3d65620 update 2025-07-23 19:51:54 -05:00
d0ef9e7586 update 2025-07-23 19:50:29 -05:00
06a0653eec update 2025-07-23 19:43:34 -05:00
2cd9be813e update 2025-07-23 19:40:51 -05:00
e7b9086247 update 2025-07-23 19:35:31 -05:00
472f4064f5 update 2025-07-23 19:30:54 -05:00
687d890733 update 2025-07-23 19:20:00 -05:00
3575572a65 update argocd 2025-07-23 19:18:53 -05:00
2cbc329a39 update ip 2025-07-23 19:10:25 -05:00
87b1b7dbc2 update 2025-07-23 19:00:38 -05:00
d99920c95c add n8n 2025-07-23 18:56:11 -05:00
44ded83012 Merge branch 'revert-8227cbd3' into 'main'
Revert "Merge branch 'renovate/authentik-2025.x' into 'main'"

See merge request developerdurp/homelab!50
2025-07-13 12:28:12 +00:00
471dcf907d Revert "Merge branch 'renovate/authentik-2025.x' into 'main'" 2025-07-13 12:28:12 +00:00
782799f835 Merge branch 'renovate/docker.io-nginxinc-nginx-unprivileged-1.x' into 'main'
Update docker.io/nginxinc/nginx-unprivileged Docker tag to v1.29.0

See merge request developerdurp/homelab!49
2025-07-13 12:26:20 +00:00
7e435f64b8 Merge branch 'renovate/gatekeeper-3.x' into 'main'
Update Helm release gatekeeper to v3.19.2

See merge request developerdurp/homelab!48
2025-07-13 12:26:01 +00:00
5efad19546 Merge branch 'renovate/crowdsec-0.x' into 'main'
Update Helm release crowdsec to v0.19.4

See merge request developerdurp/homelab!47
2025-07-13 12:25:45 +00:00
c1b02bf142 Merge branch 'renovate/argo-cd-8.x' into 'main'
Update Helm release argo-cd to v8.1.3

See merge request developerdurp/homelab!43
2025-07-13 12:25:31 +00:00
8227cbd373 Merge branch 'renovate/authentik-2025.x' into 'main'
Update Helm release authentik to v2025.6.3

See merge request developerdurp/homelab!42
2025-07-13 12:25:18 +00:00
8d1c136ae7 Merge branch 'renovate/docker.io-swaggerapi-swagger-ui-5.x' into 'main'
Update docker.io/swaggerapi/swagger-ui Docker tag to v5.26.2

See merge request developerdurp/homelab!41
2025-07-13 12:23:30 +00:00
5dd40718b4 Merge branch 'renovate/docker.io-aquasec-trivy-0.x' into 'main'
Update docker.io/aquasec/trivy Docker tag to v0.64.1

See merge request developerdurp/homelab!40
2025-07-13 12:23:11 +00:00
1847fa2472 Merge branch 'renovate/istiod-1.x' into 'main'
Update Helm release istiod to v1.26.2

See merge request developerdurp/homelab!39
2025-07-13 12:22:59 +00:00
b7bfd77883 Merge branch 'renovate/gateway-1.x' into 'main'
Update Helm release gateway to v1.26.2

See merge request developerdurp/homelab!38
2025-07-13 12:22:47 +00:00
b98d61c5a3 Merge branch 'renovate/base-1.x' into 'main'
Update Helm release base to v1.26.2

See merge request developerdurp/homelab!37
2025-07-13 12:22:34 +00:00
Renovate Bot
418b365e2d Update docker.io/nginxinc/nginx-unprivileged Docker tag to v1.29.0 2025-07-13 06:03:03 +00:00
Renovate Bot
e653d41331 Update Helm release gatekeeper to v3.19.2 2025-07-12 06:03:26 +00:00
Renovate Bot
10655e1ad7 Update Helm release crowdsec to v0.19.4 2025-07-12 06:03:23 +00:00
b3e86011b4 Merge branch 'renovate/external-dns-8.x' into 'main'
Update Helm release external-dns to v8.9.2

See merge request developerdurp/homelab!44
2025-07-11 10:43:11 +00:00
f10021899c Merge branch 'renovate/longhorn-1.x' into 'main'
Update Helm release longhorn to v1.9.0

See merge request developerdurp/homelab!45
2025-07-11 10:42:56 +00:00
b107d7a5fe Merge branch 'renovate/metallb-0.x' into 'main'
Update Helm release metallb to v0.15.2

See merge request developerdurp/homelab!46
2025-07-11 10:42:38 +00:00
Renovate Bot
02a2f4f7c9 Update Helm release argo-cd to v8.1.3 2025-07-11 06:03:23 +00:00
Renovate Bot
4bc076a715 Update Helm release external-dns to v8.9.2 2025-07-09 06:03:05 +00:00
Renovate Bot
520a934cd8 Update docker.io/swaggerapi/swagger-ui Docker tag to v5.26.2 2025-07-08 06:02:59 +00:00
Renovate Bot
430c2541e5 Update docker.io/aquasec/trivy Docker tag to v0.64.1 2025-07-04 06:02:29 +00:00
Renovate Bot
6f8db8ccdb Update Helm release authentik to v2025.6.3 2025-06-28 06:02:32 +00:00
Renovate Bot
9a6a16dcee Update Helm release istiod to v1.26.2 2025-06-21 06:03:29 +00:00
Renovate Bot
d10f200c09 Update Helm release gateway to v1.26.2 2025-06-21 06:03:25 +00:00
Renovate Bot
e0c303c38b Update Helm release base to v1.26.2 2025-06-21 06:03:19 +00:00
Renovate Bot
7b188327c9 Update Helm release metallb to v0.15.2 2025-06-08 06:03:37 +00:00
Renovate Bot
9715b9ac87 Update Helm release longhorn to v1.9.0 2025-06-08 06:03:32 +00:00
006094410c update 2025-06-06 06:03:53 -05:00
6a6bccda43 update 2025-06-06 05:45:44 -05:00
3233a8f769 update 2025-06-06 05:39:40 -05:00
69963d1c2f updateu 2025-06-06 05:37:34 -05:00
2be77594f0 update 2025-06-05 06:22:58 -05:00
d4b0dd3c80 update 2025-06-05 06:18:46 -05:00
8940086c97 update 2025-06-05 06:07:08 -05:00
b39863dee9 update 2025-06-05 05:28:48 -05:00
b28c7ce8fd update 2025-06-05 05:23:57 -05:00
c8fa9b77ad update 2025-06-05 05:22:13 -05:00
ecd5ca5163 update 2025-06-05 05:21:10 -05:00
9ded36aa45 update 2025-06-05 05:18:31 -05:00
3b52a06603 update 2025-06-04 05:39:08 -05:00
ac90414c06 update 2025-06-03 06:06:07 -05:00
7bcd121e3c Merge branch 'revert-e3cd02fa' into 'main'
Revert "Merge branch 'renovate/docker.io-bitnami-postgresql-17.x' into 'main'"

See merge request developerdurp/homelab!36
2025-06-03 10:55:37 +00:00
0f038a8bb6 Revert "Merge branch 'renovate/docker.io-bitnami-postgresql-17.x' into 'main'" 2025-06-03 10:55:37 +00:00
b3032d2998 Merge branch 'renovate/quay.io-frrouting-frr-9.x' into 'main'
Update quay.io/frrouting/frr Docker tag to v9.1.3

See merge request developerdurp/homelab!30
2025-06-03 10:51:23 +00:00
74ed1dca43 Merge branch 'renovate/vault-0.x' into 'main'
Update Helm release vault to v0.30.0

See merge request developerdurp/homelab!28
2025-06-03 10:51:08 +00:00
8fedb4fc9d Merge branch 'renovate/docker.io-swaggerapi-swagger-ui-5.x' into 'main'
Update docker.io/swaggerapi/swagger-ui Docker tag to v5.22.0

See merge request developerdurp/homelab!26
2025-06-03 10:50:45 +00:00
6b69f85623 Merge branch 'renovate/crossplane-1.x' into 'main'
Update Helm release crossplane to v1.20.0

See merge request developerdurp/homelab!27
2025-06-03 10:50:37 +00:00
4d0a6cc470 Merge branch 'renovate/octopusdeploy-helm-1.x' into 'main'
Update octopusdeploy-helm Docker tag to v1.4.0

See merge request developerdurp/homelab!29
2025-06-03 10:50:11 +00:00
e3cd02fa7f Merge branch 'renovate/docker.io-bitnami-postgresql-17.x' into 'main'
Update docker.io/bitnami/postgresql Docker tag to v17

See merge request developerdurp/homelab!31
2025-06-03 10:49:49 +00:00
17c2ada6a8 Merge branch 'renovate/argo-cd-8.x' into 'main'
Update Helm release argo-cd to v8

See merge request developerdurp/homelab!32
2025-06-03 10:49:34 +00:00
d039f241f6 Merge branch 'renovate/kube-prometheus-stack-72.x' into 'main'
Update Helm release kube-prometheus-stack to v72

See merge request developerdurp/homelab!33
2025-06-03 10:48:46 +00:00
5ad297f15a Merge branch 'renovate/external-dns-8.x' into 'main'
Update Helm release external-dns to v8.8.3

See merge request developerdurp/homelab!34
2025-06-03 10:48:25 +00:00
46281b59a0 Merge branch 'renovate/postgresql-16.x' into 'main'
Update Helm release postgresql to v16

See merge request developerdurp/homelab!35
2025-06-03 10:48:01 +00:00
Renovate Bot
66a63be3a2 Update Helm release kube-prometheus-stack to v72 2025-06-03 06:07:36 +00:00
Renovate Bot
054ee57e6b Update quay.io/frrouting/frr Docker tag to v9.1.3 2025-06-03 06:07:09 +00:00
Renovate Bot
799a8687ca Update octopusdeploy-helm Docker tag to v1.4.0 2025-06-03 06:07:06 +00:00
Renovate Bot
b02f5d3727 Update Helm release argo-cd to v8 2025-05-31 06:03:06 +00:00
Renovate Bot
0ef216e92f Update docker.io/bitnami/postgresql Docker tag to v17 2025-05-30 06:07:02 +00:00
Renovate Bot
51006b03d1 Update Helm release vault to v0.30.0 2025-05-30 06:06:48 +00:00
Renovate Bot
643c89e794 Update docker.io/swaggerapi/swagger-ui Docker tag to v5.22.0 2025-05-30 06:06:24 +00:00
Renovate Bot
29b8753182 Update Helm release external-dns to v8.8.3 2025-05-30 06:06:21 +00:00
Renovate Bot
841e26ba2a Update Helm release postgresql to v16 2025-05-27 06:02:50 +00:00
Renovate Bot
4d7c1779c3 Update Helm release crossplane to v1.20.0 2025-05-27 06:02:39 +00:00
b0f6e8ead5 update 2025-05-26 06:18:32 -05:00
7c7890933b update 2025-05-26 06:17:52 -05:00
25664f4df4 update 2025-05-26 06:10:29 -05:00
6791096b3a update 2025-05-26 06:07:04 -05:00
dcc3ae6aa3 update 2025-05-26 06:05:33 -05:00
6257d7a1d4 update 2025-05-26 05:57:56 -05:00
1d167cd62c update 2025-05-25 07:57:33 -05:00
a6037a6cc1 update 2025-05-25 07:55:29 -05:00
5250e5ad15 update 2025-05-25 07:53:10 -05:00
355c881597 update 2025-05-25 07:50:40 -05:00
0d5a699615 update 2025-05-25 07:47:20 -05:00
0b87aa8630 Merge branch 'renovate/authentik-2025.x' into 'main'
Update Helm release authentik to v2025.4.1

See merge request developerdurp/homelab!21
2025-05-22 10:37:19 +00:00
1f78ec52d3 Merge branch 'renovate/istiod-1.x' into 'main'
Update Helm release istiod to v1.26.0

See merge request developerdurp/homelab!20
2025-05-22 10:37:16 +00:00
ddd49cc031 Merge branch 'renovate/crowdsec-0.x' into 'main'
Update Helm release crowdsec to v0.19.3

See merge request developerdurp/homelab!19
2025-05-22 10:37:14 +00:00
f31c0bf257 Merge branch 'renovate/gateway-1.x' into 'main'
Update Helm release gateway to v1.26.0

See merge request developerdurp/homelab!17
2025-05-22 10:37:11 +00:00
15db2e8d41 Merge branch 'renovate/external-secrets-0.x' into 'main'
Update Helm release external-secrets to v0.17.0

See merge request developerdurp/homelab!15
2025-05-22 10:37:10 +00:00
3020148e02 Merge branch 'renovate/gitlab-runner-0.x' into 'main'
Update Helm release gitlab-runner to v0.77.2

See merge request developerdurp/homelab!18
2025-05-22 10:35:06 +00:00
ab6a5c96b4 Merge branch 'renovate/proxmox-3.x' into 'main'
Update Terraform proxmox to v3.0.1-rc9

See merge request developerdurp/homelab!22
2025-05-22 10:34:26 +00:00
e9712ad8c6 Merge branch 'renovate/longhorn-1.x' into 'main'
Update Helm release longhorn to v1.8.1

See merge request developerdurp/homelab!23
2025-05-22 10:30:44 +00:00
ea049a7ac2 Merge branch 'renovate/postgresql-12.x' into 'main'
Update Helm release postgresql to 12.12.*

See merge request developerdurp/homelab!24
2025-05-22 10:29:55 +00:00
1d3c524887 Merge branch 'renovate/traefik-34.x' into 'main'
Update Helm release traefik to v34.5.0

See merge request developerdurp/homelab!25
2025-05-22 10:29:21 +00:00
Renovate Bot
a7be2b0b74 Update Helm release gitlab-runner to v0.77.2 2025-05-22 06:03:15 +00:00
19a8b05fae update 2025-05-21 05:53:00 -05:00
607e02496a update 2025-05-21 05:30:50 -05:00
5580b7dfd0 update 2025-05-21 05:30:03 -05:00
bf76abaf83 update 2025-05-21 05:28:04 -05:00
124da56e0a update 2025-05-21 05:26:10 -05:00
8d86bd83e3 update 2025-05-21 05:12:27 -05:00
e7f600bb80 update 2025-05-20 06:24:31 -05:00
0f30f72039 update 2025-05-20 06:21:12 -05:00
febe9fbdf5 update 2025-05-20 06:19:53 -05:00
72903cb7cc update 2025-05-20 06:17:54 -05:00
6638751ee8 update 2025-05-20 06:16:49 -05:00
d616df5b1b update 2025-05-20 06:14:45 -05:00
4dd69bac83 update 2025-05-20 06:12:19 -05:00
177e6740d5 update 2025-05-20 06:12:08 -05:00
b0e955a8af update 2025-05-20 06:10:14 -05:00
e8665c4379 update 2025-05-20 06:08:36 -05:00
5a936831f7 update 2025-05-20 06:06:54 -05:00
756744c379 update 2025-05-20 06:03:10 -05:00
fe2f50f351 update 2025-05-20 06:00:50 -05:00
ced106bf3a update 2025-05-20 05:58:52 -05:00
c14346bb2e update 2025-05-20 05:57:07 -05:00
c6fde4ad40 update 2025-05-20 05:52:59 -05:00
da5f19f9d3 update 2025-05-20 05:48:32 -05:00
495ddce824 update 2025-05-20 05:46:41 -05:00
43ef21d99b update 2025-05-20 05:46:31 -05:00
49abd7fb28 update 2025-05-20 05:44:04 -05:00
0437fadc15 update 2025-05-20 05:43:21 -05:00
d0f4780b6c update 2025-05-20 05:42:34 -05:00
affd851017 update 2025-05-20 05:40:04 -05:00
c016db260e update 2025-05-20 05:36:48 -05:00
5cb7ca72d8 update 2025-05-20 05:33:41 -05:00
7d0e2f4b22 update 2025-05-20 05:32:02 -05:00
f9f1e101a9 update 2025-05-19 05:59:51 -05:00
977d652d8b update 2025-05-19 05:57:51 -05:00
302184d655 update 2025-05-19 05:56:44 -05:00
7b72bb16f7 update 2025-05-19 05:55:24 -05:00
95386b345a update 2025-05-19 05:53:16 -05:00
cb64c2d05d update 2025-05-19 05:49:01 -05:00
cbadf7ce19 update 2025-05-19 05:48:05 -05:00
39bf52cae3 update 2025-05-19 05:45:19 -05:00
362037c198 update 2025-05-19 05:44:38 -05:00
af5f6e1257 update 2025-05-19 05:43:17 -05:00
0ae3c80a81 update 2025-05-19 05:34:34 -05:00
9b9f36859f update 2025-05-19 05:33:29 -05:00
5525c9bba5 update 2025-05-19 05:22:18 -05:00
f4eaa739e9 update 2025-05-19 05:21:21 -05:00
37fd96179d update 2025-05-19 05:20:36 -05:00
Renovate Bot
17c3e5dddf Update Helm release traefik to v34.5.0 2025-05-18 06:04:16 +00:00
beef704102 update 2025-05-17 08:17:24 -05:00
4708a70a34 update 2025-05-17 08:14:40 -05:00
29661b9bf7 update 2025-05-17 08:12:47 -05:00
Renovate Bot
a8e7ac07c8 Update Helm release postgresql to 12.12.* 2025-05-17 06:04:36 +00:00
Renovate Bot
fe79c830cb Update Helm release longhorn to v1.8.1 2025-05-17 06:04:30 +00:00
cd1abb4cec update 2025-05-16 05:46:04 -05:00
Renovate Bot
0a1d45d16a Update Helm release external-secrets to v0.17.0 2025-05-16 06:04:35 +00:00
Renovate Bot
3acedbfdd2 Update Terraform proxmox to v3.0.1-rc9 2025-05-16 06:04:30 +00:00
Renovate Bot
6cbba2abec Update Helm release authentik to v2025.4.1 2025-05-16 06:04:25 +00:00
Renovate Bot
f8d47b89d9 Update Helm release istiod to v1.26.0 2025-05-15 06:04:40 +00:00
Renovate Bot
72ce4db466 Update Helm release crowdsec to v0.19.3 2025-05-15 06:04:25 +00:00
Renovate Bot
5e03a9e40e Update Helm release gateway to v1.26.0 2025-05-14 06:04:46 +00:00
cb821ae051 Merge branch 'renovate/gatekeeper-3.x' into 'main'
Update Helm release gatekeeper to v3.19.1

See merge request developerdurp/homelab!16
2025-05-13 09:51:45 +00:00
Renovate Bot
9e4f732d45 Update Helm release gatekeeper to v3.19.1 2025-05-13 06:03:53 +00:00
065b4787c8 update 2025-05-12 05:12:02 -05:00
8b498e971d Merge branch 'renovate/metallb-0.x' into 'main'
Update Helm release metallb to v0.14.9

See merge request developerdurp/homelab!5
2025-05-12 10:08:06 +00:00
96872dc7b0 Merge branch 'renovate/proxmox-3.x' into 'main'
Update Terraform proxmox to v3.0.1-rc8

See merge request developerdurp/homelab!6
2025-05-12 10:07:53 +00:00
c5ec227c48 Merge branch 'renovate/docker.io-aquasec-trivy-0.x' into 'main'
Update docker.io/aquasec/trivy Docker tag to v0.62.1

See merge request developerdurp/homelab!7
2025-05-12 10:07:27 +00:00
4ae919f070 Merge branch 'renovate/docker.io-nginxinc-nginx-unprivileged-1.x' into 'main'
Update docker.io/nginxinc/nginx-unprivileged Docker tag to v1.28.0

See merge request developerdurp/homelab!8
2025-05-12 10:07:16 +00:00
d88e58a5a1 Merge branch 'renovate/docker.io-swaggerapi-swagger-ui-5.x' into 'main'
Update docker.io/swaggerapi/swagger-ui Docker tag to v5.21.0

See merge request developerdurp/homelab!9
2025-05-12 10:07:01 +00:00
4105842b31 Merge branch 'renovate/authentik-remote-cluster-2.x' into 'main'
Update Helm release authentik-remote-cluster to v2.1.0

See merge request developerdurp/homelab!10
2025-05-12 10:06:45 +00:00
f083c707d5 Merge branch 'renovate/base-1.x' into 'main'
Update Helm release base to v1.26.0

See merge request developerdurp/homelab!11
2025-05-12 10:06:34 +00:00
ee8c9571b2 Merge branch 'renovate/cert-manager-1.x' into 'main'
Update Helm release cert-manager to v1.17.2

See merge request developerdurp/homelab!12
2025-05-12 10:06:12 +00:00
4ca9d3150c Merge branch 'renovate/crossplane-1.x' into 'main'
Update Helm release crossplane to v1.19.1

See merge request developerdurp/homelab!13
2025-05-12 10:05:46 +00:00
49e48e7e45 Merge branch 'renovate/external-dns-8.x' into 'main'
Update Helm release external-dns to v8.8.2

See merge request developerdurp/homelab!14
2025-05-12 10:04:14 +00:00
643ec165fc update 2025-05-11 12:38:40 -05:00
72e6598aae update 2025-05-11 10:51:02 -05:00
e2af26316f update 2025-05-11 10:50:17 -05:00
cdd34130aa update 2025-05-11 10:48:28 -05:00
95be6528f2 update 2025-05-11 10:34:21 -05:00
5f3bd1c507 update 2025-05-11 10:33:01 -05:00
97375239af updateupdate 2025-05-11 10:30:14 -05:00
4ce97eca7a update 2025-05-11 10:26:59 -05:00
818123fee1 update 2025-05-11 10:25:54 -05:00
bd7adf4065 update 2025-05-11 10:24:55 -05:00
eedb7d8380 update 2025-05-11 10:23:04 -05:00
d506b1964b update 2025-05-11 10:17:15 -05:00
5e0ce5c39c update 2025-05-10 13:56:42 -05:00
45af1f9be9 update 2025-05-10 13:54:17 -05:00
8c27fdce5f update 2025-05-10 12:48:38 -05:00
bff82fd82f update 2025-05-10 12:14:01 -05:00
960a681b6f update 2025-05-10 10:48:21 -05:00
e6c3dc4357 update 2025-05-10 10:44:58 -05:00
107dd520b3 update 2025-05-10 10:41:51 -05:00
263ed8d805 update 2025-05-10 10:37:55 -05:00
19a1c7ebd3 update 2025-05-10 10:28:13 -05:00
e74142b072 update 2025-05-10 10:19:14 -05:00
16745c9f2b update 2025-05-10 10:15:05 -05:00
5d8f11b8ea update 2025-05-10 10:12:33 -05:00
f4e0a20954 update 2025-05-10 09:46:48 -05:00
596420a053 update 2025-05-10 09:43:43 -05:00
235806871f update 2025-05-10 09:42:14 -05:00
f81893afee update 2025-05-10 09:41:50 -05:00
36e8dde91d update 2025-05-10 09:17:46 -05:00
71340d6b3f update 2025-05-10 09:15:08 -05:00
c5d12501ef update 2025-05-10 09:09:22 -05:00
3a5a9838b2 update 2025-05-10 09:05:32 -05:00
9f8dc8f8ed update 2025-05-10 08:59:55 -05:00
9514ffc44a update 2025-05-10 08:55:17 -05:00
04da18d4ee update 2025-05-10 07:51:37 -05:00
de5dc93ecf update 2025-05-10 07:49:31 -05:00
d781ccc052 update 2025-05-10 07:49:17 -05:00
137fbd4822 update 2025-05-10 07:26:57 -05:00
6ed5b70eaf update 2025-05-10 07:26:40 -05:00
13435c5f47 update 2025-05-10 07:16:20 -05:00
bf3b202308 update 2025-05-10 07:15:05 -05:00
f9fca17edb update 2025-05-10 06:40:49 -05:00
721d9be377 update 2025-05-09 06:45:08 -05:00
0690679d91 update 2025-05-09 05:59:57 -05:00
abab7c70db update test project 2025-05-09 05:59:09 -05:00
b43d205af3 update 2025-05-09 05:57:43 -05:00
c8dd861c5d update 2025-05-09 05:56:15 -05:00
d6f69b5857 update 2025-05-09 05:54:58 -05:00
f99dbcc533 update 2025-05-09 05:49:19 -05:00
bcc421445c update 2025-05-09 05:42:34 -05:00
Renovate Bot
ad8f5884e7 Update Helm release external-dns to v8.8.2 2025-05-09 10:36:29 +00:00
Renovate Bot
22d82b0082 Update Helm release crossplane to v1.19.1 2025-05-09 10:36:26 +00:00
16077f4523 update 2025-05-09 05:32:49 -05:00
Renovate Bot
d35c0757fb Update Helm release cert-manager to v1.17.2 2025-05-09 10:30:41 +00:00
Renovate Bot
ab868d0c26 Update Helm release base to v1.26.0 2025-05-09 10:30:38 +00:00
d6162f7046 update 2025-05-09 05:26:25 -05:00
Renovate Bot
9a587d2f75 Update Helm release authentik-remote-cluster to v2.1.0 2025-05-09 10:23:03 +00:00
Renovate Bot
2d00ceda68 Update docker.io/swaggerapi/swagger-ui Docker tag to v5.21.0 2025-05-09 10:23:00 +00:00
c6b300f572 update 2025-05-09 05:19:13 -05:00
16e8514480 update 2025-05-09 05:17:42 -05:00
0812204655 update 2025-05-09 05:12:49 -05:00
Renovate Bot
821c206174 Update docker.io/nginxinc/nginx-unprivileged Docker tag to v1.28.0 2025-05-09 06:01:42 +00:00
Renovate Bot
10168e7534 Update docker.io/aquasec/trivy Docker tag to v0.62.1 2025-05-09 06:01:39 +00:00
Renovate Bot
6a26e350d3 Update Terraform proxmox to v3.0.1-rc8 2025-05-08 11:36:35 +00:00
Renovate Bot
5c84b0bd26 Update Helm release metallb to v0.14.9 2025-05-08 11:36:32 +00:00
4b0ef9a97e Merge branch 'renovate/configure' into 'main'
Configure Renovate

See merge request developerdurp/homelab!4
2025-05-08 11:35:13 +00:00
3ae74042c3 Configure Renovate 2025-05-08 11:35:13 +00:00
4312733b55 update 2025-05-08 06:32:43 -05:00
b9d0ef311b update 2025-05-08 06:27:02 -05:00
0e6aad89dc update 2025-05-08 06:25:48 -05:00
7916ed8247 update 2025-05-08 06:25:00 -05:00
098186307b update 2025-05-08 06:24:33 -05:00
4a6bac7674 update 2025-05-08 06:16:10 -05:00
92c666bf9d update 2025-05-08 06:10:36 -05:00
9876b3659e update 2025-05-08 06:09:10 -05:00
84832c7455 update 2025-05-08 06:06:18 -05:00
b293f708e9 update 2025-05-08 06:04:02 -05:00
f40139702d update 2025-05-08 06:03:07 -05:00
2a823e7536 update 2025-05-08 05:39:26 -05:00
d73325c1bc update 2025-05-08 05:31:21 -05:00
c1594778b7 update 2025-05-08 05:29:34 -05:00
765a79aaad update 2025-05-08 05:25:23 -05:00
bf7f3692b8 update 2025-05-08 05:23:25 -05:00
705f13289c update 2025-05-08 04:47:51 -05:00
18366175e9 update 2025-05-08 04:44:58 -05:00
03beda78e0 update 2025-05-07 17:45:12 -05:00
a43c27d78a update 2025-05-07 17:42:53 -05:00
1baa082434 update 2025-05-07 17:41:55 -05:00
1463788a5e update 2025-05-07 15:06:27 -05:00
a66bd5f10a update 2025-05-07 05:11:50 -05:00
49cba480ba update 2025-05-07 05:11:19 -05:00
7fdc34321f update 2025-05-07 05:07:30 -05:00
60053fb88a add openspeedtest 2025-05-06 09:34:31 -05:00
59734e07a5 update 2025-05-06 05:35:48 -05:00
b33158e0fe update 2025-05-06 05:33:30 -05:00
9d0a172198 update 2025-05-06 05:11:58 -05:00
0e547f03ce update 2025-05-02 05:03:52 -05:00
a271f17ad8 update 2025-05-02 05:02:43 -05:00
44fc423272 update 2025-05-02 05:01:28 -05:00
7845a8fbd1 update 2025-05-02 05:00:48 -05:00
8487172ee8 update 2025-05-01 06:16:15 -05:00
c407e7789d update 2025-05-01 06:15:44 -05:00
acfd02d2a2 update 2025-05-01 06:13:01 -05:00
e7c75c9c82 update 2025-05-01 06:12:12 -05:00
c6e52fd256 update 2025-05-01 06:06:53 -05:00
11b3a1b923 update 2025-05-01 06:02:37 -05:00
2729f7e4c2 update 2025-05-01 05:58:57 -05:00
cb3f240a2c update 2025-05-01 05:55:23 -05:00
37ab76ac8e update 2025-05-01 05:53:47 -05:00
91c26911ce update 2025-05-01 05:42:19 -05:00
7260fea4c8 update 2025-05-01 05:41:04 -05:00
83195cc317 update 2025-05-01 05:36:48 -05:00
f9edb8b4d2 update 2025-05-01 05:36:10 -05:00
980eab909d update 2025-04-23 15:55:43 -05:00
448c8b0ea3 add littlelink to dmz 2025-04-23 15:54:23 -05:00
408a8048e6 update nodes to 16gb 2025-04-23 06:23:27 -05:00
79256a5964 update image 2025-04-23 06:16:42 -05:00
41d2d55807 remove postgres servers 2025-04-23 06:11:10 -05:00
a6289a9055 update 2025-04-23 05:59:42 -05:00
6fe8eec8f9 update 2025-04-23 05:10:52 -05:00
a950be662b update 2025-04-23 05:07:41 -05:00
4adc7323e3 update 2025-04-23 05:04:34 -05:00
f58716f517 update 2025-04-23 04:59:00 -05:00
babc384d17 update 2025-04-23 04:56:54 -05:00
42ba7594fb update 2025-04-23 04:54:43 -05:00
a2b64f80b4 update 2025-04-22 06:50:16 -05:00
09e4a5013a update 2025-04-22 06:48:17 -05:00
5e3019d2f3 update 2025-04-22 06:46:35 -05:00
8a2cb45bc7 update 2025-04-22 06:40:53 -05:00
ec9d97f401 update 2025-04-22 06:38:27 -05:00
74ec11d0fe update 2025-04-22 06:35:40 -05:00
2097a8dd3a update 2025-04-22 06:34:33 -05:00
5a8fa58e9b update 2025-04-22 06:18:49 -05:00
64b4d9b0b8 update 2025-04-20 11:20:46 -05:00
4ad72ea0d4 update 2025-04-20 10:41:53 -05:00
dff580e991 add secrets 2025-04-20 10:41:15 -05:00
392058905a update 2025-04-20 07:56:17 -05:00
e292970da0 update 2025-04-20 07:44:14 -05:00
6dee8029aa update 2025-04-20 07:42:48 -05:00
88bc421ac1 update 2025-04-20 07:31:59 -05:00
9ce0fc4112 update 2025-04-20 07:31:06 -05:00
68f6027dac update 2025-04-20 07:29:43 -05:00
e6022fd274 update 2025-04-20 07:27:59 -05:00
fc2d721303 add octopus 2025-04-20 07:25:30 -05:00
81fc69710b update 2025-04-18 04:42:56 -05:00
9e9e03fcb5 update 2025-04-17 06:28:32 -05:00
a7d4e387e7 update 2025-04-17 05:49:50 -05:00
dcc45cbba5 update 2025-04-17 05:49:13 -05:00
11d7183d7c update vlan 2025-04-17 05:19:45 -05:00
6dcb807697 add prd 2025-04-17 05:16:31 -05:00
28ee277a90 update 2025-04-17 04:54:17 -05:00
4772ff1f3f update 2025-04-16 04:52:41 -05:00
b879a85a16 update 2025-04-15 06:21:29 -05:00
dd94e0ab86 update 2025-04-15 06:19:16 -05:00
53f91d61d1 update 2025-04-14 06:11:08 -05:00
5777d5066a update 2025-04-14 06:08:34 -05:00
cec03c7f46 update 2025-04-14 06:07:49 -05:00
787d960250 update 2025-04-14 06:06:36 -05:00
48909154e8 add bitwarden to infra 2025-04-14 06:05:17 -05:00
3d2a2e37b9 remove kubeclarity 2025-04-14 05:35:08 -05:00
c6ee3c7b78 remove kube stack 2025-04-14 05:34:48 -05:00
77557ea2bd remove openwebui 2025-04-14 05:33:49 -05:00
81f2695095 update 2025-04-13 16:50:32 -05:00
f26d1cd366 update 2025-04-13 11:22:56 -05:00
a04e93ba9a update 2025-04-13 11:12:56 -05:00
3a90a6aca6 update 2025-04-13 10:39:58 -05:00
c98b9c6859 update 2025-04-13 09:00:58 -05:00
bea5f40cce update 2025-04-13 08:05:20 -05:00
69d486010c update 2025-04-13 07:52:03 -05:00
8283311536 update 2025-04-13 07:42:22 -05:00
5603924b25 update 2025-04-13 07:24:18 -05:00
6292d1730e update 2025-04-13 07:21:35 -05:00
b42c981f39 update 2025-04-13 07:20:14 -05:00
4e3e7c558a update 2025-04-10 16:33:13 -05:00
6e0579cc0f update 2025-04-04 06:14:13 -05:00
494301a3cd update 2025-04-01 06:00:46 -05:00
ee9c701c7c update 2025-04-01 05:34:22 -05:00
a794c4660b Add openclarity 2025-03-31 05:42:14 -05:00
5de76051a3 Add openclarity 2025-03-31 05:32:33 -05:00
e34ff55f1a Add openclarity 2025-03-31 05:28:26 -05:00
98b90c4321 Add openclarity 2025-03-31 05:27:31 -05:00
050a0b30e0 Add openclarity 2025-03-31 05:23:44 -05:00
5269bc1e2c Add openclarity 2025-03-31 05:23:01 -05:00
c66c651402 update 2025-03-29 07:02:37 -05:00
0d71f86fc2 update 2025-03-28 05:27:32 -05:00
93a0074599 update 2025-03-28 05:24:05 -05:00
cabd1ee225 update 2025-03-28 05:19:02 -05:00
53544a8ddc update 2025-03-28 05:11:24 -05:00
5ab36252cd update 2025-03-28 05:02:45 -05:00
7cd14dcd59 update 2025-03-28 05:01:14 -05:00
cad3dcf473 update 2025-03-28 04:50:20 -05:00
8b83c6a6c5 update 2025-03-28 04:47:12 -05:00
a5b1ff6dd8 update 2025-03-27 05:55:37 -05:00
a9e4a97447 update 2025-03-26 18:33:08 -05:00
be893ea040 update 2025-03-26 18:30:24 -05:00
1250df73df update 2025-03-26 18:28:38 -05:00
21dc6adcfb update 2025-03-26 18:26:32 -05:00
fad9f96101 Add dev 2025-03-26 05:08:17 -05:00
d9e4945224 Add dev 2025-03-26 05:06:16 -05:00
a593d314e1 Add dev 2025-03-26 04:52:49 -05:00
58ec1995df Add dev 2025-03-26 04:51:50 -05:00
06be8dc6cc Update to child pipelines 2025-03-26 04:45:23 -05:00
9b5f1a0fee test 2025-03-25 06:12:38 -05:00
4c02da8831 test 2025-03-25 06:10:14 -05:00
1d66e0f0db test 2025-03-25 06:09:13 -05:00
db45c8e1de test 2025-03-25 06:06:49 -05:00
0e24910675 update storage 2025-03-25 05:59:14 -05:00
19b50efc81 update storage 2025-03-25 05:58:17 -05:00
eacbe21387 update 2025-03-24 06:34:50 -05:00
d3ee85912c update 2025-03-24 06:11:23 -05:00
51c63131f7 update 2025-03-24 04:56:36 -05:00
0b1aec8ea1 update 2025-03-24 04:54:11 -05:00
2904235356 update 2025-03-24 04:51:49 -05:00
4a2fcd11a0 update 2025-03-24 04:50:51 -05:00
e542d2941e update 2025-03-24 04:48:11 -05:00
d6563a7dbc update 2025-03-23 08:32:55 -05:00
95f07b9403 update 2025-03-23 08:29:56 -05:00
85bf89b4e8 update 2025-03-23 08:27:44 -05:00
bd406e4ce1 update 2025-03-22 15:45:44 -05:00
f172469d92 update 2025-03-22 15:44:38 -05:00
c7763fbe48 update 2025-03-22 15:43:17 -05:00
79bff35307 update 2025-03-22 15:41:05 -05:00
7b2558d492 update 2025-03-22 15:35:58 -05:00
f1580bfc60 update 2025-03-22 10:55:59 -05:00
0c32bafdd9 update 2025-03-22 10:54:56 -05:00
584ba8d8f0 update 2025-03-22 10:54:21 -05:00
59db1a9a9f update 2025-03-22 10:53:47 -05:00
c52743df54 update 2025-03-22 10:52:27 -05:00
c95b6fc3d2 update 2025-03-22 08:06:59 -05:00
a970df0de1 update 2025-03-22 08:05:48 -05:00
fcf1e095d7 ujpdate 2025-03-21 05:41:02 -05:00
3809150c22 update 2025-03-21 05:39:56 -05:00
d5b9b82f47 update 2025-03-21 05:37:33 -05:00
fa8d36f4b0 update 2025-03-21 05:20:36 -05:00
83ff1238ac update 2025-03-21 05:16:40 -05:00
f248087e80 update 2025-03-21 05:12:52 -05:00
cd8f0e32d7 update 2025-03-21 05:07:24 -05:00
d9e448249e update 2025-03-21 05:05:26 -05:00
8949f640b7 update 2025-03-21 05:03:43 -05:00
9514e7c27c update 2025-03-21 05:01:31 -05:00
698daaab4c update 2025-03-21 04:49:13 -05:00
b0a9deb35f update 2025-03-20 06:27:21 -05:00
e5007648b6 update 2025-03-20 06:25:50 -05:00
5efe416248 update 2025-03-20 06:21:53 -05:00
22e9d5a08e update 2025-03-20 06:20:32 -05:00
336880a9b0 update 2025-03-20 06:18:45 -05:00
9addbbde4b update 2025-03-20 06:13:38 -05:00
6678b38ad9 update 2025-03-20 06:12:38 -05:00
e4e0132735 update 2025-03-20 06:05:54 -05:00
48077bdce5 update 2025-03-20 06:05:33 -05:00
2fda7414f2 update 2025-03-20 06:00:05 -05:00
cf1ffc1c97 update 2025-03-20 05:56:25 -05:00
f0252b7791 update 2025-03-20 05:50:17 -05:00
6caf043848 update 2025-03-20 05:49:06 -05:00
07577ce836 update 2025-03-20 05:47:29 -05:00
a88d9cf29c update 2025-03-20 05:43:28 -05:00
64d8e1d9ef update 2025-03-20 05:42:41 -05:00
65b6f1b63b update 2025-03-20 05:32:43 -05:00
57d47c8513 update 2025-03-20 05:27:52 -05:00
b1e4fc4ee3 updat 2025-03-20 05:18:45 -05:00
ead660ccc9 update 2025-03-20 05:17:42 -05:00
296c837bde update 2025-03-20 05:16:37 -05:00
1e328b5644 update 2025-03-20 05:11:45 -05:00
6cd0785009 update 2025-03-20 05:10:35 -05:00
1160ba317a update 2025-03-20 04:51:34 -05:00
04e8cd9137 update 2025-03-20 04:47:26 -05:00
409d39dcc5 update 2025-03-20 04:46:44 -05:00
c338eb860c update 2025-03-19 06:31:17 -05:00
0d72b08ff2 update 2025-03-19 06:18:36 -05:00
1366c2e6b1 update 2025-03-19 05:32:22 -05:00
2f7b994044 update 2025-03-19 05:31:43 -05:00
64c978a14f update 2025-03-19 05:30:45 -05:00
f475828569 update 2025-03-19 05:28:58 -05:00
843f050195 update 2025-03-19 05:26:29 -05:00
c24dcdfe2c update 2025-03-19 05:22:46 -05:00
28ddc5ccea update 2025-03-19 05:13:25 -05:00
e3857454b7 update 2025-03-19 05:11:50 -05:00
e6fa7ebb78 update 2025-03-19 05:04:06 -05:00
55341ba0d6 update 2025-03-19 05:01:38 -05:00
e7c2605097 update 2025-03-19 05:00:50 -05:00
b682553b27 update 2025-03-19 04:58:39 -05:00
47125c5d68 update 2025-03-19 04:57:53 -05:00
c0b2f5ede3 update 2025-03-19 04:55:15 -05:00
f1d96f60c1 update 2025-03-19 04:53:20 -05:00
78796fce97 update 2025-03-19 04:52:06 -05:00
32dd761dc4 update 2025-03-19 04:51:22 -05:00
144d9d547a update 2025-03-19 04:46:58 -05:00
f7434b0810 update 2025-03-18 06:38:22 -05:00
a24fc8a605 update 2025-03-18 06:34:13 -05:00
e6c9a0b9ed update 2025-03-18 06:31:01 -05:00
c6d963d635 update 2025-03-18 06:25:39 -05:00
399fadef3f update 2025-03-18 06:24:54 -05:00
9165bd44a9 update 2025-03-18 06:24:03 -05:00
093bf40127 update 2025-03-18 06:21:58 -05:00
d217345a25 update 2025-03-18 06:20:22 -05:00
3b69fdcf8f update 2025-03-18 06:19:13 -05:00
513298f3be update 2025-03-18 06:16:52 -05:00
4c4f67525d update 2025-03-18 06:15:33 -05:00
39fae09f58 update 2025-03-18 06:15:05 -05:00
22aad9eb54 update 2025-03-18 05:58:53 -05:00
2450688ab8 update 2025-03-18 05:56:39 -05:00
d73f626ae5 update 2025-03-18 05:55:10 -05:00
04e76a3e90 update 2025-03-18 05:06:45 -05:00
2e45f7b899 update 2025-03-17 06:17:20 -05:00
7f3961964d update 2025-03-17 05:35:46 -05:00
813e8a8eb3 update 2025-03-17 05:26:24 -05:00
b2a369b479 update 2025-03-17 05:24:13 -05:00
0907c0fdc8 update 2025-03-17 05:20:34 -05:00
a50b3ca1d4 update 2025-03-17 05:13:50 -05:00
9d45ebf641 update 2025-03-17 05:00:00 -05:00
961e332e71 update 2025-03-17 04:59:19 -05:00
8d63bc4ea9 update 2025-03-16 21:32:29 -05:00
fa64786dcf update 2025-03-16 21:29:37 -05:00
3590ea3840 update 2025-03-16 21:22:07 -05:00
ce6b64840e update 2025-03-16 21:15:28 -05:00
f68327747a update 2025-03-16 13:35:16 -05:00
2df7ebbf4c update 2025-03-16 13:33:00 -05:00
1c63f8028a update 2025-03-16 13:27:48 -05:00
12f0ca2388 update 2025-03-16 13:24:13 -05:00
a833b3f921 update 2025-03-14 05:25:41 -05:00
ace5603daa update 2025-03-14 05:23:13 -05:00
0fede19fdf update 2025-03-14 05:10:24 -05:00
59c2db2c0f update 2025-03-14 05:09:53 -05:00
158ff3c97d update 2025-03-14 05:07:06 -05:00
700f186474 update storage 2025-03-13 14:47:27 -05:00
b35fe6bc66 update 2025-03-11 06:21:43 -05:00
52382885b0 update 2025-03-11 05:46:55 -05:00
8452f0ee77 update 2025-03-11 05:18:52 -05:00
3cf69d0883 update 2025-03-11 05:15:52 -05:00
3c65f2e76a update 2025-03-10 05:53:53 -05:00
6ef8bee912 update 2025-03-10 05:50:09 -05:00
839f9d1d7e update 2025-03-10 05:49:26 -05:00
8f2086854d update 2025-03-10 05:47:15 -05:00
70a2b51314 update 2025-03-10 05:37:56 -05:00
5900798f5f update 2025-03-10 05:36:31 -05:00
a81951925b update 2025-03-10 05:17:31 -05:00
5cccda199f update 2025-03-10 05:14:50 -05:00
ab91170043 update 2025-03-10 05:09:28 -05:00
b1f85151d8 update 2025-03-09 09:32:06 -05:00
44008f5f43 update 2025-03-09 09:06:39 -05:00
91e8082e00 update 2025-03-09 09:00:49 -05:00
b743ca035a update 2025-03-09 08:59:25 -05:00
3392892b51 update 2025-03-09 08:34:34 -05:00
566f722c89 update 2025-03-08 14:57:56 -06:00
93725b3f55 update 2025-03-08 14:56:11 -06:00
f6bd6425a1 update 2025-03-05 06:28:07 -06:00
e2dabca525 update 2025-03-05 06:27:02 -06:00
77b5b9033e update 2025-03-05 06:26:22 -06:00
9a28ec8af2 update 2025-03-05 06:24:10 -06:00
26c56ff358 update 2025-03-05 06:22:29 -06:00
26c910fa68 update 2025-03-05 06:16:00 -06:00
0cffd50693 update 2025-03-05 06:15:23 -06:00
4f51496342 update 2025-03-05 05:55:56 -06:00
2bfdb75705 update 2025-03-05 05:49:13 -06:00
2ad04019a8 update 2025-03-05 05:03:41 -06:00
5635fe8a06 update 2025-03-04 06:33:37 -06:00
bc56685869 update 2025-03-04 06:31:41 -06:00
8a7930b7c4 update 2025-03-04 06:29:58 -06:00
6e558c52b4 update 2025-03-04 06:25:25 -06:00
5bdee88d29 update 2025-03-04 06:20:56 -06:00
092ec28ea9 update 2025-03-04 06:14:21 -06:00
35d002cb3b update 2025-03-04 06:09:03 -06:00
90ebb30286 update 2025-03-04 06:07:48 -06:00
29bf3e7c92 update 2025-03-04 06:02:22 -06:00
6f2a3d014e update 2025-03-04 05:51:35 -06:00
25082c9e4d update 2025-03-04 05:49:03 -06:00
8f282427b7 update 2025-03-04 05:47:12 -06:00
d06f96c3ad update 2025-03-04 05:46:11 -06:00
2ffacfd4b9 update 2025-03-04 05:45:43 -06:00
59d5fb98df update 2025-03-04 05:44:11 -06:00
d6b3091454 update 2025-03-04 05:38:10 -06:00
2e798f2a06 update 2025-03-04 05:35:48 -06:00
36685f382d update 2025-03-04 05:32:02 -06:00
e0f4cf206d update 2025-03-04 05:28:38 -06:00
a314f60d38 update 2025-03-04 05:23:48 -06:00
d180197086 update 2025-03-04 05:19:42 -06:00
d724b929da update 2025-03-04 05:19:17 -06:00
53313df223 update 2025-03-04 05:18:47 -06:00
d6427b326d update 2025-03-04 05:18:00 -06:00
d39ab5d5a3 update 2025-03-04 05:14:17 -06:00
947835171c update 2025-03-04 05:12:59 -06:00
f4f58bfedc update 2025-03-04 05:11:26 -06:00
f9b1ae184d update 2025-03-04 05:04:13 -06:00
d273f21505 update 2025-03-04 04:58:29 -06:00
041cf0933d update 2025-03-04 04:57:38 -06:00
bdf93b5a06 update 2025-03-04 04:57:12 -06:00
3b65e94019 update 2025-03-04 04:54:30 -06:00
fcc9cb0e63 update 2025-03-04 04:50:58 -06:00
9e44ebc46c update 2025-03-04 04:48:38 -06:00
2ba68c7507 update 2025-03-03 06:11:46 -06:00
06349d5f0e update 2025-03-03 05:45:22 -06:00
b22eda0a0a update 2025-03-03 05:35:02 -06:00
d0ea0ff250 update 2025-03-03 05:33:40 -06:00
58feb47a9d update 2025-03-03 05:29:21 -06:00
10087d55f7 update 2025-03-03 05:15:50 -06:00
b6b17c5ced update 2025-03-03 05:15:06 -06:00
733b933a00 update 2025-03-03 05:14:30 -06:00
933cc9dadd update 2025-03-03 05:10:30 -06:00
a92b9cda21 update 2025-03-03 05:09:42 -06:00
ed3ecba7df update 2025-02-28 06:07:32 -06:00
2b9947223b update 2025-02-28 05:53:29 -06:00
c57cfc7d5a update 2025-02-28 05:43:07 -06:00
61dcae2e97 update 2025-02-28 05:01:56 -06:00
acbaf37e8a update 2025-02-28 04:58:22 -06:00
6344b58687 update 2025-02-28 04:51:47 -06:00
0742770dbe update 2025-02-28 04:47:44 -06:00
8b5342c168 update 2025-02-28 04:44:41 -06:00
b199c8f6ed update 2025-02-27 06:00:55 -06:00
a2706177c6 update 2025-02-27 05:55:04 -06:00
207cc5f7c8 update 2025-02-27 05:49:00 -06:00
9dbe6dc445 update 2025-02-27 05:44:09 -06:00
b2ad83f1ba update 2025-02-27 05:41:41 -06:00
02c9ab3486 update 2025-02-27 05:33:26 -06:00
0a18126a39 update 2025-02-27 05:32:45 -06:00
3dc3dbbaba update 2025-02-27 05:28:32 -06:00
820147d04c update 2025-02-27 05:04:49 -06:00
529a38d2e5 update 2025-02-27 04:59:00 -06:00
990f93ff26 update 2025-02-27 04:56:05 -06:00
01904f7ca7 update 2025-02-26 06:07:05 -06:00
a8040986d7 update 2025-02-26 06:06:22 -06:00
3e7d6961fc update 2025-02-26 06:04:50 -06:00
ded9d4b18c update 2025-02-26 05:59:26 -06:00
adb83da550 update 2025-02-26 05:57:40 -06:00
5a65a188be update 2025-02-26 05:50:50 -06:00
3b722331c9 update 2025-02-26 05:49:47 -06:00
4e497f0945 update 2025-02-26 05:47:48 -06:00
bcb090a117 update 2025-02-26 05:46:23 -06:00
e260f2c0c8 update 2025-02-26 05:44:46 -06:00
6a04c3dd85 update 2025-02-26 05:41:25 -06:00
ff9ed9cb65 update 2025-02-26 05:38:19 -06:00
eb94cf66d6 update 2025-02-26 05:27:51 -06:00
a9b6632a15 update 2025-02-26 05:25:31 -06:00
b9b5046e8b update 2025-02-26 05:23:31 -06:00
b829e8303c update 2025-02-26 05:09:02 -06:00
8510dbe766 update 2025-02-26 05:05:11 -06:00
e9426a2f77 update 2025-02-26 05:00:34 -06:00
daa528630a update 2025-02-26 05:00:06 -06:00
a15a57af34 update 2025-02-26 04:58:20 -06:00
7f75de1fe1 update 2025-02-26 04:51:50 -06:00
ba79286ce6 add cert manager to dmz 2025-02-26 04:49:40 -06:00
ed3d4941b3 update 2025-02-25 06:27:03 -06:00
1ee6edb43d update 2025-02-25 06:23:01 -06:00
5ad8140324 update 2025-02-25 06:22:11 -06:00
04d21b3909 update 2025-02-25 06:21:11 -06:00
49a46eba48 update 2025-02-25 06:17:50 -06:00
de7c9b5c13 update 2025-02-25 06:16:17 -06:00
62097968d7 update 2025-02-25 05:40:16 -06:00
cb70aecd1d update 2025-02-25 05:31:46 -06:00
ee464ed40f update 2025-02-25 05:28:31 -06:00
29fbf7ec7b update 2025-02-25 05:10:35 -06:00
dc075d4247 update 2025-02-25 05:09:32 -06:00
3c8bd3ffd0 update 2025-02-24 06:21:11 -06:00
b549c9cfb2 update 2025-02-24 06:12:36 -06:00
701f6d1f96 update 2025-02-24 05:54:08 -06:00
2af0e7a3ae update 2025-02-24 05:52:49 -06:00
fc2d1e8a1a update 2025-02-24 05:20:54 -06:00
d53bb7b37c update 2025-02-24 05:00:01 -06:00
8f97c4cd33 update dns 2025-02-23 12:38:27 -06:00
354a9c63a9 update 2025-02-19 04:48:16 -06:00
0e5aa931f6 update 2025-02-18 05:04:20 -06:00
94554fe6fa update 2025-02-18 04:57:23 -06:00
628793d5df remove postgres to rebuild 2025-02-18 04:55:34 -06:00
7443e025e0 update 2025-02-16 20:37:24 -06:00
0859efa0c7 add ansible base role 2025-02-16 20:29:30 -06:00
e20429f6a7 remove postgres 2025-02-16 17:37:31 -06:00
7b65ae0599 update 2025-02-16 17:29:44 -06:00
95bfaf4a70 add authentik 2025-02-16 17:28:09 -06:00
37fdb0a1ac update 2025-02-16 13:06:08 -06:00
ca44e683f6 update 2025-02-16 13:02:18 -06:00
96f65d5322 Add serial 2025-02-15 13:03:53 -06:00
d182b00e75 Add serial 2025-02-15 13:01:59 -06:00
004d2d5155 Add serial 2025-02-15 12:59:54 -06:00
156a75c0a0 update proxmox 2025-02-15 06:40:10 -06:00
4645e52f2a Move pfsense to unifi 2025-02-14 06:27:56 -06:00
4084517dd7 Add terraform for infra 2025-02-14 05:11:19 -06:00
1da4a9e23b Add terraform for infra 2025-02-14 05:00:28 -06:00
48dca828a9 Add terraform for infra 2025-02-13 06:38:43 -06:00
5c2169d138 Add terraform for infra 2025-02-13 06:21:03 -06:00
7b5b1b8aa1 Add terraform for infra 2025-02-13 06:18:36 -06:00
0dab6f4f33 Add terraform for infra 2025-02-13 06:15:07 -06:00
e14f7ac627 Add terraform for infra 2025-02-13 06:13:26 -06:00
53c4949927 Add terraform for infra 2025-02-13 06:06:23 -06:00
dade7fd152 update 2025-02-12 19:48:06 -06:00
c3fd5e1894 update 2025-02-12 15:24:25 -06:00
1de9ef55e2 update 2025-02-12 15:22:06 -06:00
4ee9c3da06 update 2025-02-12 15:20:47 -06:00
3e4a682e7b update 2025-02-12 15:17:37 -06:00
a66cdf40e3 update 2025-02-12 06:14:46 -06:00
6cd37b4bd0 update 2025-02-12 06:08:45 -06:00
c91fe325af update 2025-02-12 06:06:04 -06:00
848096364f update 2025-02-12 06:05:11 -06:00
a891c0ab20 update 2025-02-12 06:04:20 -06:00
2f202e9993 update 2025-02-12 05:52:17 -06:00
fad26e6e13 update 2025-02-12 05:43:28 -06:00
7a56cca0ee update 2025-02-12 05:41:26 -06:00
b05b5345ed update 2025-02-12 05:37:44 -06:00
b94d180811 update 2025-02-12 05:36:32 -06:00
80316602d5 update 2025-02-12 05:35:18 -06:00
4a0b91f737 update 2025-02-12 05:27:59 -06:00
bd45075112 update 2025-02-12 05:18:31 -06:00
664bd5b324 update 2025-02-12 05:13:12 -06:00
7d6c60117a update 2025-02-12 05:07:41 -06:00
fa66a33b41 update 2025-02-12 05:02:31 -06:00
fa6ca7c7b1 update 2025-02-12 04:57:45 -06:00
d550eba84d update 2025-02-11 04:46:05 -06:00
5d5fbd7fac update 2025-02-11 04:45:24 -06:00
9003f7f475 update 2025-02-11 04:43:51 -06:00
1641178875 update 2025-02-10 13:24:29 -06:00
03befcb0f8 update 2025-02-09 07:40:44 -06:00
1019a69c77 update 2025-02-09 06:48:31 -06:00
aabd349d60 update 2025-02-09 06:47:35 -06:00
786c034ef6 update 2025-02-09 06:46:19 -06:00
435533502b update 2025-02-09 06:44:29 -06:00
4f74f8d575 update 2025-02-09 06:26:53 -06:00
5ad335cc1e update 2025-02-09 06:22:07 -06:00
a6f6f38769 update 2025-02-09 06:18:31 -06:00
23edb4e2cc update 2025-02-09 06:14:44 -06:00
7f774c7dbd update 2025-02-09 06:14:04 -06:00
f3d914e308 update 2025-02-08 19:26:49 -06:00
14da96a2a9 update 2025-02-08 19:03:58 -06:00
f87e727b40 update 2025-02-08 19:02:07 -06:00
31437ce7bf update 2025-02-03 06:01:54 -06:00
6830296715 update 2025-02-03 06:01:01 -06:00
0ee046914a update 2025-02-03 06:00:28 -06:00
27cadcf8ce update 2025-02-03 05:56:30 -06:00
60c66fa3f3 update 2025-02-03 05:39:59 -06:00
f7f3719a74 update 2025-02-03 05:37:44 -06:00
0642f11a1a update 2025-02-03 05:36:54 -06:00
5a0a17b33f update 2025-01-28 05:51:49 -06:00
e4a429d720 update 2025-01-28 05:46:04 -06:00
2fda03d34e update 2025-01-28 04:54:07 -06:00
64396cd6e0 update 2025-01-28 04:49:28 -06:00
8eb26560e0 update 2025-01-27 05:53:46 -06:00
13e648043e update 2025-01-27 05:52:46 -06:00
d48a2c406e update 2025-01-27 05:49:49 -06:00
32bb9882e2 update 2025-01-27 05:49:38 -06:00
080cd1b3c1 update 2025-01-27 05:48:19 -06:00
d69480189b update 2025-01-27 05:45:44 -06:00
4483c0a657 update 2025-01-27 05:44:50 -06:00
edbfe65ce1 update 2025-01-27 05:43:10 -06:00
7cae2987a4 update 2025-01-27 05:40:07 -06:00
f885ed4329 update 2025-01-27 05:33:07 -06:00
d8ea4a907f update 2025-01-27 05:28:59 -06:00
ad18535ce7 update 2025-01-27 05:27:14 -06:00
f978937455 update 2025-01-27 05:26:32 -06:00
142254c94a update 2025-01-27 05:16:19 -06:00
81ed14c3ee update 2025-01-27 05:14:13 -06:00
950d5f7950 update 2025-01-27 05:12:47 -06:00
23356d2d3e update 2025-01-27 05:05:59 -06:00
2de99e6812 update 2025-01-27 04:55:55 -06:00
058d4c943f update 2025-01-24 05:33:05 -06:00
7a3567144f update 2025-01-24 05:28:37 -06:00
9276abe7cc update 2025-01-24 05:06:33 -06:00
c5077c097d update 2025-01-24 04:56:01 -06:00
cdd9419cff update 2025-01-23 15:36:53 -06:00
f1333aa0ee update 2025-01-23 15:36:31 -06:00
f9096df658 update 2025-01-23 06:05:24 -06:00
09d140bb64 update 2025-01-23 05:56:26 -06:00
91001c230e update 2025-01-23 05:55:55 -06:00
4087eb7aaf update 2025-01-23 05:13:24 -06:00
37640bd420 update 2025-01-22 06:26:29 -06:00
7588fa3279 update 2025-01-22 06:23:42 -06:00
08ca20b874 update 2025-01-22 06:22:56 -06:00
547ef2ffbc update 2025-01-22 06:21:04 -06:00
b4f701c084 update 2025-01-22 06:12:57 -06:00
a47fe24d51 update 2025-01-22 05:43:12 -06:00
881de48183 move back to HA 2025-01-22 05:42:15 -06:00
61eb2cb68e update 2025-01-22 05:41:34 -06:00
e17ffa9f3f update 2025-01-22 05:40:34 -06:00
b50e31d42d update 2025-01-22 05:39:28 -06:00
622114aace update 2025-01-22 05:38:10 -06:00
2c8321d9b1 update 2025-01-21 05:51:57 -06:00
985a291936 update 2025-01-21 05:42:08 -06:00
1490ef6c5e update 2025-01-21 05:40:38 -06:00
b45a04349e update 2025-01-21 05:36:24 -06:00
685dcde9c3 update 2025-01-21 05:12:47 -06:00
d18d64f0eb update 2025-01-21 05:02:56 -06:00
c3110978c7 update 2025-01-21 05:01:41 -06:00
03d69a40a0 update 2025-01-21 05:00:25 -06:00
a398e63650 update 2025-01-21 04:58:11 -06:00
5acce59cd1 update 2025-01-20 05:03:31 -06:00
9899459652 update 2025-01-20 05:01:13 -06:00
1c4624104a update 2025-01-19 13:51:52 -06:00
709def73de update 2025-01-19 13:25:12 -06:00
f0fd21ec86 update 2025-01-19 13:15:32 -06:00
7a6313f716 update 2025-01-19 13:12:27 -06:00
7dc22c2051 update 2025-01-19 13:10:58 -06:00
b3c020d810 update 2025-01-19 09:33:00 -06:00
ba19811491 update 2025-01-19 09:26:11 -06:00
c956f88f43 update 2025-01-19 09:07:29 -06:00
8e65ceca52 update 2025-01-19 09:03:53 -06:00
535a47a8f2 update 2025-01-19 08:53:43 -06:00
a9789b1221 update 2025-01-19 08:51:53 -06:00
87dd7d3da0 update 2025-01-19 08:47:39 -06:00
82ad8815f2 update 2025-01-16 06:00:29 -06:00
5089d01c06 update 2025-01-16 05:59:15 -06:00
f8f5f27cb0 add ingress 2025-01-16 05:55:52 -06:00
4c2e87944c update cert 2025-01-16 05:33:47 -06:00
b6fa1079b6 update 2025-01-15 06:15:44 -06:00
f5ceac3ec1 add vault 2025-01-15 06:00:30 -06:00
1966f141dc update config 2025-01-15 05:47:05 -06:00
f8d0229580 add metallb 2025-01-15 05:46:40 -06:00
e36610cd49 update 2025-01-15 05:42:45 -06:00
0c27dd360c add traefik to infra 2025-01-15 05:41:59 -06:00
user
e7c28dde45 update 2025-01-15 05:18:13 -06:00
user
41cc7889af ujpdate 2025-01-15 05:15:41 -06:00
user
f8899caf78 update 2025-01-15 05:12:37 -06:00
user
b47edf477b Add infra 2025-01-15 04:50:13 -06:00
54a82177f2 Update file deployment.yaml 2025-01-14 21:43:53 +00:00
f3684f197c Update file values.yaml 2025-01-11 14:41:37 +00:00
5f693d0020 Update file values.yaml 2025-01-11 14:40:35 +00:00
14a659df5b Update file values.yaml 2025-01-11 14:30:36 +00:00
46724e763c Update file s3.yaml 2025-01-11 14:27:01 +00:00
33c5d25271 remove top level files 2025-01-07 04:45:49 -06:00
99006a8900 Update folder location 2025-01-06 05:18:54 -06:00
a42b3e785d Update folder location 2025-01-06 05:14:52 -06:00
c39f20e371 Update folder location 2025-01-06 05:01:00 -06:00
dc324a2d8b Update whitelist 2025-01-04 07:17:43 -06:00
2d4d3773b7 Update ollama 2024-12-19 05:00:42 -06:00
54e12aa8c1 Update ollama auth 2024-12-15 08:04:32 -06:00
47d4e5015e Update ollama auth 2024-12-15 08:01:14 -06:00
e60030016e Update file ollama.yaml 2024-12-13 10:52:57 +00:00
6645dd77f6 update IP range 2024-11-17 10:24:23 -06:00
f1f8a9e837 update IP range 2024-11-17 10:14:22 -06:00
47214c5a93 Update file values.yaml 2024-10-15 11:12:18 +00:00
a1b05d6f8a Update chart version 2024-09-30 04:47:53 -05:00
8ca00e2715 Update chart version 2024-09-30 04:45:20 -05:00
7cbe7932f1 Update chart version 2024-09-30 04:41:20 -05:00
97d73b36c4 Update chart version 2024-09-29 08:56:15 -05:00
679742ab45 Update chart version 2024-09-29 08:55:44 -05:00
9b1680cfc8 Update chart version 2024-09-29 08:54:11 -05:00
dd3ca7c9a4 Update chart version 2024-09-29 08:51:08 -05:00
4a67df78b3 Update chart version 2024-09-29 08:45:48 -05:00
dde4eac238 Update chart version 2024-09-29 08:43:25 -05:00
f9987ac705 Update chart version 2024-09-29 08:43:01 -05:00
6705352a10 Update chart version 2024-09-29 08:41:06 -05:00
599e86e1a9 Update chart version 2024-09-29 08:37:42 -05:00
4826c5beb6 Update chart version 2024-09-29 08:33:29 -05:00
1284e2ec60 Update chart version 2024-09-29 08:28:14 -05:00
7f6e182084 Update chart version 2024-09-29 07:50:40 -05:00
a565952e0c Update chart version 2024-09-29 07:48:50 -05:00
f64bdfbedd Update chart version 2024-09-29 07:39:11 -05:00
e6a8aa74b4 Update chart version 2024-09-29 07:34:52 -05:00
b1c45f939b Update chart version 2024-09-29 07:29:39 -05:00
3bfec1450f Update chart version 2024-09-29 07:23:46 -05:00
d5224c0c7f Update chart version 2024-09-29 07:20:05 -05:00
4e37bfb8dc Update chart version 2024-09-29 07:13:09 -05:00
45ae3523b9 Update chart version 2024-09-29 06:43:58 -05:00
1151680f65 Update chart version 2024-09-29 06:42:16 -05:00
1aefb8163b Update chart version 2024-09-29 06:39:44 -05:00
e935822058 Update chart version 2024-09-29 06:35:39 -05:00
49b23b1788 Update chart version 2024-09-29 06:22:50 -05:00
bd2def6d46 Update chart version 2024-09-29 06:18:47 -05:00
10fcd43274 Update chart version 2024-09-13 06:23:48 -05:00
126c6e6f45 Update chart version 2024-09-13 06:20:00 -05:00
10ce90a460 Update chart version 2024-09-13 06:17:56 -05:00
c3cd2c0b8b Update chart version 2024-09-13 06:14:44 -05:00
8b74b2efb6 Update chart version 2024-09-13 06:10:15 -05:00
eecf949f86 Update worker count 2024-09-10 04:48:15 -05:00
2b951b2814 update authentik version 2024-09-10 04:43:57 -05:00
a1293abaf6 update 2024-08-31 07:40:14 -05:00
5781c6ddda update 2024-08-31 07:23:47 -05:00
42fc48bb27 update 2024-08-31 07:22:25 -05:00
0f908a1460 update 2024-08-31 07:19:33 -05:00
1febc6915e update 2024-08-31 07:14:08 -05:00
a99e0649dd update 2024-08-31 07:11:20 -05:00
d28f17120b upupdate 2024-08-30 05:08:33 -05:00
44d099ad9e update 2024-08-30 05:04:57 -05:00
5c866c2eb7 update 2024-08-30 05:04:25 -05:00
216cece298 update 2024-08-30 05:03:40 -05:00
f16da3d3a8 update resources 2024-08-30 04:58:02 -05:00
f12b7aa532 update resource 2024-08-30 04:56:01 -05:00
8ec254f59c enable autoscaller 2024-08-30 04:52:29 -05:00
33fd621ec8 add resource limits 2024-08-30 04:51:35 -05:00
89b8364fe5 add resource limits 2024-08-30 04:49:03 -05:00
52038a7585 update 2024-08-29 05:04:25 -05:00
885ab5e3d7 update 2024-08-29 05:02:08 -05:00
7843ae7c29 update 2024-08-29 04:57:40 -05:00
e2d1e01708 update 2024-08-29 04:55:28 -05:00
e8cafed885 update 2024-08-29 04:50:55 -05:00
62b7efad89 update 2024-08-27 04:58:07 -05:00
47ddf2fd28 update 2024-08-25 06:32:15 -05:00
31b689d5fe update 2024-08-25 06:28:15 -05:00
5ef03e6dbe update 2024-08-25 06:27:05 -05:00
38bb3538a3 update 2024-08-25 06:22:33 -05:00
8c77e53669 update 2024-08-25 06:20:12 -05:00
44aac27362 update 2024-08-25 06:19:34 -05:00
0f4048072d update 2024-08-25 06:11:13 -05:00
b6f0c41d5d update 2024-08-25 06:09:41 -05:00
3259cd6f37 update 2024-08-25 06:07:19 -05:00
418162a9e0 update 2024-08-25 05:43:48 -05:00
de022ea46b update 2024-08-25 05:33:43 -05:00
a50214eafc update 2024-08-25 05:32:20 -05:00
be2ee6274a update 2024-08-25 05:12:54 -05:00
1fbe3dbc95 update 2024-08-25 05:08:59 -05:00
f8a13c4bff update 2024-08-25 05:05:59 -05:00
c9d77c5eec update 2024-08-25 05:03:23 -05:00
3457eba0a2 update 2024-08-25 04:52:22 -05:00
738d19edfa update 2024-08-25 04:40:58 -05:00
23d397e5d4 update 2024-08-25 04:35:16 -05:00
10bfb6fd54 update 2024-08-25 04:34:31 -05:00
0ff6377bd6 update 2024-08-24 21:30:35 -05:00
8d92151ad3 update 2024-08-24 21:29:00 -05:00
3f74860c28 update 2024-08-24 21:28:14 -05:00
f12af0f92f update 2024-08-24 21:28:03 -05:00
86a5af321d update 2024-08-24 21:25:12 -05:00
4a1e4f980d update 2024-08-24 21:23:10 -05:00
bf6c021d8b update 2024-08-24 21:09:10 -05:00
0abc90d9cd update 2024-08-24 21:08:06 -05:00
e2cabee7dd update 2024-08-24 20:57:18 -05:00
1f2fd56d89 update 2024-08-24 20:56:13 -05:00
785a256258 update 2024-08-24 20:47:17 -05:00
26c3a919c6 update 2024-08-24 20:33:10 -05:00
280298cc0a update 2024-08-24 20:31:37 -05:00
f5b4c58367 update 2024-08-24 20:30:21 -05:00
0a3f3d99d7 update 2024-08-24 20:29:32 -05:00
21405024f7 add pfsense 2024-08-24 20:23:35 -05:00
61110282d5 update 2024-08-11 07:57:18 -05:00
5765f9b5d7 revert 2024-08-11 07:50:53 -05:00
f70c55dcf2 update 2024-08-11 07:48:13 -05:00
b2212a6608 move to nfs 2024-08-11 07:47:05 -05:00
5e5a7b3803 update 2024-08-11 07:40:16 -05:00
b1272fc052 remove proxy 2024-08-04 07:25:42 -05:00
c2298c51b1 update 2024-07-21 08:54:15 -05:00
40e98020bb update 2024-07-21 08:47:10 -05:00
30331572e5 Update Chart 2024-05-29 02:21:27 +00:00
ef367a7d10 move branch to prd 2024-05-11 06:24:20 -05:00
399 changed files with 12854 additions and 648 deletions

3
.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
.idea
infra/terraform/.terraform
infra/terraform/.terraform.lock.hcl

34
.gitlab/.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,34 @@
stages:
- triggers
build_dmz:
stage: triggers
trigger:
include: infra/.gitlab/.gitlab-ci.yml
rules:
- changes:
- "dmz/terraform/*.tf"
build_infra:
stage: triggers
trigger:
include: infra/.gitlab/.gitlab-ci.yml
rules:
- changes:
- "infra/terraform/*.tf"
build_dev:
stage: triggers
trigger:
include: dev/.gitlab/.gitlab-ci.yml
rules:
- changes:
- "dev/terraform/*.tf"
build_prd:
stage: triggers
trigger:
include: prd/.gitlab/.gitlab-ci.yml
rules:
- changes:
- "prd/terraform/*.tf"

4
Untitled Normal file
View File

@@ -0,0 +1,4 @@
VAULT_HELM_SECRET_NAME=$(kubectl get secrets -n vault --output=json | jq -r '.items[].metadata | select(.name|startswith("vault-token-")).name')
TOKEN_REVIEW_JWT=$(kubectl get secret $VAULT_HELM_SECRET_NAME -n vault --output='go-template={{ .data.token }}' | base64 --decode)
KUBE_CA_CERT=$(kubectl config view --raw --minify --flatten --output='jsonpath={.clusters[].cluster.certificate-authority-data}' | base64 --decode)
KUBE_HOST=$(kubectl config view --raw --minify --flatten --output='jsonpath={.clusters[].cluster.server}')

5
ansible/base.yaml Normal file
View File

@@ -0,0 +1,5 @@
- hosts: all
gather_facts: yes
become: yes
roles:
- base

2
ansible/newcluster.yaml Normal file
View File

@@ -0,0 +1,2 @@
argocd login --insecure
argocd cluster add default --name prd --yes --kubeconfig ~/Documents/config-prd

View File

@@ -0,0 +1 @@
Acquire::http::Proxy "http://192.168.21.200:3142";

View File

@@ -0,0 +1,4 @@
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

View File

@@ -0,0 +1,2 @@
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIGilcndatMrXg06VxtNKuIo3scoyyXbYX8Z7cOjeA102AAAABHNzaDo= desktop-arch-09-08-2025-yubikey
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAINsbNSZ5Wr+50Ahz+IeZxt6F7gZ6wm1J8uKXQLbdbKFaAAAABHNzaDo= desktop-arch-09-08-2025-yubikeyNano

View File

@@ -0,0 +1,4 @@
Use of this system is restricted to authorized users only, and all use is subjected to an acceptable use policy.
IF YOU ARE NOT AUTHORIZED TO USE THIS SYSTEM, DISCONNECT NOW.

View File

@@ -0,0 +1,4 @@
THIS SYSTEM IS FOR AUTHORIZED USE ONLY
All activities are logged and monitored.

View File

@@ -0,0 +1,95 @@
# Package generated configuration file
# See the sshd_config(5) manpage for details
# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes
# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 1024
# Logging
SyslogFacility AUTH
LogLevel INFO
# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile %h/.ssh/authorized_keys
# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes
# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no
# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no
# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
X11Forwarding no
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no
#MaxStartups 10:30:60
#Banner /etc/issue.net
# Allow client to pass locale environment variables
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes
ClientAliveInterval 300
#enable remote powershell
#Subsystem powershell /usr/bin/pwsh -sshs -NoLogo

View File

@@ -0,0 +1,155 @@
- name: Copy apt proxy
copy:
src: files/01proxy
dest: /etc/apt/apt.conf.d/01proxy
owner: root
group: root
mode: "0644"
force: yes
when:
- ansible_os_family == "Debian"
- inventory_hostname not in hosts_deny
- name: Update packages
apt:
name: '*'
state: latest
update_cache: yes
only_upgrade: yes
retries: 300
delay: 10
- name: Remove packages not needed anymore
apt:
autoremove: yes
retries: 300
delay: 10
- name: Install required packages Debian
apt:
state: latest
pkg: "{{ item }}"
with_items: "{{ required_packages }}"
retries: 300
delay: 10
- name: Create user account
user:
name: "user"
shell: /bin/bash
state: present
createhome: yes
- name: ensure ssh folder exists for user
file:
path: /home/user/.ssh
owner: user
group: user
mode: "0700"
state: directory
- name: Deploy SSH Key (user)
copy:
dest: /home/user/.ssh/authorized_keys
src: files/authorized_keys_user
owner: user
group: user
force: true
- name: Remove Root SSH Configuration
file:
path: /root/.ssh
state: absent
- name: Copy Secured SSHD Configuration
copy:
src: files/sshd_config_secured
dest: /etc/ssh/sshd_config
owner: root
group: root
mode: "0644"
when: ansible_os_family == "Debian"
- name: Copy Secured SSHD Configuration
copy:
src: files/sshd_config_secured_redhat
dest: /etc/ssh/sshd_config
owner: root
group: root
mode: "0644"
when: ansible_os_family == "RedHat"
- name: Restart SSHD
systemd:
name: sshd
daemon_reload: yes
state: restarted
enabled: yes
ignore_errors: yes
- name: Copy unattended-upgrades file
copy:
src: files/10periodic
dest: /etc/apt/apt.conf.d/10periodic
owner: root
group: root
mode: "0644"
force: yes
when: ansible_os_family == "Debian"
- name: Remove undesirable packages
package:
name: "{{ unnecessary_software }}"
state: absent
when: ansible_os_family == "Debian"
- name: Stop and disable unnecessary services
service:
name: "{{ item }}"
state: stopped
enabled: no
with_items: "{{ unnecessary_services }}"
ignore_errors: yes
- name: Set a message of the day
copy:
dest: /etc/motd
src: files/motd
owner: root
group: root
mode: 0644
- name: Set a login banner
copy:
dest: "{{ item }}"
src: files/issue
owner: root
group: root
mode: 0644
with_items:
- /etc/issue
- /etc/issue.net
- name: set timezone
shell: timedatectl set-timezone America/Chicago
- name: Enable cockpit
systemd:
name: cockpit
daemon_reload: yes
state: restarted
enabled: yes
- name: change password
ansible.builtin.user:
name: "user"
state: present
password: "{{ lookup('ansible.builtin.env', 'USER_PASSWORD') | password_hash('sha512') }}"
- name: add user to sudoers
community.general.sudoers:
name: user
state: present
user: user
commands: ALL

View File

@@ -0,0 +1,17 @@
required_packages:
- ufw
- qemu-guest-agent
- fail2ban
- unattended-upgrades
- cockpit
- nfs-common
- open-iscsi
unnecessary_services:
- postfix
- telnet
unnecessary_software:
- tcpdump
- nmap-ncat
- wpa_supplicant

View File

@@ -1,21 +0,0 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: gitlab-runner
namespace: argocd
spec:
project: default
source:
repoURL: https://gitlab.com/developerdurp/homelab.git
targetRevision: main
path: gitlab-runner
destination:
namespace: gitlab-runner
name: in-cluster
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true

View File

@@ -1,20 +0,0 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: kubeclarity
namespace: argocd
spec:
project: default
source:
repoURL: https://gitlab.com/developerdurp/homelab.git
targetRevision: main
path: kubeclarity
destination:
namespace: kubeclarity
name: in-cluster
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true

View File

@@ -1,20 +0,0 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: open-webui
namespace: argocd
spec:
project: default
source:
repoURL: https://gitlab.com/developerdurp/homelab.git
targetRevision: main
path: open-webui
destination:
namespace: open-webui
name: in-cluster
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true

View File

@@ -0,0 +1,95 @@
stages:
- plan
- apply
- destroy
variables:
WORKDIR: $CI_PROJECT_DIR/dev/terraform
GITLAB_TF_ADDRESS: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/terraform/state/dev
image:
name: registry.durp.info/opentofu/opentofu:latest
entrypoint: [""]
.tf-init:
before_script:
- cd $WORKDIR
- tofu init
-reconfigure
-backend-config="address=${GITLAB_TF_ADDRESS}"
-backend-config="lock_address=${GITLAB_TF_ADDRESS}/lock"
-backend-config="unlock_address=${GITLAB_TF_ADDRESS}/lock"
-backend-config="username=gitlab-ci-token"
-backend-config="password=${CI_JOB_TOKEN}"
-backend-config="lock_method=POST"
-backend-config="unlock_method=DELETE"
-backend-config="retry_wait_min=5"
format:
stage: .pre
allow_failure: false
script:
- cd $WORKDIR
- tofu fmt -diff -check -write=false
rules:
- changes:
- "dev/terraform/*.tf"
validate:
stage: .pre
allow_failure: false
extends: .tf-init
script:
- tofu validate
rules:
- changes:
- "dev/terraform/*.tf"
plan-dev-infrastructure:
stage: plan
variables:
PLAN: plan.tfplan
JSON_PLAN_FILE: tfplan.json
ENVIRONMENT_NAME: dev
allow_failure: false
extends: .tf-init
script:
- apk add --update curl jq
- alias convert_report="jq -r '([.resource_changes[].change.actions?]|flatten)|{\"create\":(map(select(.==\"create\"))|length),\"update\":(map(select(.==\"update\"))|length),\"delete\":(map(select(.==\"delete\"))|length)}'"
- tofu plan -out=$PLAN $ARGUMENTS
- tofu show --json $PLAN | jq -r '([.resource_changes[].change.actions?]|flatten)|{"create":(map(select(.=="create"))|length),"update":(map(select(.=="update"))|length),"delete":(map(select(.=="delete"))|length)}' > $JSON_PLAN_FILE
artifacts:
reports:
terraform: $WORKDIR/$JSON_PLAN_FILE
needs: ["validate","format"]
rules:
- changes:
- "dev/terraform/*.tf"
apply-dev-infrastructure:
stage: apply
variables:
ENVIRONMENT_NAME: dev
allow_failure: false
extends: .tf-init
script:
- tofu apply -auto-approve $ARGUMENTS
rules:
- changes:
- "dev/terraform/*.tf"
when: manual
needs: ["plan-dev-infrastructure"]
destroy-dev-infrastructure:
stage: destroy
variables:
ENVIRONMENT_NAME: dev
allow_failure: false
extends: .tf-init
script:
- tofu destroy -auto-approve $ARGUMENTS
rules:
- changes:
- "dev/terraform/*.tf"
when: manual
needs: ["plan-dev-infrastructure"]

View File

@@ -8,4 +8,4 @@ appVersion: 0.0.1
dependencies:
- name: cert-manager
repository: https://charts.jetstack.io
version: 1.*.*
version: v1.17.2

View File

@@ -0,0 +1,16 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: issuer
secrets:
- name: issuer-token-lmzpj
---
apiVersion: v1
kind: Secret
metadata:
name: issuer-token-lmzpj
annotations:
kubernetes.io/service-account.name: issuer
type: kubernetes.io/service-account-token

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,22 @@
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: cloudflare-api-token-secret
spec:
secretStoreRef:
name: vault
kind: ClusterSecretStore
target:
name: cloudflare-api-token-secret
data:
- secretKey: cloudflare-api-token-secret
remoteRef:
key: kv/cert-manager
property: cloudflare-api-token-secret
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: vault

View File

@@ -0,0 +1,26 @@
cert-manager:
crds:
enabled: true
image:
registry: registry.internal.durp.info
repository: jetstack/cert-manager-controller
pullPolicy: Always
replicaCount: 3
extraArgs:
- --dns01-recursive-nameservers=1.1.1.1:53,1.0.0.1:53
- --dns01-recursive-nameservers-only
podDnsPolicy: None
podDnsConfig:
nameservers:
- "1.1.1.1"
- "1.0.0.1"
webhook:
image:
registry: registry.internal.durp.info
repository: jetstack/cert-manager-webhook
pullPolicy: Always
cainjector:
image:
registry: registry.internal.durp.info
repository: jetstack/cert-manager-cainjector
pullPolicy: Always

View File

@@ -9,4 +9,4 @@ appVersion: 0.0.1
dependencies:
- name: external-dns
repository: https://charts.bitnami.com/bitnami
version: 6.20.3
version: 8.9.2

View File

@@ -0,0 +1,30 @@
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: external-dns-secret
spec:
secretStoreRef:
name: vault
kind: ClusterSecretStore
target:
name: external-dns
data:
- secretKey: cloudflare_api_email
remoteRef:
key: kv/cloudflare
property: cloudflare_api_email
- secretKey: cloudflare_api_key
remoteRef:
key: kv/cloudflare
property: cloudflare_api_key
- secretKey: cloudflare_api_token
remoteRef:
key: kv/cloudflare
property: cloudflare_api_token
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: vault

View File

@@ -0,0 +1,18 @@
external-dns:
global:
imageRegistry: "registry.durp.info"
image:
pullPolicy: Always
txtPrefix: "dmz-"
sources:
- service
provider: cloudflare
cloudflare:
secretName : "external-dns"
proxied: false
policy: sync

View File

@@ -0,0 +1,11 @@
apiVersion: v2
name: external-secrets
description: A Helm chart for Kubernetes
type: application
version: 0.0.1
appVersion: 0.0.1
dependencies:
- name: external-secrets
repository: https://charts.external-secrets.io
version: 0.17.0

View File

@@ -0,0 +1,81 @@
apiVersion: v1
data:
vault.pem: |
-----BEGIN CERTIFICATE-----
MIIEszCCA5ugAwIBAgIUZEzzxqEuYiKHkL1df+Cb22NRRJMwDQYJKoZIhvcNAQEL
BQAwFDESMBAGA1UEAxMJZHVycC5pbmZvMB4XDTI1MDEyMzIyMzQ0MloXDTM1MDEy
MTExMTU1NVowIDEeMBwGA1UEAxMVdmF1bHQuaW5mcmEuZHVycC5pbmZvMIIBIjAN
BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkZM0ue4bMcmmATs+kGYSpR2hLUzq
scGIwCtqmaKCMbd1xhmgjnIR3zvSRptLR2GVGvc1ti6qby0jXYvcqbxkHvay00zW
2zYN+M2m4lXpuWzg1t6NEoO6XGAsGj2v0vcVktPPU9uj0rGUVGWWfsvjoXqQFg5I
jdxsxK9SvMvw2XtE3FgKxpzCyw94InIHlcPwFTO+3ZdKStZlMbUDIkmszLBrWFcr
XOsPDfLxqMy0Ck//LKIt8djh3254FHB1GG5+kI+JSW1o+tUcL2NymvIINwm/2acS
1uTm+j9W7iEXav0pJNmm+/dzSskc3Y0ftM0h2HCXgitBIaEZnUVneNHOLwIDAQAB
o4IB7zCCAeswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O
BBYEFCaQ2q7j7LyBGETEZ5qaJAdlISKCMB8GA1UdIwQYMBaAFO1jCyGkpFO+QiR2
dfBMWVYeWrQ2MIH0BggrBgEFBQcBAQSB5zCB5DAzBggrBgEFBQcwAYYnaHR0cHM6
Ly8xOTIuMTY4LjIwLjI1Mzo4MjAxL3YxL3BraS9vY3NwMD0GCCsGAQUFBzABhjFo
dHRwczovL3Jvb3QtdmF1bHQuaW50ZXJuYWwuZHVycC5pbmZvL3YxL3BraS9vY3Nw
MDEGCCsGAQUFBzAChiVodHRwczovLzE5Mi4xNjguMjAuMjUzOjgyMDEvdjEvcGtp
L2NhMDsGCCsGAQUFBzAChi9odHRwczovL3Jvb3QtdmF1bHQuaW50ZXJuYWwuZHVy
cC5pbmZvL3YxL3BraS9jYTAgBgNVHREEGTAXghV2YXVsdC5pbmZyYS5kdXJwLmlu
Zm8wbwYDVR0fBGgwZjAsoCqgKIYmaHR0cHM6Ly8xOTIuMTY4LjIwLjI1Mzo4MjAx
L3YxL3BraS9jcmwwNqA0oDKGMGh0dHBzOi8vcm9vdC12YXVsdC5pbnRlcm5hbC5k
dXJwLmluZm8vdjEvcGtpL2NybDANBgkqhkiG9w0BAQsFAAOCAQEAuJ+lplY/+A5L
5LzkljbKDTy3U6PLv1LtxqVCOFGiJXBnXMjtVW07bBEUadzFRNW8GHQ3w5QzOG6k
/vE/TrrJho7l05J/uc+BUrPSNjefLmQV6hn4jrP86PR0vzRfbSqKKBIID9M7+zi6
GFvHlVkSHsQyMQp7JOoax9KVzW2Y+OIgw7Lgw2tP122WCt2SIF0QenoZHsoW0guj
tzTJRmJDjn6XeJ7L3FPkf37H6ub0Jg3zBGr6eorEFfYZNN5CXezjqMFBpRdq4UIo
1M3A7o3uyZFcFsp/vGDcMBkwaCsBV9idu/HwkvGaTUNI285ilBORPD0bMZnACq/9
+Q/cdsO5lg==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEmzCCA4OgAwIBAgIUQwCAs82sgSuiaVbjANHScO2DSfAwDQYJKoZIhvcNAQEL
BQAwFDESMBAGA1UEAxMJZHVycC5pbmZvMB4XDTI1MDEyMzExMjEyNVoXDTM1MDEy
MTExMTU1NVowFDESMBAGA1UEAxMJZHVycC5pbmZvMIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEAn9fjGRqqFsqguz56X6cXZwEMtD9wElwSFCb4Fc8YTzlH
4fV13QwXKESLE/Q+7bw4y4FJQ8BiGNbxxbQOOgWhfGGlQyFa1lfhJtYLfqRN5C2/
S7nr0YxDB9duc4OAExVL6Pr4/Koc+vDZY03l7RzwnF2AOM9DjFTASw01TphCQjRk
U+upiN2TUhUPejV/gMR+zXM6pn98UBKG1dNubS0HzAMwAEXAPm141NDyWUCPT9+3
6P03Ka8mUTx3X49OCtvJEGEQbtlnTFQaOSkP1yLW+XRMHw3sQaV2PWXu5fInbEpZ
+SuzmgLOXtmQNmHLav9q1qeTVkpBGPWvfh2Vh1JJhQIDAQABo4IB4zCCAd8wDgYD
VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJaP17f1Zw0V
55Ks9Uf0USVWl0BPMB8GA1UdIwQYMBaAFO1jCyGkpFO+QiR2dfBMWVYeWrQ2MIH0
BggrBgEFBQcBAQSB5zCB5DAzBggrBgEFBQcwAYYnaHR0cHM6Ly8xOTIuMTY4LjIw
LjI1Mzo4MjAxL3YxL3BraS9vY3NwMD0GCCsGAQUFBzABhjFodHRwczovL3Jvb3Qt
dmF1bHQuaW50ZXJuYWwuZHVycC5pbmZvL3YxL3BraS9vY3NwMDEGCCsGAQUFBzAC
hiVodHRwczovLzE5Mi4xNjguMjAuMjUzOjgyMDEvdjEvcGtpL2NhMDsGCCsGAQUF
BzAChi9odHRwczovL3Jvb3QtdmF1bHQuaW50ZXJuYWwuZHVycC5pbmZvL3YxL3Br
aS9jYTAUBgNVHREEDTALgglkdXJwLmluZm8wbwYDVR0fBGgwZjAsoCqgKIYmaHR0
cHM6Ly8xOTIuMTY4LjIwLjI1Mzo4MjAxL3YxL3BraS9jcmwwNqA0oDKGMGh0dHBz
Oi8vcm9vdC12YXVsdC5pbnRlcm5hbC5kdXJwLmluZm8vdjEvcGtpL2NybDANBgkq
hkiG9w0BAQsFAAOCAQEAiqAZ4zNIEkCWcvpDRq0VyJuk59sVtJr5X4FscHQ179nE
QbbvMe+EBDFS6XQml1Elj8jiPa/D5O9Oc6Iisnm5+weZKwApz/lQ+XVkWLCoEplB
ZZ9fcWVCbMLt0xlt8qn5z/mYKfbCT7ZCqDO+prQZt+ADJcQbiknfroAAqEbNKxwN
Y9uUyOWNF3SxJEch4w2dtX+IEVmxeZnhMy8OuP0SQKl8aW40ugiG0ZD5yTBBfOD9
zsrGSU/iSatn0b7bevBhaL96hz1/rNR1cL+4/albX2hrr8Rv3/SB2DLtNQlQW0ls
AfhXAqP5zL+Ytgf1Of/pVdgnhxrYUY7RKCSGY5Hagw==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDLzCCAhegAwIBAgIUNHdvOzam2HPVdwXpMHUy4wl8ZRYwDQYJKoZIhvcNAQEL
BQAwFDESMBAGA1UEAxMJZHVycC5pbmZvMB4XDTI1MDEyMzExMTUyNVoXDTM1MDEy
MTExMTU1NVowFDESMBAGA1UEAxMJZHVycC5pbmZvMIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEA8XDTVEtRI3+k4yuvqVqfIiLRQJcXbmhfVtAeYk+5j9Ox
p1w9YHdnPLqLFrD1PzadjqYeAp/fwlEFfs6lqwoTS8S9vhaFqcgB57nVMb77dTBb
/08XHXOU6FPRjdFKm5QMpS7tn1XacPMy/o0bKqRREQeiuFDGVRyuF5PUgvWc1dvJ
l27JvvgYktgjfpNS4DlCxg4lGXT5abvaKf2hnr65egaIo/yRWN9wnvAzRiY7oci7
GA1oKz87Yc1tfL2gcynrwccOOCF/eUKesJR1I6GXNkN/a1fcr+Ld9Z9NhHBtO+vE
N8DsZY+kG7DE3M4BCCTFUzllcYHjaW4HaF9vZW+PYwIDAQABo3kwdzAOBgNVHQ8B
Af8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU7WMLIaSkU75CJHZ1
8ExZVh5atDYwHwYDVR0jBBgwFoAU7WMLIaSkU75CJHZ18ExZVh5atDYwFAYDVR0R
BA0wC4IJZHVycC5pbmZvMA0GCSqGSIb3DQEBCwUAA4IBAQAS/qUI/1Yv07xUTK5k
r93kC7GSPpmpkXIsfjChAl93sebN143fu70NUP74jjCc0Wkb8hRofGg10E+/24r1
AI0KsLhzKzfIASxUVQAn8RTptLruaaPLboSA4MUZ8IB5y8Vy8E3/KtD0gD80j64Y
rm9XGHA0HTJHbPUTb/Rux2g0E7WtiyWSWH8mqzbegU8IrkM3eVT4+ylBE7YkfWDD
dw44sB71tfmDKpzWg6XQ6YMh0YfnyG1fYCj9LhuecNY9Uuo6cjDaAvkzMewWwqDx
Q2Ekas98Di6itCP8vET+gBDjeCc+XR6Hx6vzWmxlZhwDuxEKL1a2/DabUxJyMNzv
55Fn
-----END CERTIFICATE-----
kind: ConfigMap
metadata:
name: ca-pemstore

View File

@@ -0,0 +1,94 @@
external-secrets:
replicaCount: 3
revisionHistoryLimit: 1
leaderElect: true
installCRDs: true
crds:
createClusterExternalSecret: true
createClusterSecretStore: true
createClusterGenerator: true
createPushSecret: true
conversion:
enabled: false
image:
repository: registry.durp.info/external-secrets/external-secrets
pullPolicy: Always
extraVolumes:
- name: ca-pemstore
configMap:
name: ca-pemstore
extraVolumeMounts:
- name: ca-pemstore
mountPath: /etc/ssl/certs/vault.pem
subPath: vault.pem
readOnly: true
resources:
requests:
memory: 32Mi
cpu: 10m
limits:
memory: 32Mi
cpu: 10m
webhook:
create: false
failurePolicy: Ignore
log:
level: debug
image:
repository: registry.durp.info/external-secrets/external-secrets
pullPolicy: Always
extraVolumes:
- name: ca-pemstore
configMap:
name: ca-pemstore
extraVolumeMounts:
- name: ca-pemstore
mountPath: /etc/ssl/certs/vault.pem
subPath: vault.pem
readOnly: true
resources:
requests:
memory: 32Mi
cpu: 10m
limits:
memory: 32Mi
cpu: 10m
certController:
create: false
revisionHistoryLimit: 1
log:
level: debug
image:
repository: registry.durp.info/external-secrets/external-secrets
pullPolicy: Always
tag: ""
resources:
requests:
memory: 32Mi
cpu: 10m
limits:
memory: 32Mi
cpu: 10m
extraVolumes:
- name: ca-pemstore
configMap:
name: ca-pemstore
extraVolumeMounts:
- name: ca-pemstore
mountPath: /etc/ssl/certs/vault.pem
subPath: vault.pem
readOnly: true

View File

@@ -0,0 +1,12 @@
apiVersion: v2
name: metallb-system
description: A Helm chart for Kubernetes
type: application
version: 0.1.0
appVersion: "1.16.0"
dependencies:
- name: metallb
repository: https://metallb.github.io/metallb
version: 0.15.2

View File

@@ -0,0 +1,17 @@
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: cheap
spec:
addresses:
- 192.168.10.130-192.168.10.140
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: pool
namespace: metallb-system
spec:
ipAddressPools:
- cheap

115
dev/terraform/k3s.tf Normal file
View File

@@ -0,0 +1,115 @@
resource "proxmox_vm_qemu" "k3smaster" {
count = local.k3smaster.count
ciuser = "administrator"
vmid = "${local.vlan}${local.k3smaster.ip[count.index]}"
name = local.k3smaster.name[count.index]
target_node = local.k3smaster.node[count.index]
clone = local.template
tags = local.k3smaster.tags
qemu_os = "l26"
full_clone = true
os_type = "cloud-init"
agent = 1
cores = local.k3smaster.cores
sockets = 1
cpu_type = "host"
memory = local.k3smaster.memory
scsihw = "virtio-scsi-pci"
#bootdisk = "scsi0"
boot = "order=virtio0"
onboot = true
sshkeys = local.sshkeys
vga {
type = "serial0"
}
serial {
id = 0
type = "socket"
}
disks {
ide {
ide2 {
cloudinit {
storage = local.k3smaster.storage
}
}
}
virtio {
virtio0 {
disk {
size = local.k3smaster.drive
format = local.format
storage = local.k3smaster.storage
}
}
}
}
network {
id = 0
model = "virtio"
bridge = "vmbr0"
tag = local.vlan
}
#Cloud Init Settings
ipconfig0 = "ip=192.168.${local.vlan}.${local.k3smaster.ip[count.index]}/24,gw=192.168.${local.vlan}.1"
searchdomain = "durp.loc"
nameserver = local.dnsserver
}
resource "proxmox_vm_qemu" "k3sserver" {
count = local.k3sserver.count
ciuser = "administrator"
vmid = "${local.vlan}${local.k3sserver.ip[count.index]}"
name = local.k3sserver.name[count.index]
target_node = local.k3sserver.node[count.index]
clone = local.template
tags = local.k3sserver.tags
qemu_os = "l26"
full_clone = true
os_type = "cloud-init"
agent = 1
cores = local.k3sserver.cores
sockets = 1
cpu_type = "host"
memory = local.k3sserver.memory
scsihw = "virtio-scsi-pci"
#bootdisk = "scsi0"
boot = "order=virtio0"
onboot = true
sshkeys = local.sshkeys
vga {
type = "serial0"
}
serial {
id = 0
type = "socket"
}
disks {
ide {
ide2 {
cloudinit {
storage = local.k3sserver.storage
}
}
}
virtio {
virtio0 {
disk {
size = local.k3sserver.drive
format = local.format
storage = local.k3sserver.storage
}
}
}
}
network {
id = 0
model = "virtio"
bridge = "vmbr0"
tag = local.vlan
}
#Cloud Init Settings
ipconfig0 = "ip=192.168.${local.vlan}.${local.k3sserver.ip[count.index]}/24,gw=192.168.${local.vlan}.1"
searchdomain = "durp.loc"
nameserver = local.dnsserver
}

48
dev/terraform/main.tf Normal file
View File

@@ -0,0 +1,48 @@
terraform {
backend "http" {}
required_providers {
proxmox = {
source = "Telmate/proxmox"
version = "3.0.1-rc9"
}
}
}
provider "proxmox" {
pm_parallel = 1
pm_tls_insecure = true
pm_api_url = var.pm_api_url
pm_user = var.pm_user
pm_password = var.pm_password
pm_debug = false
}
locals {
sshkeys = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDEphzWgwUZnvL6E5luKLt3WO0HK7Kh63arSMoNl5gmjzXyhG1DDW0OKfoIl0T+JZw/ZjQ7iii6tmSLFRk6nuYCldqe5GVcFxvTzX4/xGEioAyG0IiUGKy6s+9xzO8QXF0EtSNPH0nfHNKcCjgwWAzM+Lt6gW0Vqs+aU5ICuDiEchmvYPz+rBaVldJVTG7m3ogKJ2aIF7HU/pCPp5l0E9gMOw7s0ABijuc3KXLEWCYgL39jIST6pFH9ceRLmu8Xy5zXHAkkEEauY/e6ld0hlzLadiUD7zYJMdDcm0oRvenYcUlaUl9gS0569IpfsJsjCejuqOxCKzTHPJDOT0f9TbIqPXkGq3s9oEJGpQW+Z8g41BqRpjBCdBk+yv39bzKxlwlumDwqgx1WP8xxKavAWYNqNRG7sBhoWwtxYEOhKXoLNjBaeDRnO5OY5AQJvONWpuByyz0R/gTh4bOFVD+Y8WWlKbT4zfhnN70XvapRsbZiaGhJBPwByAMGg6XxSbC6xtbyligVGCEjCXbTLkeKq1w0DuItY+FBGO3J2k90OiciTVSeyiVz9J/Y03UB0gHdsMCoVNrj+9QWfrTLDhM7D5YrXUt5nj2LQTcbtf49zoQXWxUhozlg42E/FJU/Yla7y55qWizAEVyP2/Ks/PHrF679k59HNd2IJ/aicA9QnmWtLQ== ansible"
template = "Debian12-Template"
format = "raw"
dnsserver = "192.168.10.1"
vlan = 10
k3smaster = {
tags = "k3s_dev"
count = 3
name = ["master01-dev", "master02-dev", "master03-dev"]
cores = 2
memory = "4096"
drive = 20
storage = "cache-domains"
node = ["mothership", "overlord", "vanguard"]
ip = ["11", "12", "13"]
}
k3sserver = {
tags = "k3s_dev"
count = 3
name = ["node01-dev", "node02-dev", "node03-dev"]
cores = 4
memory = "8192"
drive = 120
storage = "cache-domains"
node = ["mothership", "overlord", "vanguard"]
ip = ["21", "22", "23"]
}
}

View File

@@ -0,0 +1,14 @@
variable "pm_api_url" {
description = "API URL to Proxmox provider"
type = string
}
variable "pm_password" {
description = "Passowrd to Proxmox provider"
type = string
}
variable "pm_user" {
description = "Username to Proxmox provider"
type = string
}

View File

@@ -8,4 +8,4 @@ appVersion: 0.0.1
dependencies:
- name: traefik
repository: https://traefik.github.io/charts
version: 22.1.0
version: 34.5.0

58
dev/traefik/values.yaml Normal file
View File

@@ -0,0 +1,58 @@
traefik:
image:
# registry: registry.durp.info
# repository: traefik
pullPolicy: Always
providers:
kubernetesCRD:
allowCrossNamespace: true
allowExternalNameServices: true
allowEmptyServices: false
deployment:
replicas: 3
revisionHistoryLimit: 1
# volumes:
# - name: traefik-configmap
# mountPath: "/config"
# type: configMap
ingressRoute:
dashboard:
enabled: true
additionalArguments:
# - "--providers.file.filename=/config/config.yml"
- "--serversTransport.insecureSkipVerify=true"
- "--log.level=DEBUG"
- --experimental.plugins.jwt.moduleName=github.com/traefik-plugins/traefik-jwt-plugin
- --experimental.plugins.jwt.version=v0.7.0
autoscaling:
enabled: true
minReplicas: 3
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 80
behavior:
scaleDown:
stabilizationWindowSeconds: 300
policies:
- type: Pods
value: 1
periodSeconds: 60
# -- [Resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for `traefik` container.
resources:
requests:
cpu: "100m"
memory: "512Mi"
limits:
memory: "512Mi"

View File

@@ -8,5 +8,5 @@ appVersion: 0.0.1
dependencies:
- name: vault
repository: https://helm.releases.hashicorp.com
version: 0.27.0
version: 0.30.0

View File

@@ -0,0 +1,23 @@
apiVersion: external-secrets.io/v1
kind: ClusterSecretStore
metadata:
name: vault
spec:
provider:
vault:
server: "https://vault.infra.durp.info"
path: "kv"
version: "v2"
auth:
kubernetes:
mountPath: "dmz-cluster"
role: "external-secrets"
serviceAccountRef:
name: "vault"
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: vault

13
dev/vault/values.yaml Normal file
View File

@@ -0,0 +1,13 @@
vault:
global:
enabled: true
tlsDisable: false
externalVaultAddr: "https://vault.infra.durp.info"
resources:
requests:
memory: 256Mi
cpu: 250m
limits:
memory: 256Mi
cpu: 250m

View File

@@ -0,0 +1,95 @@
stages:
- plan
- apply
- destroy
variables:
WORKDIR: $CI_PROJECT_DIR/dmz/terraform
GITLAB_TF_ADDRESS: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/terraform/state/dmz
image:
name: registry.durp.info/opentofu/opentofu:latest
entrypoint: [""]
.tf-init:
before_script:
- cd $WORKDIR
- tofu init
-reconfigure
-backend-config="address=${GITLAB_TF_ADDRESS}"
-backend-config="lock_address=${GITLAB_TF_ADDRESS}/lock"
-backend-config="unlock_address=${GITLAB_TF_ADDRESS}/lock"
-backend-config="username=gitlab-ci-token"
-backend-config="password=${CI_JOB_TOKEN}"
-backend-config="lock_method=POST"
-backend-config="unlock_method=DELETE"
-backend-config="retry_wait_min=5"
format:
stage: .pre
allow_failure: false
script:
- cd $WORKDIR
- tofu fmt -diff -check -write=false
rules:
- changes:
- "dmz/terraform/*.tf"
validate:
stage: .pre
allow_failure: false
extends: .tf-init
script:
- tofu validate
rules:
- changes:
- "dmz/terraform/*.tf"
plan-dmz-infrastructure:
stage: plan
variables:
PLAN: plan.tfplan
JSON_PLAN_FILE: tfplan.json
ENVIRONMENT_NAME: dmz
allow_failure: false
extends: .tf-init
script:
- apk add --update curl jq
- alias convert_report="jq -r '([.resource_changes[].change.actions?]|flatten)|{\"create\":(map(select(.==\"create\"))|length),\"update\":(map(select(.==\"update\"))|length),\"delete\":(map(select(.==\"delete\"))|length)}'"
- tofu plan -out=$PLAN $ARGUMENTS
- tofu show --json $PLAN | jq -r '([.resource_changes[].change.actions?]|flatten)|{"create":(map(select(.=="create"))|length),"update":(map(select(.=="update"))|length),"delete":(map(select(.=="delete"))|length)}' > $JSON_PLAN_FILE
artifacts:
reports:
terraform: $WORKDIR/$JSON_PLAN_FILE
needs: ["validate","format"]
rules:
- changes:
- "dmz/terraform/*.tf"
apply-dmz-infrastructure:
stage: apply
variables:
ENVIRONMENT_NAME: dmz
allow_failure: false
extends: .tf-init
script:
- tofu apply -auto-approve $ARGUMENTS
rules:
- changes:
- "dmz/terraform/*.tf"
when: manual
needs: ["plan-dmz-infrastructure"]
destroy-dmz-infrastructure:
stage: destroy
variables:
ENVIRONMENT_NAME: dmz
allow_failure: false
extends: .tf-init
script:
- tofu destroy -auto-approve $ARGUMENTS
rules:
- changes:
- "dmz/terraform/*.tf"
when: manual
needs: ["plan-dmz-infrastructure"]

12
dmz/authentik/Chart.yaml Normal file
View File

@@ -0,0 +1,12 @@
apiVersion: v2
name: authentik
description: A Helm chart for Kubernetes
type: application
version: 0.1.0
appVersion: "1.16.0"
dependencies:
- name: authentik-remote-cluster
repository: https://charts.goauthentik.io
version: 2.1.0

View File

@@ -1,4 +1,18 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: authentik-tls
spec:
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
secretName: authentik-tls
commonName: "authentik.durp.info"
dnsNames:
- "authentik.durp.info"
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: authentik-ingress
@@ -6,31 +20,15 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`authentik.durp.info`) && PathPrefix(`/`)
kind: Rule
services:
- name: authentik-server
port: 80
- match: Host(`authentik.durp.info`) && PathPrefix(`/`)
kind: Rule
services:
- name: infra-cluster
port: 443
tls:
secretName: authentik-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: authentik-tls
spec:
secretName: authentik-tls
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
commonName: "authentik.durp.info"
dnsNames:
- "authentik.durp.info"
---
kind: Service
apiVersion: v1
metadata:
@@ -40,3 +38,25 @@ metadata:
spec:
type: ExternalName
externalName: durp.info
---
apiVersion: v1
kind: Endpoints
metadata:
name: infra-cluster
subsets:
- addresses:
- ip: 192.168.12.130
ports:
- port: 443
---
apiVersion: v1
kind: Service
metadata:
name: infra-cluster
spec:
ports:
- protocol: TCP
port: 443
targetPort: 443

30
dmz/authentik/values.yaml Normal file
View File

@@ -0,0 +1,30 @@
authentik-remote-cluster:
# -- Provide a name in place of `authentik`. Prefer using global.nameOverride if possible
nameOverride: ""
# -- String to fully override `"authentik.fullname"`. Prefer using global.fullnameOverride if possible
fullnameOverride: ""
# -- Override the Kubernetes version, which is used to evaluate certain manifests
kubeVersionOverride: ""
## Globally shared configuration for authentik components.
global:
# -- Provide a name in place of `authentik`
nameOverride: ""
# -- String to fully override `"authentik.fullname"`
fullnameOverride: ""
# -- A custom namespace to override the default namespace for the deployed resources.
namespaceOverride: ""
# -- Common labels for all resources.
additionalLabels: {}
# app: authentik
# -- Annotations to apply to all resources
annotations: {}
serviceAccountSecret:
# -- Create a secret with the service account credentials
enabled: true
clusterRole:
# -- Create a clusterole in addition to a namespaced role.
enabled: true

View File

@@ -0,0 +1,11 @@
apiVersion: v2
name: cert-manager
description: A Helm chart for Kubernetes
type: application
version: 0.0.1
appVersion: 0.0.1
dependencies:
- name: cert-manager
repository: https://charts.jetstack.io
version: v1.17.2

View File

@@ -0,0 +1,16 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: issuer
secrets:
- name: issuer-token-lmzpj
---
apiVersion: v1
kind: Secret
metadata:
name: issuer-token-lmzpj
annotations:
kubernetes.io/service-account.name: issuer
type: kubernetes.io/service-account-token

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,22 @@
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: cloudflare-api-token-secret
spec:
secretStoreRef:
name: vault
kind: ClusterSecretStore
target:
name: cloudflare-api-token-secret
data:
- secretKey: cloudflare-api-token-secret
remoteRef:
key: kv/cert-manager
property: cloudflare-api-token-secret
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: vault

View File

@@ -0,0 +1,31 @@
cert-manager:
crds:
enabled: true
image:
registry: registry.durp.info
repository: jetstack/cert-manager-controller
pullPolicy: Always
replicaCount: 3
extraArgs:
- --dns01-recursive-nameservers=1.1.1.1:53,1.0.0.1:53
- --dns01-recursive-nameservers-only
podDnsPolicy: None
podDnsConfig:
nameservers:
- "1.1.1.1"
- "1.0.0.1"
webhook:
image:
registry: registry.durp.info
repository: jetstack/cert-manager-webhook
pullPolicy: Always
cainjector:
image:
registry: registry.durp.info
repository: jetstack/cert-manager-cainjector
pullPolicy: Always
hostAliases:
- ip: 192.168.12.130
hostnames:
- vault.infra.durp.info

11
dmz/crowdsec/Chart.yaml Normal file
View File

@@ -0,0 +1,11 @@
apiVersion: v2
name: crowdsec
description: A Helm chart for Kubernetes
type: application
version: 0.0.1
appVersion: 0.0.1
dependencies:
- name: crowdsec
repository: https://crowdsecurity.github.io/helm-charts
version: 0.19.4

View File

@@ -0,0 +1,29 @@
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: enroll-key
spec:
secretStoreRef:
name: vault
kind: ClusterSecretStore
target:
name: enroll-key
data:
- secretKey: ENROLL_INSTANCE_NAME
remoteRef:
key: kv/crowdsec/dmz-enroll
property: ENROLL_INSTANCE_NAME
- secretKey: ENROLL_KEY
remoteRef:
key: kv/crowdsec/dmz-enroll
property: ENROLL_KEY
- secretKey: ENROLL_TAGS
remoteRef:
key: kv/crowdsec/dmz-enroll
property: ENROLL_TAGS
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: vault

24
dmz/crowdsec/values.yaml Normal file
View File

@@ -0,0 +1,24 @@
crowdsec:
#
image:
repository: registry.durp.info/crowdsecurity/crowdsec
pullPolicy: Always
# for raw logs format: json or cri (docker|containerd)
container_runtime: containerd
agent:
# Specify each pod whose logs you want to process
acquisition:
# The namespace where the pod is located
- namespace: traefik
# The pod name
podName: traefik-*
# as in crowdsec configuration, we need to specify the program name to find a matching parser
program: traefik
env:
- name: COLLECTIONS
value: "crowdsecurity/traefik"
lapi:
envFrom:
- secretRef:
name: enroll-key

View File

@@ -0,0 +1,12 @@
apiVersion: v2
name: external-dns
description: A Helm chart for Kubernetes
type: application
version: 0.0.1
appVersion: 0.0.1
dependencies:
- name: external-dns
repository: https://charts.bitnami.com/bitnami
version: 8.9.2

View File

@@ -0,0 +1,30 @@
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: external-dns-secret
spec:
secretStoreRef:
name: vault
kind: ClusterSecretStore
target:
name: external-dns
data:
- secretKey: cloudflare_api_email
remoteRef:
key: kv/cloudflare
property: cloudflare_api_email
- secretKey: cloudflare_api_key
remoteRef:
key: kv/cloudflare
property: cloudflare_api_key
- secretKey: cloudflare_api_token
remoteRef:
key: kv/cloudflare
property: cloudflare_api_token
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: vault

View File

@@ -0,0 +1,20 @@
external-dns:
global:
imageRegistry: "registry.durp.info"
security:
allowInsecureImages: true
image:
pullPolicy: Always
txtPrefix: "dmz-"
sources:
- service
provider: cloudflare
cloudflare:
secretName: "external-dns"
proxied: false
policy: sync

View File

@@ -0,0 +1,11 @@
apiVersion: v2
name: external-secrets
description: A Helm chart for Kubernetes
type: application
version: 0.0.1
appVersion: 0.0.1
dependencies:
- name: external-secrets
repository: https://charts.external-secrets.io
version: 0.17.0

View File

@@ -0,0 +1,81 @@
apiVersion: v1
data:
vault.pem: |
-----BEGIN CERTIFICATE-----
MIIEszCCA5ugAwIBAgIUZEzzxqEuYiKHkL1df+Cb22NRRJMwDQYJKoZIhvcNAQEL
BQAwFDESMBAGA1UEAxMJZHVycC5pbmZvMB4XDTI1MDEyMzIyMzQ0MloXDTM1MDEy
MTExMTU1NVowIDEeMBwGA1UEAxMVdmF1bHQuaW5mcmEuZHVycC5pbmZvMIIBIjAN
BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkZM0ue4bMcmmATs+kGYSpR2hLUzq
scGIwCtqmaKCMbd1xhmgjnIR3zvSRptLR2GVGvc1ti6qby0jXYvcqbxkHvay00zW
2zYN+M2m4lXpuWzg1t6NEoO6XGAsGj2v0vcVktPPU9uj0rGUVGWWfsvjoXqQFg5I
jdxsxK9SvMvw2XtE3FgKxpzCyw94InIHlcPwFTO+3ZdKStZlMbUDIkmszLBrWFcr
XOsPDfLxqMy0Ck//LKIt8djh3254FHB1GG5+kI+JSW1o+tUcL2NymvIINwm/2acS
1uTm+j9W7iEXav0pJNmm+/dzSskc3Y0ftM0h2HCXgitBIaEZnUVneNHOLwIDAQAB
o4IB7zCCAeswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O
BBYEFCaQ2q7j7LyBGETEZ5qaJAdlISKCMB8GA1UdIwQYMBaAFO1jCyGkpFO+QiR2
dfBMWVYeWrQ2MIH0BggrBgEFBQcBAQSB5zCB5DAzBggrBgEFBQcwAYYnaHR0cHM6
Ly8xOTIuMTY4LjIwLjI1Mzo4MjAxL3YxL3BraS9vY3NwMD0GCCsGAQUFBzABhjFo
dHRwczovL3Jvb3QtdmF1bHQuaW50ZXJuYWwuZHVycC5pbmZvL3YxL3BraS9vY3Nw
MDEGCCsGAQUFBzAChiVodHRwczovLzE5Mi4xNjguMjAuMjUzOjgyMDEvdjEvcGtp
L2NhMDsGCCsGAQUFBzAChi9odHRwczovL3Jvb3QtdmF1bHQuaW50ZXJuYWwuZHVy
cC5pbmZvL3YxL3BraS9jYTAgBgNVHREEGTAXghV2YXVsdC5pbmZyYS5kdXJwLmlu
Zm8wbwYDVR0fBGgwZjAsoCqgKIYmaHR0cHM6Ly8xOTIuMTY4LjIwLjI1Mzo4MjAx
L3YxL3BraS9jcmwwNqA0oDKGMGh0dHBzOi8vcm9vdC12YXVsdC5pbnRlcm5hbC5k
dXJwLmluZm8vdjEvcGtpL2NybDANBgkqhkiG9w0BAQsFAAOCAQEAuJ+lplY/+A5L
5LzkljbKDTy3U6PLv1LtxqVCOFGiJXBnXMjtVW07bBEUadzFRNW8GHQ3w5QzOG6k
/vE/TrrJho7l05J/uc+BUrPSNjefLmQV6hn4jrP86PR0vzRfbSqKKBIID9M7+zi6
GFvHlVkSHsQyMQp7JOoax9KVzW2Y+OIgw7Lgw2tP122WCt2SIF0QenoZHsoW0guj
tzTJRmJDjn6XeJ7L3FPkf37H6ub0Jg3zBGr6eorEFfYZNN5CXezjqMFBpRdq4UIo
1M3A7o3uyZFcFsp/vGDcMBkwaCsBV9idu/HwkvGaTUNI285ilBORPD0bMZnACq/9
+Q/cdsO5lg==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEmzCCA4OgAwIBAgIUQwCAs82sgSuiaVbjANHScO2DSfAwDQYJKoZIhvcNAQEL
BQAwFDESMBAGA1UEAxMJZHVycC5pbmZvMB4XDTI1MDEyMzExMjEyNVoXDTM1MDEy
MTExMTU1NVowFDESMBAGA1UEAxMJZHVycC5pbmZvMIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEAn9fjGRqqFsqguz56X6cXZwEMtD9wElwSFCb4Fc8YTzlH
4fV13QwXKESLE/Q+7bw4y4FJQ8BiGNbxxbQOOgWhfGGlQyFa1lfhJtYLfqRN5C2/
S7nr0YxDB9duc4OAExVL6Pr4/Koc+vDZY03l7RzwnF2AOM9DjFTASw01TphCQjRk
U+upiN2TUhUPejV/gMR+zXM6pn98UBKG1dNubS0HzAMwAEXAPm141NDyWUCPT9+3
6P03Ka8mUTx3X49OCtvJEGEQbtlnTFQaOSkP1yLW+XRMHw3sQaV2PWXu5fInbEpZ
+SuzmgLOXtmQNmHLav9q1qeTVkpBGPWvfh2Vh1JJhQIDAQABo4IB4zCCAd8wDgYD
VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJaP17f1Zw0V
55Ks9Uf0USVWl0BPMB8GA1UdIwQYMBaAFO1jCyGkpFO+QiR2dfBMWVYeWrQ2MIH0
BggrBgEFBQcBAQSB5zCB5DAzBggrBgEFBQcwAYYnaHR0cHM6Ly8xOTIuMTY4LjIw
LjI1Mzo4MjAxL3YxL3BraS9vY3NwMD0GCCsGAQUFBzABhjFodHRwczovL3Jvb3Qt
dmF1bHQuaW50ZXJuYWwuZHVycC5pbmZvL3YxL3BraS9vY3NwMDEGCCsGAQUFBzAC
hiVodHRwczovLzE5Mi4xNjguMjAuMjUzOjgyMDEvdjEvcGtpL2NhMDsGCCsGAQUF
BzAChi9odHRwczovL3Jvb3QtdmF1bHQuaW50ZXJuYWwuZHVycC5pbmZvL3YxL3Br
aS9jYTAUBgNVHREEDTALgglkdXJwLmluZm8wbwYDVR0fBGgwZjAsoCqgKIYmaHR0
cHM6Ly8xOTIuMTY4LjIwLjI1Mzo4MjAxL3YxL3BraS9jcmwwNqA0oDKGMGh0dHBz
Oi8vcm9vdC12YXVsdC5pbnRlcm5hbC5kdXJwLmluZm8vdjEvcGtpL2NybDANBgkq
hkiG9w0BAQsFAAOCAQEAiqAZ4zNIEkCWcvpDRq0VyJuk59sVtJr5X4FscHQ179nE
QbbvMe+EBDFS6XQml1Elj8jiPa/D5O9Oc6Iisnm5+weZKwApz/lQ+XVkWLCoEplB
ZZ9fcWVCbMLt0xlt8qn5z/mYKfbCT7ZCqDO+prQZt+ADJcQbiknfroAAqEbNKxwN
Y9uUyOWNF3SxJEch4w2dtX+IEVmxeZnhMy8OuP0SQKl8aW40ugiG0ZD5yTBBfOD9
zsrGSU/iSatn0b7bevBhaL96hz1/rNR1cL+4/albX2hrr8Rv3/SB2DLtNQlQW0ls
AfhXAqP5zL+Ytgf1Of/pVdgnhxrYUY7RKCSGY5Hagw==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDLzCCAhegAwIBAgIUNHdvOzam2HPVdwXpMHUy4wl8ZRYwDQYJKoZIhvcNAQEL
BQAwFDESMBAGA1UEAxMJZHVycC5pbmZvMB4XDTI1MDEyMzExMTUyNVoXDTM1MDEy
MTExMTU1NVowFDESMBAGA1UEAxMJZHVycC5pbmZvMIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEA8XDTVEtRI3+k4yuvqVqfIiLRQJcXbmhfVtAeYk+5j9Ox
p1w9YHdnPLqLFrD1PzadjqYeAp/fwlEFfs6lqwoTS8S9vhaFqcgB57nVMb77dTBb
/08XHXOU6FPRjdFKm5QMpS7tn1XacPMy/o0bKqRREQeiuFDGVRyuF5PUgvWc1dvJ
l27JvvgYktgjfpNS4DlCxg4lGXT5abvaKf2hnr65egaIo/yRWN9wnvAzRiY7oci7
GA1oKz87Yc1tfL2gcynrwccOOCF/eUKesJR1I6GXNkN/a1fcr+Ld9Z9NhHBtO+vE
N8DsZY+kG7DE3M4BCCTFUzllcYHjaW4HaF9vZW+PYwIDAQABo3kwdzAOBgNVHQ8B
Af8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU7WMLIaSkU75CJHZ1
8ExZVh5atDYwHwYDVR0jBBgwFoAU7WMLIaSkU75CJHZ18ExZVh5atDYwFAYDVR0R
BA0wC4IJZHVycC5pbmZvMA0GCSqGSIb3DQEBCwUAA4IBAQAS/qUI/1Yv07xUTK5k
r93kC7GSPpmpkXIsfjChAl93sebN143fu70NUP74jjCc0Wkb8hRofGg10E+/24r1
AI0KsLhzKzfIASxUVQAn8RTptLruaaPLboSA4MUZ8IB5y8Vy8E3/KtD0gD80j64Y
rm9XGHA0HTJHbPUTb/Rux2g0E7WtiyWSWH8mqzbegU8IrkM3eVT4+ylBE7YkfWDD
dw44sB71tfmDKpzWg6XQ6YMh0YfnyG1fYCj9LhuecNY9Uuo6cjDaAvkzMewWwqDx
Q2Ekas98Di6itCP8vET+gBDjeCc+XR6Hx6vzWmxlZhwDuxEKL1a2/DabUxJyMNzv
55Fn
-----END CERTIFICATE-----
kind: ConfigMap
metadata:
name: ca-pemstore

View File

@@ -0,0 +1,100 @@
external-secrets:
global:
security:
allowInsecureImages: true
log:
level: debug
replicaCount: 1
revisionHistoryLimit: 1
leaderElect: false
installCRDs: true
crds:
createClusterExternalSecret: true
createClusterSecretStore: true
createClusterGenerator: true
createPushSecret: true
conversion:
enabled: false
image:
repository: registry.durp.info/external-secrets/external-secrets
pullPolicy: Always
extraVolumes:
- name: ca-pemstore
configMap:
name: ca-pemstore
extraVolumeMounts:
- name: ca-pemstore
mountPath: /etc/ssl/certs/vault.pem
subPath: vault.pem
readOnly: true
# resources:
# requests:
# memory: 32Mi
# cpu: 10m
# limits:
# memory: 32Mi
# cpu: 10m
webhook:
create: false
failurePolicy: Ignore
log:
level: debug
image:
repository: registry.durp.info/external-secrets/external-secrets
pullPolicy: Always
extraVolumes:
- name: ca-pemstore
configMap:
name: ca-pemstore
extraVolumeMounts:
- name: ca-pemstore
mountPath: /etc/ssl/certs/vault.pem
subPath: vault.pem
readOnly: true
# resources:
# requests:
# memory: 32Mi
# cpu: 10m
# limits:
# memory: 32Mi
# cpu: 10m
certController:
create: false
revisionHistoryLimit: 1
log:
level: debug
image:
repository: registry.durp.info/external-secrets/external-secrets
pullPolicy: Always
tag: ""
resources:
requests:
memory: 32Mi
cpu: 10m
limits:
memory: 32Mi
cpu: 10m
extraVolumes:
- name: ca-pemstore
configMap:
name: ca-pemstore
extraVolumeMounts:
- name: ca-pemstore
mountPath: /etc/ssl/certs/vault.pem
subPath: vault.pem
readOnly: true

View File

@@ -0,0 +1,15 @@
apiVersion: v2
name: gitlab-runner
description: A Helm chart for Kubernetes
type: application
version: 0.0.1
appVersion: 0.0.1
dependencies:
- name: gitlab-runner
repository: https://charts.gitlab.io/
version: 0.77.2
- name: gitlab-runner
repository: https://charts.gitlab.io/
version: 0.77.2
alias: personal

View File

@@ -0,0 +1,48 @@
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: gitlab-secret
spec:
secretStoreRef:
name: vault
kind: ClusterSecretStore
target:
name: gitlab-secret
data:
- secretKey: runner-registration-token
remoteRef:
key: kv/gitlab/runner
property: runner-registration-token
- secretKey: runner-token
remoteRef:
key: kv/gitlab/runner
property: runner-token
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: vault
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: gitlab-secret-personal
spec:
secretStoreRef:
name: vault
kind: ClusterSecretStore
target:
name: gitlab-secret-personal
data:
- secretKey: runner-token
remoteRef:
key: kv/gitlab/runner
property: personal-runner-token
- secretKey: runner-registration-token
remoteRef:
key: kv/gitlab/runner
property: personal-runner-token

View File

@@ -0,0 +1,143 @@
gitlab-runner:
image:
registry: registry.durp.info
image: gitlab-org/gitlab-runner
imagePullPolicy: Always
gitlabUrl: https://gitlab.com/
unregisterRunner: false
terminationGracePeriodSeconds: 3600
concurrent: 10
checkInterval: 30
rbac:
create: true
rules: []
clusterWideAccess: false
podSecurityPolicy:
enabled: false
resourceNames:
- gitlab-runner
metrics:
enabled: true
serviceMonitor:
enabled: true
service:
enabled: true
annotations: {}
runners:
config: |
[[runners]]
[runners.kubernetes]
namespace = "{{.Release.Namespace}}"
image = "ubuntu:22.04"
privileged = true
executor: kubernetes
name: "k3s"
runUntagged: true
privileged: true
secret: gitlab-secret
#builds:
#cpuLimit: 200m
#cpuLimitOverwriteMaxAllowed: 400m
#memoryLimit: 256Mi
#memoryLimitOverwriteMaxAllowed: 512Mi
#cpuRequests: 100m
#cpuRequestsOverwriteMaxAllowed: 200m
#memoryRequests: 128Mi
#memoryRequestsOverwriteMaxAllowed: 256Mi
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: false
runAsNonRoot: true
privileged: false
capabilities:
drop: ["ALL"]
podSecurityContext:
runAsUser: 100
fsGroup: 65533
resources:
limits:
memory: 2Gi
requests:
memory: 128Mi
cpu: 500m
personal:
image:
registry: registry.durp.info
image: gitlab-org/gitlab-runner
imagePullPolicy: Always
gitlabUrl: https://gitlab.com/
unregisterRunner: false
terminationGracePeriodSeconds: 3600
concurrent: 10
checkInterval: 30
rbac:
create: true
rules: []
clusterWideAccess: false
podSecurityPolicy:
enabled: false
resourceNames:
- gitlab-runner
metrics:
enabled: true
serviceMonitor:
enabled: true
service:
enabled: true
annotations: {}
runners:
config: |
[[runners]]
[runners.kubernetes]
namespace = "{{.Release.Namespace}}"
image = "ubuntu:22.04"
privileged = true
executor: kubernetes
name: "k3s"
runUntagged: true
privileged: true
secret: gitlab-secret-personal
#builds:
#cpuLimit: 200m
#cpuLimitOverwriteMaxAllowed: 400m
#memoryLimit: 256Mi
#memoryLimitOverwriteMaxAllowed: 512Mi
#cpuRequests: 100m
#cpuRequestsOverwriteMaxAllowed: 200m
#memoryRequests: 128Mi
#memoryRequestsOverwriteMaxAllowed: 256Mi
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: false
runAsNonRoot: true
privileged: false
capabilities:
drop: ["ALL"]
podSecurityContext:
runAsUser: 100
fsGroup: 65533
resources:
limits:
memory: 2Gi
requests:
memory: 128Mi
cpu: 500m

View File

@@ -0,0 +1,40 @@
#apiVersion: traefik.io/v1alpha1
#kind: IngressRoute
#metadata:
# name: authentik-ingress
#spec:
# entryPoints:
# - websecure
# routes:
# - match: Host(`authentik.durp.info`) && PathPrefix(`/`)
# kind: Rule
# services:
# - name: infra-cluster
# port: 443
# tls:
# secretName: authentik-tls
#
#---
#apiVersion: cert-manager.io/v1
#kind: Certificate
#metadata:
# name: authentik-tls
#spec:
# issuerRef:
# name: letsencrypt-production
# kind: ClusterIssuer
# secretName: authentik-tls
# commonName: "authentik.durp.info"
# dnsNames:
# - "authentik.durp.info"
#
#---
#kind: Service
#apiVersion: v1
#metadata:
# name: authentik-external-dns
# annotations:
# external-dns.alpha.kubernetes.io/hostname: authentik.durp.info
#spec:
# type: ExternalName
# externalName: durp.info

View File

@@ -0,0 +1,42 @@
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: bitwarden-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`bitwarden.durp.info`) && PathPrefix(`/`)
kind: Rule
services:
- name: infra-cluster
port: 443
tls:
secretName: bitwarden-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: bitwarden-tls
spec:
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
secretName: bitwarden-tls
commonName: "bitwarden.durp.info"
dnsNames:
- "bitwarden.durp.info"
---
kind: Service
apiVersion: v1
metadata:
name: bitwarden-external-dns
annotations:
external-dns.alpha.kubernetes.io/hostname: bitwarden.durp.info
spec:
type: ExternalName
externalName: durp.info

View File

@@ -0,0 +1,64 @@
apiVersion: v1
kind: Service
metadata:
name: duplicati
spec:
ports:
- name: app
port: 8200
protocol: TCP
targetPort: 8200
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: duplicati
subsets:
- addresses:
- ip: 192.168.21.200
ports:
- name: app
port: 8200
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: duplicati-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`duplicati.internal.durp.info`) && PathPrefix(`/`)
middlewares:
- name: whitelist
namespace: traefik
- name: authentik-proxy-provider
namespace: traefik
kind: Rule
services:
- name: duplicati
port: 8200
tls:
secretName: duplicati-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: duplicati-tls
spec:
secretName: duplicati-tls
issuerRef:
name: vault-issuer
kind: ClusterIssuer
commonName: "duplicati.internal.durp.info"
dnsNames:
- "duplicati.internal.durp.info"

View File

@@ -0,0 +1,45 @@
apiVersion: v1
kind: Endpoints
metadata:
name: master-cluster
subsets:
- addresses:
- ip: 192.168.20.130
ports:
- port: 443
---
apiVersion: v1
kind: Service
metadata:
name: master-cluster
spec:
ports:
- protocol: TCP
port: 443
targetPort: 443
---
apiVersion: v1
kind: Endpoints
metadata:
name: infra-cluster
subsets:
- addresses:
- ip: 192.168.12.130
ports:
- port: 443
---
apiVersion: v1
kind: Service
metadata:
name: infra-cluster
spec:
ports:
- protocol: TCP
port: 443
targetPort: 443

View File

@@ -0,0 +1,72 @@
apiVersion: v1
kind: Service
metadata:
name: gitea
spec:
ports:
- name: app
port: 3000
protocol: TCP
targetPort: 3000
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: gitea
subsets:
- addresses:
- ip: 192.168.21.200
ports:
- name: app
port: 3000
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: gitea-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`gitea.durp.info`) && PathPrefix(`/`)
kind: Rule
services:
- name: gitea
port: 3000
scheme: http
tls:
secretName: gitea-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: gitea-tls
spec:
secretName: gitea-tls
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
commonName: "gitea.durp.info"
dnsNames:
- "gitea.durp.info"
---
kind: Service
apiVersion: v1
metadata:
name: gitea-external-dns
annotations:
external-dns.alpha.kubernetes.io/hostname: gitea.durp.info
spec:
type: ExternalName
externalName: durp.info

View File

@@ -0,0 +1,68 @@
apiVersion: v1
kind: Service
metadata:
name: gitlab
spec:
ports:
- name: app
port: 9080
protocol: TCP
targetPort: 9080
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: gitlab
subsets:
- addresses:
- ip: 192.168.21.200
ports:
- name: app
port: 9080
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: gitlab-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`gitlab.durp.info`) && PathPrefix(`/`)
kind: Rule
services:
- name: gitlab
port: 9080
scheme: http
tls:
secretName: gitlab-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: gitlab-tls
spec:
secretName: gitlab-tls
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
commonName: "gitlab.durp.info"
dnsNames:
- "gitlab.durp.info"
---
kind: Service
apiVersion: v1
metadata:
name: gitlab-external-dns
annotations:
external-dns.alpha.kubernetes.io/hostname: gitlab.durp.info
spec:
type: ExternalName
externalName: durp.info

View File

@@ -0,0 +1,40 @@
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: grafana-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`grafana.durp.info`) && PathPrefix(`/`)
kind: Rule
services:
- name: infra-cluster
port: 443
tls:
secretName: grafana-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: grafana-tls
spec:
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
secretName: grafana-tls
commonName: "grafana.durp.info"
dnsNames:
- "grafana.durp.info"
---
kind: Service
apiVersion: v1
metadata:
name: grafana-external-dns
annotations:
external-dns.alpha.kubernetes.io/hostname: grafana.durp.info
spec:
type: ExternalName
externalName: durp.info

View File

@@ -0,0 +1,74 @@
apiVersion: v1
kind: Service
metadata:
name: invidious
spec:
ports:
- name: app
port: 3000
protocol: TCP
targetPort: 3000
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: invidious
subsets:
- addresses:
- ip: 192.168.20.104
ports:
- name: app
port: 3000
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: invidious-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`invidious.durp.info`) && PathPrefix(`/`)
middlewares:
- name: authentik-proxy-provider
namespace: traefik
kind: Rule
services:
- name: invidious
port: 3000
tls:
secretName: invidious-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: invidious-tls
spec:
secretName: invidious-tls
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
commonName: "invidious.durp.info"
dnsNames:
- "invidious.durp.info"
---
kind: Service
apiVersion: v1
metadata:
name: invidious-external-dns
annotations:
external-dns.alpha.kubernetes.io/hostname: invidious.durp.info
spec:
type: ExternalName
externalName: durp.info

View File

@@ -0,0 +1,72 @@
apiVersion: v1
kind: Service
metadata:
name: kasm
spec:
ports:
- name: app
port: 443
protocol: TCP
targetPort: 443
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: kasm
subsets:
- addresses:
- ip: 192.168.20.104
ports:
- name: app
port: 443
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: kasm-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`kasm.durp.info`) && PathPrefix(`/`)
kind: Rule
services:
- name: kasm
port: 443
scheme: https
tls:
secretName: kasm-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: kasm-tls
spec:
secretName: kasm-tls
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
commonName: "kasm.durp.info"
dnsNames:
- "kasm.durp.info"
---
kind: Service
apiVersion: v1
metadata:
name: kasm-external-dns
annotations:
external-dns.alpha.kubernetes.io/hostname: kasm.durp.info
spec:
type: ExternalName
externalName: durp.info

View File

@@ -0,0 +1,45 @@
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: kuma-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`kuma.durp.info`) && PathPrefix(`/`)
kind: Rule
middlewares:
- name: authentik-proxy-provider
namespace: traefik
services:
- name: master-cluster
port: 443
tls:
secretName: kuma-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: kuma-tls
spec:
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
secretName: kuma-tls
commonName: "kuma.durp.info"
dnsNames:
- "kuma.durp.info"
---
kind: Service
apiVersion: v1
metadata:
name: kuma-external-dns
annotations:
external-dns.alpha.kubernetes.io/hostname: kuma.durp.info
spec:
type: ExternalName
externalName: durp.info

View File

@@ -0,0 +1,71 @@
apiVersion: v1
kind: Service
metadata:
name: litellm
spec:
ports:
- name: app
port: 4000
protocol: TCP
targetPort: 4000
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: litellm
subsets:
- addresses:
- ip: 192.168.20.104
ports:
- name: app
port: 4000
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: litellm-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`litellm.durp.info`) && PathPrefix(`/`)
kind: Rule
services:
- name: litellm
port: 4000
tls:
secretName: litellm-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: litellm-tls
spec:
secretName: litellm-tls
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
commonName: "litellm.durp.info"
dnsNames:
- "litellm.durp.info"
---
kind: Service
apiVersion: v1
metadata:
name: litellm-external-dns
annotations:
external-dns.alpha.kubernetes.io/hostname: litellm.durp.info
spec:
type: ExternalName
externalName: durp.info

View File

@@ -0,0 +1,63 @@
apiVersion: v1
kind: Service
metadata:
name: minio
spec:
ports:
- name: app
port: 9769
protocol: TCP
targetPort: 9769
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: minio
subsets:
- addresses:
- ip: 192.168.21.200
ports:
- name: app
port: 9769
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: minio-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`minio.internal.durp.info`) && PathPrefix(`/`)
middlewares:
- name: whitelist
namespace: traefik
kind: Rule
services:
- name: minio
port: 9769
scheme: http
tls:
secretName: minio-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: minio-tls
spec:
secretName: minio-tls
issuerRef:
name: vault-issuer
kind: ClusterIssuer
commonName: "minio.internal.durp.info"
dnsNames:
- "minio.internal.durp.info"

View File

@@ -0,0 +1,68 @@
apiVersion: v1
kind: Service
metadata:
name: n8n
spec:
ports:
- name: app
port: 5678
protocol: TCP
targetPort: 5678
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: n8n
subsets:
- addresses:
- ip: 192.168.21.200
ports:
- name: app
port: 5678
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: n8n-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`n8n.durp.info`) && PathPrefix(`/`)
kind: Rule
services:
- name: n8n
port: 5678
scheme: http
tls:
secretName: n8n-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: n8n-tls
spec:
secretName: n8n-tls
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
commonName: "n8n.durp.info"
dnsNames:
- "n8n.durp.info"
---
kind: Service
apiVersion: v1
metadata:
name: n8n-dns
annotations:
dns.alpha.kubernetes.io/hostname: n8n.durp.info
spec:
type: ExternalName
externalName: durp.info

View File

@@ -1,25 +1,13 @@
kind: Service
apiVersion: v1
metadata:
name: guac-external-dns
annotations:
external-dns.alpha.kubernetes.io/hostname: guac.durp.info
spec:
type: ExternalName
externalName: durp.info
---
apiVersion: v1
kind: Service
metadata:
name: guac
name: nexus
spec:
ports:
- name: app
port: 8082
port: 8081
protocol: TCP
targetPort: 8082
targetPort: 8081
clusterIP: None
type: ClusterIP
@@ -28,44 +16,56 @@ spec:
apiVersion: v1
kind: Endpoints
metadata:
name: guac
name: nexus
subsets:
- addresses:
- ip: 192.168.20.253
- ip: 192.168.20.200
ports:
- name: app
port: 8082
port: 8081
protocol: TCP
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: guac-ingress
name: nexus-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`guac.durp.info`) && PathPrefix(`/`)
- match: Host(`nexus.durp.info`) && PathPrefix(`/`)
kind: Rule
services:
- name: guac
port: 8082
- name: nexus
port: 8081
tls:
secretName: guac-tls
secretName: nexus-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: guac-tls
name: nexus-tls
spec:
secretName: guac-tls
secretName: nexus-tls
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
commonName: "guac.durp.info"
commonName: "nexus.durp.info"
dnsNames:
- "guac.durp.info"
- "nexus.durp.info"
---
kind: Service
apiVersion: v1
metadata:
name: nexus-external-dns
annotations:
external-dns.alpha.kubernetes.io/hostname: nexus.durp.info
spec:
type: ExternalName
externalName: durp.info

View File

@@ -0,0 +1,41 @@
#apiVersion: traefik.io/v1alpha1
#kind: IngressRoute
#metadata:
# name: octopus-ingress
#spec:
# entryPoints:
# - websecure
# routes:
# - match: Host(`octopus.durp.info`) && PathPrefix(`/`)
# kind: Rule
# services:
# - name: infra-cluster
# port: 443
# tls:
# secretName: octopus-tls
#
#---
#apiVersion: cert-manager.io/v1
#kind: Certificate
#metadata:
# name: octopus-tls
#spec:
# issuerRef:
# name: letsencrypt-production
# kind: ClusterIssuer
# secretName: octopus-tls
# commonName: "octopus.durp.info"
# dnsNames:
# - "octopus.durp.info"
#
#---
#kind: Service
#apiVersion: v1
#metadata:
# name: octopus-external-dns
# annotations:
# external-dns.alpha.kubernetes.io/hostname: octopus.durp.info
#spec:
# type: ExternalName
# externalName: durp.info
#

View File

@@ -0,0 +1,102 @@
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: ollama-secret
spec:
secretStoreRef:
name: vault
kind: ClusterSecretStore
target:
name: ollama-secret
data:
- secretKey: users
remoteRef:
key: kv/ollama
property: users
---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: ollama-basic-auth
spec:
basicAuth:
headerField: x-api-key
secret: ollama-secret
---
apiVersion: v1
kind: Service
metadata:
name: ollama
spec:
ports:
- name: app
port: 11435
protocol: TCP
targetPort: 11435
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: ollama
subsets:
- addresses:
- ip: 192.168.20.104
ports:
- name: app
port: 11435
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: ollama-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`ollama.durp.info`) && PathPrefix(`/`)
middlewares:
- name: ollama-basic-auth
kind: Rule
services:
- name: ollama
port: 11435
tls:
secretName: ollama-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: ollama-tls
spec:
secretName: ollama-tls
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
commonName: "ollama.durp.info"
dnsNames:
- "ollama.durp.info"
---
kind: Service
apiVersion: v1
metadata:
name: ollama-external-dns
annotations:
external-dns.alpha.kubernetes.io/hostname: ollama.durp.info
spec:
type: ExternalName
externalName: durp.info

View File

@@ -0,0 +1,72 @@
apiVersion: v1
kind: Service
metadata:
name: open-webui
spec:
ports:
- name: app
port: 8089
protocol: TCP
targetPort: 8089
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: open-webui
subsets:
- addresses:
- ip: 192.168.21.200
ports:
- name: app
port: 8089
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: open-webui-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`open-webui.durp.info`) && PathPrefix(`/`)
kind: Rule
services:
- name: open-webui
port: 8089
scheme: http
tls:
secretName: open-webui-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: open-webui-tls
spec:
secretName: open-webui-tls
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
commonName: "open-webui.durp.info"
dnsNames:
- "open-webui.durp.info"
---
kind: Service
apiVersion: v1
metadata:
name: open-webui-external-dns
annotations:
external-dns.alpha.kubernetes.io/hostname: open-webui.durp.info
spec:
type: ExternalName
externalName: durp.info

View File

@@ -0,0 +1,72 @@
apiVersion: v1
kind: Service
metadata:
name: plex
spec:
ports:
- name: app
port: 32400
protocol: TCP
targetPort: 32400
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: plex
subsets:
- addresses:
- ip: 192.168.21.200
ports:
- name: app
port: 32400
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: plex-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`plex.durp.info`) && PathPrefix(`/`)
kind: Rule
services:
- name: plex
port: 32400
scheme: https
tls:
secretName: plex-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: plex-tls
spec:
secretName: plex-tls
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
commonName: "plex.durp.info"
dnsNames:
- "plex.durp.info"
---
kind: Service
apiVersion: v1
metadata:
name: plex-external-dns
annotations:
external-dns.alpha.kubernetes.io/hostname: plex.durp.info
spec:
type: ExternalName
externalName: durp.info

View File

@@ -0,0 +1,63 @@
apiVersion: v1
kind: Service
metadata:
name: portainer
spec:
ports:
- name: app
port: 9443
protocol: TCP
targetPort: 9443
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: portainer
subsets:
- addresses:
- ip: 192.168.20.104
ports:
- name: app
port: 9443
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: portainer-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`portainer.internal.durp.info`) && PathPrefix(`/`)
#middlewares:
#- name: whitelist
# namespace: traefik
kind: Rule
services:
- name: portainer
port: 9443
scheme: https
tls:
secretName: portainer-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: portainer-tls
spec:
secretName: portainer-tls
issuerRef:
name: vault-issuer
kind: ClusterIssuer
commonName: "portainer.internal.durp.info"
dnsNames:
- "portainer.internal.durp.info"

View File

@@ -0,0 +1,63 @@
apiVersion: v1
kind: Service
metadata:
name: proxmox
spec:
ports:
- name: app
port: 8006
protocol: TCP
targetPort: 8006
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: proxmox
subsets:
- addresses:
- ip: 192.168.21.254
ports:
- name: app
port: 8006
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: proxmox-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`proxmox.internal.durp.info`) && PathPrefix(`/`)
middlewares:
- name: whitelist
namespace: traefik
kind: Rule
services:
- name: proxmox
port: 8006
scheme: https
tls:
secretName: proxmox-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: proxmox-tls
spec:
secretName: proxmox-tls
issuerRef:
name: vault-issuer
kind: ClusterIssuer
commonName: "proxmox.internal.durp.info"
dnsNames:
- "proxmox.internal.durp.info"

View File

@@ -0,0 +1,74 @@
#apiVersion: v1
#kind: Service
#metadata:
# name: redlib
#spec:
# ports:
# - name: app
# port: 8082
# protocol: TCP
# targetPort: 8082
# clusterIP: None
# type: ClusterIP
#
#---
#
#apiVersion: v1
#kind: Endpoints
#metadata:
# name: redlib
#subsets:
#- addresses:
# - ip: 192.168.21.200
# ports:
# - name: app
# port: 8082
# protocol: TCP
#
#---
#
#apiVersion: traefik.io/v1alpha1
#kind: IngressRoute
#metadata:
# name: redlib-ingress
#spec:
# entryPoints:
# - websecure
# routes:
# - match: Host(`redlib.durp.info`) && PathPrefix(`/`)
# middlewares:
# - name: authentik-proxy-provider
# namespace: traefik
# kind: Rule
# services:
# - name: redlib
# port: 8082
# tls:
# secretName: redlib-tls
#
#---
#
#apiVersion: cert-manager.io/v1
#kind: Certificate
#metadata:
# name: redlib-tls
#spec:
# secretName: redlib-tls
# issuerRef:
# name: letsencrypt-production
# kind: ClusterIssuer
# commonName: "redlib.durp.info"
# dnsNames:
# - "redlib.durp.info"
#
#---
#
#kind: Service
#apiVersion: v1
#metadata:
# name: redlib-external-dns
# annotations:
# external-dns.alpha.kubernetes.io/hostname: redlib.durp.info
#spec:
# type: ExternalName
# externalName: durp.info

View File

@@ -0,0 +1,70 @@
apiVersion: v1
kind: Service
metadata:
name: registry
spec:
ports:
- name: app
port: 5000
protocol: TCP
targetPort: 5000
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: registry
subsets:
- addresses:
- ip: 192.168.21.200
ports:
- name: app
port: 5000
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: registry-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`registry.durp.info`) && PathPrefix(`/`)
kind: Rule
middlewares:
- name: whitelist
namespace: traefik
services:
- name: registry
port: 5000
tls:
secretName: registry-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: registry-tls
spec:
secretName: registry-tls
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
commonName: "registry.durp.info"
dnsNames:
- "registry.durp.info"
---
#kind: Service
#apiVersion: v1
#metadata:
# name: registry-external-dns
# annotations:
# external-dns.alpha.kubernetes.io/hostname: registry.durp.info
#spec:
# type: ExternalName
# externalName: durp.info

View File

@@ -0,0 +1,63 @@
apiVersion: v1
kind: Service
metadata:
name: root-vault
spec:
ports:
- name: app
port: 8201
protocol: TCP
targetPort: 8201
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: root-vault
subsets:
- addresses:
- ip: 192.168.21.200
ports:
- name: app
port: 8201
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: root-vault-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`root-vault.internal.durp.info`) && PathPrefix(`/`)
middlewares:
- name: whitelist
namespace: traefik
kind: Rule
services:
- name: root-vault
port: 8201
scheme: https
tls:
secretName: root-vault-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: root-vault-tls
spec:
secretName: root-vault-tls
issuerRef:
name: vault-issuer
kind: ClusterIssuer
commonName: "root-vault.internal.durp.info"
dnsNames:
- "root-vault.internal.durp.info"

View File

@@ -0,0 +1,109 @@
apiVersion: v1
kind: Service
metadata:
name: s3
spec:
ports:
- name: app
port: 9768
protocol: TCP
targetPort: 9768
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: s3
subsets:
- addresses:
- ip: 192.168.21.200
ports:
- name: app
port: 9768
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: s3-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`s3.internal.durp.info`) && PathPrefix(`/`)
middlewares:
- name: whitelist
namespace: traefik
kind: Rule
services:
- name: s3
port: 9768
scheme: http
tls:
secretName: s3-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: s3-tls
spec:
secretName: s3-tls
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
commonName: "s3.internal.durp.info"
dnsNames:
- "s3.internal.durp.info"
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: s3-ingress-external
spec:
entryPoints:
- websecure
routes:
- match: Host(`s3.durp.info`) && PathPrefix(`/`)
kind: Rule
services:
- name: s3
port: 9768
scheme: http
tls:
secretName: s3-external-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: s3-external-tls
spec:
secretName: s3-external-tls
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
commonName: "s3.durp.info"
dnsNames:
- "s3.durp.info"
---
kind: Service
apiVersion: v1
metadata:
name: s3-external-dns
annotations:
external-dns.alpha.kubernetes.io/hostname: s3.durp.info
spec:
type: ExternalName
externalName: durp.info

View File

@@ -0,0 +1,64 @@
apiVersion: v1
kind: Service
metadata:
name: semaphore
spec:
ports:
- name: app
port: 3001
protocol: TCP
targetPort: 3001
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: semaphore
subsets:
- addresses:
- ip: 192.168.21.200
ports:
- name: app
port: 3001
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: semaphore-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`semaphore.internal.durp.info`) && PathPrefix(`/`)
middlewares:
- name: whitelist
namespace: traefik
kind: Rule
services:
- name: semaphore
port: 3001
scheme: http
tls:
secretName: semaphore-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: semaphore-tls
spec:
secretName: semaphore-tls
issuerRef:
name: vault-issuer
kind: ClusterIssuer
commonName: "semaphore.internal.durp.info"
dnsNames:
- "semaphore.internal.durp.info"

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: vault

View File

@@ -0,0 +1,76 @@
apiVersion: v1
kind: Service
metadata:
name: smokeping
spec:
ports:
- name: app
port: 81
protocol: TCP
targetPort: 81
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: smokeping
subsets:
- addresses:
- ip: 192.168.21.200
ports:
- name: app
port: 81
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: smokeping-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`smokeping.durp.info`) && PathPrefix(`/`)
middlewares:
- name: whitelist
namespace: traefik
- name: authentik-proxy-provider
namespace: traefik
kind: Rule
services:
- name: smokeping
port: 81
tls:
secretName: smokeping-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: smokeping-tls
spec:
secretName: smokeping-tls
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
commonName: "smokeping.durp.info"
dnsNames:
- "smokeping.durp.info"
---
kind: Service
apiVersion: v1
metadata:
name: smokeping-external-dns
annotations:
external-dns.alpha.kubernetes.io/hostname: smokeping.durp.info
spec:
type: ExternalName
externalName: durp.info

View File

@@ -0,0 +1,74 @@
#apiVersion: v1
#kind: Service
#metadata:
# name: speedtest
#spec:
# ports:
# - name: app
# port: 6580
# protocol: TCP
# targetPort: 6580
# clusterIP: None
# type: ClusterIP
#
#---
#
#apiVersion: v1
#kind: Endpoints
#metadata:
# name: speedtest
#subsets:
#- addresses:
# - ip: 192.168.21.200
# ports:
# - name: app
# port: 6580
# protocol: TCP
#
#---
#
#apiVersion: traefik.io/v1alpha1
#kind: IngressRoute
#metadata:
# name: speedtest-ingress
#spec:
# entryPoints:
# - websecure
# routes:
# - match: Host(`speedtest.durp.info`) && PathPrefix(`/`)
# kind: Rule
# middlewares:
# - name: authentik-proxy-provider
# namespace: traefik
# services:
# - name: speedtest
# port: 6580
# tls:
# secretName: speedtest-tls
#
#---
#
#apiVersion: cert-manager.io/v1
#kind: Certificate
#metadata:
# name: speedtest-tls
#spec:
# secretName: speedtest-tls
# issuerRef:
# name: letsencrypt-production
# kind: ClusterIssuer
# commonName: "speedtest.durp.info"
# dnsNames:
# - "speedtest.durp.info"
#
#---
#
#kind: Service
#apiVersion: v1
#metadata:
# name: speedtest-external-dns
# annotations:
# external-dns.alpha.kubernetes.io/hostname: speedtest.durp.info
#spec:
# type: ExternalName
# externalName: durp.info

View File

@@ -0,0 +1,67 @@
apiVersion: v1
kind: Service
metadata:
name: tdarr
spec:
ports:
- name: app
port: 8267
protocol: TCP
targetPort: 8267
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: tdarr
subsets:
- addresses:
- ip: 192.168.21.200
ports:
- name: app
port: 8267
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: tdarr-ingress
annotations:
cert-manager.io/cluster-issuer: letsencrypt-production
spec:
entryPoints:
- websecure
routes:
- match: Host(`tdarr.internal.durp.info`)
middlewares:
- name: whitelist
namespace: traefik
- name: authentik-proxy-provider
namespace: traefik
kind: Rule
services:
- name: tdarr
port: 8267
scheme: http
tls:
secretName: tdarr-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: tdarr-tls
spec:
secretName: tdarr-tls
issuerRef:
name: vault-issuer
kind: ClusterIssuer
commonName: "tdarr.internal.durp.info"
dnsNames:
- "tdarr.internal.durp.info"

View File

@@ -0,0 +1,63 @@
apiVersion: v1
kind: Service
metadata:
name: unifi
spec:
ports:
- name: app
port: 443
protocol: TCP
targetPort: 443
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: unifi
subsets:
- addresses:
- ip: 192.168.98.1
ports:
- name: app
port: 443
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: unifi-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`unifi.internal.durp.info`) && PathPrefix(`/`)
middlewares:
- name: whitelist
namespace: traefik
kind: Rule
services:
- name: unifi
port: 443
scheme: https
tls:
secretName: unifi-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: unifi-tls
spec:
secretName: unifi-tls
issuerRef:
name: vault-issuer
kind: ClusterIssuer
commonName: "unifi.internal.durp.info"
dnsNames:
- "unifi.internal.durp.info"

View File

@@ -0,0 +1,64 @@
apiVersion: v1
kind: Service
metadata:
name: unraid
spec:
ports:
- name: app
port: 443
protocol: TCP
targetPort: 443
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: unraid
subsets:
- addresses:
- ip: 192.168.21.200
ports:
- name: app
port: 443
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: unraid-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`unraid.internal.durp.info`) && PathPrefix(`/`)
middlewares:
- name: whitelist
namespace: traefik
kind: Rule
services:
- name: unraid
port: 443
scheme: https
tls:
secretName: unraid-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: unraid-tls
spec:
secretName: unraid-tls
issuerRef:
name: vault-issuer
kind: ClusterIssuer
commonName: "unraid.internal.durp.info"
dnsNames:
- "unraid.internal.durp.info"

View File

@@ -0,0 +1,17 @@
apiVersion: v2
name: istio-system
description: A Helm chart for Kubernetes
type: application
version: 0.0.1
appVersion: 0.0.1
dependencies:
- name: base
repository: https://istio-release.storage.googleapis.com/charts
version: 1.26.2
- name: istiod
repository: https://istio-release.storage.googleapis.com/charts
version: 1.26.2
- name: gateway
repository: https://istio-release.storage.googleapis.com/charts
version: 1.26.2

View File

@@ -0,0 +1,14 @@
#apiVersion: v1
#kind: Namespace
#metadata:
# annotations:
# topology.istio.io/controlPlaneClusters: cluster1
# labels:
# kubernetes.io/metadata.name: istio-system
# name: istio-system
#spec:
# finalizers:
# - kubernetes
#status:
# phase: Active
#

View File

@@ -0,0 +1,16 @@
apiVersion: networking.istio.io/v1
kind: Gateway
metadata:
name: cross-network-gateway
spec:
selector:
istio: eastwestgateway
servers:
- port:
number: 15443
name: tls
protocol: TLS
tls:
mode: AUTO_PASSTHROUGH
hosts:
- "*.local"

View File

@@ -0,0 +1,10 @@
istiod:
global:
network: network2
meshID: mesh1
multiCluster:
clusterName: dmz
gateway:
name: istio-eastwestgateway
networkGateway: network2

View File

View File

@@ -0,0 +1,101 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: littlelink
name: littlelink
labels:
app: littlelink
spec:
selector:
matchLabels:
app: littlelink
replicas: 1
template:
metadata:
labels:
app: littlelink
spec:
containers:
- name: littlelink
image: registry.durp.info/techno-tim/littlelink-server:latest
imagePullPolicy: Always
livenessProbe:
httpGet:
path: /healthcheck
port: 3000
readinessProbe:
httpGet:
path: /healthcheck
port: 3000
env:
- name: META_TITLE
value: DeveloperDurp
- name: META_DESCRIPTION
value: The Durpy Developer
- name: META_AUTHOR
value: DeveloperDurp
- name: LANG
value: en
- name: META_INDEX_STATUS
value: all
- name: OG_TITLE
value: DeveloperDurp
- name: OG_DESCRIPTION
value: DeveloperDurp
- name: OG_URL
value: https://gitlab.com/developerdurp
- name: OG_IMAGE
value: https://gitlab.com/uploads/-/system/user/avatar/9987937/avatar.png
- name : OG_IMAGE_WIDTH
value: "400"
- name : OG_IMAGE_HEIGHT
value: "400"
- name : THEME
value: Dark
- name : FAVICON_URL
value: https://gitlab.com/uploads/-/system/user/avatar/9987937/avatar.png
- name : AVATAR_URL
value: https://gitlab.com/uploads/-/system/user/avatar/9987937/avatar.png
- name : AVATAR_2X_URL
value: https://gitlab.com/uploads/-/system/user/avatar/9987937/avatar.png
- name : AVATAR_ALT
value: DeveloperDurp Profile Pic
- name : NAME
value: DeveloperDurp
- name : BIO
value: Sup Nerd,
- name : BUTTON_ORDER
value: GITHUB,GITLAB,YOUTUBE,INSTAGRAM,TWITTER,BLUESKY,COFFEE,EMAIL
- name : TWITTER
value: https://twitter.com/developerdurp
- name : GITHUB
value: https://github.com/DeveloperDurp
- name: INSTAGRAM
value: https://instagram.com/developerdurp
- name : GITLAB
value: https://gitlab.com/developerdurp
- name: YOUTUBE
value: https://www.youtube.com/channel/UC1rGa6s6kER_gLpIQsxeMVQ
- name : EMAIL
value: DeveloperDurp@durp.info
- name : EMAIL_TEXT
value: DeveloperDurp@durp.info
- name : FOOTER
value: DeveloperDurp © 2022
- name: CUSTOM_BUTTON_TEXT
value: BuyMeACoffee,BlueSky
- name: CUSTOM_BUTTON_URL
value: https://www.buymeacoffee.com/DeveloperDurp,https://bsky.app/profile/durp.info
- name: CUSTOM_BUTTON_COLOR
value: '#ffdd00,#1185fe'
- name: CUSTOM_BUTTON_TEXT_COLOR
value: '#000000,#FFFFFF'
- name: CUSTOM_BUTTON_ALT_TEXT
value: Support,BlueSky
- name: CUSTOM_BUTTON_NAME
value: COFFEE,BLUESKY
- name: CUSTOM_BUTTON_ICON
value: fa-solid fa-cup-togo
ports:
- name: http
containerPort: 3000

View File

@@ -0,0 +1,42 @@
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: littlelink-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`links.durp.info`) && PathPrefix(`/`)
kind: Rule
services:
- name: littlelink
port: 80
tls:
secretName: littlelink-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: littlelink-tls
spec:
secretName: littlelink-tls
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
commonName: "links.durp.info"
dnsNames:
- "links.durp.info"
---
kind: Service
apiVersion: v1
metadata:
name: links-external-dns
annotations:
external-dns.alpha.kubernetes.io/hostname: links.durp.info
spec:
type: ExternalName
externalName: durp.info

Some files were not shown because too many files have changed in this diff Show More