From 52b1649c3e4197516c8e7c7e4931a4944a0fa29e Mon Sep 17 00:00:00 2001 From: Alexandre Pires Date: Sat, 15 Mar 2025 22:51:05 +0100 Subject: [PATCH] Refactor DNS records and local variables; replace data source with local values for Contabo instance and add IMAP/SMTP CNAME records --- terraform/iac/alexpires.me.tf | 67 ++++++++++------------------------- terraform/iac/config.tf | 2 +- terraform/iac/contabo.tf | 15 ++++++-- terraform/iac/provider.tf | 21 +++++------ terraform/iac/variables.tf | 38 ++++++++++---------- 5 files changed, 63 insertions(+), 80 deletions(-) diff --git a/terraform/iac/alexpires.me.tf b/terraform/iac/alexpires.me.tf index 5b67ed2..d479366 100644 --- a/terraform/iac/alexpires.me.tf +++ b/terraform/iac/alexpires.me.tf @@ -1,8 +1,8 @@ resource "cloudns_dns_record" "alexpires_me_microk8s" { - name = data.contabo_instance.microk8s.name + name = local.contabo_instance.name zone = local.alexpires_me_zone type = "A" - value = data.contabo_instance.microk8s.ip_config[0].v4[0].ip + value = local.contabo_instance.ip ttl = "3600" } @@ -62,11 +62,27 @@ resource "cloudns_dns_record" "alexpires_me_prod_01" { ttl = "3600" } +resource "cloudns_dns_record" "alexpires_me_imaps" { + name = "imap" + zone = local.alexpires_me_zone + type = "CNAME" + value = "${cloudns_dns_record.alexpires_me_microk8s.name}.${local.alexpires_me_zone}" + ttl = "3600" +} + +resource "cloudns_dns_record" "alexpires_me_smtps" { + name = "smtp" + zone = local.alexpires_me_zone + type = "CNAME" + value = "${cloudns_dns_record.alexpires_me_microk8s.name}.${local.alexpires_me_zone}" + ttl = "3600" +} + resource "cloudns_dns_record" "alexpires_me_root" { name = "" zone = local.alexpires_me_zone type = "A" - value = data.contabo_instance.microk8s.ip_config[0].v4[0].ip + value = local.contabo_instance.ip ttl = "3600" } @@ -110,48 +126,3 @@ resource "cloudns_dns_record" "alexpires_me_mail" { value = "mail-pt.securemail.pro" ttl = "3600" } - -moved { - from = cloudns_dns_record.microk8s - to = cloudns_dns_record.alexpires_me_microk8s -} -moved { - from = cloudns_dns_record.code - to = cloudns_dns_record.alexpires_me_code -} -moved { - from = cloudns_dns_record.cloud - to = cloudns_dns_record.alexpires_me_cloud -} -moved { - from = cloudns_dns_record.tv - to = cloudns_dns_record.alexpires_me_tv -} -moved { - from = cloudns_dns_record.blog - to = cloudns_dns_record.alexpires_me_blog -} -moved { - from = cloudns_dns_record.www - to = cloudns_dns_record.alexpires_me_www -} -moved { - from = cloudns_dns_record.prod_01 - to = cloudns_dns_record.alexpires_me_prod_01 -} -moved { - from = cloudns_dns_record.root - to = cloudns_dns_record.alexpires_me_root -} -moved { - from = cloudns_dns_record.spf - to = cloudns_dns_record.alexpires_me_spf -} -moved { - from = cloudns_dns_record.dkim - to = cloudns_dns_record.alexpires_me_dkim -} -moved { - from = cloudns_dns_record.dmarc - to = cloudns_dns_record.alexpires_me_dmarc -} diff --git a/terraform/iac/config.tf b/terraform/iac/config.tf index 6004e9f..1415903 100644 --- a/terraform/iac/config.tf +++ b/terraform/iac/config.tf @@ -1,6 +1,6 @@ locals { instance_ips = [ - "${data.contabo_instance.microk8s.ip_config[0].v4[0].ip}/32", + "${local.contabo_instance.ip}/32", ] alexpires_me_zone = "alexpires.me" } diff --git a/terraform/iac/contabo.tf b/terraform/iac/contabo.tf index a284a36..62a9c1f 100644 --- a/terraform/iac/contabo.tf +++ b/terraform/iac/contabo.tf @@ -1,3 +1,14 @@ -data "contabo_instance" "microk8s" { - id = "201912751" +# Contabo is down for now, so we can't use it for now +# data "contabo_instance" "microk8s" { +# id = "201912751" +# } + +locals { + contabo_instance = { + id = "201912751" + name = "vmi1912751" # data.contabo_instance.microk8s.name + hostname = "microk8s" + ip = "147.78.131.194" # data.contabo_instance.microk8s.ip_config[0].v4[0].ip + } } + diff --git a/terraform/iac/provider.tf b/terraform/iac/provider.tf index 49bcaa9..a6a42ff 100644 --- a/terraform/iac/provider.tf +++ b/terraform/iac/provider.tf @@ -6,10 +6,11 @@ terraform { source = "scaleway/scaleway" version = "~>2.13" } - contabo = { - source = "contabo/contabo" - version = "0.1.26" - } + # Contabo provider is not working for now, so we can't use it + # contabo = { + # source = "contabo/contabo" + # version = "0.1.26" + # } cloudns = { source = "ClouDNS/cloudns" version = "~>1.0" @@ -32,9 +33,9 @@ provider "scaleway" { # Configure your Contabo API credentials -provider "contabo" { - oauth2_client_id = var.contabo_client_id - oauth2_client_secret = var.contabo_client_secret - oauth2_user = var.contabo_api_user - oauth2_pass = var.contabo_api_password -} +# provider "contabo" { +# oauth2_client_id = var.contabo_client_id +# oauth2_client_secret = var.contabo_client_secret +# oauth2_user = var.contabo_api_user +# oauth2_pass = var.contabo_api_password +# } diff --git a/terraform/iac/variables.tf b/terraform/iac/variables.tf index 22fc9f1..b6ad605 100644 --- a/terraform/iac/variables.tf +++ b/terraform/iac/variables.tf @@ -28,28 +28,28 @@ variable "scaleway_user_id" { sensitive = true } -variable "contabo_client_id" { - description = "Contabo Client ID" - type = string - sensitive = true -} +# variable "contabo_client_id" { +# description = "Contabo Client ID" +# type = string +# sensitive = true +# } -variable "contabo_client_secret" { - description = "Contabo Client Secret" - type = string - sensitive = true -} +# variable "contabo_client_secret" { +# description = "Contabo Client Secret" +# type = string +# sensitive = true +# } -variable "contabo_api_password" { - description = "Contabo API Password" - type = string - sensitive = true -} +# variable "contabo_api_password" { +# description = "Contabo API Password" +# type = string +# sensitive = true +# } -variable "contabo_api_user" { - description = "Contabo API User" - type = string -} +# variable "contabo_api_user" { +# description = "Contabo API User" +# type = string +# } variable "encryption_key" { description = "Encryption key for sensitive data"