cluster

Infrastructure files for Nordgedanken and Midnightthoughts.
git clone git://archive.git.mtrnord.blog/MTRNord/cluster.git
Log | Files | Refs | README

commit ce232912e0945d787328ada18fd9ebe5e25b453f
parent ad5a83961d9963275d294bc48938258cca943b1f
Author: MTRNord <mtrnord1@gmail.com>
Date:   Thu, 17 Oct 2024 14:01:28 +0200

Did I do this right?

Diffstat:
Mapps/2024_cluster/secrets/backup-repo.yaml | 45+++++++++++++++++++++++++++++++++++++--------
Mapps/base/k8up/release.yaml | 47++++++++++++++++++++++++++++++++++++++++++++++-
2 files changed, 83 insertions(+), 9 deletions(-)

diff --git a/apps/2024_cluster/secrets/backup-repo.yaml b/apps/2024_cluster/secrets/backup-repo.yaml @@ -5,7 +5,7 @@ metadata: namespace: k8up type: Opaque stringData: - password: ENC[AES256_GCM,data:heaxWvpd3cwKclIDkI3qii8DWf8IPKefw3iXVR6WO44+KtcFguYRNiKlVTSfacuUIZH79wJ6Hgq4oMXdaaVkTw==,iv:4D+ln6mt1/4qr3lGtQAS8LNrPWBunCTx8yj1jemuK30=,tag:PHhrV8B2TGCpq4lAeKxoJg==,type:str] + password: ENC[AES256_GCM,data:590ZYDH9B4Z7GaayjAlVEAceKCVRhfyzKQgOT4dQyiurVzlaw+vEs9oBRk/7cg+3fcofag/+35gY5hVhGxi8xA==,iv:gt/EmMP8fWwdWUo6v2BvJaMM3JfJvSnOIFtsc5bh8D4=,tag:a6sjawgPFvGeY6ksAdyL5g==,type:str] sops: kms: [] gcp_kms: [] @@ -15,14 +15,43 @@ sops: - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3ZFNranI1UzNJOGQ1bTlr - VFpocFpBTDFla1pXSzVud2Ivd0pTbTJjeVhRCjZWbzB0VFIxTks3aEhBejd5MjJ2 - aGI3KzJhS3FmSi9yYVhaWDhTRDlUWm8KLS0tIGQ5SHBNblJENUZsQ2tmUnFkMWxM - SXMxZ1d2STY2V0s1b0FxOExlNy9RYlUKzsXQhUeVtZyabr4aGXZBVi7QdbG5aHLo - XZE64tpTXJIl6H3iqZ3Bz0QBm/wripFCiZ/zPdt5p/cv5y31GV1MhQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4VDd0dWg5TDYzaEZIWkUv + RGdVdkpSb1ZFOVVrRlY3a1dlaEpNUTg1TVNJCjhrTXBUcTFwNmdZRlVtMXkrUmxa + NkhRNHBIeTFqME9vSERHdTEzZUR5ZEUKLS0tIDk0OStIWFpMUG50THVyS0d3WGht + QzBkVzVGaGNPbkxEbnJpempaczB6VE0KaCwS/BGvVGKMwWM2TpzGvj/ruAqZUsCH + lKN4gorqqPb9mmuA6N5J8wPFvcTAklliJ/z2hJHYlrQ9igJ2bDjELA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-10-17T10:35:45Z" - mac: ENC[AES256_GCM,data:de1PoJqU/ShGTsMXAZz64Ltn0m+XLieTPpoOw6x/Uy8hcxiTM06hmUQHu7lF9sHhL7HvV4D8/rPgaZFiJMSRDzVV8PQUZmqihcD3WoNsw6gnPO2x5chuczLYCjNPFxT+67ttEOEwwetGc2BBZZXzDFhjxobbH8mbUn0t2Dvg9CQ=,iv:hMXwEJ9jn8ysSRSjjkvTPPBEqmN5MkWbNE5I3kxTXJI=,tag:pp839r/R1fbX1DYODa7z4Q==,type:str] + lastmodified: "2024-10-17T12:01:16Z" + mac: ENC[AES256_GCM,data:dZr8FK+gnMh9pzSfuAlrcDy83EUb6J22asZV8+4Ldu1jqcPlqObRtGRHNAZ6EVaVXKliPqfr4d76xKp9eBLIDN0xLWv9RKfTFVuv44F/jL41en0dDadLwibrVMUHslFcajC+9i537eS9j5Ff9O1+spHWkKDoTqxyAZobtO9L5uE=,iv:0vhxTSZ33PmItx9M/bNQ91sb2OYO/RQ0JIL/D1le+Sw=,tag:NvKEIM9ORVH24hAkyM2G5g==,type:str] + pgp: [] + encrypted_regex: ^(routing_key|DATABASE_URL|SMTP_PASSWORD|SECRET_KEY_BASE|admin_password|extraCommands|key|clickhouseDatabaseURL|databaseURL|client_id|client_secret|secret_key_base|otp_secret|private_key|public_key|primaryKey|deterministicKey|keyDerivationSalt|token|clientId|secretKey|installationId|installationKey|uriOverride|adminToken.value|password.value|sql_password|erlangCookie|AUTHENTICATION_PASSWORD|ROOM_API_SECRET_KEY|adminPassword|configPassword|adminUser|configUser|MAIL_PASSWORD|APP_KEY|api_key|api_secret|keys|livekit_key|livekit_secret|secret_key|admin_pass|admin_email|mariadbPassword|mariadbRootPassword|privateKey|data|stringData|PASSWD|password|pass|postgresPassword|postgresqlPassword|redminePassword|smtpPassword|registration_shared_secret|shared_secret|secret|admin_token|integrationKey|rootPassword)$ + version: 3.8.1 +--- +apiVersion: v1 +kind: Secret +metadata: + name: backup-repo-pg + namespace: postgres-cluster +type: Opaque +stringData: + password: ENC[AES256_GCM,data:glJIAQR5W7TqxGF3NqYLRKHH8/8TDt7VEdp3SwPlD/1ytlEWYClhQjvCpDQ/ajro4rtZavIH2SYpJjeCRfVraA==,iv:9ZZVPro2PFiqvoInzeBAkyROzXaVAz7t7trqR0qUiUM=,tag:OLGH3Ml2N2HTfnEu++x5Rw==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4VDd0dWg5TDYzaEZIWkUv + RGdVdkpSb1ZFOVVrRlY3a1dlaEpNUTg1TVNJCjhrTXBUcTFwNmdZRlVtMXkrUmxa + NkhRNHBIeTFqME9vSERHdTEzZUR5ZEUKLS0tIDk0OStIWFpMUG50THVyS0d3WGht + QzBkVzVGaGNPbkxEbnJpempaczB6VE0KaCwS/BGvVGKMwWM2TpzGvj/ruAqZUsCH + lKN4gorqqPb9mmuA6N5J8wPFvcTAklliJ/z2hJHYlrQ9igJ2bDjELA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2024-10-17T12:01:16Z" + mac: ENC[AES256_GCM,data:dZr8FK+gnMh9pzSfuAlrcDy83EUb6J22asZV8+4Ldu1jqcPlqObRtGRHNAZ6EVaVXKliPqfr4d76xKp9eBLIDN0xLWv9RKfTFVuv44F/jL41en0dDadLwibrVMUHslFcajC+9i537eS9j5Ff9O1+spHWkKDoTqxyAZobtO9L5uE=,iv:0vhxTSZ33PmItx9M/bNQ91sb2OYO/RQ0JIL/D1le+Sw=,tag:NvKEIM9ORVH24hAkyM2G5g==,type:str] pgp: [] encrypted_regex: ^(routing_key|DATABASE_URL|SMTP_PASSWORD|SECRET_KEY_BASE|admin_password|extraCommands|key|clickhouseDatabaseURL|databaseURL|client_id|client_secret|secret_key_base|otp_secret|private_key|public_key|primaryKey|deterministicKey|keyDerivationSalt|token|clientId|secretKey|installationId|installationKey|uriOverride|adminToken.value|password.value|sql_password|erlangCookie|AUTHENTICATION_PASSWORD|ROOM_API_SECRET_KEY|adminPassword|configPassword|adminUser|configUser|MAIL_PASSWORD|APP_KEY|api_key|api_secret|keys|livekit_key|livekit_secret|secret_key|admin_pass|admin_email|mariadbPassword|mariadbRootPassword|privateKey|data|stringData|PASSWD|password|pass|postgresPassword|postgresqlPassword|redminePassword|smtpPassword|registration_shared_secret|shared_secret|secret|admin_token|integrationKey|rootPassword)$ version: 3.8.1 diff --git a/apps/base/k8up/release.yaml b/apps/base/k8up/release.yaml @@ -53,7 +53,52 @@ spec: name: backup-repo key: password local: - mountPath: /mnt/storagebox/backups/k8s_2024 + mountPath: /mnt/storagebox/backups/k8s_2024/k8up + volumeMounts: + - name: storagebox-vol + mountPath: /mnt/storagebox + backup: + schedule: '@daily-random' + failedJobsHistoryLimit: 2 + successfulJobsHistoryLimit: 2 + resources: + requests: + memory: "64Mi" + cpu: "250m" + limits: {} + volumes: + - name: storagebox-vol + persistentVolumeClaim: + claimName: storagebox-pvc + prune: + schedule: '@daily-random' + retention: + keepDaily: 7 + keepWeekly: 4 + keepMonthly: 3 + keepYearly: 1 + volumes: + - name: storagebox-vol + persistentVolumeClaim: + claimName: storagebox-pvc +--- +apiVersion: k8up.io/v1 +kind: Schedule +metadata: + name: backup-storagebox-schedule + namespace: postgres-cluster +spec: + resourceRequirementsTemplate: + requests: + memory: "64Mi" + cpu: "250m" + limits: {} + backend: + repoPasswordSecretRef: + name: backup-repo-pg + key: password + local: + mountPath: /mnt/storagebox/backups/k8s_2024/postgres-cluster volumeMounts: - name: storagebox-vol mountPath: /mnt/storagebox