Add Nextcloud deployment and configuration
- 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.
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
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"
|
||||
}
|
||||
Reference in New Issue
Block a user