diff --git a/.terraform.lock.hcl b/.terraform.lock.hcl index 78fd75d..50164f0 100644 --- a/.terraform.lock.hcl +++ b/.terraform.lock.hcl @@ -15,45 +15,40 @@ provider "registry.opentofu.org/backblaze/b2" { } provider "registry.opentofu.org/cloudflare/cloudflare" { - version = "5.0.0-rc1" - constraints = "5.0.0-rc1" + version = "5.6.0" + constraints = ">= 5.0.0, >= 5.6.0, < 6.0.0" hashes = [ - "h1:8m1nyP5iuxZIuv0Qhjnp723GGQVuZ504g7u97u8+j1k=", - "zh:5d44869dba45fd9cdbfa1d688459f7ba073c1565634f9d3f2036bbb4150b4f94", - "zh:6af0df8c55994cdb3463ab93fc0fb6969051bb171146a7ed6c5e57993944941a", - "zh:76e9a830b6d45803e78fc336b41bf63ba9cc79a56ece8954c048c9369f988be9", - "zh:78312c67dfb0971b8ad82ba47ab677f6b231eeab984fc3a51312f72df72794f8", - "zh:8241fc0f8c17b1e113c9698293937da61cfe37cdb1788c423eff11521afb349d", - "zh:8673ecf599a98b30f78b0d205c9306b60d5911c3097209a9a6557a3bdda28a24", - "zh:c3fa906c767bd38ec7cf94d497f493662f1a2554f75081d31808bf1b85c1d327", - "zh:ca832d49043e05e176ebaff309c068912a7522733dc7b4590843756024235c2b", - "zh:d66a4ec8354f903144ad0c88c48beabfa4397317bd3f73adb3f98d6354f585df", - "zh:e3d2437092016f536a17d74ce3163b5db22b9156657c7b3682cebbfcb4cdc0df", - "zh:e7750a7617c3e0acbf762e5704ab9dbdb6d8d2aee51ba779acb335b758e1a39d", - "zh:f0f8abfbbf20b2a40896efe45d1fe6ab5fa355d20dedfcaed6df1ebae9279334", - "zh:f3812cb3673df1aa598170a5558344793ae4f17ee5637e6019fd443d11d5dc1a", + "h1:keTtTzm6LBd67ljVIRiWIcbnskw/dqMg30MufE6gW7s=", + "zh:0f7ad515a0ac56de9ee00f24aadc64773bc9d186c7673672f7c1fd1971e7cc73", + "zh:1c7288a4d654860b81ff0d5366f7e7037c144cbd3d8f34d4ba4efd444c01085d", + "zh:304ba493a57cf1587f9878999144ee3ff65393ae577ea0304f94cb11e81d2a64", + "zh:605509ada3e19777cdd2d4c4e1f99e4b43d8c9e661083f32341d75dc450390ff", + "zh:753d2e607cc11cf4f08b9f5b161e2050f2f17bf200f2a6ba1224893b1cdcc476", + "zh:b0d557ea5e9a384b844d1d50d9627e61318583004d1a1113dce64c984267a139", + "zh:db8f65cc2ae10f1c3cb9e64e1e89a9222fb81ac6f832e796d0369596f1e74713", + "zh:f8057a7c670e038ec1a0fd4a490ad352cf94ac82db35f0e525d24503ceb511d2", "zh:f809ab383cca0a5f83072981c64208cbd7fa67e986a86ee02dd2c82333221e32", ] } provider "registry.opentofu.org/opentofu/hcloud" { - version = "1.49.1" - constraints = "~> 1.49.1" + version = "1.51.0" + constraints = ">= 1.49.1" hashes = [ - "h1:FKGRNHVbcfQJd8EWrb8Ze5QHkaGr8zI+ZKxBMjvOwPk=", - "zh:3d5f9773da4f8203cf625d04a5a0e4ff7e202684c010a801a945756140c61cde", - "zh:446305d492017cda91e5c15122ec16ff15bfe3ef4d3fd6bcea0cdf7742ab1b86", - "zh:44d4f9156ed8b4f0444bd4dc456825940be49048828565964a192286d28c9f20", - "zh:492ad893d2f89bb17c9beb877c8ceb4a16caf39db1a79030fefeada6c7aa217f", - "zh:68dc552c19ad9d209ec6018445df6e06fb77a637513a53cc66ddce1b024082be", - "zh:7492495ffda6f6c49ab38b539bd2eb965b1150a63fb6b191a27dec07d17601cb", - "zh:850fe92005981ea00db86c3e49ba5b49732fdf1f7bd5530a68f6e272847059fc", - "zh:8cb67f744c233acfb1d68a6c27686315439d944edf733b95f113b4aa63d86713", - "zh:8e13dac46e8c2497772ed1baee701b1d1c26bcc95a63b5c4566c83468f504868", - "zh:c44249c6a8ba931e208a334792686b5355ab2da465cadea03c1ea8e73c02db12", - "zh:d103125a28a85c89aea0cb0c534fe3f504416c4d4fc75c37364b9ec5f66dd77d", - "zh:ed8f64e826aa9bfca95b72892271678cb78411b40d7b404a52404141e05a4ab1", - "zh:f40efad816de00b279bd1e2cbf62c76b0e5b2da150a0764f259984b318e30945", - "zh:f5e912d0873bf4ecc43feba4ceccdf158048080c76d557e47f34749139fdd452", + "h1:yER+O3OKYfxBAO7KVYZzH+4EYrmorCO0J0hlnRUfH00=", + "zh:0e8e78084c12866e8e3873011bcac125780b62afeaa518d4749b9a063ae6e32b", + "zh:145738cee21bcdeea1cf82f0d44f7f239c27c2214249e5e5079668c479522a8a", + "zh:164406be8ee83952f58a449d514837cc6d9763b6d29e72262d5582d5d5b89315", + "zh:1a0e6ffab3196b35ca65eb445622615bb8dddd68d0bf350ed60d25e1e74f67dc", + "zh:3b7729d1bb5cc7a5af60b42a607f7b3fec690192b1efb55e2341cee88405ecb0", + "zh:3bcfc5c40d1b7702f39dac5d2dd9eef58c9c934effb4676e26fbe85fe2057e8f", + "zh:3ce193892dca025b804de6d99316c50a33462eb36336006a9db7ea44be439eba", + "zh:4f92437e1eba8eafe4417f8b61d557ed47f121622305ee2b3c13c31e45c69ca4", + "zh:554c308bf64b603a075a8f13a151a136b68ba382c2d83977a0df26de7dea2d3d", + "zh:8c57aa6032fed5da43a0102a4f26262c0496803b99f2f92e5ceb02c80161e291", + "zh:99cd4d246d0ad3a3529176df22a47f254700f8c4fc33f62c14464259284945b7", + "zh:af38a4d1e93f2392a296970ba4ecea341204e888d579cd74642e9f23a94b3b06", + "zh:f0766d42dd97b3eac6fa614fa5809ff2511c9104f3834d0d4b6e84674f13f092", + "zh:f20f7379876ede225f3b6f0719826706a171ea4c1dd438a8a3103dee8fe43ccc", ] } diff --git a/buckets.tf b/buckets.tf index e8eda8a..adeb6d4 100644 --- a/buckets.tf +++ b/buckets.tf @@ -37,7 +37,7 @@ output "restic_application_key_id" { resource "cloudflare_r2_bucket" "attic" { account_id = var.account_id name = "attic" - location = "weur" + location = "WEUR" storage_class = "Standard" } @@ -45,6 +45,22 @@ resource "cloudflare_r2_bucket" "attic" { resource "cloudflare_r2_bucket" "forgejo" { account_id = var.account_id name = "forgejo" - location = "weur" + location = "WEUR" storage_class = "Standard" } + +module "cloudflare_forgejo_token" { + source = "Cyb3r-Jak3/r2-api-token/cloudflare" + version = "5.0.1" + account_id = var.account_id + buckets = [cloudflare_r2_bucket.forgejo.name] +} + +output "forgejo_access_key_id" { + value = module.cloudflare_forgejo_token.id +} + +output "forgejo_secret_access_key" { + value = module.cloudflare_forgejo_token.secret + sensitive = true +} diff --git a/hosting.tf b/hosting.tf index bc528a8..f2557a0 100644 --- a/hosting.tf +++ b/hosting.tf @@ -9,7 +9,7 @@ module "hosting-01" { } resource "cloudflare_dns_record" "headscale-cname" { - zone_id = data.cloudflare_zone.escapeangle.id + zone_id = data.cloudflare_zone.escapeangle.zone_id name = "headscale.escapeangle.com" content = "hosting-01.escapeangle.com" @@ -18,7 +18,7 @@ resource "cloudflare_dns_record" "headscale-cname" { } resource "cloudflare_dns_record" "users-cname" { - zone_id = data.cloudflare_zone.escapeangle.id + zone_id = data.cloudflare_zone.escapeangle.zone_id name = "users.escapeangle.com" content = "hosting-01.escapeangle.com" @@ -27,7 +27,7 @@ resource "cloudflare_dns_record" "users-cname" { } resource "cloudflare_dns_record" "auth-cname" { - zone_id = data.cloudflare_zone.escapeangle.id + zone_id = data.cloudflare_zone.escapeangle.zone_id name = "auth.escapeangle.com" content = "hosting-01.escapeangle.com" diff --git a/mailserver.tf b/mailserver.tf index f453f6e..458aac2 100644 --- a/mailserver.tf +++ b/mailserver.tf @@ -16,7 +16,7 @@ data "cloudflare_zone" "escapeangle" { } resource "cloudflare_dns_record" "mail-a" { - zone_id = data.cloudflare_zone.escapeangle.id + zone_id = data.cloudflare_zone.escapeangle.zone_id name = "mail.escapeangle.com" content = hcloud_floating_ip.mail.ip_address @@ -25,7 +25,7 @@ resource "cloudflare_dns_record" "mail-a" { } resource "cloudflare_dns_record" "mail-mx" { - zone_id = data.cloudflare_zone.escapeangle.id + zone_id = data.cloudflare_zone.escapeangle.zone_id name = "escapeangle.com" content = "mail.escapeangle.com" @@ -35,7 +35,7 @@ resource "cloudflare_dns_record" "mail-mx" { } resource "cloudflare_dns_record" "mail-spf" { - zone_id = data.cloudflare_zone.escapeangle.id + zone_id = data.cloudflare_zone.escapeangle.zone_id name = "escapeangle.com" content = "v=spf1 a:mail.escapeangle.com -all" @@ -44,7 +44,7 @@ resource "cloudflare_dns_record" "mail-spf" { } resource "cloudflare_dns_record" "mail-dkim" { - zone_id = data.cloudflare_zone.escapeangle.id + zone_id = data.cloudflare_zone.escapeangle.zone_id name = "mail._domainkey.escapeangle.com" content = "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJEouqeGAu4u4+UJY6NfdiwIoRghb4nJksa3CEZKGgy5CHJrjZ68urRzeKJPkGau8bK/yW9vte4VJ4IlIStdmkwSNqwdnBB/klTW1WZijhpKgN7rTioitQz2B2gJzOt7m1fbt9+BCLiPCmz8V3HNm36DHr+N7a69py7K8YlzZnPQIDAQAB" @@ -53,7 +53,7 @@ resource "cloudflare_dns_record" "mail-dkim" { } resource "cloudflare_dns_record" "mail-dmarc" { - zone_id = data.cloudflare_zone.escapeangle.id + zone_id = data.cloudflare_zone.escapeangle.zone_id name = "_dmarc.escapeangle.com" content = "v=DMARC1; p=none" diff --git a/modules/server/main.tf b/modules/server/main.tf index 069d95f..099381f 100644 --- a/modules/server/main.tf +++ b/modules/server/main.tf @@ -19,7 +19,7 @@ data "cloudflare_zone" "zone" { } resource "cloudflare_dns_record" "a" { - zone_id = data.cloudflare_zone.zone.id + zone_id = data.cloudflare_zone.zone.zone_id name = "${var.hostname}.${var.dns_zone}" content = hcloud_server.server.ipv4_address @@ -28,7 +28,7 @@ resource "cloudflare_dns_record" "a" { } resource "cloudflare_dns_record" "aaaa" { - zone_id = data.cloudflare_zone.zone.id + zone_id = data.cloudflare_zone.zone.zone_id name = "${var.hostname}.${var.dns_zone}" content = hcloud_server.server.ipv6_address diff --git a/modules/server/providers.tf b/modules/server/providers.tf index 6c7d02e..d447008 100644 --- a/modules/server/providers.tf +++ b/modules/server/providers.tf @@ -2,11 +2,11 @@ terraform { required_providers { cloudflare = { source = "cloudflare/cloudflare" - version = "5.0.0-rc1" + version = ">= 5.0.0" } hcloud = { source = "opentofu/hcloud" - version = "~> 1.49.1" + version = ">= 1.49.1" } } } diff --git a/providers.tf b/providers.tf index dbdb771..834fed9 100644 --- a/providers.tf +++ b/providers.tf @@ -20,11 +20,11 @@ terraform { } cloudflare = { source = "cloudflare/cloudflare" - version = "5.0.0-rc1" + version = ">= 5.6.0" } hcloud = { source = "opentofu/hcloud" - version = "~> 1.49.1" + version = ">= 1.49.1" } } }