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" {
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
}
+1 -1
View File
@@ -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"
}
+13 -2
View File
@@ -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
}
}
+11 -10
View File
@@ -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
# }
+19 -19
View File
@@ -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"