Add mail backup module and cron schedule; refactor mail paths and deployment strategy
This commit is contained in:
@@ -89,6 +89,7 @@ locals {
|
||||
}
|
||||
]
|
||||
])
|
||||
mail_files_backup_cron_schedule = "0 3 * * *"
|
||||
|
||||
# storage
|
||||
persistent_folder = "/mnt/microk8s_persistent"
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -50,6 +50,10 @@ resource "kubernetes_deployment" "rustdesk_deploy" {
|
||||
}
|
||||
}
|
||||
|
||||
strategy {
|
||||
type = "Recreate"
|
||||
}
|
||||
|
||||
template {
|
||||
metadata {
|
||||
labels = {
|
||||
|
||||
Reference in New Issue
Block a user