diff --git a/.terraform.lock.hcl b/.terraform.lock.hcl index 50164f0..78fd75d 100644 --- a/.terraform.lock.hcl +++ b/.terraform.lock.hcl @@ -15,40 +15,45 @@ provider "registry.opentofu.org/backblaze/b2" { } provider "registry.opentofu.org/cloudflare/cloudflare" { - version = "5.6.0" - constraints = ">= 5.0.0, >= 5.6.0, < 6.0.0" + version = "5.0.0-rc1" + constraints = "5.0.0-rc1" hashes = [ - "h1:keTtTzm6LBd67ljVIRiWIcbnskw/dqMg30MufE6gW7s=", - "zh:0f7ad515a0ac56de9ee00f24aadc64773bc9d186c7673672f7c1fd1971e7cc73", - "zh:1c7288a4d654860b81ff0d5366f7e7037c144cbd3d8f34d4ba4efd444c01085d", - "zh:304ba493a57cf1587f9878999144ee3ff65393ae577ea0304f94cb11e81d2a64", - "zh:605509ada3e19777cdd2d4c4e1f99e4b43d8c9e661083f32341d75dc450390ff", - "zh:753d2e607cc11cf4f08b9f5b161e2050f2f17bf200f2a6ba1224893b1cdcc476", - "zh:b0d557ea5e9a384b844d1d50d9627e61318583004d1a1113dce64c984267a139", - "zh:db8f65cc2ae10f1c3cb9e64e1e89a9222fb81ac6f832e796d0369596f1e74713", - "zh:f8057a7c670e038ec1a0fd4a490ad352cf94ac82db35f0e525d24503ceb511d2", + "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", "zh:f809ab383cca0a5f83072981c64208cbd7fa67e986a86ee02dd2c82333221e32", ] } provider "registry.opentofu.org/opentofu/hcloud" { - version = "1.51.0" - constraints = ">= 1.49.1" + version = "1.49.1" + constraints = "~> 1.49.1" hashes = [ - "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", + "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", ] } diff --git a/buckets.tf b/buckets.tf index adeb6d4..610fb8d 100644 --- a/buckets.tf +++ b/buckets.tf @@ -37,30 +37,6 @@ output "restic_application_key_id" { resource "cloudflare_r2_bucket" "attic" { account_id = var.account_id name = "attic" - location = "WEUR" + location = "weur" storage_class = "Standard" } - -# Bucket for forgejo storage -resource "cloudflare_r2_bucket" "forgejo" { - account_id = var.account_id - name = "forgejo" - 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/db.tf b/db.tf deleted file mode 100644 index b9c5640..0000000 --- a/db.tf +++ /dev/null @@ -1,8 +0,0 @@ -module "db-01" { - source = "./modules/server" - - hostname = "db-01" - dns_zone = "escapeangle.com" - location = "fsn1" -} - diff --git a/hosting.tf b/hosting.tf deleted file mode 100644 index 33ff9dd..0000000 --- a/hosting.tf +++ /dev/null @@ -1,45 +0,0 @@ -# Servers for hosting random stuff - -module "hosting-01" { - source = "./modules/server" - - hostname = "hosting-01" - dns_zone = "escapeangle.com" - location = "fsn1" -} - -resource "cloudflare_dns_record" "headscale-cname" { - zone_id = data.cloudflare_zone.escapeangle.zone_id - - name = "headscale.escapeangle.com" - content = "hosting-01.escapeangle.com" - type = "CNAME" - ttl = "3600" -} - -resource "cloudflare_dns_record" "users-cname" { - zone_id = data.cloudflare_zone.escapeangle.zone_id - - name = "users.escapeangle.com" - content = "hosting-01.escapeangle.com" - type = "CNAME" - ttl = "3600" -} - -resource "cloudflare_dns_record" "auth-cname" { - zone_id = data.cloudflare_zone.escapeangle.zone_id - - name = "auth.escapeangle.com" - content = "hosting-01.escapeangle.com" - type = "CNAME" - ttl = "3600" -} - -resource "cloudflare_dns_record" "git-cname" { - zone_id = data.cloudflare_zone.escapeangle.zone_id - - name = "git.escapeangle.com" - content = "hosting-01.escapeangle.com" - type = "CNAME" - ttl = "3600" -} diff --git a/mailserver.tf b/mailserver.tf deleted file mode 100644 index 458aac2..0000000 --- a/mailserver.tf +++ /dev/null @@ -1,75 +0,0 @@ -resource "hcloud_floating_ip" "mail" { - type = "ipv4" - home_location = "fsn1" -} - -resource "hcloud_rdns" "floating_mail" { - floating_ip_id = hcloud_floating_ip.mail.id - ip_address = hcloud_floating_ip.mail.ip_address - dns_ptr = "mail.escapeangle.com" -} - -data "cloudflare_zone" "escapeangle" { - filter = { - name = "escapeangle.com" - } -} - -resource "cloudflare_dns_record" "mail-a" { - zone_id = data.cloudflare_zone.escapeangle.zone_id - - name = "mail.escapeangle.com" - content = hcloud_floating_ip.mail.ip_address - type = "A" - ttl = "10800" -} - -resource "cloudflare_dns_record" "mail-mx" { - zone_id = data.cloudflare_zone.escapeangle.zone_id - - name = "escapeangle.com" - content = "mail.escapeangle.com" - type = "MX" - priority = 10 - ttl = "10800" -} - -resource "cloudflare_dns_record" "mail-spf" { - zone_id = data.cloudflare_zone.escapeangle.zone_id - - name = "escapeangle.com" - content = "v=spf1 a:mail.escapeangle.com -all" - type = "TXT" - ttl = "10800" -} - -resource "cloudflare_dns_record" "mail-dkim" { - 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" - type = "TXT" - ttl = "10800" -} - -resource "cloudflare_dns_record" "mail-dmarc" { - zone_id = data.cloudflare_zone.escapeangle.zone_id - - name = "_dmarc.escapeangle.com" - content = "v=DMARC1; p=none" - type = "TXT" - ttl = "10800" -} - -module "mailserver" { - source = "./modules/server" - - hostname = "mail-01" - dns_zone = "escapeangle.com" - location = "fsn1" -} - -resource "hcloud_floating_ip_assignment" "mail" { - floating_ip_id = hcloud_floating_ip.mail.id - server_id = module.mailserver.server_id -} diff --git a/modules/server/main.tf b/modules/server/main.tf index 099381f..069d95f 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.zone_id + zone_id = data.cloudflare_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.zone_id + zone_id = data.cloudflare_zone.zone.id name = "${var.hostname}.${var.dns_zone}" content = hcloud_server.server.ipv6_address diff --git a/modules/server/outputs.tf b/modules/server/outputs.tf index 60c13f9..1b979b7 100644 --- a/modules/server/outputs.tf +++ b/modules/server/outputs.tf @@ -5,7 +5,3 @@ output "ipv4_address" { output "ipv6_address" { value = hcloud_server.server.ipv6_address } - -output "server_id" { - value = hcloud_server.server.id -} diff --git a/modules/server/providers.tf b/modules/server/providers.tf index d447008..6c7d02e 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" + version = "5.0.0-rc1" } hcloud = { source = "opentofu/hcloud" - version = ">= 1.49.1" + version = "~> 1.49.1" } } } diff --git a/modules/server/variables.tf b/modules/server/variables.tf index 3c5198b..910d2ba 100644 --- a/modules/server/variables.tf +++ b/modules/server/variables.tf @@ -6,7 +6,7 @@ variable "hostname" { variable "location" { type = string description = "The datacenter location for the server" - default = "fsn1" + default = "nbg1" } variable "type" { diff --git a/providers.tf b/providers.tf index 834fed9..dbdb771 100644 --- a/providers.tf +++ b/providers.tf @@ -20,11 +20,11 @@ terraform { } cloudflare = { source = "cloudflare/cloudflare" - version = ">= 5.6.0" + version = "5.0.0-rc1" } hcloud = { source = "opentofu/hcloud" - version = ">= 1.49.1" + version = "~> 1.49.1" } } } diff --git a/servers.tf b/servers.tf new file mode 100644 index 0000000..139597f --- /dev/null +++ b/servers.tf @@ -0,0 +1,2 @@ + +