Add mail backup module and cron schedule; refactor mail paths and deployment strategy

This commit is contained in:
2025-03-15 23:14:47 +01:00
parent 5fbd28e69c
commit 380bdf7e2a
3 changed files with 32 additions and 3 deletions
+27 -3
View File
@@ -1,7 +1,8 @@
locals {
mail_home = "${local.persistent_folder}/mail"
mailboxes_path = "${local.mail_home}/mailboxes"
getmail_path = "${local.mail_home}/getmail"
mail_path = "${local.persistent_folder}/mail"
mailboxes_path = "${local.mail_path}/mailboxes"
getmail_path = "${local.mail_path}/getmail"
mail_backup_path = "${local.persistent_folder}/backup.mail"
}
resource "kubernetes_namespace" "mail" {
@@ -101,6 +102,26 @@ resource "kubernetes_manifest" "mail_certificate" {
}
}
module "mail_backup" {
source = "./modules/scw_backup_job"
namespace = kubernetes_namespace.mail.metadata[0].name
app_name = "mail"
scaleway_organization_id = var.scaleway_organization_id
scaleway_project_id = var.scaleway_organization_id
access_key = scaleway_iam_api_key.backup_app_api.access_key
secret_key = scaleway_iam_api_key.backup_app_api.secret_key
bucket_name = scaleway_object_bucket.backup.name
retention_days = local.local_backup_retention_days
cron_schedule = local.mail_files_backup_cron_schedule
source_folder = local.mail_path
target_folder = local.mail_backup_path
}
resource "kubernetes_cron_job_v1" "fetch_emails" {
metadata {
namespace = kubernetes_namespace.mail.metadata[0].name
@@ -188,6 +209,9 @@ resource "kubernetes_deployment" "mail" {
app = "mail"
}
}
strategy {
type = "Recreate"
}
template {
metadata {
labels = {