Skip to content

Commit 2ebe543

Browse files
author
geekifier
committed
🔄 synced file(s) with geekifier/xenu-ng
1 parent 34062f3 commit 2ebe543

File tree

10 files changed

+127
-41
lines changed

10 files changed

+127
-41
lines changed

‎.mise.toml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@ uv = "latest"
1818
k9s = "latest"
1919
helm-diff = "latest"
2020
"aqua:cilium/cilium-cli" = "0.18.8"
21-
"aqua:cli/cli" = "2.83.0"
21+
"aqua:cli/cli" = "2.83.1"
2222
"aqua:cloudflare/cloudflared" = "2025.11.1"
2323
"aqua:cue-lang/cue" = "0.15.0"
2424
"aqua:FiloSottile/age" = "1.2.1"
2525
"aqua:fluxcd/flux2" = "2.7.3"
2626
"aqua:getsops/sops" = "3.11.0"
27-
"aqua:go-task/task" = "3.45.4"
28-
"aqua:helm/helm" = "3.19.0"
27+
"aqua:go-task/task" = "3.45.5"
28+
"aqua:helm/helm" = "3.19.2"
2929
"aqua:helmfile/helmfile" = "1.1.9"
3030
"aqua:jqlang/jq" = "1.8.1"
3131
"aqua:kubernetes-sigs/kustomize" = "5.7.1"

‎kubernetes/apps/db/cloudnative-pg/cluster/pg16-monolith.yaml‎

Lines changed: 4 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,14 @@ kind: Cluster
55
metadata:
66
name: &clusterName postgres16
77
spec:
8-
instances: 2
9-
imageName: ghcr.io/cloudnative-pg/postgresql:16.8
8+
instances: 1
9+
imageName: ghcr.io/cloudnative-pg/postgresql:17.6
1010
primaryUpdateStrategy: unsupervised
1111
primaryUpdateMethod: switchover
1212
storage:
1313
size: 20Gi
14-
storageClass: longhorn-cluster
14+
storageClass: longhorn-cluster-best-effort
15+
resizeInUseVolumes: false
1516
enableSuperuserAccess: true
1617
postgresql:
1718
parameters:
@@ -55,30 +56,6 @@ spec:
5556
secretAccessKey:
5657
name: cloudnative-pg-garage-secret
5758
key: CNPG_S3_SECRET_ACCESS_KEY
58-
59-
# Note: previousCluster needs to be set to the name of the previous
60-
# cluster when recovering from an existing cnpg cluster
61-
bootstrap:
62-
initdb:
63-
import:
64-
schemaOnly: true
65-
type: monolith
66-
databases: ["*"]
67-
roles: ["*"]
68-
source:
69-
externalCluster: &sourceCluster vacuum2
70-
# Note: externalClusters is needed when recovering from an existing cnpg cluster
71-
externalClusters:
72-
- name: *sourceCluster
73-
connectionParameters:
74-
host: vacuum2.${SECRET_DOMAIN_INT}
75-
user: postgres
76-
dbname: postgres
77-
port: "5432"
78-
sslmode: prefer
79-
password:
80-
key: password
81-
name: pgsql-vacuum-postgres
8259
---
8360
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/postgresql.cnpg.io/scheduledbackup_v1.json
8461
apiVersion: postgresql.cnpg.io/v1
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
---
2+
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/postgresql.cnpg.io/cluster_v1.json
3+
apiVersion: postgresql.cnpg.io/v1
4+
kind: Cluster
5+
metadata:
6+
name: &clusterName postgres17
7+
spec:
8+
instances: 2
9+
imageName: ghcr.io/cloudnative-pg/postgresql:17.6
10+
primaryUpdateStrategy: unsupervised
11+
primaryUpdateMethod: switchover
12+
storage:
13+
size: 20Gi
14+
storageClass: longhorn-cluster-best-effort
15+
resizeInUseVolumes: false
16+
enableSuperuserAccess: true
17+
postgresql:
18+
parameters:
19+
max_connections: "300"
20+
shared_buffers: "128MB"
21+
pg_stat_statements.max: "10000"
22+
pg_stat_statements.track: all
23+
nodeMaintenanceWindow:
24+
inProgress: false
25+
# prevent node drain issues with Longhorn strict-local volumes
26+
reusePVC: false
27+
resources:
28+
requests:
29+
cpu: 250m
30+
memory: 512Mi
31+
limits:
32+
memory: 2Gi
33+
monitoring:
34+
enablePodMonitor: true
35+
36+
backup:
37+
retentionPolicy: 30d
38+
barmanObjectStore: &barmanObjectStore
39+
data:
40+
compression: bzip2
41+
wal:
42+
compression: bzip2
43+
maxParallel: 1
44+
destinationPath: s3://cloudnative-pg/
45+
endpointURL: "http://blackhole2.${SECRET_DOMAIN_INT}:3900"
46+
# Note: serverName version needs to be incremented
47+
# when recovering from an existing cnpg cluster
48+
serverName: postgres17-02
49+
s3Credentials:
50+
region:
51+
name: cloudnative-pg-garage-secret
52+
key: CNPG_S3_REGION
53+
accessKeyId:
54+
name: cloudnative-pg-garage-secret
55+
key: CNPG_S3_ACCESS_KEY_ID
56+
secretAccessKey:
57+
name: cloudnative-pg-garage-secret
58+
key: CNPG_S3_SECRET_ACCESS_KEY
59+
60+
bootstrap:
61+
initdb:
62+
import:
63+
type: monolith
64+
databases: ["*"]
65+
roles: ["*"]
66+
source:
67+
externalCluster: postgres16-source
68+
69+
externalClusters:
70+
- name: postgres16-source
71+
connectionParameters:
72+
host: postgres16-rw.db.svc.cluster.local
73+
user: postgres
74+
dbname: postgres
75+
port: "5432"
76+
password:
77+
name: postgres16-superuser
78+
key: password
79+
---
80+
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/postgresql.cnpg.io/scheduledbackup_v1.json
81+
apiVersion: postgresql.cnpg.io/v1
82+
kind: ScheduledBackup
83+
metadata:
84+
name: postgres17-daily
85+
namespace: db
86+
spec:
87+
schedule: "@daily"
88+
immediate: true
89+
backupOwnerReference: self
90+
cluster:
91+
name: postgres17

‎kubernetes/apps/db/cloudnative-pg/db/teslamate.yaml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ spec:
3434
DATABASE_USER: "{{.Role}}"
3535
DATABASE_PASS: "{{.Password}}"
3636
DATABASE_NAME: "{{.Database}}"
37+
# We need to set this manually because the value forced by the operator overwrited Teslamate's app port
38+
PORT: "4000"
3739
---
3840
apiVersion: db.movetokube.com/v1alpha1
3941
kind: PostgresUser

‎kubernetes/apps/db/cloudnative-pg/operator/kustomization.yaml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ resources:
55
- ./helmrelease.yaml
66
- ./garage.secret.sops.yaml
77
- ../cluster/pg16-monolith.yaml
8+
- ../cluster/pg17-monolith.yaml
89
# configMapGenerator:
910
# - name: vm-kube-state-metrics-cm
1011
# files:

‎kubernetes/apps/db/ext-postgres-operator/app/helmrelease.yaml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ spec:
2626
keepHistory: false
2727
valuesFrom:
2828
- kind: Secret
29-
name: &pgSecretName postgres16-superuser
29+
name: &pgSecretName postgres17-superuser
3030
valuesKey: username
3131
targetPath: postgres.user
3232
- kind: Secret

‎kubernetes/apps/default/miniflux/app/secret.sops.yaml‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ kind: Secret
33
metadata:
44
name: miniflux-secret
55
stringData:
6-
DATABASE_URL: ENC[AES256_GCM,data:FvEGzbTVNqeuGg/LyeBtDP1fQ91Xlx5duUxHZIeFIZ6gV3zf0Jwcq6rEh4Rah/GvceGvQ83GHeXUTPAVy7aSmCnH+0boOmWnhMum583jMkd1DCsT70c5rXr+JtV3eRr3vOBO5l51095eIn3XXcRwtJ34bIse6hHbWWwgUi/DZRiegACkNURNGMk=,iv:sZjoRVvffSkdNGAgfzr8VZuizOW0gj7qNUbMf5aa+ZM=,tag:ODDYOyggcbTSadlIRLgoEg==,type:str]
6+
DATABASE_URL: ENC[AES256_GCM,data:94GVTlNHEUYkCJEIjUWVlg4dKK01xwuRnIYTKcAtWn/wvtRqSa1x0rUbRI8l30HdECLRbpkwqNnIJY5Qs5hLMsGP5weB8HnWfElxOK4YGZzhwuecmkJ5bN8cNvfve5fRLtWZtGcfXXuz30qQxYruk5i8zw/P8WP6mWB0K7+jX+Q9usDkOLdTJYg=,iv:YVnzbG+tx7Mr9Mi2GdT09T4jEC5TU2VjhDBGwFaKV2s=,tag:F4+pChoUdTdQ23j+/PqLfA==,type:str]
77
ADMIN_USERNAME: ENC[AES256_GCM,data:GscFoe0=,iv:JWQvtp6mP3EOlrlERdsiMrLDNGo63f06yD83iv6nqNs=,tag:AtH3d7okwe7IbSPu7QsoYQ==,type:str]
88
ADMIN_PASSWORD: ENC[AES256_GCM,data:6bwjatwbw246QNiaLCLMP/ERutih2c6KWuci0S/LNic=,iv:xrJx/81fC8Op8wob0pER2BAStGXI2qanKaf9Sh4GdCQ=,tag:JMiGUryozxCcn3eEz6NrYw==,type:str]
99
sops:
@@ -17,8 +17,8 @@ sops:
1717
RDd2U0drbEdBSlUzM2tqNllwdFV1bUUKpHodzy+B3c17l6MXv4yCxMwVyOeZS0qU
1818
UFNWn45CooTgqw8LQWrntXaGLfupe2caifsRa4py0JyTufgYZHZGig==
1919
-----END AGE ENCRYPTED FILE-----
20-
lastmodified: "2025-04-18T12:52:23Z"
21-
mac: ENC[AES256_GCM,data:CqHQBm6Zm0ievdzhen59Z6JvV8OrfiQD9Cq0muBVp81SGpgRxpPHLlVMlnLGLeNttDIUf+MCakMrutsvB9d6K3Fu5PKd1/A+JMaCaHaTmA8HQkPh9hp68i31wOd2RA9DDgz1XM50lHv7mr06jYhvzh65o0lPnV6g68jJPp2+NtQ=,iv:RHyTUSZAhCiFzRuEkZioYJmUE+9fs/Dq70CPqGEjpxQ=,tag:xz5Qf9ppU2rlFfWcPEREzQ==,type:str]
20+
lastmodified: "2025-11-11T20:34:35Z"
21+
mac: ENC[AES256_GCM,data:rLwLvvMYwJoQggpz+6ZmdDeW+4dBvs2C80GGYKQoxDtb8Smn0RmoNesG8PIMV94NbYbjPGBvG/Yayh1sf+2GaT7lMdFZWl5+VqRDCDj7/T4uauHPtn9R5yF/2uOb46xeVjW5eko5m6+r6UklXecWRPHU5zzvSOnq+EAN2v6Rj1Q=,iv:xPKMH/9eYpx3x43J9/t1EPQaGbTyJfetpIAYXOP1/Kg=,tag:4Q/oFECH4EvVv/V39tr9PQ==,type:str]
2222
encrypted_regex: ^(data|stringData)$
2323
mac_only_encrypted: true
24-
version: 3.10.1
24+
version: 3.11.0

‎kubernetes/apps/default/spoolman/app/secret.sops.yaml‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ kind: Secret
33
metadata:
44
name: spoolman-secret
55
stringData:
6-
SPOOLMAN_DB_HOST: ENC[AES256_GCM,data:cTDkHd4cbKZTHZgElwUdQIQeWe2Sl3q/RGJkhX8G2DZ5GA==,iv:Sna0inSs426J3kIarBlxSJrYUMCd05jeNNU4A9h0ZvA=,tag:cU9Q7F301ztr04BiZ7eoEg==,type:str]
6+
SPOOLMAN_DB_HOST: ENC[AES256_GCM,data:ibyuoZbnYbCLVWSXKWMrEdpuIVbn32D770/5wJsjMxF4Ew==,iv:33+79KOw9Wq36UVdDM4EACWI7TtW9tnr373Bc8K7dSQ=,tag:O5IeA8ybG9l86OVxrcB7Og==,type:str]
77
SPOOLMAN_DB_PORT: ENC[AES256_GCM,data:Ag5Lyw==,iv:5j72OaI6BghJxbYJmllDhufP2rKnWFN2e175yNB7FIE=,tag:C4RnHF5w3PGRk/ql5Znnhg==,type:str]
88
SPOOLMAN_DB_TYPE: ENC[AES256_GCM,data:kJD0hPuJqA0=,iv:WalatG+dvBPD929Ja1svvCYxygNxOLzsztziynCjDag=,tag:1+dMJWlC9MaC2s2qoM6yjA==,type:str]
99
SPOOLMAN_DB_NAME: ENC[AES256_GCM,data:B7hisDGmca8=,iv:zo4cOylF7RLg54ktYUUoFqCWS4VzKoDXUOL+AracKyM=,tag:u4xjoPzoFS/a0l8KKUglIw==,type:str]
@@ -21,8 +21,8 @@ sops:
2121
eDRSUm9XRkRJMkZ6T2llS3dYY3Jid2cKIfzmEgv02gSnJerAx0iB4+i0s4Hb5sfX
2222
NDngSVouDeaxEltj0jtnEIpIgdkqTw0dnkHUR/yf/LtfWMn8x9F1FA==
2323
-----END AGE ENCRYPTED FILE-----
24-
lastmodified: "2025-04-19T00:04:58Z"
25-
mac: ENC[AES256_GCM,data:X5cK7EB/IIUf5AtWGEF5c3JxIMXBM6lrR0hrK1v/gLFHWzyq7J+a+Ty2+0mbSmJb8nvUthJT25Jn7B3hqVj1CvwrxnfSthET8FW/ka6nihANdPfJufDH644lF8oLjHoZUvlttxuyZRB8/5jCb75LbBHVgd1becQjIdwhwj94DGQ=,iv:KpLwdiTz298LhiQ2dERYhGPNzBpmRT4RnX5qZcm4Sxk=,tag:7Lm6U4/XP17q9x2YNEuqqA==,type:str]
24+
lastmodified: "2025-11-11T20:31:46Z"
25+
mac: ENC[AES256_GCM,data:rsEEBnH8/txYR3+wjj4cKYooBfpdwO79pt2upFwirjjnsa+qYEar1ROfhzyDfqSOFWFsrUTvt/DW8P1GuNvyRt2gySdQSuxfGEvImZaHkhcmxBn5eNoA7pDL2NMB4ZpZ/SRzyT+1OaMldqSgmUIfgeJMTG+qZXnNqsXpqUQvt/M=,iv:e/1zIGFDepy/vWhhfo5RwSBSRIbz8mAXFleaNgJBMvE=,tag:48gvhjE3b0gbj/EquKFCNw==,type:str]
2626
encrypted_regex: ^(data|stringData)$
2727
mac_only_encrypted: true
28-
version: 3.10.1
28+
version: 3.11.0

‎kubernetes/apps/longhorn-system/install/resources/storageclasses.yaml‎

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,21 @@ parameters:
4848
---
4949
kind: StorageClass
5050
apiVersion: storage.k8s.io/v1
51+
metadata:
52+
name: longhorn-cluster-best-effort
53+
provisioner: driver.longhorn.io
54+
allowVolumeExpansion: true
55+
reclaimPolicy: Delete
56+
volumeBindingMode: WaitForFirstConsumer
57+
parameters:
58+
numberOfReplicas: "1"
59+
fromBackup: ""
60+
fsType: "ext4"
61+
dataLocality: "best-effort"
62+
dataEngine: "v1"
63+
---
64+
kind: StorageClass
65+
apiVersion: storage.k8s.io/v1
5166
metadata:
5267
name: longhorn-yolo
5368
provisioner: driver.longhorn.io

‎kubernetes/apps/observability/gatus/app/helmrelease.yaml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ spec:
2828
init-config:
2929
image:
3030
repository: ghcr.io/home-operations/k8s-sidecar
31-
tag: 1.30.11@sha256:d8a53f834b0fe70030df75f3f956d1c5e56fbb067b09803708b2bc26e26cfc12
31+
tag: 2.1.2@sha256:d9e169add4e71fd5931a24e11696853f3d804ebc2022cd81f038e7ef22f4d626
3232
env:
3333
FOLDER: &GATUS_CONFIG /config
3434
LABEL: gatus.io/enabled
@@ -41,7 +41,7 @@ spec:
4141
requests:
4242
cpu: 10m
4343
limits:
44-
memory: 128Mi
44+
memory: 256Mi
4545
containers:
4646
# app:
4747
# image:

0 commit comments

Comments
 (0)