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:
2025-06-09 23:49:43 +02:00
parent cac269f160
commit 826959c903
41 changed files with 1186 additions and 219 deletions
+2
View File
@@ -2,6 +2,8 @@
locals {
configfile = templatefile("${path.module}/resources/Corefile.tpl", {
zones = var.zones
override_hosts = length(var.override_hosts) > 0
hosts = var.override_hosts
forward_dns_servers = join(" ", var.forward_dns_servers)
})
configfile_checksum = md5(local.configfile)
@@ -1,4 +1,12 @@
.:53 {
%{ if override_hosts ~}
hosts {
%{ for h in hosts ~}
${h.ip} ${h.name}
%{ endfor ~}
fallthrough
}
%{ endif ~}
errors
health {
lameduck 5s
@@ -10,6 +10,15 @@ variable "forward_dns_servers" {
default = ["8.8.8.8", "8.8.4.4"]
}
variable "override_hosts" {
description = "Override hosts"
type = list(object({
ip = string
name = string
}))
default = []
}
variable "zones" {
description = "Zones to be managed by coredns"
type = list(object({