cluster

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

commit 3c2fc9a103171fa80b5381e114cf1ec1a7aee234
parent 40239e9382976ebe5457e7151acf61a739e16d05
Author: MTRNord <mtrnord1@gmail.com>
Date:   Fri, 18 Oct 2024 13:08:11 +0200

Meow

Diffstat:
Mapps/2024_cluster/secrets/backup-repo.yaml | 32++++++++++++++++----------------
Mapps/base/k8up/release.yaml | 45+++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 61 insertions(+), 16 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:590ZYDH9B4Z7GaayjAlVEAceKCVRhfyzKQgOT4dQyiurVzlaw+vEs9oBRk/7cg+3fcofag/+35gY5hVhGxi8xA==,iv:gt/EmMP8fWwdWUo6v2BvJaMM3JfJvSnOIFtsc5bh8D4=,tag:a6sjawgPFvGeY6ksAdyL5g==,type:str] + password: ENC[AES256_GCM,data:SiVUvXmqOjr5hPyF+5gqWI1m/u6JI/hYxcYwoC9BYy9yowZi9hL1Fdzecf8XO89CKYqvuPKjQwe3jiNu6Emn6w==,iv:x1JNBBY6U18B+fi95dIfSH5dblJE2OXjnnr7IhNc6oY=,tag:ZiDQ9DmsSN6TPa3hdSLwTg==,type:str] sops: kms: [] gcp_kms: [] @@ -15,14 +15,14 @@ sops: - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4VDd0dWg5TDYzaEZIWkUv - RGdVdkpSb1ZFOVVrRlY3a1dlaEpNUTg1TVNJCjhrTXBUcTFwNmdZRlVtMXkrUmxa - NkhRNHBIeTFqME9vSERHdTEzZUR5ZEUKLS0tIDk0OStIWFpMUG50THVyS0d3WGht - QzBkVzVGaGNPbkxEbnJpempaczB6VE0KaCwS/BGvVGKMwWM2TpzGvj/ruAqZUsCH - lKN4gorqqPb9mmuA6N5J8wPFvcTAklliJ/z2hJHYlrQ9igJ2bDjELA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTcjRpZXFMcGRzTElBV2lk + L2ZUMXFHWEhFbG1lekdoMTVnMTJsQTl0YTBzCnk4NlhteUdLTVd2czJFU25aQU1s + alVMZ3oycHI0TGxSa0NkWk9XZUR3UmsKLS0tIDdYRmJHci9nMk1QV3hRemdlT2lk + L1UwSERpekNXdFdaM1VaNFdoeUJEcWcKamsbo93m9gucDpgpnQFwVGOgNXS8z/Ag + /vdLNwziFavWxEEh5D5SOg5g9U9iLf9NYbFoEfDuoc4WgtENOOQDIQ== -----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] + lastmodified: "2024-10-18T11:07:50Z" + mac: ENC[AES256_GCM,data:Y5Bwqqid9rGOc9RIOr7xfpAbOakQSafIoPf03Spu/+XX1af3iTZ220h+OUyNWFAJlu7iXc7KMSZifrqhqyqbEH5V1MzT74T1r/SZKzj0Alja93ZC04pqSVW8N/mcI2DG+phnPGxn4fBLNnnI5v8kPA+z+h5gLYgFR049HhLjs6U=,iv:vizeCtJ/0wTQFRGisgONh++vhlX6FAvT2Yu5VxdKAS0=,tag:kwgtzgqWrjMUQ3YW4XzTWA==,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 @@ -34,7 +34,7 @@ metadata: namespace: postgres-cluster type: Opaque stringData: - password: ENC[AES256_GCM,data:glJIAQR5W7TqxGF3NqYLRKHH8/8TDt7VEdp3SwPlD/1ytlEWYClhQjvCpDQ/ajro4rtZavIH2SYpJjeCRfVraA==,iv:9ZZVPro2PFiqvoInzeBAkyROzXaVAz7t7trqR0qUiUM=,tag:OLGH3Ml2N2HTfnEu++x5Rw==,type:str] + password: ENC[AES256_GCM,data:5zIlHSo8autIa+lnzD8dzkBFW6RhLgZjom+PS+48P9zH6vkQqCAuexzhymViXSss6KHGjfYJWWHlOHaeFFs+PQ==,iv:nYnsyX8C3s7kOvbq1n+fz61EgnR9/I66ah3reEiJ0YQ=,tag:epFtXB4AtshXRj6G1KsVoQ==,type:str] sops: kms: [] gcp_kms: [] @@ -44,14 +44,14 @@ sops: - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4VDd0dWg5TDYzaEZIWkUv - RGdVdkpSb1ZFOVVrRlY3a1dlaEpNUTg1TVNJCjhrTXBUcTFwNmdZRlVtMXkrUmxa - NkhRNHBIeTFqME9vSERHdTEzZUR5ZEUKLS0tIDk0OStIWFpMUG50THVyS0d3WGht - QzBkVzVGaGNPbkxEbnJpempaczB6VE0KaCwS/BGvVGKMwWM2TpzGvj/ruAqZUsCH - lKN4gorqqPb9mmuA6N5J8wPFvcTAklliJ/z2hJHYlrQ9igJ2bDjELA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTcjRpZXFMcGRzTElBV2lk + L2ZUMXFHWEhFbG1lekdoMTVnMTJsQTl0YTBzCnk4NlhteUdLTVd2czJFU25aQU1s + alVMZ3oycHI0TGxSa0NkWk9XZUR3UmsKLS0tIDdYRmJHci9nMk1QV3hRemdlT2lk + L1UwSERpekNXdFdaM1VaNFdoeUJEcWcKamsbo93m9gucDpgpnQFwVGOgNXS8z/Ag + /vdLNwziFavWxEEh5D5SOg5g9U9iLf9NYbFoEfDuoc4WgtENOOQDIQ== -----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] + lastmodified: "2024-10-18T11:07:50Z" + mac: ENC[AES256_GCM,data:Y5Bwqqid9rGOc9RIOr7xfpAbOakQSafIoPf03Spu/+XX1af3iTZ220h+OUyNWFAJlu7iXc7KMSZifrqhqyqbEH5V1MzT74T1r/SZKzj0Alja93ZC04pqSVW8N/mcI2DG+phnPGxn4fBLNnnI5v8kPA+z+h5gLYgFR049HhLjs6U=,iv:vizeCtJ/0wTQFRGisgONh++vhlX6FAvT2Yu5VxdKAS0=,tag:kwgtzgqWrjMUQ3YW4XzTWA==,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 @@ -81,3 +81,48 @@ spec: - name: storagebox-vol persistentVolumeClaim: claimName: storagebox-pvc +--- +apiVersion: k8up.io/v1 +kind: Schedule +metadata: + name: backup-storagebox-schedule-pg + namespace: postgres-cluster +spec: + resourceRequirementsTemplate: + requests: + memory: "64Mi" + cpu: "250m" + limits: {} + backend: + repoPasswordSecretRef: + name: backup-repo + key: password + local: + mountPath: /mnt/storagebox/backups/k8s_2024/postgres-cluster + 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