Compare commits
12 Commits
084e08c046
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
951198ffa8
|
|||
|
7f78d71d42
|
|||
|
23690f01db
|
|||
|
53ce8d4343
|
|||
|
5a027ea7e0
|
|||
|
6cbd2fca75
|
|||
|
5c3a245dc5
|
|||
|
0c7dc1a3de
|
|||
|
499b302cee
|
|||
|
2df89df141
|
|||
|
f4230c41be
|
|||
|
5f1abaf7e7
|
@@ -21,7 +21,9 @@ repos:
|
|||||||
hooks:
|
hooks:
|
||||||
- id: kubeconform
|
- id: kubeconform
|
||||||
|
|
||||||
- repo: https://github.com/tarioch/flux-check-hook
|
# Linting does not work with external values.yaml
|
||||||
rev: v0.8.0
|
# TODO: Include url to schema in values.yaml and validate based on that?
|
||||||
hooks:
|
# - repo: https://github.com/tarioch/flux-check-hook
|
||||||
- id: check-flux-helm-values
|
# rev: v0.8.0
|
||||||
|
# hooks:
|
||||||
|
# - id: check-flux-helm-values
|
||||||
|
|||||||
@@ -65,6 +65,12 @@ spec:
|
|||||||
enabled: true
|
enabled: true
|
||||||
existingSecret: grafana-ldap-toml
|
existingSecret: grafana-ldap-toml
|
||||||
|
|
||||||
|
sidecar:
|
||||||
|
datasources:
|
||||||
|
enabled: true
|
||||||
|
searchNamespace: ALL
|
||||||
|
labelValue: "1"
|
||||||
|
|
||||||
extraSecretMounts:
|
extraSecretMounts:
|
||||||
- name: postgres-app-mount
|
- name: postgres-app-mount
|
||||||
secretName: postgres-app
|
secretName: postgres-app
|
||||||
|
|||||||
14
clusters/titan.lan.huizinga.dev/alerts/alert-flux-infra.yaml
Normal file
14
clusters/titan.lan.huizinga.dev/alerts/alert-flux-infra.yaml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: notification.toolkit.fluxcd.io/v1beta3
|
||||||
|
kind: Alert
|
||||||
|
metadata:
|
||||||
|
name: flux-infra
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
providerRef:
|
||||||
|
name: flux-infra
|
||||||
|
eventSeverity: info
|
||||||
|
eventSources:
|
||||||
|
- kind: Kustomization
|
||||||
|
name: "*"
|
||||||
|
matchLabels:
|
||||||
|
alert: flux-infra
|
||||||
12
clusters/titan.lan.huizinga.dev/alerts/alert-telegram.yaml
Normal file
12
clusters/titan.lan.huizinga.dev/alerts/alert-telegram.yaml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: notification.toolkit.fluxcd.io/v1beta3
|
||||||
|
kind: Alert
|
||||||
|
metadata:
|
||||||
|
name: telegram
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
providerRef:
|
||||||
|
name: telegram
|
||||||
|
eventSeverity: error
|
||||||
|
eventSources:
|
||||||
|
- kind: Kustomization
|
||||||
|
name: "*"
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
apiVersion: notification.toolkit.fluxcd.io/v1beta3
|
||||||
|
kind: Provider
|
||||||
|
metadata:
|
||||||
|
name: flux-infra
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
type: gitea
|
||||||
|
address: https://git.huizinga.dev/dreaded_x/flux-infra
|
||||||
|
secretRef:
|
||||||
|
name: gitea
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: notification.toolkit.fluxcd.io/v1beta3
|
||||||
|
kind: Provider
|
||||||
|
metadata:
|
||||||
|
name: telegram
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
type: telegram
|
||||||
|
address: https://api.telegram.org
|
||||||
|
channel: "-4748034121"
|
||||||
|
secretRef:
|
||||||
|
name: telegram
|
||||||
54
clusters/titan.lan.huizinga.dev/alerts/secret-gitea.yaml
Normal file
54
clusters/titan.lan.huizinga.dev/alerts/secret-gitea.yaml
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
stringData:
|
||||||
|
token: ENC[AES256_GCM,data:jn3t5g5fkCmqXf7JEfn7HBigY60nPh3AqYzZ9fkEuj2RjN6ieAfiOg==,iv:b28wHrtETq+p/jH52c3RKYzthh7+IQmvRhVzY/TlnfI=,tag:kr+vdWBGihYN6AklQLYeTw==,type:str]
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: gitea
|
||||||
|
namespace: flux-system
|
||||||
|
sops:
|
||||||
|
lastmodified: "2025-04-22T12:14:43Z"
|
||||||
|
mac: ENC[AES256_GCM,data:fb5EyaUv2slDoSNLNJZZPg2ZXwUC5tbdG2vDZEle3PfCDAWxQmEJ36hMQ9RcE8Ec5jfj/Ia6VOP+VOpLSIlQHzGeG3raEW+I/NBTN04KazsDhgzOfAlhTi8COkmu0D5hv3TfFPkWVV/Uw2zIpOsqTv56IoIKyPun+ndt470TgGE=,iv:k754Ju4XGpUCCsdkgQxaE2LEJNEBkQ4lcDIRIqZJnbY=,tag:1t3X7id14qhOvAA9pRw+wQ==,type:str]
|
||||||
|
pgp:
|
||||||
|
- created_at: "2025-04-22T11:56:49Z"
|
||||||
|
enc: |-
|
||||||
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
|
hQIMA7pKPTYH5bqOARAAioWyCnKFGD/5XeH++ulmfannJcwuFbiJ+jyoYxbmbxZK
|
||||||
|
egOXaOg9jkw+FuKy+u/5QNFZAgL4Ju3dMOyeBuZXGAgchVoDuqFANj7sXMhUnBkc
|
||||||
|
BuKLs/ob5U2KUD2YU+fFQd4XZfOepPGZF9qNwl4wttUxhawzQ66G49j23B8bxe1E
|
||||||
|
0Isddm7SCzF0OJOogaJ1rh9ylfzwlBW0PaBhBaIlNs+PIUJW7URWouDJnWh+jBvE
|
||||||
|
qT8brYP7gb+Tl9lNihJdPLG32jiYhQxueIkm6BqSUQlU+yW/q8RUhp4+hLAaSOvC
|
||||||
|
vTx1qqhn9ipZWG+EgPatUtV2gW0U9jOPRAstC1/zUe6UljIuQAEDx844j1sfmKxl
|
||||||
|
1bPdl1790V2bDDvDX4zeRAR6N6lzNkfYd02ZvWVKkUr3dTCfn/dJ6LM39tfZNeh2
|
||||||
|
WKnIN/PoxPL2srD9QRQmVPBqoLJrBKs1v1jWBEfMdT75H8e4CHu69o0FCzxLi/Ty
|
||||||
|
/2Hz9zIyBlPsyUA6EHjmccnjE2dVkmgRcaQbhEaYMtM7pyECoCfixGdpgV+7iM6L
|
||||||
|
PnYVusFueMVX80HYoNl4/ZXf+1U5/aW3mnSgK8+4uX8m4/MqGi4tvYT/QdOUkEvS
|
||||||
|
kXSsfok5yBcYdoqUJl6N/gfP9Z9R6WqrCL4p98t2BiLpcu6TZnsP0ruJlRlzTjLU
|
||||||
|
ZgEJAhATXTi3So37vsc8TqTDXqkJjrwxk9k4cGfwd8PWFvuS+xzdKGA/vcU6jXCD
|
||||||
|
CQrTnQ2i6jZBi0L5FLunhG86BOSLs5GEhuO6PPjkyyJNbcX/Uh6hjzgwdElr14Qo
|
||||||
|
P7QnueJTiw==
|
||||||
|
=AMPG
|
||||||
|
-----END PGP MESSAGE-----
|
||||||
|
fp: 1E0CF38FF7C9ADAED58B436ABA4A3D3607E5BA8E
|
||||||
|
- created_at: "2025-04-22T11:56:49Z"
|
||||||
|
enc: |-
|
||||||
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
|
hQIMA51kG++kLewoAQ//b3JTskIOENHA1W8uE5jqsyxPDVMJuXQNoHe2u0264kS8
|
||||||
|
i2sC7SZa/Le98J9Gsl97CpA7xXVIcOWhma+6PTzrsaonn//nJyuh8YOfWAb/ZF4o
|
||||||
|
ijtd7etTLcA9Hb1iRUek5oD7tXWiGhl+ROR3xd7Al+nzQmTpvHju+HFWJboWA7RC
|
||||||
|
6PkusF1UAe39ZhZwxX2Hh8XdFfQdcrtFNIp7+TjMCO2Im54aBTRKLrz7aHlrjrgN
|
||||||
|
tie1RAdDwEqZ0Zoh3jezpkQW+9aKtkTtiG5BLmQYhVPUN5GTKMMwKoiYNMEdNUWx
|
||||||
|
s9SXiepDc9ZbdjiwGUig9pmuaKrPTSRh6kbmAWHyMKfwG4WZSgbh9gW0sU69rLdQ
|
||||||
|
onaGRkIS87If6AgE0dCxOgcNZEiUQE1Rj8Ie/XtR6ufKNUdSAsbJSoKIja4MQdKl
|
||||||
|
1BM2YJ5eD52e2J0XJJgLchW0nf7C+3Sil/wIRvU0k/lMniMHvXjWGfY5/v2TUF3Y
|
||||||
|
R3Ng6KsaaIRGW5pWzAA5vBDjOlDaPdWYvWd+ZZ96cd0ToxgMpEDLGOBAOhBZGP95
|
||||||
|
knqqsVTKswD3vy5h5bwevTxRdrPsmD+g26SbLZDYllRklNasGgfcf0CBydcftUHo
|
||||||
|
ePHC1ThKpC0Eb80fxLvAyyW+O8LjqjGWK+q7pVGE8eZ7B5XGQRSfzQRuNmc1aIjS
|
||||||
|
XAGtAlz0mJffgqHnOW++8CZjiUKWb5iSJuMqBcGPMuqz9nLBAP/n4/vw6nH4irAF
|
||||||
|
qL1fkj4yurE7yMmBjYEWi+I+D66g6xpKvEWTyDGeiiqUD8nZXGojT7bWz072
|
||||||
|
=zIA5
|
||||||
|
-----END PGP MESSAGE-----
|
||||||
|
fp: 49F10679C425233EFB4B1B6F9D641BEFA42DEC28
|
||||||
|
encrypted_regex: ^(data|stringData)$
|
||||||
|
version: 3.10.1
|
||||||
54
clusters/titan.lan.huizinga.dev/alerts/secret-telegram.yaml
Normal file
54
clusters/titan.lan.huizinga.dev/alerts/secret-telegram.yaml
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
stringData:
|
||||||
|
token: ENC[AES256_GCM,data:GgQ/uMKwKKxkEaqVlqH6RlhNTXE+9iM9C5seH0Vjsv/Rwb4aonM6Fy9lQUtiwg==,iv:xKKiRxMu0myMmT73XvUy69qt216TNbeJ4Y/0oUAK87s=,tag:ib0nLm2HkaB91vSllRPSWg==,type:str]
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: telegram
|
||||||
|
namespace: flux-system
|
||||||
|
sops:
|
||||||
|
lastmodified: "2025-04-22T14:43:42Z"
|
||||||
|
mac: ENC[AES256_GCM,data:wiq7VPKe+PBXLbiL9VVJ0gjtAb0g0f5qJgZaDkFaeIn5KfXYauzX1MyoXxy0qSi5rBesKCmhhDhLHRW/SA7KJyaWO1GIdP9Obppm+l83zJ6FVn2XvDZQkP+IoEBCPUgooT4RBvvJUJJeA9BDuPV3ig43sYZM+47Vc/WFZrx1238=,iv:KqDkIbKqrv1087PQC10jNUfkeGvzaC9ZvwYwhLd3CcA=,tag:Tb6mKFaK3+3BmiuFfEXgQw==,type:str]
|
||||||
|
pgp:
|
||||||
|
- created_at: "2025-04-22T11:56:49Z"
|
||||||
|
enc: |-
|
||||||
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
|
hQIMA7pKPTYH5bqOARAAioWyCnKFGD/5XeH++ulmfannJcwuFbiJ+jyoYxbmbxZK
|
||||||
|
egOXaOg9jkw+FuKy+u/5QNFZAgL4Ju3dMOyeBuZXGAgchVoDuqFANj7sXMhUnBkc
|
||||||
|
BuKLs/ob5U2KUD2YU+fFQd4XZfOepPGZF9qNwl4wttUxhawzQ66G49j23B8bxe1E
|
||||||
|
0Isddm7SCzF0OJOogaJ1rh9ylfzwlBW0PaBhBaIlNs+PIUJW7URWouDJnWh+jBvE
|
||||||
|
qT8brYP7gb+Tl9lNihJdPLG32jiYhQxueIkm6BqSUQlU+yW/q8RUhp4+hLAaSOvC
|
||||||
|
vTx1qqhn9ipZWG+EgPatUtV2gW0U9jOPRAstC1/zUe6UljIuQAEDx844j1sfmKxl
|
||||||
|
1bPdl1790V2bDDvDX4zeRAR6N6lzNkfYd02ZvWVKkUr3dTCfn/dJ6LM39tfZNeh2
|
||||||
|
WKnIN/PoxPL2srD9QRQmVPBqoLJrBKs1v1jWBEfMdT75H8e4CHu69o0FCzxLi/Ty
|
||||||
|
/2Hz9zIyBlPsyUA6EHjmccnjE2dVkmgRcaQbhEaYMtM7pyECoCfixGdpgV+7iM6L
|
||||||
|
PnYVusFueMVX80HYoNl4/ZXf+1U5/aW3mnSgK8+4uX8m4/MqGi4tvYT/QdOUkEvS
|
||||||
|
kXSsfok5yBcYdoqUJl6N/gfP9Z9R6WqrCL4p98t2BiLpcu6TZnsP0ruJlRlzTjLU
|
||||||
|
ZgEJAhATXTi3So37vsc8TqTDXqkJjrwxk9k4cGfwd8PWFvuS+xzdKGA/vcU6jXCD
|
||||||
|
CQrTnQ2i6jZBi0L5FLunhG86BOSLs5GEhuO6PPjkyyJNbcX/Uh6hjzgwdElr14Qo
|
||||||
|
P7QnueJTiw==
|
||||||
|
=AMPG
|
||||||
|
-----END PGP MESSAGE-----
|
||||||
|
fp: 1E0CF38FF7C9ADAED58B436ABA4A3D3607E5BA8E
|
||||||
|
- created_at: "2025-04-22T11:56:49Z"
|
||||||
|
enc: |-
|
||||||
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
|
hQIMA51kG++kLewoAQ//b3JTskIOENHA1W8uE5jqsyxPDVMJuXQNoHe2u0264kS8
|
||||||
|
i2sC7SZa/Le98J9Gsl97CpA7xXVIcOWhma+6PTzrsaonn//nJyuh8YOfWAb/ZF4o
|
||||||
|
ijtd7etTLcA9Hb1iRUek5oD7tXWiGhl+ROR3xd7Al+nzQmTpvHju+HFWJboWA7RC
|
||||||
|
6PkusF1UAe39ZhZwxX2Hh8XdFfQdcrtFNIp7+TjMCO2Im54aBTRKLrz7aHlrjrgN
|
||||||
|
tie1RAdDwEqZ0Zoh3jezpkQW+9aKtkTtiG5BLmQYhVPUN5GTKMMwKoiYNMEdNUWx
|
||||||
|
s9SXiepDc9ZbdjiwGUig9pmuaKrPTSRh6kbmAWHyMKfwG4WZSgbh9gW0sU69rLdQ
|
||||||
|
onaGRkIS87If6AgE0dCxOgcNZEiUQE1Rj8Ie/XtR6ufKNUdSAsbJSoKIja4MQdKl
|
||||||
|
1BM2YJ5eD52e2J0XJJgLchW0nf7C+3Sil/wIRvU0k/lMniMHvXjWGfY5/v2TUF3Y
|
||||||
|
R3Ng6KsaaIRGW5pWzAA5vBDjOlDaPdWYvWd+ZZ96cd0ToxgMpEDLGOBAOhBZGP95
|
||||||
|
knqqsVTKswD3vy5h5bwevTxRdrPsmD+g26SbLZDYllRklNasGgfcf0CBydcftUHo
|
||||||
|
ePHC1ThKpC0Eb80fxLvAyyW+O8LjqjGWK+q7pVGE8eZ7B5XGQRSfzQRuNmc1aIjS
|
||||||
|
XAGtAlz0mJffgqHnOW++8CZjiUKWb5iSJuMqBcGPMuqz9nLBAP/n4/vw6nH4irAF
|
||||||
|
qL1fkj4yurE7yMmBjYEWi+I+D66g6xpKvEWTyDGeiiqUD8nZXGojT7bWz072
|
||||||
|
=zIA5
|
||||||
|
-----END PGP MESSAGE-----
|
||||||
|
fp: 49F10679C425233EFB4B1B6F9D641BEFA42DEC28
|
||||||
|
encrypted_regex: ^(data|stringData)$
|
||||||
|
version: 3.10.1
|
||||||
@@ -3,6 +3,8 @@ kind: Kustomization
|
|||||||
metadata:
|
metadata:
|
||||||
name: apps
|
name: apps
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
|
labels:
|
||||||
|
alert: flux-infra
|
||||||
spec:
|
spec:
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- name: traefik
|
- name: traefik
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ metadata:
|
|||||||
name: siranga
|
name: siranga
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 1m0s
|
interval: 15m0s
|
||||||
url: oci://git.huizinga.dev/dreaded_x/siranga/manifests
|
url: oci://git.huizinga.dev/dreaded_x/siranga/manifests
|
||||||
ref:
|
ref:
|
||||||
tag: latest
|
tag: latest
|
||||||
@@ -35,3 +35,41 @@ spec:
|
|||||||
provider: sops
|
provider: sops
|
||||||
secretRef:
|
secretRef:
|
||||||
name: sops-gpg
|
name: sops-gpg
|
||||||
|
---
|
||||||
|
apiVersion: notification.toolkit.fluxcd.io/v1
|
||||||
|
kind: Receiver
|
||||||
|
metadata:
|
||||||
|
name: siranga
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
type: generic
|
||||||
|
secretRef:
|
||||||
|
name: receiver
|
||||||
|
resources:
|
||||||
|
- apiVersion: source.toolkit.fluxcd.io/v1beta2
|
||||||
|
kind: OCIRepository
|
||||||
|
name: siranga
|
||||||
|
---
|
||||||
|
apiVersion: notification.toolkit.fluxcd.io/v1beta3
|
||||||
|
kind: Provider
|
||||||
|
metadata:
|
||||||
|
name: siranga
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
type: gitea
|
||||||
|
address: https://git.huizinga.dev/dreaded_x/siranga
|
||||||
|
secretRef:
|
||||||
|
name: gitea
|
||||||
|
---
|
||||||
|
apiVersion: notification.toolkit.fluxcd.io/v1beta3
|
||||||
|
kind: Alert
|
||||||
|
metadata:
|
||||||
|
name: siranga
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
providerRef:
|
||||||
|
name: siranga
|
||||||
|
eventSeverity: info
|
||||||
|
eventSources:
|
||||||
|
- kind: Kustomization
|
||||||
|
name: siranga
|
||||||
|
|||||||
23
clusters/titan.lan.huizinga.dev/flux-system/ingress.yaml
Normal file
23
clusters/titan.lan.huizinga.dev/flux-system/ingress.yaml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: flux-webhook
|
||||||
|
namespace: flux-system
|
||||||
|
annotations:
|
||||||
|
traefik.ingress.kubernetes.io/router.entryPoints: websecure
|
||||||
|
traefik.ingress.kubernetes.io/router.tls: "true"
|
||||||
|
spec:
|
||||||
|
ingressClassName: traefik
|
||||||
|
rules:
|
||||||
|
- host: flux.${domain}
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- backend:
|
||||||
|
service:
|
||||||
|
name: webhook-receiver
|
||||||
|
port:
|
||||||
|
number: 80
|
||||||
|
path: /
|
||||||
|
pathType: Prefix
|
||||||
|
tls:
|
||||||
|
- secretName: ${domain//./-}-tls
|
||||||
@@ -1,7 +1,11 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- gotk-components.yaml
|
- ./gotk-components.yaml
|
||||||
- gotk-sync.yaml
|
- ./gotk-sync.yaml
|
||||||
|
- ./config-map-domain-vars.yaml
|
||||||
|
- ./ingress.yaml
|
||||||
|
- ./secret-receiver.yaml
|
||||||
|
- ./receiver.yaml
|
||||||
patches:
|
patches:
|
||||||
- path: sops-overlay.yaml
|
- path: patches.yaml
|
||||||
|
|||||||
@@ -3,8 +3,14 @@ kind: Kustomization
|
|||||||
metadata:
|
metadata:
|
||||||
name: flux-system
|
name: flux-system
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
|
labels:
|
||||||
|
alert: flux-infra
|
||||||
spec:
|
spec:
|
||||||
decryption:
|
decryption:
|
||||||
provider: sops
|
provider: sops
|
||||||
secretRef:
|
secretRef:
|
||||||
name: sops-gpg
|
name: sops-gpg
|
||||||
|
postBuild:
|
||||||
|
substituteFrom:
|
||||||
|
- kind: ConfigMap
|
||||||
|
name: domain-vars
|
||||||
16
clusters/titan.lan.huizinga.dev/flux-system/receiver.yaml
Normal file
16
clusters/titan.lan.huizinga.dev/flux-system/receiver.yaml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: notification.toolkit.fluxcd.io/v1
|
||||||
|
kind: Receiver
|
||||||
|
metadata:
|
||||||
|
name: flux-infra
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
type: github
|
||||||
|
events:
|
||||||
|
- "ping"
|
||||||
|
- "push"
|
||||||
|
secretRef:
|
||||||
|
name: receiver
|
||||||
|
resources:
|
||||||
|
- apiVersion: source.toolkit.fluxcd.io/v1
|
||||||
|
kind: GitRepository
|
||||||
|
name: flux-system
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
data:
|
||||||
|
token: ENC[AES256_GCM,data:Nd4t7LkkCe9pd/ilITlwZpmpF+oRmMfIbgbEiAzTK+OWUb4q37bBzGvhc3V70soS7XmpU13lJwo=,iv:qMoW9dsDauSEsw7GjuCSmsCy3k54jt5x/nngSdGiErg=,tag:ZTkP8IGT+DOJLfO+gIX2xg==,type:str]
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: receiver
|
||||||
|
namespace: flux-system
|
||||||
|
sops:
|
||||||
|
lastmodified: "2025-04-23T17:01:23Z"
|
||||||
|
mac: ENC[AES256_GCM,data:blRYui9FBvet9nuOUEPaMLLzD6CvX7pDZQEtQV5jLfKqLWEBFXUA13zqTrxtH1slGOzif1xshGqjOgsxREvEdb4Y8uSfoWSPuhkPI4WuRESjyYsVHUlP0fOIdE/CNc/xT4wTxxsvZ46ShGCMZ/QN29XsQ04nwHaEsTmYMqtgsBM=,iv:Km0FIruKN+N0Hsat4QaTBCCAHMQz5IiYkTKG2IGILUI=,tag:A1v4kEs46vz2Cm9ZN5Qw1g==,type:str]
|
||||||
|
pgp:
|
||||||
|
- created_at: "2025-04-23T17:01:23Z"
|
||||||
|
enc: |-
|
||||||
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
|
hQIMA7pKPTYH5bqOARAAwZ69AwI2iTOboLpzZmW41EngGkhPKGghGFssiyfWbXqR
|
||||||
|
dtNG+wG371TF9nUMoLagJEqTUGRVX8xznG7R68QhVd85C1iswrNJjZ55nnJKf0IN
|
||||||
|
aRcLp3xsZuWPefOFadaJglRtgLnmCtPNur1TmPXR4V94ycOe1wBTSbvheTs73h6M
|
||||||
|
LBfRBruv2ttJsrcmI2az57KgOrIQnPu/z/NSEbc2GM3CU7/Z9ChWt+b5WEyv/7Sp
|
||||||
|
Sp0ohmC9HputBFGueC6Hw08+152C8yn3BpJhMhiWcCEryNiwKawf/n2UFJ8gk86/
|
||||||
|
5CkRX1CWRtz8nRIfmiwU5IBd5aMXhK684/1lTtdshHGEhSbaGA9N6lK70vdrfVl+
|
||||||
|
euaQkqyCy2sFkhz0EvcK+PTGxnueQ4UuO01l5yRG/ZUdjzYVh9fpx3RoMnJaBctx
|
||||||
|
l63LUG+xXSwR0xy4JIkrWyFDwIyGAebxbtQ8QUeLkmMzHyUx8tOL0qfKd8qkEFwg
|
||||||
|
eJWh0guYllSldgP5h7bJXOTej3ZrP9yC1WY3z2wHu+415/eCpwucFCu/A5QnJXnA
|
||||||
|
YLTE2CIwdDpj5XjjwQwmTNpBgfQ/csHJua40CURJbsYhk4HfqbHNdjEc5kkem/3L
|
||||||
|
PrtA/d59iwy3Vjkn1xmrcX+od3qXRFVDwMjaCleAXi3dnsfN619j8PrZh2bkUyHU
|
||||||
|
aAEJAhD1hSP/yZbfctLVNBCXT3HE8bLlAp82zYsqwx7UJWOhv4saodU1Zm13CWdk
|
||||||
|
nlbN8v3w5o19Xo85rt4YB091dGliTAAQ2CfvsCLRO4ZjO6N2F4KSCSTO0jLSJkce
|
||||||
|
hly9/ZsJAtXB
|
||||||
|
=GCZA
|
||||||
|
-----END PGP MESSAGE-----
|
||||||
|
fp: 1E0CF38FF7C9ADAED58B436ABA4A3D3607E5BA8E
|
||||||
|
- created_at: "2025-04-23T17:01:23Z"
|
||||||
|
enc: |-
|
||||||
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
|
hQIMA51kG++kLewoARAA5IO7TXG5xkv+mlSwFBDbldn5jPy9E1+HbZHp+4CmRquI
|
||||||
|
ONPEeDZgh3n+Fr87OMUKMKfgdEpjdE+l80rCmF7zgaVNqLscRcLJ17k14XfbpsrG
|
||||||
|
wsp5gsvymGh6sllUopetugvzd6gdxEianuhKU6DYJMM+X/nPTDsa5wHazRzPQxS/
|
||||||
|
8zp9tlPWt0HkZelBKXmLoYofZBakZOqZstQvhB0SSjC0BVpQN5WIfh1ES6uoBxhY
|
||||||
|
ddA0R34r1jwXWDE2UqD1Rx12H3TzUxdPGGw5rQKsEZSuEwxfxqjUAsn29ARR88qU
|
||||||
|
FlvSsy+FW7/6HeTcxwS1IMyZfNwRKQYLkzcwqf+OsrrjqTSBPCt8rcMoDVH3vxdf
|
||||||
|
wazu/vqoM1mwkUlogEF/M/SITEO9nJzrkAihAr6OJgfTJqi8RJffxoXQ8gAfan2J
|
||||||
|
wYMkcTxPNnskyZMUr2onotdnqdVSMgR2vwnsvIfSWUSx4eMpK8wO2xQm60hAXNHx
|
||||||
|
QCVcTz7sMDu6nD3xsvJs5D67YnkrLuqnuNeHQqSsREPv132kKIpEhAZop0MYk8ld
|
||||||
|
798jafK8xCzasbIZqDRzSqUUK/Z/J4EN8A4zRY5EtcbXdKHpKkUYuX/Sb7y2FAQR
|
||||||
|
JMV3uqLxJoz4mqUM0VJBt77Del5YQ5LeqE8aHMBDNtfjAdmK/2xg7BuGuromZYzS
|
||||||
|
XgFxwGfX791vSkUJ/z+7Nf3QmAKBXOuEYaYJbcZ5pFbKKdcfI8iEfL7utVQ59U2k
|
||||||
|
4BLB7aChrp8J795YQna+YgPybK5NR00FX6qLJiZAp56MdcvncJ8s42/epRWRusk=
|
||||||
|
=8ak0
|
||||||
|
-----END PGP MESSAGE-----
|
||||||
|
fp: 49F10679C425233EFB4B1B6F9D641BEFA42DEC28
|
||||||
|
encrypted_regex: ^(data|stringData)$
|
||||||
|
version: 3.10.1
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
apiVersion: source.toolkit.fluxcd.io/v1beta2
|
|
||||||
kind: OCIRepository
|
|
||||||
metadata:
|
|
||||||
name: authelia-controller
|
|
||||||
namespace: flux-system
|
|
||||||
spec:
|
|
||||||
interval: 1m0s
|
|
||||||
url: oci://git.huizinga.dev/dreaded_x/authelia-controller/manifests
|
|
||||||
ref:
|
|
||||||
tag: edge
|
|
||||||
---
|
|
||||||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
|
||||||
kind: Kustomization
|
|
||||||
metadata:
|
|
||||||
name: authelia-controller
|
|
||||||
namespace: flux-system
|
|
||||||
spec:
|
|
||||||
interval: 15m
|
|
||||||
prune: true
|
|
||||||
timeout: 2m
|
|
||||||
sourceRef:
|
|
||||||
kind: OCIRepository
|
|
||||||
name: authelia-controller
|
|
||||||
wait: true
|
|
||||||
21
clusters/titan.lan.huizinga.dev/infra/kustomization.yaml
Normal file
21
clusters/titan.lan.huizinga.dev/infra/kustomization.yaml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
|
||||||
|
resources:
|
||||||
|
- ./../../../infra/akri
|
||||||
|
- ./../../../infra/authelia
|
||||||
|
- ./../../../infra/cert-manager
|
||||||
|
- ./../../../infra/cnpg
|
||||||
|
- ./../../../infra/descheduler.yaml
|
||||||
|
- ./../../../infra/dragonflydb.yaml
|
||||||
|
- ./../../../infra/external-snapshotter.yaml
|
||||||
|
- ./../../../infra/intel-device-plugins.yaml
|
||||||
|
- ./../../../infra/kube-vip
|
||||||
|
- ./../../../infra/kyverno
|
||||||
|
- ./../../../infra/lldap
|
||||||
|
- ./../../../infra/loki
|
||||||
|
- ./../../../infra/node-feature-discovery
|
||||||
|
- ./../../../infra/rook-ceph
|
||||||
|
- ./../../../infra/topolvm
|
||||||
|
- ./../../../infra/traefik
|
||||||
|
- ./../../../infra/velero
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
apiVersion: source.toolkit.fluxcd.io/v1beta2
|
|
||||||
kind: OCIRepository
|
|
||||||
metadata:
|
|
||||||
name: lldap-controller
|
|
||||||
namespace: flux-system
|
|
||||||
spec:
|
|
||||||
interval: 1m0s
|
|
||||||
url: oci://git.huizinga.dev/dreaded_x/lldap-controller/manifests
|
|
||||||
ref:
|
|
||||||
tag: edge
|
|
||||||
---
|
|
||||||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
|
||||||
kind: Kustomization
|
|
||||||
metadata:
|
|
||||||
name: lldap-controller
|
|
||||||
namespace: flux-system
|
|
||||||
spec:
|
|
||||||
interval: 15m
|
|
||||||
prune: true
|
|
||||||
timeout: 2m
|
|
||||||
sourceRef:
|
|
||||||
kind: OCIRepository
|
|
||||||
name: lldap-controller
|
|
||||||
wait: true
|
|
||||||
@@ -3,9 +3,11 @@ kind: Kustomization
|
|||||||
metadata:
|
metadata:
|
||||||
name: akri
|
name: akri
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
|
labels:
|
||||||
|
alert: flux-infra
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 15m
|
||||||
path: ./infra/akri
|
path: ./infra/akri/akri
|
||||||
prune: true
|
prune: true
|
||||||
timeout: 2m
|
timeout: 2m
|
||||||
sourceRef:
|
sourceRef:
|
||||||
15
infra/akri/akri/kustomization.yaml
Normal file
15
infra/akri/akri/kustomization.yaml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: akri
|
||||||
|
resources:
|
||||||
|
- ./namespace.yaml
|
||||||
|
- ./helm-repository.yaml
|
||||||
|
- ./helm-release.yaml
|
||||||
|
|
||||||
|
configurations:
|
||||||
|
- ../../../common/name-reference/helm-release.yaml
|
||||||
|
|
||||||
|
configMapGenerator:
|
||||||
|
- name: akri-values
|
||||||
|
files:
|
||||||
|
- ./values.yaml
|
||||||
@@ -1,15 +1,4 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
namespace: akri
|
|
||||||
resources:
|
resources:
|
||||||
- ./namespace.yaml
|
- ./akri.yaml
|
||||||
- ./helm-repository.yaml
|
|
||||||
- ./helm-release.yaml
|
|
||||||
|
|
||||||
configurations:
|
|
||||||
- ../../common/name-reference/helm-release.yaml
|
|
||||||
|
|
||||||
configMapGenerator:
|
|
||||||
- name: akri-values
|
|
||||||
files:
|
|
||||||
- ./values.yaml
|
|
||||||
|
|||||||
62
infra/authelia/authelia-controller.yaml
Normal file
62
infra/authelia/authelia-controller.yaml
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
apiVersion: source.toolkit.fluxcd.io/v1beta2
|
||||||
|
kind: OCIRepository
|
||||||
|
metadata:
|
||||||
|
name: authelia-controller
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 15m0s
|
||||||
|
url: oci://git.huizinga.dev/dreaded_x/authelia-controller/manifests
|
||||||
|
ref:
|
||||||
|
tag: edge
|
||||||
|
---
|
||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: authelia-controller
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 15m
|
||||||
|
prune: true
|
||||||
|
timeout: 2m
|
||||||
|
sourceRef:
|
||||||
|
kind: OCIRepository
|
||||||
|
name: authelia-controller
|
||||||
|
wait: true
|
||||||
|
---
|
||||||
|
apiVersion: notification.toolkit.fluxcd.io/v1
|
||||||
|
kind: Receiver
|
||||||
|
metadata:
|
||||||
|
name: authelia-controller
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
type: generic
|
||||||
|
secretRef:
|
||||||
|
name: receiver
|
||||||
|
resources:
|
||||||
|
- apiVersion: source.toolkit.fluxcd.io/v1beta2
|
||||||
|
kind: OCIRepository
|
||||||
|
name: authelia-controller
|
||||||
|
---
|
||||||
|
apiVersion: notification.toolkit.fluxcd.io/v1beta3
|
||||||
|
kind: Provider
|
||||||
|
metadata:
|
||||||
|
name: authelia-controller
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
type: gitea
|
||||||
|
address: https://git.huizinga.dev/dreaded_x/authelia-controller
|
||||||
|
secretRef:
|
||||||
|
name: gitea
|
||||||
|
---
|
||||||
|
apiVersion: notification.toolkit.fluxcd.io/v1beta3
|
||||||
|
kind: Alert
|
||||||
|
metadata:
|
||||||
|
name: authelia-controller
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
providerRef:
|
||||||
|
name: authelia-controller
|
||||||
|
eventSeverity: info
|
||||||
|
eventSources:
|
||||||
|
- kind: Kustomization
|
||||||
|
name: authelia-controller
|
||||||
@@ -3,9 +3,11 @@ kind: Kustomization
|
|||||||
metadata:
|
metadata:
|
||||||
name: authelia
|
name: authelia
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
|
labels:
|
||||||
|
alert: flux-infra
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 15m
|
||||||
path: ./infra/authelia
|
path: ./infra/authelia/authelia
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- name: traefik
|
- name: traefik
|
||||||
- name: cnpg
|
- name: cnpg
|
||||||
18
infra/authelia/authelia/kustomization.yaml
Normal file
18
infra/authelia/authelia/kustomization.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: authelia
|
||||||
|
resources:
|
||||||
|
- ./namespace.yaml
|
||||||
|
- ./helm-repository.yaml
|
||||||
|
- ./helm-release.yaml
|
||||||
|
- ./service-user.yaml
|
||||||
|
- ../../../common/postgres
|
||||||
|
- ../../../common/dragonflydb
|
||||||
|
|
||||||
|
configurations:
|
||||||
|
- ../../../common/name-reference/helm-release.yaml
|
||||||
|
|
||||||
|
configMapGenerator:
|
||||||
|
- name: authelia-values
|
||||||
|
files:
|
||||||
|
- ./values.yaml
|
||||||
@@ -1,18 +1,5 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
namespace: authelia
|
|
||||||
resources:
|
resources:
|
||||||
- ./namespace.yaml
|
- ./authelia-controller.yaml
|
||||||
- ./helm-repository.yaml
|
- ./authelia.yaml
|
||||||
- ./helm-release.yaml
|
|
||||||
- ./service-user.yaml
|
|
||||||
- ../../common/postgres
|
|
||||||
- ../../common/dragonflydb
|
|
||||||
|
|
||||||
configurations:
|
|
||||||
- ../../common/name-reference/helm-release.yaml
|
|
||||||
|
|
||||||
configMapGenerator:
|
|
||||||
- name: authelia-values
|
|
||||||
files:
|
|
||||||
- ./values.yaml
|
|
||||||
|
|||||||
@@ -3,9 +3,11 @@ kind: Kustomization
|
|||||||
metadata:
|
metadata:
|
||||||
name: cert-manager
|
name: cert-manager
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
|
labels:
|
||||||
|
alert: flux-infra
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 15m
|
||||||
path: ./infra/cert-manager
|
path: ./infra/cert-manager/cert-manager
|
||||||
prune: true
|
prune: true
|
||||||
timeout: 2m
|
timeout: 2m
|
||||||
sourceRef:
|
sourceRef:
|
||||||
15
infra/cert-manager/cert-manager/kustomization.yaml
Normal file
15
infra/cert-manager/cert-manager/kustomization.yaml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: cert-manager
|
||||||
|
resources:
|
||||||
|
- ./namespace.yaml
|
||||||
|
- ./helm-repository.yaml
|
||||||
|
- ./helm-release.yaml
|
||||||
|
|
||||||
|
configurations:
|
||||||
|
- ../../../common/name-reference/helm-release.yaml
|
||||||
|
|
||||||
|
configMapGenerator:
|
||||||
|
- name: cert-manager-values
|
||||||
|
files:
|
||||||
|
- ./values.yaml
|
||||||
@@ -1,15 +1,5 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
namespace: cert-manager
|
|
||||||
resources:
|
resources:
|
||||||
- ./namespace.yaml
|
- ./cert-manager.yaml
|
||||||
- ./helm-repository.yaml
|
- ./letsencrypt.yaml
|
||||||
- ./helm-release.yaml
|
|
||||||
|
|
||||||
configurations:
|
|
||||||
- ../../common/name-reference/helm-release.yaml
|
|
||||||
|
|
||||||
configMapGenerator:
|
|
||||||
- name: cert-manager-values
|
|
||||||
files:
|
|
||||||
- ./values.yaml
|
|
||||||
|
|||||||
@@ -3,9 +3,11 @@ kind: Kustomization
|
|||||||
metadata:
|
metadata:
|
||||||
name: letsencrypt
|
name: letsencrypt
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
|
labels:
|
||||||
|
alert: flux-infra
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 15m
|
||||||
path: ./infra/letsencrypt
|
path: ./infra/cert-manager/letsencrypt
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- name: cert-manager
|
- name: cert-manager
|
||||||
prune: true
|
prune: true
|
||||||
@@ -3,9 +3,11 @@ kind: Kustomization
|
|||||||
metadata:
|
metadata:
|
||||||
name: cnpg
|
name: cnpg
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
|
labels:
|
||||||
|
alert: flux-infra
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 15m
|
||||||
path: ./infra/cnpg
|
path: ./infra/cnpg/cnpg
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- name: topolvm
|
- name: topolvm
|
||||||
prune: true
|
prune: true
|
||||||
14
infra/cnpg/cnpg/kustomization.yaml
Normal file
14
infra/cnpg/cnpg/kustomization.yaml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: cnpg-system
|
||||||
|
resources:
|
||||||
|
- ./namespace.yaml
|
||||||
|
- ./helm-repository.yaml
|
||||||
|
- ./helm-release.yaml
|
||||||
|
configurations:
|
||||||
|
- ../../../common/name-reference/helm-release.yaml
|
||||||
|
|
||||||
|
configMapGenerator:
|
||||||
|
- name: cnpg-values
|
||||||
|
files:
|
||||||
|
- ./values.yaml
|
||||||
@@ -1,14 +1,4 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
namespace: cnpg-system
|
|
||||||
resources:
|
resources:
|
||||||
- ./namespace.yaml
|
- ./cnpg.yaml
|
||||||
- ./helm-repository.yaml
|
|
||||||
- ./helm-release.yaml
|
|
||||||
configurations:
|
|
||||||
- ../../common/name-reference/helm-release.yaml
|
|
||||||
|
|
||||||
configMapGenerator:
|
|
||||||
- name: cnpg-values
|
|
||||||
files:
|
|
||||||
- ./values.yaml
|
|
||||||
|
|||||||
@@ -3,9 +3,11 @@ kind: Kustomization
|
|||||||
metadata:
|
metadata:
|
||||||
name: kube-vip
|
name: kube-vip
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
|
labels:
|
||||||
|
alert: flux-infra
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 15m
|
||||||
path: ./infra/kube-vip
|
path: ./infra/kube-vip/kube-vip
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- name: kyverno-policies
|
- name: kyverno-policies
|
||||||
prune: true
|
prune: true
|
||||||
11
infra/kube-vip/kube-vip/kustomization.yaml
Normal file
11
infra/kube-vip/kube-vip/kustomization.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: kube-system
|
||||||
|
resources:
|
||||||
|
- ./service-account.yaml
|
||||||
|
- ./cluster-role.yaml
|
||||||
|
- ./cluster-role-binding.yaml
|
||||||
|
- ./daemon-set.yaml
|
||||||
|
|
||||||
|
- https://raw.githubusercontent.com/kube-vip/kube-vip-cloud-provider/refs/tags/v0.0.11/manifest/kube-vip-cloud-controller.yaml
|
||||||
|
- ./config-map-kubevip.yaml
|
||||||
@@ -1,11 +1,4 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
namespace: kube-system
|
|
||||||
resources:
|
resources:
|
||||||
- ./service-account.yaml
|
- ./kube-vip.yaml
|
||||||
- ./cluster-role.yaml
|
|
||||||
- ./cluster-role-binding.yaml
|
|
||||||
- ./daemon-set.yaml
|
|
||||||
|
|
||||||
- https://raw.githubusercontent.com/kube-vip/kube-vip-cloud-provider/refs/tags/v0.0.11/manifest/kube-vip-cloud-controller.yaml
|
|
||||||
- ./config-map-kubevip.yaml
|
|
||||||
|
|||||||
@@ -1,15 +1,5 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
namespace: kyverno
|
|
||||||
resources:
|
resources:
|
||||||
- ./namespace.yaml
|
- ./kyverno-policies.yaml
|
||||||
- ./helm-repository.yaml
|
- ./kyverno.yaml
|
||||||
- ./helm-release.yaml
|
|
||||||
|
|
||||||
configurations:
|
|
||||||
- ../../common/name-reference/helm-release.yaml
|
|
||||||
|
|
||||||
configMapGenerator:
|
|
||||||
- name: kyverno-values
|
|
||||||
files:
|
|
||||||
- ./values.yaml
|
|
||||||
|
|||||||
@@ -3,9 +3,11 @@ kind: Kustomization
|
|||||||
metadata:
|
metadata:
|
||||||
name: kyverno-policies
|
name: kyverno-policies
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
|
labels:
|
||||||
|
alert: flux-infra
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 15m
|
||||||
path: ./infra/kyverno-policies
|
path: ./infra/kyverno/kyverno-policies
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- name: kyverno
|
- name: kyverno
|
||||||
prune: true
|
prune: true
|
||||||
@@ -3,9 +3,11 @@ kind: Kustomization
|
|||||||
metadata:
|
metadata:
|
||||||
name: kyverno
|
name: kyverno
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
|
labels:
|
||||||
|
alert: flux-infra
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 15m
|
||||||
path: ./infra/kyverno
|
path: ./infra/kyverno/kyverno
|
||||||
prune: true
|
prune: true
|
||||||
timeout: 2m
|
timeout: 2m
|
||||||
sourceRef:
|
sourceRef:
|
||||||
15
infra/kyverno/kyverno/kustomization.yaml
Normal file
15
infra/kyverno/kyverno/kustomization.yaml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: kyverno
|
||||||
|
resources:
|
||||||
|
- ./namespace.yaml
|
||||||
|
- ./helm-repository.yaml
|
||||||
|
- ./helm-release.yaml
|
||||||
|
|
||||||
|
configurations:
|
||||||
|
- ../../../common/name-reference/helm-release.yaml
|
||||||
|
|
||||||
|
configMapGenerator:
|
||||||
|
- name: kyverno-values
|
||||||
|
files:
|
||||||
|
- ./values.yaml
|
||||||
@@ -1,10 +1,5 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
namespace: lldap
|
|
||||||
resources:
|
resources:
|
||||||
- ./namespace.yaml
|
- ./lldap-controller.yaml
|
||||||
- ./secret-lldap-credentials.yaml
|
- ./lldap.yaml
|
||||||
- ./deployment.yaml
|
|
||||||
- ./service.yaml
|
|
||||||
- ./ingress-route.yaml
|
|
||||||
- ../../common/postgres
|
|
||||||
|
|||||||
62
infra/lldap/lldap-controller.yaml
Normal file
62
infra/lldap/lldap-controller.yaml
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
apiVersion: source.toolkit.fluxcd.io/v1beta2
|
||||||
|
kind: OCIRepository
|
||||||
|
metadata:
|
||||||
|
name: lldap-controller
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 15m0s
|
||||||
|
url: oci://git.huizinga.dev/dreaded_x/lldap-controller/manifests
|
||||||
|
ref:
|
||||||
|
tag: edge
|
||||||
|
---
|
||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: lldap-controller
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 15m
|
||||||
|
prune: true
|
||||||
|
timeout: 2m
|
||||||
|
sourceRef:
|
||||||
|
kind: OCIRepository
|
||||||
|
name: lldap-controller
|
||||||
|
wait: true
|
||||||
|
---
|
||||||
|
apiVersion: notification.toolkit.fluxcd.io/v1
|
||||||
|
kind: Receiver
|
||||||
|
metadata:
|
||||||
|
name: lldap-controller
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
type: generic
|
||||||
|
secretRef:
|
||||||
|
name: receiver
|
||||||
|
resources:
|
||||||
|
- apiVersion: source.toolkit.fluxcd.io/v1beta2
|
||||||
|
kind: OCIRepository
|
||||||
|
name: lldap-controller
|
||||||
|
---
|
||||||
|
apiVersion: notification.toolkit.fluxcd.io/v1beta3
|
||||||
|
kind: Provider
|
||||||
|
metadata:
|
||||||
|
name: lldap-controller
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
type: gitea
|
||||||
|
address: https://git.huizinga.dev/dreaded_x/lldap-controller
|
||||||
|
secretRef:
|
||||||
|
name: gitea
|
||||||
|
---
|
||||||
|
apiVersion: notification.toolkit.fluxcd.io/v1beta3
|
||||||
|
kind: Alert
|
||||||
|
metadata:
|
||||||
|
name: lldap-controller
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
providerRef:
|
||||||
|
name: lldap-controller
|
||||||
|
eventSeverity: info
|
||||||
|
eventSources:
|
||||||
|
- kind: Kustomization
|
||||||
|
name: lldap-controller
|
||||||
@@ -3,9 +3,11 @@ kind: Kustomization
|
|||||||
metadata:
|
metadata:
|
||||||
name: lldap
|
name: lldap
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
|
labels:
|
||||||
|
alert: flux-infra
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 15m
|
||||||
path: ./infra/lldap
|
path: ./infra/lldap/lldap
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- name: traefik
|
- name: traefik
|
||||||
- name: cnpg
|
- name: cnpg
|
||||||
10
infra/lldap/lldap/kustomization.yaml
Normal file
10
infra/lldap/lldap/kustomization.yaml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: lldap
|
||||||
|
resources:
|
||||||
|
- ./namespace.yaml
|
||||||
|
- ./secret-lldap-credentials.yaml
|
||||||
|
- ./deployment.yaml
|
||||||
|
- ./service.yaml
|
||||||
|
- ./ingress-route.yaml
|
||||||
|
- ../../../common/postgres
|
||||||
5
infra/loki/kustomization.yaml
Normal file
5
infra/loki/kustomization.yaml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- ./loki.yaml
|
||||||
|
- ./promtail.yaml
|
||||||
18
infra/loki/loki.yaml
Normal file
18
infra/loki/loki.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: loki
|
||||||
|
namespace: flux-system
|
||||||
|
labels:
|
||||||
|
alert: flux-infra
|
||||||
|
spec:
|
||||||
|
interval: 15m
|
||||||
|
path: ./infra/loki/loki
|
||||||
|
dependsOn:
|
||||||
|
- name: rook-ceph
|
||||||
|
prune: true
|
||||||
|
timeout: 2m
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: flux-system
|
||||||
|
wait: true
|
||||||
18
infra/loki/loki/helm-release.yaml
Normal file
18
infra/loki/loki/helm-release.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: loki
|
||||||
|
spec:
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: loki
|
||||||
|
reconcileStrategy: ChartVersion
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: grafana
|
||||||
|
version: 6.29.0
|
||||||
|
interval: 15m
|
||||||
|
timeout: 5m
|
||||||
|
valuesFrom:
|
||||||
|
- kind: ConfigMap
|
||||||
|
name: loki-values
|
||||||
7
infra/loki/loki/helm-repository.yaml
Normal file
7
infra/loki/loki/helm-repository.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
apiVersion: source.toolkit.fluxcd.io/v1
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: grafana
|
||||||
|
spec:
|
||||||
|
interval: 15m
|
||||||
|
url: https://grafana.github.io/helm-charts
|
||||||
22
infra/loki/loki/kustomization.yaml
Normal file
22
infra/loki/loki/kustomization.yaml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: loki
|
||||||
|
resources:
|
||||||
|
- ./namespace.yaml
|
||||||
|
- ./object-bucket-claim.yaml
|
||||||
|
- ./helm-repository.yaml
|
||||||
|
- ./helm-release.yaml
|
||||||
|
|
||||||
|
configurations:
|
||||||
|
- ../../../common/name-reference/helm-release.yaml
|
||||||
|
|
||||||
|
configMapGenerator:
|
||||||
|
- name: loki-values
|
||||||
|
files:
|
||||||
|
- ./values.yaml
|
||||||
|
- name: grafana-datasource
|
||||||
|
options:
|
||||||
|
labels:
|
||||||
|
grafana_datasource: "1"
|
||||||
|
files:
|
||||||
|
- ./loki-datasource.yaml
|
||||||
8
infra/loki/loki/loki-datasource.yaml
Normal file
8
infra/loki/loki/loki-datasource.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: 1
|
||||||
|
datasources:
|
||||||
|
- name: Loki
|
||||||
|
type: loki
|
||||||
|
access: proxy
|
||||||
|
url: http://loki-gateway.loki.svc.cluster.local
|
||||||
|
uid: "loki"
|
||||||
|
jsonData: {}
|
||||||
4
infra/loki/loki/namespace.yaml
Normal file
4
infra/loki/loki/namespace.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: loki
|
||||||
7
infra/loki/loki/object-bucket-claim.yaml
Normal file
7
infra/loki/loki/object-bucket-claim.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
apiVersion: objectbucket.io/v1alpha1
|
||||||
|
kind: ObjectBucketClaim
|
||||||
|
metadata:
|
||||||
|
name: loki-bucket
|
||||||
|
spec:
|
||||||
|
generateBucketName: loki
|
||||||
|
storageClassName: ceph-bucket
|
||||||
75
infra/loki/loki/values.yaml
Normal file
75
infra/loki/loki/values.yaml
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
loki:
|
||||||
|
auth_enabled: false
|
||||||
|
|
||||||
|
schemaConfig:
|
||||||
|
configs:
|
||||||
|
- from: "2024-04-01"
|
||||||
|
store: tsdb
|
||||||
|
object_store: s3
|
||||||
|
schema: v13
|
||||||
|
index:
|
||||||
|
prefix: index_
|
||||||
|
period: 24h
|
||||||
|
|
||||||
|
limits_config:
|
||||||
|
split_queries_by_interval: "1h"
|
||||||
|
retention_period: 672h # 28 days retention
|
||||||
|
query_scheduler:
|
||||||
|
max_outstanding_requests_per_tenant: 2048
|
||||||
|
|
||||||
|
storage:
|
||||||
|
type: s3
|
||||||
|
bucketNames:
|
||||||
|
chunks: "${BUCKET_NAME}"
|
||||||
|
ruler: "${BUCKET_NAME}"
|
||||||
|
admin: "${BUCKET_NAME}"
|
||||||
|
s3:
|
||||||
|
# s3 URL can be used to specify the endpoint, access key, secret key, and bucket name this works well for S3 compatible storages or if you are hosting Loki on-premises and want to use S3 as the storage backend. Either use the s3 URL or the individual fields below (AWS endpoint, region, secret).
|
||||||
|
# s3: s3://access_key:secret_access_key@custom_endpoint/bucket_name
|
||||||
|
# AWS endpoint URL
|
||||||
|
endpoint: "${BUCKET_HOST}"
|
||||||
|
# AWS region where the S3 bucket is located
|
||||||
|
region: "${BUCKET_REGION}"
|
||||||
|
# AWS secret access key
|
||||||
|
secretAccessKey: "${AWS_SECRET_ACCESS_KEY}"
|
||||||
|
# AWS access key ID
|
||||||
|
accessKeyId: "${AWS_ACCESS_KEY_ID}"
|
||||||
|
# AWS signature version (e.g., v2 or v4)
|
||||||
|
# signatureVersion: <your-signature-version>
|
||||||
|
# Forces the path style for S3 (true/false)
|
||||||
|
s3ForcePathStyle: true
|
||||||
|
# Allows insecure (HTTP) connections (true/false)
|
||||||
|
insecure: true
|
||||||
|
# HTTP configuration settings
|
||||||
|
# http_config: {}
|
||||||
|
|
||||||
|
backend:
|
||||||
|
replicas: 2
|
||||||
|
|
||||||
|
extraArgs:
|
||||||
|
- -config.expand-env=true
|
||||||
|
extraEnvFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: loki-bucket
|
||||||
|
- configMapRef:
|
||||||
|
name: loki-bucket
|
||||||
|
read:
|
||||||
|
replicas: 2
|
||||||
|
|
||||||
|
extraArgs:
|
||||||
|
- -config.expand-env=true
|
||||||
|
extraEnvFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: loki-bucket
|
||||||
|
- configMapRef:
|
||||||
|
name: loki-bucket
|
||||||
|
write:
|
||||||
|
replicas: 2
|
||||||
|
|
||||||
|
extraArgs:
|
||||||
|
- -config.expand-env=true
|
||||||
|
extraEnvFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: loki-bucket
|
||||||
|
- configMapRef:
|
||||||
|
name: loki-bucket
|
||||||
18
infra/loki/promtail.yaml
Normal file
18
infra/loki/promtail.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: promtail
|
||||||
|
namespace: flux-system
|
||||||
|
labels:
|
||||||
|
alert: flux-infra
|
||||||
|
spec:
|
||||||
|
interval: 15m
|
||||||
|
path: ./infra/loki/promtail
|
||||||
|
dependsOn:
|
||||||
|
- name: loki
|
||||||
|
prune: true
|
||||||
|
timeout: 2m
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: flux-system
|
||||||
|
wait: true
|
||||||
18
infra/loki/promtail/helm-release.yaml
Normal file
18
infra/loki/promtail/helm-release.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: promtail
|
||||||
|
spec:
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: promtail
|
||||||
|
reconcileStrategy: ChartVersion
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: grafana
|
||||||
|
version: 6.16.6
|
||||||
|
interval: 15m
|
||||||
|
timeout: 5m
|
||||||
|
valuesFrom:
|
||||||
|
- kind: ConfigMap
|
||||||
|
name: promtail-values
|
||||||
13
infra/loki/promtail/kustomization.yaml
Normal file
13
infra/loki/promtail/kustomization.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: loki
|
||||||
|
resources:
|
||||||
|
- ./helm-release.yaml
|
||||||
|
|
||||||
|
configurations:
|
||||||
|
- ../../../common/name-reference/helm-release.yaml
|
||||||
|
|
||||||
|
configMapGenerator:
|
||||||
|
- name: promtail-values
|
||||||
|
files:
|
||||||
|
- ./values.yaml
|
||||||
14
infra/loki/promtail/values.yaml
Normal file
14
infra/loki/promtail/values.yaml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
initContainer:
|
||||||
|
# -- Specifies whether the init container for setting inotify max user instances is to be enabled
|
||||||
|
- name: init
|
||||||
|
# -- Docker registry, image and tag for the init container image
|
||||||
|
image: docker.io/busybox:1.33
|
||||||
|
# -- Docker image pull policy for the init container image
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
# -- The inotify max user instances to configure
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
- -c
|
||||||
|
- sysctl -w fs.inotify.max_user_instances=512
|
||||||
|
securityContext:
|
||||||
|
privileged: true
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user