Refactor DNS records and local variables; replace data source with local values for Contabo instance and add IMAP/SMTP CNAME records

This commit is contained in:
2025-03-15 22:51:05 +01:00
parent afe0a1010d
commit 52b1649c3e
5 changed files with 63 additions and 80 deletions
+19 -48
View File
@@ -1,8 +1,8 @@
resource "cloudns_dns_record" "alexpires_me_microk8s" { resource "cloudns_dns_record" "alexpires_me_microk8s" {
name = data.contabo_instance.microk8s.name name = local.contabo_instance.name
zone = local.alexpires_me_zone zone = local.alexpires_me_zone
type = "A" type = "A"
value = data.contabo_instance.microk8s.ip_config[0].v4[0].ip value = local.contabo_instance.ip
ttl = "3600" ttl = "3600"
} }
@@ -62,11 +62,27 @@ resource "cloudns_dns_record" "alexpires_me_prod_01" {
ttl = "3600" 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" { resource "cloudns_dns_record" "alexpires_me_root" {
name = "" name = ""
zone = local.alexpires_me_zone zone = local.alexpires_me_zone
type = "A" type = "A"
value = data.contabo_instance.microk8s.ip_config[0].v4[0].ip value = local.contabo_instance.ip
ttl = "3600" ttl = "3600"
} }
@@ -110,48 +126,3 @@ resource "cloudns_dns_record" "alexpires_me_mail" {
value = "mail-pt.securemail.pro" value = "mail-pt.securemail.pro"
ttl = "3600" 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
}
+1 -1
View File
@@ -1,6 +1,6 @@
locals { locals {
instance_ips = [ instance_ips = [
"${data.contabo_instance.microk8s.ip_config[0].v4[0].ip}/32", "${local.contabo_instance.ip}/32",
] ]
alexpires_me_zone = "alexpires.me" alexpires_me_zone = "alexpires.me"
} }
+12 -1
View File
@@ -1,3 +1,14 @@
data "contabo_instance" "microk8s" { # Contabo is down for now, so we can't use it for now
# data "contabo_instance" "microk8s" {
# id = "201912751"
# }
locals {
contabo_instance = {
id = "201912751" 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
} }
}
+11 -10
View File
@@ -6,10 +6,11 @@ terraform {
source = "scaleway/scaleway" source = "scaleway/scaleway"
version = "~>2.13" version = "~>2.13"
} }
contabo = { # Contabo provider is not working for now, so we can't use it
source = "contabo/contabo" # contabo = {
version = "0.1.26" # source = "contabo/contabo"
} # version = "0.1.26"
# }
cloudns = { cloudns = {
source = "ClouDNS/cloudns" source = "ClouDNS/cloudns"
version = "~>1.0" version = "~>1.0"
@@ -32,9 +33,9 @@ provider "scaleway" {
# Configure your Contabo API credentials # Configure your Contabo API credentials
provider "contabo" { # provider "contabo" {
oauth2_client_id = var.contabo_client_id # oauth2_client_id = var.contabo_client_id
oauth2_client_secret = var.contabo_client_secret # oauth2_client_secret = var.contabo_client_secret
oauth2_user = var.contabo_api_user # oauth2_user = var.contabo_api_user
oauth2_pass = var.contabo_api_password # oauth2_pass = var.contabo_api_password
} # }
+19 -19
View File
@@ -28,28 +28,28 @@ variable "scaleway_user_id" {
sensitive = true sensitive = true
} }
variable "contabo_client_id" { # variable "contabo_client_id" {
description = "Contabo Client ID" # description = "Contabo Client ID"
type = string # type = string
sensitive = true # sensitive = true
} # }
variable "contabo_client_secret" { # variable "contabo_client_secret" {
description = "Contabo Client Secret" # description = "Contabo Client Secret"
type = string # type = string
sensitive = true # sensitive = true
} # }
variable "contabo_api_password" { # variable "contabo_api_password" {
description = "Contabo API Password" # description = "Contabo API Password"
type = string # type = string
sensitive = true # sensitive = true
} # }
variable "contabo_api_user" { # variable "contabo_api_user" {
description = "Contabo API User" # description = "Contabo API User"
type = string # type = string
} # }
variable "encryption_key" { variable "encryption_key" {
description = "Encryption key for sensitive data" description = "Encryption key for sensitive data"