Adding storage modules
This commit is contained in:
42
backup/backup.tf
Normal file
42
backup/backup.tf
Normal file
@@ -0,0 +1,42 @@
|
||||
locals {
|
||||
app_slug = (var.component == var.instance || var.component=="") ? var.instance : format("%s-%s", var.component, var.instance)
|
||||
}
|
||||
|
||||
resource "kubectl_manifest" "backup_schedule" {
|
||||
count = var.backups.enable ? 1 : 0
|
||||
yaml_body = <<-EOF
|
||||
apiVersion: k8up.io/v1
|
||||
kind: Schedule
|
||||
metadata:
|
||||
name: "${var.app_slug}-backup"
|
||||
namespace: "${var.namespace}"
|
||||
labels: ${jsonencode(local.labels)}
|
||||
spec:
|
||||
backend:
|
||||
repoPasswordSecretRef:
|
||||
key: "${var.backups.restic_key}"
|
||||
name: "${var.backups.secret_name}"
|
||||
s3:
|
||||
accessKeyIDSecretRef:
|
||||
key: "${var.backups.key_id_key}"
|
||||
name: "${var.backups.secret_name}"
|
||||
bucket: "${var.app_slug}-${var.namespace}"
|
||||
endpoint: "${var.backups.endpoint}/restic"
|
||||
secretAccessKeySecretRef:
|
||||
key: "${var.backups.secret_key}"
|
||||
name: "${var.backups.secret-name}"
|
||||
backup:
|
||||
schedule: "${var.backups.schedule.backup}"
|
||||
failedJobsHistoryLimit: 2
|
||||
successfulJobsHistoryLimit: 2
|
||||
check:
|
||||
schedule: "${var.backups.schedule.check}"
|
||||
prune:
|
||||
retention:
|
||||
keepDaily: ${var.backups.retention.keepDaily}
|
||||
keepMonthly: ${var.backups.retention.keepMonthly}
|
||||
keepWeekly: ${var.backups.retention.keepWeekly}
|
||||
keepYearly: ${var.backups.retention.keepYearly}
|
||||
schedule: "${var.backups.schedule.prune}"
|
||||
EOF
|
||||
}
|
||||
Reference in New Issue
Block a user