Files
a13labs.infra/terraform/k8sapps/backups.tf
T
alexandre.pires b7408fb4d8 Add Gitea and Mail modules with configuration and resources
- Created Gitea module with outputs, provider, and variables for deployment.
- Implemented Mail module including configuration for Dovecot and Postfix, along with necessary resources such as secrets, config maps, and deployments.
- Added Python script for bcrypt password hashing and integrated it into the Mail module.
- Defined persistent volumes and claims for Seafile module, along with Nginx configuration for serving content.
- Established necessary variables for all modules to ensure flexibility and configurability.
2025-04-27 22:36:18 +02:00

59 lines
2.0 KiB
Terraform

module "mail_backup" {
source = "../modules/scw_backup_job"
namespace = module.mail.namespace
app_name = module.mail.app_name
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 = module.mail.path
target_folder = local.mail_backup_path
}
module "gitea_backup" {
source = "../modules/scw_backup_job"
namespace = module.gitea.namespace
app_name = module.gitea.app_name
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.gitea_files_backup_cron_schedule
source_folder = module.gitea.path
target_folder = local.gitea_backup_path
}
module "nextcloud_backup" {
source = "../modules/scw_backup_job"
namespace = kubernetes_namespace.nextcloud.metadata[0].name
app_name = "nextcloud"
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.nextcloud_files_backup_cron_schedule
source_folder = local.nextcloud_path
target_folder = local.nextcloud_backup_path
}