Compare commits
34 Commits
eb77157555
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
d5e336c80b
|
|||
|
28dab8e5f4
|
|||
|
fad4d94dc0
|
|||
|
bf226ea855
|
|||
|
dd873c296d
|
|||
|
e0babc5b5f
|
|||
|
995eddb4e8
|
|||
|
e2bd3ae33f
|
|||
|
35472754c0
|
|||
|
9154fafaef
|
|||
|
c0b51106f2
|
|||
|
d5c6429205
|
|||
|
be1c67d665
|
|||
|
8046ec13aa
|
|||
|
e11250594f
|
|||
|
4f76807824
|
|||
|
d24347a93c
|
|||
|
913b98333a
|
|||
|
02ca71f13a
|
|||
|
0e3931ece3
|
|||
|
83111317fb
|
|||
|
5c16ed8137
|
|||
|
466f4244d7
|
|||
|
128ba4627c
|
|||
|
f78fc3d8c1
|
|||
|
7236d72e53
|
|||
|
f2e9cede37
|
|||
|
bdc35b8d45
|
|||
|
4c86c13942
|
|||
|
02419996c4
|
|||
|
92e7e9ebc5
|
|||
|
39929c9a74
|
|||
|
1085275c76
|
|||
|
9353408ed6
|
4
.git-crypt/.gitattributes
vendored
Normal file
4
.git-crypt/.gitattributes
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Do not edit this file. To specify the files to encrypt, create your own
|
||||||
|
# .gitattributes file in the directory where your files are.
|
||||||
|
* !filter !diff
|
||||||
|
*.gpg binary
|
||||||
Binary file not shown.
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
deploy.key filter=git-crypt diff=git-crypt
|
||||||
28
.pre-commit-config.yaml
Normal file
28
.pre-commit-config.yaml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
default_install_hook_types: [pre-commit, commit-msg]
|
||||||
|
exclude: gotk-.*.yaml
|
||||||
|
repos:
|
||||||
|
- repo: builtin
|
||||||
|
hooks:
|
||||||
|
- id: trailing-whitespace
|
||||||
|
- id: end-of-file-fixer
|
||||||
|
- id: check-yaml
|
||||||
|
args:
|
||||||
|
- --allow-multiple-documents
|
||||||
|
- id: check-added-large-files
|
||||||
|
- id: check-merge-conflict
|
||||||
|
- id: check-executables-have-shebangs
|
||||||
|
|
||||||
|
- repo: https://github.com/crate-ci/typos
|
||||||
|
rev: v1.40.0
|
||||||
|
hooks:
|
||||||
|
- id: typos
|
||||||
|
|
||||||
|
- repo: https://github.com/sirwart/ripsecrets
|
||||||
|
rev: v0.1.11
|
||||||
|
hooks:
|
||||||
|
- id: ripsecrets-system
|
||||||
|
|
||||||
|
- repo: https://github.com/crate-ci/committed
|
||||||
|
rev: v1.1.8
|
||||||
|
hooks:
|
||||||
|
- id: committed
|
||||||
1
.secretsignore
Normal file
1
.secretsignore
Normal file
@@ -0,0 +1 @@
|
|||||||
|
deploy.key
|
||||||
@@ -2,7 +2,7 @@ creation_rules:
|
|||||||
- path_regex: .*.yaml
|
- path_regex: .*.yaml
|
||||||
encrypted_regex: ^(data|stringData)$
|
encrypted_regex: ^(data|stringData)$
|
||||||
pgp: >-
|
pgp: >-
|
||||||
1E0CF38FF7C9ADAED58B436ABA4A3D3607E5BA8E!
|
CD17A34CBFB21DE9A73D47EB76BDEC4E165D8AD9
|
||||||
age: >-
|
age: >-
|
||||||
age1860txadrlqrjwnqh0g466re2nt8jk7xhj640pq9gpsddpg23uynqsp2hul,
|
age1860txadrlqrjwnqh0g466re2nt8jk7xhj640pq9gpsddpg23uynqsp2hul,
|
||||||
age1hktythzvsnth6u5en2lvag0tftnj9r03w7rpnzfgzgf5w95qxycq2azufj
|
age1hktythzvsnth6u5en2lvag0tftnj9r03w7rpnzfgzgf5w95qxycq2azufj
|
||||||
|
|||||||
7
.typos.toml
Normal file
7
.typos.toml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
[default]
|
||||||
|
extend-ignore-re = [
|
||||||
|
"(?Rm)^.*(#|//)\\s*spellchecker:disable-line$",
|
||||||
|
"(?s)(#|//)\\s*spellchecker:off.*?\\n\\s*(#|//)\\s*spellchecker:on",
|
||||||
|
"(#|//)\\s*spellchecker:ignore-next-line\\n.*",
|
||||||
|
"-{5}BEGIN AGE ENCRYPTED FILE-{5}(?:$|[^-]{63,}-{5}END)",
|
||||||
|
]
|
||||||
7
README.md
Normal file
7
README.md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# SSH Key issues
|
||||||
|
|
||||||
|
Here are some things to check when running into ssh key issues:
|
||||||
|
|
||||||
|
- Make sure that known hosts only contains a key of type ecdsa-sha2-nistp256 otherwise flux will fail to connect to the repository over ssh.
|
||||||
|
|
||||||
|
- Make sure the deploy key is read/write.
|
||||||
21
apps/artifacts.yaml
Normal file
21
apps/artifacts.yaml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
apiVersion: source.extensions.fluxcd.io/v1beta1
|
||||||
|
kind: ArtifactGenerator
|
||||||
|
metadata:
|
||||||
|
name: apps
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
sources:
|
||||||
|
- alias: foundation
|
||||||
|
kind: GitRepository
|
||||||
|
name: flux-system
|
||||||
|
artifacts:
|
||||||
|
- name: spegel
|
||||||
|
originRevision: "@foundation"
|
||||||
|
copy:
|
||||||
|
- from: "@foundation/apps/spegel/**"
|
||||||
|
to: "@artifact/"
|
||||||
|
- name: lldap
|
||||||
|
originRevision: "@foundation"
|
||||||
|
copy:
|
||||||
|
- from: "@foundation/apps/lldap/**"
|
||||||
|
to: "@artifact/"
|
||||||
16
apps/lldap/base/cluster-restore.yaml
Normal file
16
apps/lldap/base/cluster-restore.yaml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: postgresql.cnpg.io/v1
|
||||||
|
kind: Cluster
|
||||||
|
metadata:
|
||||||
|
name: lldap-db
|
||||||
|
spec:
|
||||||
|
bootstrap:
|
||||||
|
recovery:
|
||||||
|
source: source
|
||||||
|
externalClusters:
|
||||||
|
- name: source
|
||||||
|
plugin:
|
||||||
|
name: barman-cloud.cloudnative-pg.io
|
||||||
|
parameters:
|
||||||
|
barmanObjectName: garage-store
|
||||||
|
serverName: lldap-db
|
||||||
|
plugins: []
|
||||||
15
apps/lldap/base/cluster.yaml
Normal file
15
apps/lldap/base/cluster.yaml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: postgresql.cnpg.io/v1
|
||||||
|
kind: Cluster
|
||||||
|
metadata:
|
||||||
|
name: db
|
||||||
|
namespace: lldap
|
||||||
|
# TODO: Add labels?
|
||||||
|
spec:
|
||||||
|
storage:
|
||||||
|
size: 8Gi
|
||||||
|
storageClass: local-path
|
||||||
|
plugins:
|
||||||
|
- name: barman-cloud.cloudnative-pg.io
|
||||||
|
isWALArchiver: true
|
||||||
|
parameters:
|
||||||
|
barmanObjectName: garage-store
|
||||||
80
apps/lldap/base/deployment.yaml
Normal file
80
apps/lldap/base/deployment.yaml
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: lldap
|
||||||
|
namespace: lldap
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: lldap
|
||||||
|
app.kubernetes.io/instance: lldap
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: lldap
|
||||||
|
app.kubernetes.io/instance: lldap
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: lldap
|
||||||
|
app.kubernetes.io/instance: lldap
|
||||||
|
spec:
|
||||||
|
topologySpreadConstraints:
|
||||||
|
- maxSkew: 1
|
||||||
|
topologyKey: kubernetes.io/hostname
|
||||||
|
whenUnsatisfiable: DoNotSchedule
|
||||||
|
labelSelector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: lldap
|
||||||
|
app.kubernetes.io/instance: lldap
|
||||||
|
securityContext:
|
||||||
|
runAsNonRoot: true
|
||||||
|
runAsUser: 1000
|
||||||
|
runAsGroup: 1000
|
||||||
|
fsGroup: 1000
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
containers:
|
||||||
|
- name: lldap
|
||||||
|
image: lldap/lldap:2025-12-12-alpine-rootless
|
||||||
|
env:
|
||||||
|
- name: LLDAP_LDAP_BASE_DN
|
||||||
|
value: dc=huizinga,dc=dev
|
||||||
|
- name: LLDAP_LDAP_USER_PASS
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: credentials
|
||||||
|
key: admin-pass
|
||||||
|
- name: LLDAP_KEY_SEED
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: credentials
|
||||||
|
key: key-seed
|
||||||
|
- name: LLDAP_JWT_SECRET
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: credentials
|
||||||
|
key: jwt-secret
|
||||||
|
- name: LLDAP_DATABASE_URL
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: db-app
|
||||||
|
key: uri
|
||||||
|
- name: TZ
|
||||||
|
value: CET
|
||||||
|
livenessProbe:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- /app/lldap
|
||||||
|
- healthcheck
|
||||||
|
initialDelaySeconds: 5
|
||||||
|
periodSeconds: 30
|
||||||
|
ports:
|
||||||
|
- name: ldap
|
||||||
|
containerPort: 3890
|
||||||
|
- name: web
|
||||||
|
containerPort: 17170
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
runAsNonRoot: true
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
13
apps/lldap/base/http-route.yaml
Normal file
13
apps/lldap/base/http-route.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: gateway.networking.k8s.io/v1beta1
|
||||||
|
kind: HTTPRoute
|
||||||
|
metadata:
|
||||||
|
name: lldap
|
||||||
|
namespace: lldap
|
||||||
|
spec:
|
||||||
|
parentRefs:
|
||||||
|
- name: gateway
|
||||||
|
namespace: default
|
||||||
|
rules:
|
||||||
|
- backendRefs:
|
||||||
|
- name: lldap
|
||||||
|
port: 17170
|
||||||
17
apps/lldap/base/kustomization.yaml
Normal file
17
apps/lldap/base/kustomization.yaml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- namespace.yaml
|
||||||
|
- cluster.yaml
|
||||||
|
- schedule-backup.yaml
|
||||||
|
- deployment.yaml
|
||||||
|
- service.yaml
|
||||||
|
- http-route.yaml
|
||||||
|
- secret-s3-garage.yaml
|
||||||
|
- object-store.yaml
|
||||||
|
|
||||||
|
# Uncomment to restore database from backup
|
||||||
|
# patches:
|
||||||
|
# - path: cluster-restore.yaml
|
||||||
|
# target:
|
||||||
|
# kind: Cluster
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Namespace
|
kind: Namespace
|
||||||
metadata:
|
metadata:
|
||||||
name: certificates
|
name: lldap
|
||||||
20
apps/lldap/base/object-store.yaml
Normal file
20
apps/lldap/base/object-store.yaml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
apiVersion: barmancloud.cnpg.io/v1
|
||||||
|
kind: ObjectStore
|
||||||
|
metadata:
|
||||||
|
name: garage-store
|
||||||
|
namespace: lldap
|
||||||
|
spec:
|
||||||
|
configuration:
|
||||||
|
destinationPath: s3://cnpg-backup/lldap
|
||||||
|
s3Credentials:
|
||||||
|
accessKeyId:
|
||||||
|
name: s3-garage
|
||||||
|
key: ACCESS_KEY_ID
|
||||||
|
secretAccessKey:
|
||||||
|
name: s3-garage
|
||||||
|
key: ACCESS_SECRET_KEY
|
||||||
|
region:
|
||||||
|
name: s3-garage
|
||||||
|
key: REGION
|
||||||
|
wal:
|
||||||
|
compression: gzip
|
||||||
13
apps/lldap/base/schedule-backup.yaml
Normal file
13
apps/lldap/base/schedule-backup.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: postgresql.cnpg.io/v1
|
||||||
|
kind: ScheduledBackup
|
||||||
|
metadata:
|
||||||
|
name: daily-backup
|
||||||
|
namespace: lldap
|
||||||
|
spec:
|
||||||
|
schedule: "0 0 0 * * *"
|
||||||
|
backupOwnerReference: self
|
||||||
|
method: plugin
|
||||||
|
pluginConfiguration:
|
||||||
|
name: barman-cloud.cloudnative-pg.io
|
||||||
|
cluster:
|
||||||
|
name: db
|
||||||
9
apps/lldap/base/secret-s3-garage.yaml
Normal file
9
apps/lldap/base/secret-s3-garage.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: s3-garage
|
||||||
|
namespace: lldap
|
||||||
|
annotations:
|
||||||
|
reflector.v1.k8s.emberstack.com/reflects: "cnpg-system/s3-garage"
|
||||||
|
type: Opaque
|
||||||
|
data: {}
|
||||||
19
apps/lldap/base/service.yaml
Normal file
19
apps/lldap/base/service.yaml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: lldap
|
||||||
|
namespace: lldap
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: lldap
|
||||||
|
app.kubernetes.io/instance: lldap
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app.kubernetes.io/name: lldap
|
||||||
|
app.kubernetes.io/instance: lldap
|
||||||
|
ports:
|
||||||
|
- name: ldap
|
||||||
|
port: 3890
|
||||||
|
targetPort: ldap
|
||||||
|
- name: web
|
||||||
|
port: 17170
|
||||||
|
targetPort: web
|
||||||
21
apps/lldap/lldap.yaml
Normal file
21
apps/lldap/lldap.yaml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: lldap
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 1h
|
||||||
|
retryInterval: 2m
|
||||||
|
timeout: 5m
|
||||||
|
dependsOn:
|
||||||
|
- name: cnpg
|
||||||
|
sourceRef:
|
||||||
|
kind: ExternalArtifact
|
||||||
|
name: lldap
|
||||||
|
decryption:
|
||||||
|
provider: sops
|
||||||
|
secretRef:
|
||||||
|
name: sops-gpg
|
||||||
|
path: ./${cluster_env}
|
||||||
|
prune: true
|
||||||
|
wait: true
|
||||||
6
apps/lldap/production/cluster.yaml
Normal file
6
apps/lldap/production/cluster.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: postgresql.cnpg.io/v1
|
||||||
|
kind: Cluster
|
||||||
|
metadata:
|
||||||
|
name: db
|
||||||
|
spec:
|
||||||
|
instances: 2
|
||||||
7
apps/lldap/production/deployment.yaml
Normal file
7
apps/lldap/production/deployment.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: lldap
|
||||||
|
namespace: lldap
|
||||||
|
spec:
|
||||||
|
replicas: 2
|
||||||
8
apps/lldap/production/http-route.yaml
Normal file
8
apps/lldap/production/http-route.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: gateway.networking.k8s.io/v1beta1
|
||||||
|
kind: HTTPRoute
|
||||||
|
metadata:
|
||||||
|
name: lldap
|
||||||
|
namespace: lldap
|
||||||
|
spec:
|
||||||
|
hostnames:
|
||||||
|
- "users.huizinga.dev"
|
||||||
15
apps/lldap/production/kustomization.yaml
Normal file
15
apps/lldap/production/kustomization.yaml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- ../base
|
||||||
|
- secret-credentials.enc.yaml
|
||||||
|
patches:
|
||||||
|
- path: deployment.yaml
|
||||||
|
target:
|
||||||
|
kind: Deployment
|
||||||
|
- path: cluster.yaml
|
||||||
|
target:
|
||||||
|
kind: Cluster
|
||||||
|
- path: http-route.yaml
|
||||||
|
target:
|
||||||
|
kind: HTTPRoute
|
||||||
59
apps/lldap/production/secret-credentials.enc.yaml
Normal file
59
apps/lldap/production/secret-credentials.enc.yaml
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: credentials
|
||||||
|
namespace: lldap
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: lldap
|
||||||
|
app.kubernetes.io/instance: lldap
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
jwt-secret: ENC[AES256_GCM,data:yUAsoCIEXH491Ko4wEAAevSETdMFuhypNzuU2th5zlLd9hbVKqsjclvCTLDD8aW0Y9Lv70pzzAADPwFCKNH/rXx0DzaGOP139kLRYDHafz3RYeuoJjgBGw==,iv:x3EmPbbL/aj9CbwF8lleDL+nhlidPU8R3hwXygtj7D8=,tag:XD4C/pwFLFmDryBW7NqsWg==,type:str]
|
||||||
|
key-seed: ENC[AES256_GCM,data:3jWLtfny+ahtSkkmUdbg+wFbSGIcCxOv9BxVr0oNLTetXrAx+OcZ6dKp1ktj0J9aYEppqVuANUlfqyVzhIQXOT5GomQ+9jPC4uLmIz9tu1LAcfv9zuGl/w==,iv:e3aAI6JWq16YaUZqvKulkHyhLb8eWy9t2ni/jGeNFow=,tag:sZEEvxlq145klFkEMsUOuA==,type:str]
|
||||||
|
#ENC[AES256_GCM,data:AnCuvbVM6M62wuWmpUx3u/5WdaCo1T7eCvbY30okKbmWnvM0HQT2gGDTuhIaOlc=,iv:Ho+/CAvs69VJ+uwAIH8LVL344qlDaK5z3AvzWh/Jgm0=,tag:uNfN1P7lmWKBuCY7eiywDw==,type:comment]
|
||||||
|
admin-pass: ENC[AES256_GCM,data:yWzQTjN8kuGroShan7NxAw==,iv:IHw237PAqNNZ7KXIy2D8XMCLWSi3kJpLEnILhGm/Xl4=,tag:N79GjKNZNh9qJO+dpa0InQ==,type:str]
|
||||||
|
sops:
|
||||||
|
age:
|
||||||
|
- recipient: age1860txadrlqrjwnqh0g466re2nt8jk7xhj640pq9gpsddpg23uynqsp2hul
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCdVFuM2xvazBXY3kwTXVD
|
||||||
|
ZXdOS0pJLzVTVGJBb3RqYlhUN2IvNDNRSzNzCm8zcmlIU2h3RityUWFkZXU1R2xp
|
||||||
|
VUlobGZuOG1wbGxIMXVVekRaYTNGQUkKLS0tIHlMWkI0Qk9nUys1Sm4yNnVsakho
|
||||||
|
ZXl2RDhNNFZORW5lOGphSVY5WVJycWMKvnGem7wolSKMa8lshD90bMohdLMgYiTq
|
||||||
|
gHRN22irgd4pA2CpTcY47T2zhtVHU36PCXn+QFN936uF0vLf8Srwow==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
- recipient: age1hktythzvsnth6u5en2lvag0tftnj9r03w7rpnzfgzgf5w95qxycq2azufj
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkRHNUOXZFUGxEY0RRSGtz
|
||||||
|
OElnckFUVG1WOXhvZHhzczUxU3lZZlE5emo4Ck5qRnF6M1NCeGdkUVNuR0xzMWxs
|
||||||
|
SEdVL0lwOXJmWVdEZ0t3V2Jscy9lZG8KLS0tIGM0WC8vbEdHQ2puRVZIK3lXeUJJ
|
||||||
|
OVNqZnhRUEN5dTBBVXVlSDlidEU4K3cKhv2jSc+lJu+s3hbH6j1xrkaQSzds82rk
|
||||||
|
dlaisVQxQmxjKcyPHqudJZS6Qfq3kEn9cZOP4G8NYAh0zhzGvCKeqA==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
lastmodified: "2025-12-17T02:58:02Z"
|
||||||
|
mac: ENC[AES256_GCM,data:yxmBIqS+KMr2Dp4eKslT1oNCcq2VEnGh4g3e7mkZzWjT6xPTdBEH8bT+c2XIFMWHJSUFoI7YyhvS1p5VgRBudaDyQCOk7tzyj0nkGiepZc1uYjSVO7VQ9CnfcdiD9AZ2srUjkcUoBaRfi2u6Qh2pPUUwMd4z8ms8v0CSk1qw0FE=,iv:V2rw624TN+pSGuq+JjVqM2bKozn7hGAykHV+638wo14=,tag:cdDascdYzzG33GztMd0Fdg==,type:str]
|
||||||
|
pgp:
|
||||||
|
- created_at: "2025-12-17T00:53:29Z"
|
||||||
|
enc: |-
|
||||||
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
|
hQIMA51kG++kLewoAQ/7BepX/31nKyUHnKC/7VnqTJk0x/gLmhko1/NukkApraXe
|
||||||
|
ctmZVk4TlG9N+DqEPHUYeMt7pu/1rvnWckh/OR2JU7AK8E33tnWITvr4AzQjk0zH
|
||||||
|
/V8n36ZA5/8Ppt9LJJSMVLaFEFjqiFy39Ggt6bx0SUX/CczTGkUYp+aJQfmDn+uR
|
||||||
|
GcJk9wR9/bu7+iOq8kuOA+renxGmdIcfMd6GKiHYScgv5tDN7pg7upXh1NPrVB8u
|
||||||
|
3GTor40B1Ncjqv3L1Zbw1AZYdsmFRkSx1N2JJkxPZYbvI6cwuFMcFkXuX6JfuL8T
|
||||||
|
pW5ddsK/DF0qXAXSc378juOh/tRdktFz2QPv9X5CJnQUk0c19Beqb4tG4cVR9sF3
|
||||||
|
SXTpaNmR4GG3ilY3ispzso7CQe+7RvLWGgsZAgPD1uC9SJGOBfvReJvQZUXyxUGo
|
||||||
|
/riTbUgFaBHmY6XWGy7Ecni333GtfGeN8qSIgPRhHg5f/BJX9Rp5ZG373S7iLuI4
|
||||||
|
GpM12knQCjxfsMXjMs6/TtAwYhnIFG3WcCzJFzn+pqBiW7XJvegJPQAID5LDo4GG
|
||||||
|
EzCZylto1WCgRhdq+CNuybQTsj4TbvxzfPYf+gCURbisH8A3TTWp4eyyXHg5KS4z
|
||||||
|
0TECkXpUXR/sD71HuBjxz1jfZiXFruDBldZDzZ2tZDdqQxAtk/DJGXcLmWF+HMbS
|
||||||
|
XgEvCI5gci7pYlsi60yitBcTPV2eEBh4zbRV53e12RGuhPwkxenX+6YRSCi0liOk
|
||||||
|
5BizeCkfSRCLQHG1okeb1RIdnSoyOJ+KlrR4Y+1xeZp9ruWn/tPN7L3jCx8SX+Y=
|
||||||
|
=j+fd
|
||||||
|
-----END PGP MESSAGE-----
|
||||||
|
fp: CD17A34CBFB21DE9A73D47EB76BDEC4E165D8AD9
|
||||||
|
encrypted_regex: ^(data|stringData)$
|
||||||
|
version: 3.11.0
|
||||||
6
apps/lldap/staging/cluster.yaml
Normal file
6
apps/lldap/staging/cluster.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: postgresql.cnpg.io/v1
|
||||||
|
kind: Cluster
|
||||||
|
metadata:
|
||||||
|
name: db
|
||||||
|
spec:
|
||||||
|
instances: 1
|
||||||
7
apps/lldap/staging/deployment.yaml
Normal file
7
apps/lldap/staging/deployment.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: lldap
|
||||||
|
namespace: lldap
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
8
apps/lldap/staging/http-route.yaml
Normal file
8
apps/lldap/staging/http-route.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: gateway.networking.k8s.io/v1beta1
|
||||||
|
kind: HTTPRoute
|
||||||
|
metadata:
|
||||||
|
name: lldap
|
||||||
|
namespace: lldap
|
||||||
|
spec:
|
||||||
|
hostnames:
|
||||||
|
- "users.staging.huizinga.dev"
|
||||||
18
apps/lldap/staging/kustomization.yaml
Normal file
18
apps/lldap/staging/kustomization.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- ../base
|
||||||
|
- secret-credentials.enc.yaml
|
||||||
|
patches:
|
||||||
|
- path: deployment.yaml
|
||||||
|
target:
|
||||||
|
kind: Deployment
|
||||||
|
- path: cluster.yaml
|
||||||
|
target:
|
||||||
|
kind: Cluster
|
||||||
|
- path: object-store.yaml
|
||||||
|
target:
|
||||||
|
kind: ObjectStore
|
||||||
|
- path: http-route.yaml
|
||||||
|
target:
|
||||||
|
kind: HTTPRoute
|
||||||
8
apps/lldap/staging/object-store.yaml
Normal file
8
apps/lldap/staging/object-store.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: barmancloud.cnpg.io/v1
|
||||||
|
kind: ObjectStore
|
||||||
|
metadata:
|
||||||
|
name: garage-store
|
||||||
|
namespace: lldap
|
||||||
|
spec:
|
||||||
|
configuration:
|
||||||
|
endpointURL: http://192.168.1.1:3900
|
||||||
58
apps/lldap/staging/secret-credentials.enc.yaml
Normal file
58
apps/lldap/staging/secret-credentials.enc.yaml
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: credentials
|
||||||
|
namespace: lldap
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: lldap
|
||||||
|
app.kubernetes.io/instance: lldap
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
jwt-secret: ENC[AES256_GCM,data:cwKfSMzPPECNAba++x5ampK0pgCvOKRIEdPfLH5deDpnEASSlBjQZVo238YepBIAYu7Y0HCXCPppOtpX8zymD7Jxu1f5TrJoOJMwAlHYWT+IeBRVtpzgYA==,iv:bkNDqEriEnuSzvXxXAypGfwynPjYCVwN0NoAmcDftUc=,tag:DFkoIf92W8Ed60+azsfU+A==,type:str]
|
||||||
|
key-seed: ENC[AES256_GCM,data:bLpK9Tk5Eh2WBI5x94MssCyYEsMUMTJJymbdwsVeA6K/qBCxkPGkXf+kZZoaXkyLqW2lrPa8jIGv3LV6C4PqVJ+UOlgnvagQnCGnLylqX+3wkVhKLP5uYg==,iv:1RPLzof2Fwqm08Tfq7HR2esvPvkfBg0Uc+aM2SzpHhE=,tag:IsgLxUQriU9JUX2gEe/j8A==,type:str]
|
||||||
|
admin-pass: ENC[AES256_GCM,data:yWzQTjN8kuGroShan7NxAw==,iv:IHw237PAqNNZ7KXIy2D8XMCLWSi3kJpLEnILhGm/Xl4=,tag:N79GjKNZNh9qJO+dpa0InQ==,type:str]
|
||||||
|
sops:
|
||||||
|
age:
|
||||||
|
- recipient: age1860txadrlqrjwnqh0g466re2nt8jk7xhj640pq9gpsddpg23uynqsp2hul
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCdVFuM2xvazBXY3kwTXVD
|
||||||
|
ZXdOS0pJLzVTVGJBb3RqYlhUN2IvNDNRSzNzCm8zcmlIU2h3RityUWFkZXU1R2xp
|
||||||
|
VUlobGZuOG1wbGxIMXVVekRaYTNGQUkKLS0tIHlMWkI0Qk9nUys1Sm4yNnVsakho
|
||||||
|
ZXl2RDhNNFZORW5lOGphSVY5WVJycWMKvnGem7wolSKMa8lshD90bMohdLMgYiTq
|
||||||
|
gHRN22irgd4pA2CpTcY47T2zhtVHU36PCXn+QFN936uF0vLf8Srwow==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
- recipient: age1hktythzvsnth6u5en2lvag0tftnj9r03w7rpnzfgzgf5w95qxycq2azufj
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkRHNUOXZFUGxEY0RRSGtz
|
||||||
|
OElnckFUVG1WOXhvZHhzczUxU3lZZlE5emo4Ck5qRnF6M1NCeGdkUVNuR0xzMWxs
|
||||||
|
SEdVL0lwOXJmWVdEZ0t3V2Jscy9lZG8KLS0tIGM0WC8vbEdHQ2puRVZIK3lXeUJJ
|
||||||
|
OVNqZnhRUEN5dTBBVXVlSDlidEU4K3cKhv2jSc+lJu+s3hbH6j1xrkaQSzds82rk
|
||||||
|
dlaisVQxQmxjKcyPHqudJZS6Qfq3kEn9cZOP4G8NYAh0zhzGvCKeqA==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
lastmodified: "2025-12-17T00:53:29Z"
|
||||||
|
mac: ENC[AES256_GCM,data:6/I2J7u9fGUdz2SbAF7dL2j5XQMICx+AgEaUQ3HUN/RvlhMzn9J3EdcLFQ+d9YwbSpCzuGTQBfqsky2oaD6fQWWefCOXAVdElCp2rxHAGK9u2pqhPbgcvbHKAWfvK2kml8qhjjam346xpj2yeP8UdWq6+KZq8B5OBsKYtx4KuKM=,iv:EeLpcggrglMvpUdjvH6rOyNRj2EkuToIwc+uEPUnlvI=,tag:juTwo5RbhGnddB3MF3WirQ==,type:str]
|
||||||
|
pgp:
|
||||||
|
- created_at: "2025-12-17T00:53:29Z"
|
||||||
|
enc: |-
|
||||||
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
|
hQIMA51kG++kLewoAQ/7BepX/31nKyUHnKC/7VnqTJk0x/gLmhko1/NukkApraXe
|
||||||
|
ctmZVk4TlG9N+DqEPHUYeMt7pu/1rvnWckh/OR2JU7AK8E33tnWITvr4AzQjk0zH
|
||||||
|
/V8n36ZA5/8Ppt9LJJSMVLaFEFjqiFy39Ggt6bx0SUX/CczTGkUYp+aJQfmDn+uR
|
||||||
|
GcJk9wR9/bu7+iOq8kuOA+renxGmdIcfMd6GKiHYScgv5tDN7pg7upXh1NPrVB8u
|
||||||
|
3GTor40B1Ncjqv3L1Zbw1AZYdsmFRkSx1N2JJkxPZYbvI6cwuFMcFkXuX6JfuL8T
|
||||||
|
pW5ddsK/DF0qXAXSc378juOh/tRdktFz2QPv9X5CJnQUk0c19Beqb4tG4cVR9sF3
|
||||||
|
SXTpaNmR4GG3ilY3ispzso7CQe+7RvLWGgsZAgPD1uC9SJGOBfvReJvQZUXyxUGo
|
||||||
|
/riTbUgFaBHmY6XWGy7Ecni333GtfGeN8qSIgPRhHg5f/BJX9Rp5ZG373S7iLuI4
|
||||||
|
GpM12knQCjxfsMXjMs6/TtAwYhnIFG3WcCzJFzn+pqBiW7XJvegJPQAID5LDo4GG
|
||||||
|
EzCZylto1WCgRhdq+CNuybQTsj4TbvxzfPYf+gCURbisH8A3TTWp4eyyXHg5KS4z
|
||||||
|
0TECkXpUXR/sD71HuBjxz1jfZiXFruDBldZDzZ2tZDdqQxAtk/DJGXcLmWF+HMbS
|
||||||
|
XgEvCI5gci7pYlsi60yitBcTPV2eEBh4zbRV53e12RGuhPwkxenX+6YRSCi0liOk
|
||||||
|
5BizeCkfSRCLQHG1okeb1RIdnSoyOJ+KlrR4Y+1xeZp9ruWn/tPN7L3jCx8SX+Y=
|
||||||
|
=j+fd
|
||||||
|
-----END PGP MESSAGE-----
|
||||||
|
fp: CD17A34CBFB21DE9A73D47EB76BDEC4E165D8AD9
|
||||||
|
encrypted_regex: ^(data|stringData)$
|
||||||
|
version: 3.11.0
|
||||||
26
apps/spegel/helm-release.yaml
Normal file
26
apps/spegel/helm-release.yaml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: spegel
|
||||||
|
namespace: spegel
|
||||||
|
spec:
|
||||||
|
interval: 12h
|
||||||
|
install:
|
||||||
|
strategy:
|
||||||
|
name: RetryOnFailure
|
||||||
|
retryInterval: 2m
|
||||||
|
upgrade:
|
||||||
|
strategy:
|
||||||
|
name: RetryOnFailure
|
||||||
|
retryInterval: 3m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: spegel
|
||||||
|
version: "0.5.x"
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: spegel
|
||||||
|
interval: 24h
|
||||||
|
values:
|
||||||
|
spegel:
|
||||||
|
containerdRegistryConfigPath: /etc/cri/conf.d/hosts
|
||||||
9
apps/spegel/helm-repository.yaml
Normal file
9
apps/spegel/helm-repository.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
apiVersion: source.toolkit.fluxcd.io/v1
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: spegel
|
||||||
|
namespace: spegel
|
||||||
|
spec:
|
||||||
|
type: "oci"
|
||||||
|
interval: 24h
|
||||||
|
url: oci://ghcr.io/spegel-org/helm-charts
|
||||||
6
apps/spegel/kustomization.yaml
Normal file
6
apps/spegel/kustomization.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- namespace.yaml
|
||||||
|
- helm-repository.yaml
|
||||||
|
- helm-release.yaml
|
||||||
6
apps/spegel/namespace.yaml
Normal file
6
apps/spegel/namespace.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: spegel
|
||||||
|
labels:
|
||||||
|
pod-security.kubernetes.io/enforce: privileged
|
||||||
15
apps/spegel/spegel.yaml
Normal file
15
apps/spegel/spegel.yaml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: spegel
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 1h
|
||||||
|
retryInterval: 2m
|
||||||
|
timeout: 5m
|
||||||
|
sourceRef:
|
||||||
|
kind: ExternalArtifact
|
||||||
|
name: spegel
|
||||||
|
path: ./
|
||||||
|
prune: true
|
||||||
|
wait: true
|
||||||
12
bootstrap.sh
12
bootstrap.sh
@@ -4,6 +4,7 @@ root=$(git rev-parse --show-toplevel)
|
|||||||
|
|
||||||
tools=(talosctl cilium-cli yq helm)
|
tools=(talosctl cilium-cli yq helm)
|
||||||
cilium_version=1.18.4
|
cilium_version=1.18.4
|
||||||
|
flux_version=2.7.5
|
||||||
|
|
||||||
for tool in "${tools[@]}"; do
|
for tool in "${tools[@]}"; do
|
||||||
command -v ${tool} > /dev/null || (echo "Missing: ${tool}" && exit -1)
|
command -v ${tool} > /dev/null || (echo "Missing: ${tool}" && exit -1)
|
||||||
@@ -58,6 +59,7 @@ if [ "${vip}" = "null" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo -n "Checking connection to ${bootstrap_ip}... "
|
echo -n "Checking connection to ${bootstrap_ip}... "
|
||||||
|
# spellchecker:ignore-next-line
|
||||||
if nmap -Pn ${bootstrap_ip} -p 50000 | grep -q 'open'; then
|
if nmap -Pn ${bootstrap_ip} -p 50000 | grep -q 'open'; then
|
||||||
echo "[Success]"
|
echo "[Success]"
|
||||||
else
|
else
|
||||||
@@ -67,6 +69,7 @@ fi
|
|||||||
|
|
||||||
count=0
|
count=0
|
||||||
max_retries=20
|
max_retries=20
|
||||||
|
# spellchecker:ignore-next-line
|
||||||
while ! nmap -Pn ${vip} -p 50000 | grep -q 'open' && [ ${count} -lt ${max_retries} ]; do
|
while ! nmap -Pn ${vip} -p 50000 | grep -q 'open' && [ ${count} -lt ${max_retries} ]; do
|
||||||
if [ $count -eq 0 ]; then
|
if [ $count -eq 0 ]; then
|
||||||
echo -n "Bootstrapping Kubernetes"
|
echo -n "Bootstrapping Kubernetes"
|
||||||
@@ -122,5 +125,10 @@ cilium-cli status --wait
|
|||||||
# cilium-cli connectivity test --namespace-labels pod-security.kubernetes.io/enforce=privileged
|
# cilium-cli connectivity test --namespace-labels pod-security.kubernetes.io/enforce=privileged
|
||||||
|
|
||||||
echo "Bootstrapping flux..."
|
echo "Bootstrapping flux..."
|
||||||
flux bootstrap git --url ssh://git@huizinga.dev/infra/foundation --branch=main --path=clusters/${cluster_name} \
|
flux bootstrap git \
|
||||||
--components-extra=source-watcher
|
--url ssh://git@huizinga.dev/infra/foundation \
|
||||||
|
--branch=main \
|
||||||
|
--private-key-file=clusters/${cluster_name}/deploy.key -s \
|
||||||
|
--path=clusters/${cluster_name} \
|
||||||
|
--components-extra=source-watcher \
|
||||||
|
--version v${flux_version}
|
||||||
|
|||||||
BIN
clusters/testing/deploy.key
Normal file
BIN
clusters/testing/deploy.key
Normal file
Binary file not shown.
1
clusters/testing/deploy.key.pub
Normal file
1
clusters/testing/deploy.key.pub
Normal file
@@ -0,0 +1 @@
|
|||||||
|
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK59NC6hLyDf+9zeOQ0stZeay51UyUpoBgONh0xxJFIlgra5ojyhrrQVlfjcUqdLe5yijWU1nCxKpaFGDPMdNE4= flux@testing
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
# This manifest was generated by flux. DO NOT EDIT.
|
# This manifest was generated by flux. DO NOT EDIT.
|
||||||
# Flux Version: v2.7.3
|
# Flux Version: v2.7.5
|
||||||
# Components: source-controller,kustomize-controller,helm-controller,notification-controller,source-watcher
|
# Components: source-controller,kustomize-controller,helm-controller,notification-controller,source-watcher
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Namespace
|
kind: Namespace
|
||||||
@@ -8,7 +8,7 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
pod-security.kubernetes.io/warn: restricted
|
pod-security.kubernetes.io/warn: restricted
|
||||||
pod-security.kubernetes.io/warn-version: latest
|
pod-security.kubernetes.io/warn-version: latest
|
||||||
name: flux-system
|
name: flux-system
|
||||||
@@ -19,7 +19,7 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: allow-egress
|
name: allow-egress
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
@@ -39,7 +39,7 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: allow-scraping
|
name: allow-scraping
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
@@ -59,7 +59,7 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: allow-webhooks
|
name: allow-webhooks
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
@@ -78,7 +78,7 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: critical-pods-flux-system
|
name: critical-pods-flux-system
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
@@ -98,7 +98,7 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: crd-controller-flux-system
|
name: crd-controller-flux-system
|
||||||
rules:
|
rules:
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
@@ -204,7 +204,7 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
rbac.authorization.k8s.io/aggregate-to-admin: "true"
|
rbac.authorization.k8s.io/aggregate-to-admin: "true"
|
||||||
rbac.authorization.k8s.io/aggregate-to-edit: "true"
|
rbac.authorization.k8s.io/aggregate-to-edit: "true"
|
||||||
name: flux-edit-flux-system
|
name: flux-edit-flux-system
|
||||||
@@ -212,6 +212,7 @@ rules:
|
|||||||
- apiGroups:
|
- apiGroups:
|
||||||
- notification.toolkit.fluxcd.io
|
- notification.toolkit.fluxcd.io
|
||||||
- source.toolkit.fluxcd.io
|
- source.toolkit.fluxcd.io
|
||||||
|
- source.extensions.fluxcd.io
|
||||||
- helm.toolkit.fluxcd.io
|
- helm.toolkit.fluxcd.io
|
||||||
- image.toolkit.fluxcd.io
|
- image.toolkit.fluxcd.io
|
||||||
- kustomize.toolkit.fluxcd.io
|
- kustomize.toolkit.fluxcd.io
|
||||||
@@ -230,7 +231,7 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
rbac.authorization.k8s.io/aggregate-to-admin: "true"
|
rbac.authorization.k8s.io/aggregate-to-admin: "true"
|
||||||
rbac.authorization.k8s.io/aggregate-to-edit: "true"
|
rbac.authorization.k8s.io/aggregate-to-edit: "true"
|
||||||
rbac.authorization.k8s.io/aggregate-to-view: "true"
|
rbac.authorization.k8s.io/aggregate-to-view: "true"
|
||||||
@@ -239,6 +240,7 @@ rules:
|
|||||||
- apiGroups:
|
- apiGroups:
|
||||||
- notification.toolkit.fluxcd.io
|
- notification.toolkit.fluxcd.io
|
||||||
- source.toolkit.fluxcd.io
|
- source.toolkit.fluxcd.io
|
||||||
|
- source.extensions.fluxcd.io
|
||||||
- helm.toolkit.fluxcd.io
|
- helm.toolkit.fluxcd.io
|
||||||
- image.toolkit.fluxcd.io
|
- image.toolkit.fluxcd.io
|
||||||
- kustomize.toolkit.fluxcd.io
|
- kustomize.toolkit.fluxcd.io
|
||||||
@@ -255,7 +257,7 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: cluster-reconciler-flux-system
|
name: cluster-reconciler-flux-system
|
||||||
roleRef:
|
roleRef:
|
||||||
apiGroup: rbac.authorization.k8s.io
|
apiGroup: rbac.authorization.k8s.io
|
||||||
@@ -275,7 +277,7 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: crd-controller-flux-system
|
name: crd-controller-flux-system
|
||||||
roleRef:
|
roleRef:
|
||||||
apiGroup: rbac.authorization.k8s.io
|
apiGroup: rbac.authorization.k8s.io
|
||||||
@@ -313,7 +315,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: source-controller
|
app.kubernetes.io/component: source-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: buckets.source.toolkit.fluxcd.io
|
name: buckets.source.toolkit.fluxcd.io
|
||||||
spec:
|
spec:
|
||||||
group: source.toolkit.fluxcd.io
|
group: source.toolkit.fluxcd.io
|
||||||
@@ -1084,7 +1086,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: source-controller
|
app.kubernetes.io/component: source-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: externalartifacts.source.toolkit.fluxcd.io
|
name: externalartifacts.source.toolkit.fluxcd.io
|
||||||
spec:
|
spec:
|
||||||
group: source.toolkit.fluxcd.io
|
group: source.toolkit.fluxcd.io
|
||||||
@@ -1280,7 +1282,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: source-controller
|
app.kubernetes.io/component: source-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: gitrepositories.source.toolkit.fluxcd.io
|
name: gitrepositories.source.toolkit.fluxcd.io
|
||||||
spec:
|
spec:
|
||||||
group: source.toolkit.fluxcd.io
|
group: source.toolkit.fluxcd.io
|
||||||
@@ -2234,7 +2236,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: source-controller
|
app.kubernetes.io/component: source-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: helmcharts.source.toolkit.fluxcd.io
|
name: helmcharts.source.toolkit.fluxcd.io
|
||||||
spec:
|
spec:
|
||||||
group: source.toolkit.fluxcd.io
|
group: source.toolkit.fluxcd.io
|
||||||
@@ -2960,7 +2962,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: source-controller
|
app.kubernetes.io/component: source-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: helmrepositories.source.toolkit.fluxcd.io
|
name: helmrepositories.source.toolkit.fluxcd.io
|
||||||
spec:
|
spec:
|
||||||
group: source.toolkit.fluxcd.io
|
group: source.toolkit.fluxcd.io
|
||||||
@@ -3591,7 +3593,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: source-controller
|
app.kubernetes.io/component: source-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: ocirepositories.source.toolkit.fluxcd.io
|
name: ocirepositories.source.toolkit.fluxcd.io
|
||||||
spec:
|
spec:
|
||||||
group: source.toolkit.fluxcd.io
|
group: source.toolkit.fluxcd.io
|
||||||
@@ -4417,7 +4419,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: source-controller
|
app.kubernetes.io/component: source-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: source-controller
|
name: source-controller
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
---
|
---
|
||||||
@@ -4428,7 +4430,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: source-controller
|
app.kubernetes.io/component: source-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
control-plane: controller
|
control-plane: controller
|
||||||
name: source-controller
|
name: source-controller
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
@@ -4449,7 +4451,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: source-controller
|
app.kubernetes.io/component: source-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
control-plane: controller
|
control-plane: controller
|
||||||
name: source-controller
|
name: source-controller
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
@@ -4470,7 +4472,7 @@ spec:
|
|||||||
app.kubernetes.io/component: source-controller
|
app.kubernetes.io/component: source-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- args:
|
- args:
|
||||||
@@ -4493,7 +4495,7 @@ spec:
|
|||||||
resourceFieldRef:
|
resourceFieldRef:
|
||||||
containerName: manager
|
containerName: manager
|
||||||
resource: limits.memory
|
resource: limits.memory
|
||||||
image: ghcr.io/fluxcd/source-controller:v1.7.3
|
image: ghcr.io/fluxcd/source-controller:v1.7.4
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
@@ -4557,7 +4559,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: kustomize-controller
|
app.kubernetes.io/component: kustomize-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: kustomizations.kustomize.toolkit.fluxcd.io
|
name: kustomizations.kustomize.toolkit.fluxcd.io
|
||||||
spec:
|
spec:
|
||||||
group: kustomize.toolkit.fluxcd.io
|
group: kustomize.toolkit.fluxcd.io
|
||||||
@@ -5927,7 +5929,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: kustomize-controller
|
app.kubernetes.io/component: kustomize-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: kustomize-controller
|
name: kustomize-controller
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
---
|
---
|
||||||
@@ -5938,7 +5940,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: kustomize-controller
|
app.kubernetes.io/component: kustomize-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
control-plane: controller
|
control-plane: controller
|
||||||
name: kustomize-controller
|
name: kustomize-controller
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
@@ -5957,7 +5959,7 @@ spec:
|
|||||||
app.kubernetes.io/component: kustomize-controller
|
app.kubernetes.io/component: kustomize-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- args:
|
- args:
|
||||||
@@ -5977,7 +5979,7 @@ spec:
|
|||||||
resourceFieldRef:
|
resourceFieldRef:
|
||||||
containerName: manager
|
containerName: manager
|
||||||
resource: limits.memory
|
resource: limits.memory
|
||||||
image: ghcr.io/fluxcd/kustomize-controller:v1.7.2
|
image: ghcr.io/fluxcd/kustomize-controller:v1.7.3
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
@@ -6034,7 +6036,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: helm-controller
|
app.kubernetes.io/component: helm-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: helmreleases.helm.toolkit.fluxcd.io
|
name: helmreleases.helm.toolkit.fluxcd.io
|
||||||
spec:
|
spec:
|
||||||
group: helm.toolkit.fluxcd.io
|
group: helm.toolkit.fluxcd.io
|
||||||
@@ -8665,7 +8667,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: helm-controller
|
app.kubernetes.io/component: helm-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: helm-controller
|
name: helm-controller
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
---
|
---
|
||||||
@@ -8676,7 +8678,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: helm-controller
|
app.kubernetes.io/component: helm-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
control-plane: controller
|
control-plane: controller
|
||||||
name: helm-controller
|
name: helm-controller
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
@@ -8695,7 +8697,7 @@ spec:
|
|||||||
app.kubernetes.io/component: helm-controller
|
app.kubernetes.io/component: helm-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- args:
|
- args:
|
||||||
@@ -8715,7 +8717,7 @@ spec:
|
|||||||
resourceFieldRef:
|
resourceFieldRef:
|
||||||
containerName: manager
|
containerName: manager
|
||||||
resource: limits.memory
|
resource: limits.memory
|
||||||
image: ghcr.io/fluxcd/helm-controller:v1.4.3
|
image: ghcr.io/fluxcd/helm-controller:v1.4.5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
@@ -8772,7 +8774,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: notification-controller
|
app.kubernetes.io/component: notification-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: alerts.notification.toolkit.fluxcd.io
|
name: alerts.notification.toolkit.fluxcd.io
|
||||||
spec:
|
spec:
|
||||||
group: notification.toolkit.fluxcd.io
|
group: notification.toolkit.fluxcd.io
|
||||||
@@ -9162,7 +9164,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: notification-controller
|
app.kubernetes.io/component: notification-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: providers.notification.toolkit.fluxcd.io
|
name: providers.notification.toolkit.fluxcd.io
|
||||||
spec:
|
spec:
|
||||||
group: notification.toolkit.fluxcd.io
|
group: notification.toolkit.fluxcd.io
|
||||||
@@ -9574,7 +9576,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: notification-controller
|
app.kubernetes.io/component: notification-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: receivers.notification.toolkit.fluxcd.io
|
name: receivers.notification.toolkit.fluxcd.io
|
||||||
spec:
|
spec:
|
||||||
group: notification.toolkit.fluxcd.io
|
group: notification.toolkit.fluxcd.io
|
||||||
@@ -10051,7 +10053,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: notification-controller
|
app.kubernetes.io/component: notification-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: notification-controller
|
name: notification-controller
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
---
|
---
|
||||||
@@ -10062,7 +10064,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: notification-controller
|
app.kubernetes.io/component: notification-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
control-plane: controller
|
control-plane: controller
|
||||||
name: notification-controller
|
name: notification-controller
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
@@ -10083,7 +10085,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: notification-controller
|
app.kubernetes.io/component: notification-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
control-plane: controller
|
control-plane: controller
|
||||||
name: webhook-receiver
|
name: webhook-receiver
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
@@ -10104,7 +10106,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: notification-controller
|
app.kubernetes.io/component: notification-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
control-plane: controller
|
control-plane: controller
|
||||||
name: notification-controller
|
name: notification-controller
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
@@ -10123,7 +10125,7 @@ spec:
|
|||||||
app.kubernetes.io/component: notification-controller
|
app.kubernetes.io/component: notification-controller
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- args:
|
- args:
|
||||||
@@ -10141,7 +10143,7 @@ spec:
|
|||||||
resourceFieldRef:
|
resourceFieldRef:
|
||||||
containerName: manager
|
containerName: manager
|
||||||
resource: limits.memory
|
resource: limits.memory
|
||||||
image: ghcr.io/fluxcd/notification-controller:v1.7.4
|
image: ghcr.io/fluxcd/notification-controller:v1.7.5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
@@ -10203,7 +10205,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: source-watcher
|
app.kubernetes.io/component: source-watcher
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: artifactgenerators.source.extensions.fluxcd.io
|
name: artifactgenerators.source.extensions.fluxcd.io
|
||||||
spec:
|
spec:
|
||||||
group: source.extensions.fluxcd.io
|
group: source.extensions.fluxcd.io
|
||||||
@@ -10496,7 +10498,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: source-watcher
|
app.kubernetes.io/component: source-watcher
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
name: source-watcher
|
name: source-watcher
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
---
|
---
|
||||||
@@ -10507,7 +10509,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: source-watcher
|
app.kubernetes.io/component: source-watcher
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
control-plane: source-watcher
|
control-plane: source-watcher
|
||||||
name: source-watcher
|
name: source-watcher
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
@@ -10528,7 +10530,7 @@ metadata:
|
|||||||
app.kubernetes.io/component: source-watcher
|
app.kubernetes.io/component: source-watcher
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
control-plane: controller
|
control-plane: controller
|
||||||
name: source-watcher
|
name: source-watcher
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
@@ -10549,7 +10551,7 @@ spec:
|
|||||||
app.kubernetes.io/component: source-watcher
|
app.kubernetes.io/component: source-watcher
|
||||||
app.kubernetes.io/instance: flux-system
|
app.kubernetes.io/instance: flux-system
|
||||||
app.kubernetes.io/part-of: flux
|
app.kubernetes.io/part-of: flux
|
||||||
app.kubernetes.io/version: v2.7.3
|
app.kubernetes.io/version: v2.7.5
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- args:
|
- args:
|
||||||
@@ -10570,7 +10572,7 @@ spec:
|
|||||||
resourceFieldRef:
|
resourceFieldRef:
|
||||||
containerName: manager
|
containerName: manager
|
||||||
resource: limits.memory
|
resource: limits.memory
|
||||||
image: ghcr.io/fluxcd/source-watcher:v2.0.2
|
image: ghcr.io/fluxcd/source-watcher:v2.0.3
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
|
|||||||
@@ -2,9 +2,21 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
|||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- flux-system/
|
- flux-system/
|
||||||
|
|
||||||
- ../../controllers/artifacts.yaml
|
- ../../controllers/artifacts.yaml
|
||||||
- ../../controllers/cilium/cilium.yaml
|
- ../../controllers/cilium/cilium.yaml
|
||||||
- ../../controllers/cert-manager/cert-manager.yaml
|
- ../../controllers/cert-manager/cert-manager.yaml
|
||||||
|
- ../../controllers/longhorn/longhorn.yaml
|
||||||
|
- ../../controllers/local-path-provisioner/local-path-provisioner.yaml
|
||||||
|
- ../../controllers/cnpg/cnpg.yaml
|
||||||
|
- ../../controllers/reflector/reflector.yaml
|
||||||
|
|
||||||
- ../../configs/artifacts.yaml
|
- ../../configs/artifacts.yaml
|
||||||
- ../../configs/letsencrypt/letsencrypt.yaml
|
- ../../configs/cilium-config/cilium-config.yaml
|
||||||
- ../../configs/certificates/certificates.yaml
|
- ../../configs/certificates/certificates.yaml
|
||||||
|
- ../../configs/alerts/alerts.yaml
|
||||||
|
- ../../configs/longhorn-jobs/longhorn-jobs.yaml
|
||||||
|
|
||||||
|
- ../../apps/artifacts.yaml
|
||||||
|
- ../../apps/spegel/spegel.yaml
|
||||||
|
- ../../apps/lldap/lldap.yaml
|
||||||
|
|||||||
2
committed.toml
Normal file
2
committed.toml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
style = "conventional"
|
||||||
|
ignore_author_re = "Flux"
|
||||||
19
configs/alerts/alerts.yaml
Normal file
19
configs/alerts/alerts.yaml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: alerts
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 1h
|
||||||
|
retryInterval: 2m
|
||||||
|
timeout: 5m
|
||||||
|
sourceRef:
|
||||||
|
kind: ExternalArtifact
|
||||||
|
name: alerts
|
||||||
|
decryption:
|
||||||
|
provider: sops
|
||||||
|
secretRef:
|
||||||
|
name: sops-gpg
|
||||||
|
path: ./
|
||||||
|
prune: true
|
||||||
|
wait: true
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- secret-cloudflare-token.enc.yaml
|
- telegram
|
||||||
- cluster-issuer.yaml
|
- repo
|
||||||
12
configs/alerts/repo/alert.yaml
Normal file
12
configs/alerts/repo/alert.yaml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: notification.toolkit.fluxcd.io/v1beta3
|
||||||
|
kind: Alert
|
||||||
|
metadata:
|
||||||
|
name: repo
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
providerRef:
|
||||||
|
name: repo
|
||||||
|
eventSeverity: info
|
||||||
|
eventSources:
|
||||||
|
- kind: Kustomization
|
||||||
|
name: "*"
|
||||||
6
configs/alerts/repo/kustomization.yaml
Normal file
6
configs/alerts/repo/kustomization.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- secret-repo.enc.yaml
|
||||||
|
- provider.yaml
|
||||||
|
- alert.yaml
|
||||||
10
configs/alerts/repo/provider.yaml
Normal file
10
configs/alerts/repo/provider.yaml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
apiVersion: notification.toolkit.fluxcd.io/v1beta3
|
||||||
|
kind: Provider
|
||||||
|
metadata:
|
||||||
|
name: repo
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
type: gitea
|
||||||
|
address: https://git.huizinga.dev/infra/foundation
|
||||||
|
secretRef:
|
||||||
|
name: repo
|
||||||
52
configs/alerts/repo/secret-repo.enc.yaml
Normal file
52
configs/alerts/repo/secret-repo.enc.yaml
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
stringData:
|
||||||
|
token: ENC[AES256_GCM,data:RZLFgmuin4hjJ1gSOFZLFeLpF/KjIr6vBGgovhyfLD9PQKSQq6eg5g==,iv:VUTnjgcoqfVcZrDM1S2VqBdSCYXC6hj4lHx/mI8bw8s=,tag:QSj3c5OX6JqJxt6WnglAIw==,type:str]
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: repo
|
||||||
|
namespace: flux-system
|
||||||
|
sops:
|
||||||
|
age:
|
||||||
|
- recipient: age1860txadrlqrjwnqh0g466re2nt8jk7xhj640pq9gpsddpg23uynqsp2hul
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtNmJhYUtTYnNRcTlvaXFE
|
||||||
|
WHNsWFVrUDMrZzUyTHJ4WGJTOU4rL29pRmtZCkNqRGVYa0hOWWljSThsUHlDSnVD
|
||||||
|
UGpBcS9UZDU2Q2NMOEtCaC9qcnREY0EKLS0tIERpQ01LVnh5dm5wRjFnUVlXWmxr
|
||||||
|
OUYvK29RUXNjeE02Q1l6TDZaNzhSNG8K5JPUi2txe31/cgLF0+WnEDmSpgDhMGdv
|
||||||
|
CDP4b7O0VpN32sE3t19cFeuZ38oS/kn0d4Lsw4eu7L+uuZheq2PN0Q==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
- recipient: age1hktythzvsnth6u5en2lvag0tftnj9r03w7rpnzfgzgf5w95qxycq2azufj
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5MkJOdlF2YVVES3ZnTm1t
|
||||||
|
QXJLSUF6OWJrWmhOamVOK2JOY2lWdXFxT1h3CnRkOHpCY2dRU2xLRzdCKzVHY2R3
|
||||||
|
ZUdBTldwWVRYNkN0SUpiQjJTL2h5UzQKLS0tIEpXTWRNbTh2YW13V0psVzU0Zkxo
|
||||||
|
RE5SSzI4MmdOWGhBTGNzR2NPeHArSHcK8sOiSL6tfAT6KFLkFy0NpRuiVbFayJPR
|
||||||
|
vtki2eku7b0MKsQKCv/JPwSdOa7q/8Mxngiajxqwae0nObETSR+2TA==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
lastmodified: "2025-12-15T00:11:25Z"
|
||||||
|
mac: ENC[AES256_GCM,data:xXPnZ5DP90FtT7yDUOPAMHl7vXgFM8JEnm/mpozB5/I4f3xxGP9b3RVfK3zESgqHREVUoD/hIQaTCwYHeqqWKwB7yQxc4ZuMKlTJ11iw0R8vsbj0Lk/a8v0kzCx5CDoTcvZE78go8LtIfYVxBKvcwP9ZN0Q9RuR235RVMW5Rz5M=,iv:oS9OUiyhliHzl1NEgfFr+eEfmgXlMX7VeeOcE382p1k=,tag:w6t9lNHqUYAFcEI3E4UBcQ==,type:str]
|
||||||
|
pgp:
|
||||||
|
- created_at: "2025-12-09T02:34:13Z"
|
||||||
|
enc: |-
|
||||||
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
|
hQIMA51kG++kLewoARAAxzvoy2eJdqO5p12H8PzOqp6viq2c6G8VGULDOOWUk7VG
|
||||||
|
DTfzEjOTjnGooz1dMHb0MdYGm5DVyuxp+6AW/i5XZmPSiV1fWuROUFaf9qb+EcVS
|
||||||
|
mq7Csor0MKbQAns2C7xWe1AZq73AL1cXsWAWOvNuAKnP510nLds08FHAUhirylkl
|
||||||
|
X2Jv/xys+gaY/XpyvkIPyRKfCfO1IzwjHy1OiIkvx+QZWaEjm5psP262ckZlMl+R
|
||||||
|
nf3rF/ZNzyo2Nli1wnUPKtcCXanfZXuDadgUlc+9ISMB2UEFlUC8lvQngXPwTdmN
|
||||||
|
etXYvy/OI2Hyx5ynVvewAGLSHhwOlCjH7/6xGvTOhFzVsi/Tk4TsJTKZu25/j0Jy
|
||||||
|
pgZ/WNPQegq0o/vxxiyU+OJdDv8SDew6f5mjgfD1wikvMDBBgW3TLrNnlQMqSPpr
|
||||||
|
KSLLlgkLkie21F0YVlDh3MK5MDWySZC6VZfuD/kZIpsqeatka3IRDsRRvFV6teGM
|
||||||
|
cJ1eNFRDAXnI9GB8KpuRH9sYLVzgQdmLBfP8ksadci/ykjtQp/92mwf7nMThT+09
|
||||||
|
cYG36Y8G5HCly0ZdY+Zl1Evw43W8vp5Va5Zc8EWvz51kk03gQd7jlOjGFgCarSOv
|
||||||
|
w3jKC1CUVKQi+JIfeufYb6vPWvYWJKTvP2yikw46nwoHkPixeRhelR27qWLWu3jS
|
||||||
|
XAF+wgVNKSJPC94eVbRBjpj51IN/gyj051ria/uw++Z8SuHVGiqT1B+gTd6pyVSU
|
||||||
|
cHGRCPkIC0g75q9Fgmxfob9hAkybGxJ+fWOzBTpmnzG+1VScNAYTbyXiOFVo
|
||||||
|
=fVSN
|
||||||
|
-----END PGP MESSAGE-----
|
||||||
|
fp: CD17A34CBFB21DE9A73D47EB76BDEC4E165D8AD9
|
||||||
|
encrypted_regex: ^(data|stringData)$
|
||||||
|
version: 3.11.0
|
||||||
18
configs/alerts/telegram/alert.yaml
Normal file
18
configs/alerts/telegram/alert.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
apiVersion: notification.toolkit.fluxcd.io/v1beta3
|
||||||
|
kind: Alert
|
||||||
|
metadata:
|
||||||
|
name: telegram
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
providerRef:
|
||||||
|
name: telegram
|
||||||
|
eventSeverity: error
|
||||||
|
eventSources:
|
||||||
|
- kind: GitRepository
|
||||||
|
name: "*"
|
||||||
|
- kind: Kustomization
|
||||||
|
name: "*"
|
||||||
|
- kind: HelmRepository
|
||||||
|
name: "*"
|
||||||
|
- kind: HelmRelease
|
||||||
|
name: "*"
|
||||||
6
configs/alerts/telegram/kustomization.yaml
Normal file
6
configs/alerts/telegram/kustomization.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- secret-telegram.enc.yaml
|
||||||
|
- provider.yaml
|
||||||
|
- alert.yaml
|
||||||
11
configs/alerts/telegram/provider.yaml
Normal file
11
configs/alerts/telegram/provider.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: notification.toolkit.fluxcd.io/v1beta3
|
||||||
|
kind: Provider
|
||||||
|
metadata:
|
||||||
|
name: telegram
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
type: telegram
|
||||||
|
# TODO: Would be nice if this was not hard coded
|
||||||
|
channel: "-4748034121"
|
||||||
|
secretRef:
|
||||||
|
name: telegram
|
||||||
52
configs/alerts/telegram/secret-telegram.enc.yaml
Normal file
52
configs/alerts/telegram/secret-telegram.enc.yaml
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
stringData:
|
||||||
|
token: ENC[AES256_GCM,data:azBE1dVSbYNZzpagsQrmEoYGIGFn/URQ3VrksQRhUKuJyCrc6o6360u/k38NKg==,iv:iYpqz6Ndh5QESa8yGPU1nKD8/sb3dgloNLa3HFDihnU=,tag:2w0eslkZQOIb+qPYgNmHIQ==,type:str]
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: telegram
|
||||||
|
namespace: flux-system
|
||||||
|
sops:
|
||||||
|
age:
|
||||||
|
- recipient: age1860txadrlqrjwnqh0g466re2nt8jk7xhj640pq9gpsddpg23uynqsp2hul
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsN2VGQjBoZUp3TjU4YW1W
|
||||||
|
cnJ5QW9aY1FtdUFvcENZRnV5cXVjMkhEOFFjCkFMTm4yUjFZOG56YUVXRkE3SndI
|
||||||
|
eFQ2clF1ZDZicUtCNk9JYW15US9XSDQKLS0tIExHVDdsaVdyVktobWRaUmZPK2V1
|
||||||
|
NSsyVFRaeFJ6NUhOaDdPZy9yOVhVUXMK32YSPm1nDMvCFLbTTVcy3HdSVueUP2lS
|
||||||
|
dNr/myyFX3s8dkXHXJDj14XBu5O3Fk0ktHa2bFfvx+wosHPixG4TqQ==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
- recipient: age1hktythzvsnth6u5en2lvag0tftnj9r03w7rpnzfgzgf5w95qxycq2azufj
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0cDlERWorN1hXNlMxUnVp
|
||||||
|
TjZGcis4eVRBWWZVUG5nRzEwMy9Jd21DSFFvCk1ld2tEZWJvV3pHMmVsb2lDRk53
|
||||||
|
aitnbmJpaFE5NGxGd0N3VSt1N2N2WHcKLS0tIDRKMTN0bk9hcUNTNWpsaEMrY01R
|
||||||
|
ckU4YlF3Z0JXTGRaVnJnd1ZITHU3RzQKk/kNn84JwoWl/77wEyeljrTkYSTBSpAW
|
||||||
|
fDn4ddsrmays2kEb8ux0ZbqsNNrt3IhDYd0urks20INvS9BkXJMI0A==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
lastmodified: "2025-12-09T01:52:28Z"
|
||||||
|
mac: ENC[AES256_GCM,data:EObi2Da0n+RpKOfpay2NQM140lniPUY12MNFQIw4wNlCS8EFzJHNrPk/SpFDOY5HqvT27wRfz//oTGVzt6+TNkfAU3GcGYuJZezwFvbAkkoRuVmGauZ/ZyfG8PmdPN1imYa2ajqaQW/gym06TbtaLaI54txeK0PE1z+oWXZIW14=,iv:fVU6mkfyuck/pu7ff5n2Gd6pGclLU7jt5Dy2vOOnctA=,tag:4JUDNvgVskKlAHlJ5MwsFA==,type:str]
|
||||||
|
pgp:
|
||||||
|
- created_at: "2025-12-09T01:52:28Z"
|
||||||
|
enc: |-
|
||||||
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
|
hQIMA7pKPTYH5bqOARAAlVFcHIEsMcSUuPWKxOtpGBLdnWo/9d8GsQwUDsh9Kk8C
|
||||||
|
tLVJn8cXNGdvt28pmS22L3KDOX0o3WGNNWvZfe9D6cG4WPH1yug4axQoVTnMUpYE
|
||||||
|
a8nsqMRgfNdTkbDfOtU+EV4Aq9iMl2MVqy3D/Vc2MnPk/WvcQUGXd1viJJrOhBcP
|
||||||
|
S0mTDRQOUjdgrX4RIcinx2yQQgMTAiduxj0sSaK6BWEDaum50WjthV+/GlCz2hks
|
||||||
|
nf+BzY+MbCDFKMjfSbpdZhyQ0VvkV8Yu7UtoxaI6w9KUqH8zHjqaNjhELmLy2FKv
|
||||||
|
6kAiW/XUuR6BZTbo1MgLG4gJwQU6+pHELXAh/h+Qj+wX6agYOZNmQqAmQahnfQZ/
|
||||||
|
cy7mzGf4vQlMxeayOUdJVDbqhWlMpCVmGkWqtfBwAJKr7r7fjRP+VuZ06KyilGr0
|
||||||
|
NyibyKVp6+ostTXNlMmvTGBiQpNv+/9822PhFKN/ARde32igUmtnRiwoYyrZ644y
|
||||||
|
Y6BAmnEuu+mfpIDPODQ4gWP+t9vwuzBPTUP2DVqXgqHoOgK2HnGIeNtKh8PqPkG4
|
||||||
|
qPI/3b1LqN+yMOI9HU1fv2IUbRPksauNNq1rrK/9scasT1MqoKEBWjntdDJ7MuR6
|
||||||
|
RQ6S3xU8dyBW0jNe3JFa1dIvM+QlVysIpy8kCv81DeNDT/Yp8psTJXeBa25tcovS
|
||||||
|
XAHlK1OXm7zOchfPa46EWjbMMSwcIle9VVrJCAsjS2eFriOK8wMn3Awyl9V2zcEX
|
||||||
|
6F6+jzvVYUbxXZupCdJoZo7faaC8TyA10o2LxrcdFwLtjByVgVz3mYmpHVwQ
|
||||||
|
=BwkI
|
||||||
|
-----END PGP MESSAGE-----
|
||||||
|
fp: 1E0CF38FF7C9ADAED58B436ABA4A3D3607E5BA8E!
|
||||||
|
encrypted_regex: ^(data|stringData)$
|
||||||
|
version: 3.11.0
|
||||||
@@ -9,13 +9,23 @@ spec:
|
|||||||
kind: GitRepository
|
kind: GitRepository
|
||||||
name: flux-system
|
name: flux-system
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: letsencrypt
|
- name: cilium-config
|
||||||
originRevision: "@foundation"
|
originRevision: "@foundation"
|
||||||
copy:
|
copy:
|
||||||
- from: "@foundation/configs/letsencrypt/**"
|
- from: "@foundation/configs/cilium-config/**"
|
||||||
to: "@artifact/"
|
to: "@artifact/"
|
||||||
- name: certificates
|
- name: certificates
|
||||||
originRevision: "@foundation"
|
originRevision: "@foundation"
|
||||||
copy:
|
copy:
|
||||||
- from: "@foundation/configs/certificates/**"
|
- from: "@foundation/configs/certificates/**"
|
||||||
to: "@artifact/"
|
to: "@artifact/"
|
||||||
|
- name: alerts
|
||||||
|
originRevision: "@foundation"
|
||||||
|
copy:
|
||||||
|
- from: "@foundation/configs/alerts/**"
|
||||||
|
to: "@artifact/"
|
||||||
|
- name: longhorn-jobs
|
||||||
|
originRevision: "@foundation"
|
||||||
|
copy:
|
||||||
|
- from: "@foundation/configs/longhorn-jobs/**"
|
||||||
|
to: "@artifact/"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ apiVersion: cert-manager.io/v1
|
|||||||
kind: Certificate
|
kind: Certificate
|
||||||
metadata:
|
metadata:
|
||||||
name: huizinga-dev
|
name: huizinga-dev
|
||||||
namespace: certificates
|
namespace: default
|
||||||
spec:
|
spec:
|
||||||
secretName: huizinga-dev-tls
|
secretName: huizinga-dev-tls
|
||||||
issuerRef:
|
issuerRef:
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- namespace.yaml
|
|
||||||
- certificate-huizinga-dev.yaml
|
- certificate-huizinga-dev.yaml
|
||||||
|
- secret-cloudflare-token.enc.yaml
|
||||||
|
- cluster-issuer.yaml
|
||||||
|
|||||||
53
configs/certificates/base/secret-cloudflare-token.enc.yaml
Normal file
53
configs/certificates/base/secret-cloudflare-token.enc.yaml
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: cloudflare-token
|
||||||
|
namespace: cert-manager
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
token: ENC[AES256_GCM,data:uwFPBz9+EMnpXUgvkJ0u9/iEFbpJ2Rz+oX2pqwcJrH04r8E91weFOA==,iv:m9yka2XMfbuu0d/12RvG7UPWvxJEZ0UeDG+OMqxTpkg=,tag:F7EDh3PCHk2yE0MDIjmo2g==,type:str]
|
||||||
|
sops:
|
||||||
|
age:
|
||||||
|
- recipient: age1860txadrlqrjwnqh0g466re2nt8jk7xhj640pq9gpsddpg23uynqsp2hul
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPT1F1MWlqTHdOVUFPZURS
|
||||||
|
TjZzRm04KzJobHp2Vy8xNHVBUW5WMko1bFU0ClpHSUphVWdFTGFsaytMRE1PSkR0
|
||||||
|
UnVGVU84c2tmZ2tCTG5QTEJxOFdWMHcKLS0tIGNybUdXZS9QUlk5dk1PRFhtdXNQ
|
||||||
|
Y3ZjOG5wMjlXYWpqeUYyUVFQYmQwSEUKd09GwvJx55mznG0JT8baa9LkkWcNT/ux
|
||||||
|
p4qgxg9F9hHGRXNnrMNaYnEj8NV01cd4yXCha+C7IVL0MssBrmJW8Q==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
- recipient: age1hktythzvsnth6u5en2lvag0tftnj9r03w7rpnzfgzgf5w95qxycq2azufj
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEaDQ0Mnp5NVV3Yi9uRkcw
|
||||||
|
MFJOTFEzVldBYUFXejg0d2pPYVAwYndWMVU0CkFpMVJxUkFwa1BDeTFLZnJwdEp5
|
||||||
|
a3R3VlNqZnkyODEyZ3U1ZEZIK3dJL2MKLS0tIFZoaml2cndVYmJCQ2JsRFlrWURy
|
||||||
|
SEFVKytlWDJnMmp1QTM2eGZuV3E1eUkKjfsfazFaec1x6EOkEht+GbBHSV/L4GUz
|
||||||
|
YpDx9vIMB2T0wUd5U6ecNdyea2HwYg4gzUtwzDf1AGYtoOv9doig3g==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
lastmodified: "2025-12-09T02:35:32Z"
|
||||||
|
mac: ENC[AES256_GCM,data:4cprvZzT//nt0PHbJ+p46jnLjfiXF4VlaKA0p2bGKlXWoThvJd9lpUD8xVzXo860U5aGWzqIsdONRjuJcRY4zPz/mkgcRz+gZKkcOCtS2wDOUkk98n2EuwbbJ4+fBH+RbqtcZmocsiGPt6JOLPOPZHpe+t2iiFoBewFfLuND8PM=,iv:eFZ3mEPlEHOLvmWAaDepJjwaaHgcnGBw8v3FEFvOcVI=,tag:GL+bqXS1Qe+7BZEgLEYtNw==,type:str]
|
||||||
|
pgp:
|
||||||
|
- created_at: "2025-12-09T02:35:37Z"
|
||||||
|
enc: |-
|
||||||
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
|
hQIMA51kG++kLewoARAAjNHNqLtH4I+qJoW+/DtUhSCy66V9gznDeqWwwhERaGCN
|
||||||
|
LNNN43m7zD5rGei4G3dK12xyacMVExbjGxMQironUG/DdNw4dmYpZlktOxb8ec8Y
|
||||||
|
NK669WI8TC1vltLaET/NLEXih0zKEEf5DO1xKEdTFpU4hG8yGg6X82vVHhnUTiaP
|
||||||
|
ChtnjaOqPFz3HTk8oa2HvhQvYgZB1FCEI+jrCsxZVHp8j+6iN9NtxEFrpIcDsYVN
|
||||||
|
XpYupukU3kymBHOYx3tptiufR4riOr7RnmNu+dEvJSsaOjax4E8l3k48jEBbNcHQ
|
||||||
|
CVQf2qf0iRcOQPNHrcy40QKlxUUacO2OJa2aq6G1rceaZosqE09PJmQZUfKi4zYq
|
||||||
|
qho590mtdfdcub7h3xGVL9i84fdGpkL+BEJCLvf0PSj0VaVJDND2Mibqo+S9lGPb
|
||||||
|
6dJIIaMeh1Dm5dK7uMBut7+dv4GPO+IljuwXjAWh0tDIUx7P7gWsLiUjJ/rhFw+f
|
||||||
|
7lSY2sRAzXcEGIbBZc+K0CdNx1fbHaagL4ENjEIoTr6Uxn5Qepxv+iXhYsZzJaOR
|
||||||
|
AG7v8KvlXAW5DcmndWYg8eyTc6+76iiFNDPCVlXaugcmzlqq87fObre2ZwBIq6re
|
||||||
|
KZaHRz8gwEeXxZAOZEMhoRTNJkyQr2DiwDSa0CzW96N/VcbukjSPFzTRrO+eZEvS
|
||||||
|
XgGfoHUY+OWLWnxI3/Cu81DIAt0TRBtTN5jL1h9C450heaHfJ+wGC5hf/t1I6GTO
|
||||||
|
N6NqKiYRCNCepFQASuOqyzTi8jyNvwgbOeFL/UYGpzNX7Y8CIawVSfjncuRtTmQ=
|
||||||
|
=ta8P
|
||||||
|
-----END PGP MESSAGE-----
|
||||||
|
fp: CD17A34CBFB21DE9A73D47EB76BDEC4E165D8AD9
|
||||||
|
encrypted_regex: ^(data|stringData)$
|
||||||
|
version: 3.11.0
|
||||||
@@ -6,12 +6,16 @@ metadata:
|
|||||||
spec:
|
spec:
|
||||||
interval: 1h
|
interval: 1h
|
||||||
retryInterval: 2m
|
retryInterval: 2m
|
||||||
timeout: 5m
|
timeout: 15m
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- name: letsencrypt
|
- name: cert-manager
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: ExternalArtifact
|
kind: ExternalArtifact
|
||||||
name: certificates
|
name: certificates
|
||||||
|
decryption:
|
||||||
|
provider: sops
|
||||||
|
secretRef:
|
||||||
|
name: sops-gpg
|
||||||
path: ./${cluster_env}
|
path: ./${cluster_env}
|
||||||
prune: true
|
prune: true
|
||||||
wait: true
|
wait: true
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ apiVersion: cert-manager.io/v1
|
|||||||
kind: Certificate
|
kind: Certificate
|
||||||
metadata:
|
metadata:
|
||||||
name: huizinga-dev
|
name: huizinga-dev
|
||||||
namespace: certificates
|
namespace: default
|
||||||
spec:
|
spec:
|
||||||
commonName: "huizinga.dev"
|
commonName: "huizinga.dev"
|
||||||
dnsNames:
|
dnsNames:
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ apiVersion: cert-manager.io/v1
|
|||||||
kind: Certificate
|
kind: Certificate
|
||||||
metadata:
|
metadata:
|
||||||
name: huizinga-dev
|
name: huizinga-dev
|
||||||
namespace: certificates
|
namespace: default
|
||||||
spec:
|
spec:
|
||||||
commonName: "staging.huizinga.dev"
|
commonName: "staging.huizinga.dev"
|
||||||
dnsNames:
|
dnsNames:
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
apiVersion: cilium.io/v2alpha1
|
||||||
|
kind: CiliumL2AnnouncementPolicy
|
||||||
|
metadata:
|
||||||
|
name: default-policy
|
||||||
|
spec:
|
||||||
|
interfaces:
|
||||||
|
- ^eth[0-9]+
|
||||||
|
externalIPs: true
|
||||||
|
loadBalancerIPs: true
|
||||||
24
configs/cilium-config/base/gateway.yaml
Normal file
24
configs/cilium-config/base/gateway.yaml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
apiVersion: gateway.networking.k8s.io/v1
|
||||||
|
kind: Gateway
|
||||||
|
metadata:
|
||||||
|
name: gateway
|
||||||
|
namespace: default
|
||||||
|
spec:
|
||||||
|
gatewayClassName: cilium
|
||||||
|
listeners:
|
||||||
|
- name: http
|
||||||
|
protocol: HTTP
|
||||||
|
port: 80
|
||||||
|
allowedRoutes:
|
||||||
|
namespaces:
|
||||||
|
from: Same
|
||||||
|
- name: https
|
||||||
|
protocol: HTTPS
|
||||||
|
port: 443
|
||||||
|
tls:
|
||||||
|
certificateRefs:
|
||||||
|
- kind: Secret
|
||||||
|
name: huizinga-dev-tls
|
||||||
|
allowedRoutes:
|
||||||
|
namespaces:
|
||||||
|
from: All
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: gateway.networking.k8s.io/v1
|
||||||
|
kind: HTTPRoute
|
||||||
|
metadata:
|
||||||
|
name: http-filter-redirect
|
||||||
|
namespace: default
|
||||||
|
spec:
|
||||||
|
parentRefs:
|
||||||
|
- name: gateway
|
||||||
|
sectionName: http
|
||||||
|
rules:
|
||||||
|
- filters:
|
||||||
|
- type: RequestRedirect
|
||||||
|
requestRedirect:
|
||||||
|
scheme: https
|
||||||
|
statusCode: 301
|
||||||
6
configs/cilium-config/base/kustomization.yaml
Normal file
6
configs/cilium-config/base/kustomization.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- cilium-l2-announcement-policy.yaml
|
||||||
|
- gateway.yaml
|
||||||
|
- http-route-http-filter-redirect.yaml
|
||||||
17
configs/cilium-config/cilium-config.yaml
Normal file
17
configs/cilium-config/cilium-config.yaml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: cilium-config
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 1h
|
||||||
|
retryInterval: 2m
|
||||||
|
timeout: 15m
|
||||||
|
dependsOn:
|
||||||
|
- name: cilium
|
||||||
|
sourceRef:
|
||||||
|
kind: ExternalArtifact
|
||||||
|
name: cilium-config
|
||||||
|
path: ./${cluster_env}
|
||||||
|
prune: true
|
||||||
|
wait: true
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
apiVersion: cilium.io/v2alpha1
|
||||||
|
kind: CiliumLoadBalancerIPPool
|
||||||
|
metadata:
|
||||||
|
name: default-pool
|
||||||
|
spec:
|
||||||
|
blocks:
|
||||||
|
- cidr: 10.0.2.100/24
|
||||||
5
configs/cilium-config/production/kustomization.yaml
Normal file
5
configs/cilium-config/production/kustomization.yaml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- ../base
|
||||||
|
- cilium-load-balancer-ip-pool.yaml
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: cilium.io/v2alpha1
|
||||||
|
kind: CiliumLoadBalancerIPPool
|
||||||
|
metadata:
|
||||||
|
name: default-pool
|
||||||
|
spec:
|
||||||
|
blocks:
|
||||||
|
- start: 192.168.1.100
|
||||||
|
stop: 192.168.1.200
|
||||||
5
configs/cilium-config/staging/kustomization.yaml
Normal file
5
configs/cilium-config/staging/kustomization.yaml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- ../base
|
||||||
|
- cilium-load-balancer-ip-pool.yaml
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
name: cloudflare-token
|
|
||||||
namespace: cert-manager
|
|
||||||
type: Opaque
|
|
||||||
stringData:
|
|
||||||
token: ENC[AES256_GCM,data:uwFPBz9+EMnpXUgvkJ0u9/iEFbpJ2Rz+oX2pqwcJrH04r8E91weFOA==,iv:m9yka2XMfbuu0d/12RvG7UPWvxJEZ0UeDG+OMqxTpkg=,tag:F7EDh3PCHk2yE0MDIjmo2g==,type:str]
|
|
||||||
sops:
|
|
||||||
age:
|
|
||||||
- recipient: age1860txadrlqrjwnqh0g466re2nt8jk7xhj640pq9gpsddpg23uynqsp2hul
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuZGVBS1dpRlVQemlRR2gv
|
|
||||||
WFQraFRxV1hGTVZ1UlNPeXV5Z1VTQ0o2QVFjCjZmYzh0dmhDczllU1pUdGs3Ti82
|
|
||||||
blBOZTAwSUVMTVlJcHNRNVA1NytTMk0KLS0tIGtwR0dYOUxOaUVWb041SXQ5cktU
|
|
||||||
b0QwUVJNVDBTUkcwcWxmV3R4Rm4wNjQKC/hMgUvkTlROHPiBZcJ1ALu2zqknkFhw
|
|
||||||
qDBjJmwpCApaLKrFMxgMEMySNbN2l04fnCQQtZ97ZH87C1lj5WFT8A==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
- recipient: age1hktythzvsnth6u5en2lvag0tftnj9r03w7rpnzfgzgf5w95qxycq2azufj
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOSDA1NkJGdUsyR3hUeG85
|
|
||||||
TUpldmk1V054SDNyNHdlVEhtM3NSMlBjc3hJCk9yQXd5ajl5VnFsZytMWHA5dlNN
|
|
||||||
Q2pxNHVMd01mMEwwT0pKVnBBYjByWXMKLS0tIE9uQ3pzMW90MEhZUGtxVUkrZFJH
|
|
||||||
VXJSejR2bzRLamdoemhSRkwwRGxnVDAKOVvuGT6ZO+JB33RrCF0oqyA0GXAznGOE
|
|
||||||
gT/7i9aMKuJfJr5RhfK1GY6JJf18mHt+jwM2epjtcFYzZpMjh2zjcg==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
lastmodified: "2025-12-01T01:33:08Z"
|
|
||||||
mac: ENC[AES256_GCM,data:9pXCN0JoIFc7OXJvJFBtd/BGP9aByPFq+8KKUqv0MKXVWJWXxzTzN8yoinxsPrw0KSLOJ98ieDIHj2ukVMpuOILOzDELArDsiP0/TAq387V9S7vx+Z2OnCSVuHoW97fvvqSxqhyAuZ8a4alNQ83TtOdZ2gK6VMxWMKizZWdpGeI=,iv:KaEJ6avIlBSTBSIdi/xDF249WEbzubLviBTaDHSwp5A=,tag:TbwJvDuYJY8EdL6yxekWzQ==,type:str]
|
|
||||||
pgp:
|
|
||||||
- created_at: "2025-12-01T01:33:08Z"
|
|
||||||
enc: |-
|
|
||||||
-----BEGIN PGP MESSAGE-----
|
|
||||||
|
|
||||||
hQIMA7pKPTYH5bqOAQ//XvRMEPLhIX1a7oAq5bBY/rl8o5NiBl2z78Bi2ddZ5Fnt
|
|
||||||
J1f9syNMfYCrtkrZ5dgGcbELYcdP0QFajyDYWDViz4elmdqsvdzIPY7DAdzj7NQU
|
|
||||||
gZhoJyBSK5EP4x/89fFdd9zR54nVH8K9036bp4KEGzu611YxdwHT9EtheTSM12S/
|
|
||||||
ZVvVrN0wq6ld9NH0PxEimGL1GhGn+dpVczN1CL1Qh81dz1FpvADd7AJQ7JprkbN8
|
|
||||||
SBSG+omRBhuZaoXTurihgL702q/zzX0/ZyQ24ONsaQGWXJmdXx+lRBgfmWPL9w8b
|
|
||||||
6tcAwfCyOw6QTaTPipOvtHG3M6rhl3AxPWFm2eIv1oXtFGMAbmxOCDfGzy+Tkuva
|
|
||||||
JdlObrgU1v9CAxeKSeqetEZWHY/kPiUSlRUD+C4sHxJBO0MEzxQzNBlh7NgGBOPh
|
|
||||||
Ldum/jZbcCJCOyPXS1Q4bW89gwaTVTeOVpadSwwsJap8+13E2sar3BES2tIGiGTZ
|
|
||||||
e44S5pS/ycSMLQHxmPgyVnMTtMcRU5qtmEo6hjhrB05bppGQFAiCDilM6PHFJ+oN
|
|
||||||
1IDOXCoqiDwS2Yxm7IQrw/7WvHqngTwwJyxjy6q4bgocgrnSqKzqoE0pBZvX1oGN
|
|
||||||
1Num+9u+XwWAb2m9QUJAiWy9R16AgDD9Gp3ekArwztlMSWrXnIGz/zUL+ehh3avS
|
|
||||||
XgH1P2d8+QPjhrXq9Hyu9wANeL1Z1qQFKTTe9ReqRUc+B4Ts8ACf26FYSneksgJd
|
|
||||||
2lyesmgmrGlFzGCVdPCBOuCPCicP/w28WzYUI7amzraPa5kHEhl3wzkQiTE710c=
|
|
||||||
=XaqU
|
|
||||||
-----END PGP MESSAGE-----
|
|
||||||
fp: 1E0CF38FF7C9ADAED58B436ABA4A3D3607E5BA8E!
|
|
||||||
encrypted_regex: ^(data|stringData)$
|
|
||||||
version: 3.11.0
|
|
||||||
6
configs/longhorn-jobs/kustomization.yaml
Normal file
6
configs/longhorn-jobs/kustomization.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- recurring-job-backup.yaml
|
||||||
|
- recurring-job-snapshot.yaml
|
||||||
|
- recurring-job-trim.yaml
|
||||||
16
configs/longhorn-jobs/longhorn-jobs.yaml
Normal file
16
configs/longhorn-jobs/longhorn-jobs.yaml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: longhorn-jobs
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 1h
|
||||||
|
retryInterval: 2m
|
||||||
|
timeout: 5m
|
||||||
|
dependsOn:
|
||||||
|
- name: longhorn
|
||||||
|
sourceRef:
|
||||||
|
kind: ExternalArtifact
|
||||||
|
name: longhorn-jobs
|
||||||
|
prune: true
|
||||||
|
wait: true
|
||||||
14
configs/longhorn-jobs/recurring-job-backup.yaml
Normal file
14
configs/longhorn-jobs/recurring-job-backup.yaml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: longhorn.io/v1beta2
|
||||||
|
kind: RecurringJob
|
||||||
|
metadata:
|
||||||
|
name: backup
|
||||||
|
namespace: longhorn-system
|
||||||
|
spec:
|
||||||
|
cron: "0 5 * * *"
|
||||||
|
task: "backup"
|
||||||
|
retain: 14
|
||||||
|
concurrency: 1
|
||||||
|
groups:
|
||||||
|
- default
|
||||||
|
parameters:
|
||||||
|
full-backup-interval: "7"
|
||||||
12
configs/longhorn-jobs/recurring-job-snapshot.yaml
Normal file
12
configs/longhorn-jobs/recurring-job-snapshot.yaml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: longhorn.io/v1beta2
|
||||||
|
kind: RecurringJob
|
||||||
|
metadata:
|
||||||
|
name: snapshot
|
||||||
|
namespace: longhorn-system
|
||||||
|
spec:
|
||||||
|
cron: "0 */12 * * *"
|
||||||
|
task: "snapshot"
|
||||||
|
retain: 14
|
||||||
|
concurrency: 1
|
||||||
|
groups:
|
||||||
|
- default
|
||||||
11
configs/longhorn-jobs/recurring-job-trim.yaml
Normal file
11
configs/longhorn-jobs/recurring-job-trim.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: longhorn.io/v1beta2
|
||||||
|
kind: RecurringJob
|
||||||
|
metadata:
|
||||||
|
name: trim
|
||||||
|
namespace: longhorn-system
|
||||||
|
spec:
|
||||||
|
cron: "0 0 7 * *"
|
||||||
|
task: "filesystem-trim"
|
||||||
|
concurrency: 1
|
||||||
|
groups:
|
||||||
|
- default
|
||||||
@@ -19,3 +19,28 @@ spec:
|
|||||||
copy:
|
copy:
|
||||||
- from: "@foundation/controllers/cert-manager/**"
|
- from: "@foundation/controllers/cert-manager/**"
|
||||||
to: "@artifact/"
|
to: "@artifact/"
|
||||||
|
- name: openebs
|
||||||
|
originRevision: "@foundation"
|
||||||
|
copy:
|
||||||
|
- from: "@foundation/controllers/openebs/**"
|
||||||
|
to: "@artifact/"
|
||||||
|
- name: longhorn
|
||||||
|
originRevision: "@foundation"
|
||||||
|
copy:
|
||||||
|
- from: "@foundation/controllers/longhorn/**"
|
||||||
|
to: "@artifact/"
|
||||||
|
- name: local-path-provisioner
|
||||||
|
originRevision: "@foundation"
|
||||||
|
copy:
|
||||||
|
- from: "@foundation/controllers/local-path-provisioner**"
|
||||||
|
to: "@artifact/"
|
||||||
|
- name: cnpg
|
||||||
|
originRevision: "@foundation"
|
||||||
|
copy:
|
||||||
|
- from: "@foundation/controllers/cnpg/**"
|
||||||
|
to: "@artifact/"
|
||||||
|
- name: reflector
|
||||||
|
originRevision: "@foundation"
|
||||||
|
copy:
|
||||||
|
- from: "@foundation/controllers/reflector/**"
|
||||||
|
to: "@artifact/"
|
||||||
|
|||||||
@@ -10,4 +10,4 @@ spec:
|
|||||||
mediaType: "application/vnd.cncf.helm.chart.content.v1.tar+gzip"
|
mediaType: "application/vnd.cncf.helm.chart.content.v1.tar+gzip"
|
||||||
operation: copy
|
operation: copy
|
||||||
ref:
|
ref:
|
||||||
semver: "1.x"
|
semver: "1.19.x"
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ spec:
|
|||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: cilium
|
chart: cilium
|
||||||
version: "1.x"
|
version: "1.18.x"
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: cilium
|
name: cilium
|
||||||
|
|||||||
29
controllers/cnpg/base/helm-release.yaml
Normal file
29
controllers/cnpg/base/helm-release.yaml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: cnpg
|
||||||
|
namespace: cnpg-system
|
||||||
|
spec:
|
||||||
|
interval: 12h
|
||||||
|
install:
|
||||||
|
strategy:
|
||||||
|
name: RetryOnFailure
|
||||||
|
retryInterval: 2m
|
||||||
|
upgrade:
|
||||||
|
strategy:
|
||||||
|
name: RetryOnFailure
|
||||||
|
retryInterval: 3m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: cloudnative-pg
|
||||||
|
version: "0.27.x"
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: cnpg
|
||||||
|
interval: 24h
|
||||||
|
valuesFrom:
|
||||||
|
- kind: ConfigMap
|
||||||
|
name: values-base
|
||||||
|
- kind: ConfigMap
|
||||||
|
name: values-overlay
|
||||||
|
optional: true
|
||||||
8
controllers/cnpg/base/helm-repository.yaml
Normal file
8
controllers/cnpg/base/helm-repository.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: source.toolkit.fluxcd.io/v1
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: cnpg
|
||||||
|
namespace: cnpg-system
|
||||||
|
spec:
|
||||||
|
interval: 24h
|
||||||
|
url: https://cloudnative-pg.github.io/charts
|
||||||
16
controllers/cnpg/base/kustomization.yaml
Normal file
16
controllers/cnpg/base/kustomization.yaml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- namespace.yaml
|
||||||
|
- helm-repository.yaml
|
||||||
|
- helm-release.yaml
|
||||||
|
- https://github.com/cloudnative-pg/plugin-barman-cloud/releases/download/v0.9.0/manifest.yaml
|
||||||
|
|
||||||
|
configurations:
|
||||||
|
- name-reference.yaml
|
||||||
|
|
||||||
|
configMapGenerator:
|
||||||
|
- name: values-base
|
||||||
|
namespace: cnpg-system
|
||||||
|
files:
|
||||||
|
- values.yaml
|
||||||
6
controllers/cnpg/base/name-reference.yaml
Normal file
6
controllers/cnpg/base/name-reference.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
nameReference:
|
||||||
|
- kind: ConfigMap
|
||||||
|
version: v1
|
||||||
|
fieldSpecs:
|
||||||
|
- path: spec/valuesFrom/name
|
||||||
|
kind: HelmRelease
|
||||||
4
controllers/cnpg/base/namespace.yaml
Normal file
4
controllers/cnpg/base/namespace.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: cnpg-system
|
||||||
0
controllers/cnpg/base/values.yaml
Normal file
0
controllers/cnpg/base/values.yaml
Normal file
@@ -1,21 +1,21 @@
|
|||||||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
metadata:
|
metadata:
|
||||||
name: letsencrypt
|
name: cnpg
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 1h
|
interval: 1h
|
||||||
retryInterval: 2m
|
retryInterval: 2m
|
||||||
timeout: 5m
|
timeout: 5m
|
||||||
dependsOn:
|
|
||||||
- name: cert-manager
|
|
||||||
sourceRef:
|
|
||||||
kind: ExternalArtifact
|
|
||||||
name: letsencrypt
|
|
||||||
decryption:
|
decryption:
|
||||||
provider: sops
|
provider: sops
|
||||||
secretRef:
|
secretRef:
|
||||||
name: sops-gpg
|
name: sops-gpg
|
||||||
path: ./
|
dependsOn:
|
||||||
|
- name: cert-manager
|
||||||
|
sourceRef:
|
||||||
|
kind: ExternalArtifact
|
||||||
|
name: cnpg
|
||||||
|
path: ./${cluster_env}
|
||||||
prune: true
|
prune: true
|
||||||
wait: true
|
wait: true
|
||||||
10
controllers/cnpg/production/kustomization.yaml
Normal file
10
controllers/cnpg/production/kustomization.yaml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- ../base
|
||||||
|
|
||||||
|
configMapGenerator:
|
||||||
|
- name: values-overlay
|
||||||
|
namespace: cnpg-system
|
||||||
|
files:
|
||||||
|
- values.yaml
|
||||||
1
controllers/cnpg/production/values.yaml
Normal file
1
controllers/cnpg/production/values.yaml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
replicaCount: 2
|
||||||
11
controllers/cnpg/staging/kustomization.yaml
Normal file
11
controllers/cnpg/staging/kustomization.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- ../base
|
||||||
|
- secret-s3-garage.enc.yaml
|
||||||
|
|
||||||
|
configMapGenerator:
|
||||||
|
- name: values-overlay
|
||||||
|
namespace: cnpg-system
|
||||||
|
files:
|
||||||
|
- values.yaml
|
||||||
57
controllers/cnpg/staging/secret-s3-garage.enc.yaml
Normal file
57
controllers/cnpg/staging/secret-s3-garage.enc.yaml
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: s3-garage
|
||||||
|
namespace: cnpg-system
|
||||||
|
annotations:
|
||||||
|
reflector.v1.k8s.emberstack.com/reflection-allowed: "true"
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
ACCESS_KEY_ID: ENC[AES256_GCM,data:TOEQMG/kHs5XUk77ijyV089ZTq1dKsoZUas=,iv:mVDOkl5qOxGdvCvdcXUuUjX85oKqbd+n5maHsKwCiFg=,tag:pho0oWPTwtM6lGQ2vA1d5A==,type:str]
|
||||||
|
ACCESS_SECRET_KEY: ENC[AES256_GCM,data:INipEOcpPSij6TDu+bCuMOdsGm58nEBC4UJfEGRqeMmXZ9A+EBrMiRL6z3s29uz4qdqwZ3C8E4PVz01/41bMEA==,iv:x+gku8q7efHaaMpD/dc19IrwmK2gDp04bjH8WN/xhkc=,tag:QiSF6B8IqMrCsOUCe8c0bw==,type:str]
|
||||||
|
REGION: ENC[AES256_GCM,data:WIGPWwii,iv:ZdP5uNYqa8CZxa/xyrYXxGvE9fzt95slzwpzSzRy9DY=,tag:yANYtLzJCL/1pcvBXY7X7g==,type:str]
|
||||||
|
sops:
|
||||||
|
age:
|
||||||
|
- recipient: age1860txadrlqrjwnqh0g466re2nt8jk7xhj640pq9gpsddpg23uynqsp2hul
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3cmd2NkxFOVB0a1R3MHVN
|
||||||
|
RWRwbFVVaHF6Mlo4UElIZ1ROd1pyV1czSEYwCmFQMGM3Nkw0U0hzcWdyQVpnZTZL
|
||||||
|
eFNLWW5iNWpZVU9BQm9KakV4dEJzaGsKLS0tIGZ0ajdRZjZIUnNRSElzeENYRG4r
|
||||||
|
eUJHQVAzeWJSUDZTYy8zbTJIQ3pscjAKERe7k/VVNqMhqe2rLLRA9dO71bjieffX
|
||||||
|
YMIzJ0/UNMo2el4bcefwRnqwl0oyPG+pMXZ3F6UXyEoZw3ZIc4Nzvg==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
- recipient: age1hktythzvsnth6u5en2lvag0tftnj9r03w7rpnzfgzgf5w95qxycq2azufj
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhakxrQ1Zrd3FRekZwZkU4
|
||||||
|
MVBpdloxeTJWQm1GZjA4M2NFVk1IYWtrTG1RCnpaRGh1WDZ4dCtzeFhkK1YzczYz
|
||||||
|
dmFNSWQ1bXgwQjJ1VlkrQnFhMXJ3bGcKLS0tIDhpcWx0MklNazJ0SjUzRmlyV0Er
|
||||||
|
K09tZGI0Z2w0eXh5eHcvcEttMy82aU0K2fnCDfYIShzw2Zipof+C8zf9pcOmiDg9
|
||||||
|
2SCiIfAJs9MB3n078P068z77KpvdlJYOi9pUTKSBhNw+mBI24y6X6A==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
lastmodified: "2025-12-18T02:50:50Z"
|
||||||
|
mac: ENC[AES256_GCM,data:+kfs0EDnnZNnHMf91P6rAN52lugHFO4XcNJiKLpXt7bfTSMbiwgVbvRElXGTbLXLVSz70uZyzV/mt0ZcfEfPbwE/Pdh6SmFiWwQwLT1M50MdrxAWWYvSCS9r4h1Cow3N3K2/dXH7N/4AVHTg3ohXlP92fxVh1wL0cVnke/lcQgY=,iv:M5n9+lgq0fBx5Yg1e0N6v0obbnmarvVwIHAjCr5XmM4=,tag:NBA01MtG40T3nST7b00tiw==,type:str]
|
||||||
|
pgp:
|
||||||
|
- created_at: "2025-12-11T23:56:15Z"
|
||||||
|
enc: |-
|
||||||
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
|
hQIMA51kG++kLewoARAA2+TLPMKYQFUjyuER+HZgY5Zl4qcF94sYcZuTdcvl/Pam
|
||||||
|
l//PcgU80DLb/3IZ1K12EYyuZ+QVdJxmUQt1OvBUWv2p0/5mU7zbkxc8YJ/vc46b
|
||||||
|
yMX7mmDnzuyU2Lss0hUl5dDDk3pdC4SgjrBz15g9TvS2jOWDTOwKCb1DEghfzB07
|
||||||
|
/9Yfj6Rfds2gqsUgfyxVCzHXzC0SNpuqqPLmnzNmjYiQGNFOCOdyxP6c2ehCI6Bq
|
||||||
|
Lu38n6rjTj2QWJZvtr57a2IVqmFVcD9wcy7ITUk8u9+ncYemLmx1LTQKD6n0WDHm
|
||||||
|
DwjRjziqdJRpHo70Q6TUanFppqTB2q1CReS4yk9sc3CINq9fRJrKtOeJxW8x81yZ
|
||||||
|
o3X++3gYbsRIrApVAFECJyKA4H6eK1gp4djNV7K0MmbQcR/7wSqaYrE6vTPml7jG
|
||||||
|
Ribd7eGvF2FnH5P/z3ckh6HH2Ln+i+iVy+ZeY+lgWuIrVNDWwR8mDH8AkjXuGTu4
|
||||||
|
K6ra+kCna6v7CAKwlGd31rk9i0CTNTqyHEQeqYuto/HTEC0Jj/lRyFPq+KuuvoAq
|
||||||
|
vxQlmP6VnYR0gTfkneBAny4neu3zrbYMuIMWoA9pAhZBNOLPuPXZtUwhAStHBS1V
|
||||||
|
Sdc6AI9CXSPFIP2WDn6iwjwXElkG5+iYyngf3tXrJUVXs0SQeFH05j3r5zVNT0zS
|
||||||
|
XgFAiWuLAOyWWvP+Jlre5dgKnbiaSs3wIVL9Qw9MuHIWdlXmTyuQ5SQKErQLSQ2j
|
||||||
|
b5ogtCcgcbVd+OsZCHWQbPtLI2yk/n0afA9D6cRvLHbNZGrWRZjdTYUHU2Drp0w=
|
||||||
|
=/yAN
|
||||||
|
-----END PGP MESSAGE-----
|
||||||
|
fp: CD17A34CBFB21DE9A73D47EB76BDEC4E165D8AD9
|
||||||
|
encrypted_regex: ^(data|stringData)$
|
||||||
|
version: 3.11.0
|
||||||
1
controllers/cnpg/staging/values.yaml
Normal file
1
controllers/cnpg/staging/values.yaml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
replicaCount: 1
|
||||||
28
controllers/local-path-provisioner/kustomization.yaml
Normal file
28
controllers/local-path-provisioner/kustomization.yaml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- github.com/rancher/local-path-provisioner/deploy?ref=v0.0.32
|
||||||
|
patches:
|
||||||
|
- patch: |-
|
||||||
|
kind: ConfigMap
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: local-path-config
|
||||||
|
namespace: local-path-storage
|
||||||
|
data:
|
||||||
|
config.json: |-
|
||||||
|
{
|
||||||
|
"nodePathMap":[
|
||||||
|
{
|
||||||
|
"node":"DEFAULT_PATH_FOR_NON_LISTED_NODES",
|
||||||
|
"paths":["/var/mnt/local-path-provisioner"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
- patch: |-
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: local-path-storage
|
||||||
|
labels:
|
||||||
|
pod-security.kubernetes.io/enforce: privileged
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: local-path-provisioner
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 1h
|
||||||
|
retryInterval: 2m
|
||||||
|
timeout: 5m
|
||||||
|
sourceRef:
|
||||||
|
kind: ExternalArtifact
|
||||||
|
name: local-path-provisioner
|
||||||
|
path: ./
|
||||||
|
prune: true
|
||||||
|
wait: true
|
||||||
29
controllers/longhorn/base/helm-release.yaml
Normal file
29
controllers/longhorn/base/helm-release.yaml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: longhorn
|
||||||
|
namespace: longhorn-system
|
||||||
|
spec:
|
||||||
|
interval: 12h
|
||||||
|
install:
|
||||||
|
strategy:
|
||||||
|
name: RetryOnFailure
|
||||||
|
retryInterval: 2m
|
||||||
|
upgrade:
|
||||||
|
strategy:
|
||||||
|
name: RetryOnFailure
|
||||||
|
retryInterval: 3m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: longhorn
|
||||||
|
version: "1.10.x"
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: longhorn
|
||||||
|
interval: 24h
|
||||||
|
valuesFrom:
|
||||||
|
- kind: ConfigMap
|
||||||
|
name: values-base
|
||||||
|
- kind: ConfigMap
|
||||||
|
name: values-overlay
|
||||||
|
optional: true
|
||||||
8
controllers/longhorn/base/helm-repository.yaml
Normal file
8
controllers/longhorn/base/helm-repository.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: source.toolkit.fluxcd.io/v1
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: longhorn
|
||||||
|
namespace: longhorn-system
|
||||||
|
spec:
|
||||||
|
interval: 24h
|
||||||
|
url: https://charts.longhorn.io
|
||||||
15
controllers/longhorn/base/kustomization.yaml
Normal file
15
controllers/longhorn/base/kustomization.yaml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- namespace.yaml
|
||||||
|
- helm-repository.yaml
|
||||||
|
- helm-release.yaml
|
||||||
|
|
||||||
|
configurations:
|
||||||
|
- name-reference.yaml
|
||||||
|
|
||||||
|
configMapGenerator:
|
||||||
|
- name: values-base
|
||||||
|
namespace: longhorn-system
|
||||||
|
files:
|
||||||
|
- values.yaml
|
||||||
6
controllers/longhorn/base/name-reference.yaml
Normal file
6
controllers/longhorn/base/name-reference.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
nameReference:
|
||||||
|
- kind: ConfigMap
|
||||||
|
version: v1
|
||||||
|
fieldSpecs:
|
||||||
|
- path: spec/valuesFrom/name
|
||||||
|
kind: HelmRelease
|
||||||
8
controllers/longhorn/base/namespace.yaml
Normal file
8
controllers/longhorn/base/namespace.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: longhorn-system
|
||||||
|
labels:
|
||||||
|
pod-security.kubernetes.io/enforce: privileged
|
||||||
|
pod-security.kubernetes.io/warn: privileged
|
||||||
|
pod-security.kubernetes.io/audit: privileged
|
||||||
13
controllers/longhorn/base/values.yaml
Normal file
13
controllers/longhorn/base/values.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
defaultSettings:
|
||||||
|
defaultDataPath: /var/mnt/longhorn
|
||||||
|
replicaAutoBalance: best-effort
|
||||||
|
defaultDataLocality: best-effort
|
||||||
|
freezeFilesystemForSnapshot: true
|
||||||
|
storageReservedPercentageForDefaultDisk: 0
|
||||||
|
storageMinimalAvailablePercentage: 10
|
||||||
|
storageOverProvisioningPercentage: 25
|
||||||
|
persistence:
|
||||||
|
defaultDataLocality: best-effort
|
||||||
|
defaultBackupStore:
|
||||||
|
backupTarget: s3://longhorn-backup@garage/
|
||||||
|
backupTargetCredentialSecret: s3-garage
|
||||||
19
controllers/longhorn/longhorn.yaml
Normal file
19
controllers/longhorn/longhorn.yaml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: longhorn
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 1h
|
||||||
|
retryInterval: 2m
|
||||||
|
timeout: 5m
|
||||||
|
sourceRef:
|
||||||
|
kind: ExternalArtifact
|
||||||
|
name: longhorn
|
||||||
|
decryption:
|
||||||
|
provider: sops
|
||||||
|
secretRef:
|
||||||
|
name: sops-gpg
|
||||||
|
path: ./${cluster_env}
|
||||||
|
prune: true
|
||||||
|
wait: true
|
||||||
10
controllers/longhorn/production/kustomization.yaml
Normal file
10
controllers/longhorn/production/kustomization.yaml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- ../base
|
||||||
|
|
||||||
|
configMapGenerator:
|
||||||
|
- name: values-overlay
|
||||||
|
namespace: longhorn-system
|
||||||
|
files:
|
||||||
|
- values.yaml
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user