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
|
# storage
|
||||||
persistent_folder = "/mnt/microk8s_persistent"
|
persistent_folder = "/mnt/microk8s_persistent"
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
locals {
|
locals {
|
||||||
mail_home = "${local.persistent_folder}/mail"
|
mail_path = "${local.persistent_folder}/mail"
|
||||||
mailboxes_path = "${local.mail_home}/mailboxes"
|
mailboxes_path = "${local.mail_path}/mailboxes"
|
||||||
getmail_path = "${local.mail_home}/getmail"
|
getmail_path = "${local.mail_path}/getmail"
|
||||||
|
mail_backup_path = "${local.persistent_folder}/backup.mail"
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "kubernetes_namespace" "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" {
|
resource "kubernetes_cron_job_v1" "fetch_emails" {
|
||||||
metadata {
|
metadata {
|
||||||
namespace = kubernetes_namespace.mail.metadata[0].name
|
namespace = kubernetes_namespace.mail.metadata[0].name
|
||||||
@@ -188,6 +209,9 @@ resource "kubernetes_deployment" "mail" {
|
|||||||
app = "mail"
|
app = "mail"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
strategy {
|
||||||
|
type = "Recreate"
|
||||||
|
}
|
||||||
template {
|
template {
|
||||||
metadata {
|
metadata {
|
||||||
labels = {
|
labels = {
|
||||||
|
|||||||
@@ -50,6 +50,10 @@ resource "kubernetes_deployment" "rustdesk_deploy" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
strategy {
|
||||||
|
type = "Recreate"
|
||||||
|
}
|
||||||
|
|
||||||
template {
|
template {
|
||||||
metadata {
|
metadata {
|
||||||
labels = {
|
labels = {
|
||||||
|
|||||||
Reference in New Issue
Block a user