826959c903
- Introduced Nextcloud module with Kubernetes resources including deployment, service, ingress, and cron job. - Configured Apache settings for Nextcloud with SSL support and compression. - Created secrets for mail and admin credentials. - Added necessary environment variables for Nextcloud configuration. - Removed unused Scaleway access and secret keys from secrets and variables. - Updated CoreDNS module to support custom host overrides. - Implemented backup bucket policies and lifecycle rules for Scaleway object storage. - Enhanced IAM policies and applications for backup and email services. - Added outputs for backup bucket and API keys.
73 lines
2.0 KiB
Terraform
73 lines
2.0 KiB
Terraform
resource "scaleway_iam_application" "backup_app" {
|
|
name = "k8s_backup_app"
|
|
}
|
|
|
|
resource "scaleway_iam_policy" "object_read_write_backup" {
|
|
name = "K8s backup app policy"
|
|
description = "Gives k8s backup job access to object storage in project"
|
|
application_id = scaleway_iam_application.backup_app.id
|
|
|
|
rule {
|
|
project_ids = [data.scaleway_account_project.default.id]
|
|
permission_set_names = [
|
|
"ObjectStorageObjectsWrite",
|
|
"ObjectStorageObjectsRead",
|
|
"ObjectStorageObjectsDelete",
|
|
"ObjectStorageBucketsRead"
|
|
]
|
|
}
|
|
}
|
|
|
|
resource "scaleway_iam_application" "mail_app" {
|
|
name = "mail_app"
|
|
}
|
|
|
|
resource "scaleway_iam_policy" "email_full_access" {
|
|
name = "Email full access policy"
|
|
description = "Gives access to transactional email in project"
|
|
application_id = scaleway_iam_application.mail_app.id
|
|
|
|
rule {
|
|
project_ids = [data.scaleway_account_project.default.id]
|
|
permission_set_names = [
|
|
"TransactionalEmailFullAccess",
|
|
]
|
|
}
|
|
}
|
|
|
|
resource "scaleway_iam_application" "sftpgo_app" {
|
|
name = "sftpgo_app"
|
|
}
|
|
|
|
resource "scaleway_iam_policy" "object_read_write_sftpgo" {
|
|
name = "SFtpGo app policy"
|
|
description = "Gives sftpgo job access to object storage in project"
|
|
application_id = scaleway_iam_application.sftpgo_app.id
|
|
|
|
rule {
|
|
project_ids = [data.scaleway_account_project.default.id]
|
|
permission_set_names = [
|
|
"ObjectStorageObjectsWrite",
|
|
"ObjectStorageObjectsRead",
|
|
"ObjectStorageBucketsRead",
|
|
"ObjectStorageBucketsWrite",
|
|
"ObjectStorageObjectsDelete"
|
|
]
|
|
}
|
|
}
|
|
|
|
resource "scaleway_iam_api_key" "backup_app_api" {
|
|
application_id = scaleway_iam_application.backup_app.id
|
|
description = "k8s backup app API key"
|
|
}
|
|
|
|
resource "scaleway_iam_api_key" "mail_app_api" {
|
|
application_id = scaleway_iam_application.mail_app.id
|
|
description = "mail access API key"
|
|
}
|
|
|
|
resource "scaleway_iam_api_key" "sftpgo_app_api" {
|
|
application_id = scaleway_iam_application.sftpgo_app.id
|
|
description = "sftpgo access API key"
|
|
}
|