feat: Add domain-test for testing INWX changes

This commit is contained in:
2024-09-04 08:38:51 +02:00
parent 056e709c8d
commit 82def8fc67
18 changed files with 538 additions and 0 deletions
+162
View File
@@ -0,0 +1,162 @@
locals {
domain_period = "1Y"
domain_renewal = "AUTORENEW"
}
resource "inwx_domain_contact" "admin" {
// contact configuration
type = "PERSON"
name = var.admin_name
street_address = var.admin_street
city = var.admin_city
postal_code = var.admin_postal_code
country_code = var.admin_country_code
phone_number = var.admin_phone_number
email = var.admin_email
}
resource "inwx_nameserver" "twomartens_de_nameserver" {
domain = local.domain
type = "MASTER"
nameservers = [
"ns.inwx.de",
"ns2.inwx.de",
"ns3.inwx.eu"
]
}
resource "inwx_domain" "twomartens_de" {
name = local.domain
nameservers = [
"ns.inwx.de",
"ns2.inwx.de",
"ns3.inwx.eu"
]
period = local.domain_period
renewal_mode = local.domain_renewal
transfer_lock = true
contacts {
// references to terraform managed contact "example_person"
registrant = inwx_domain_contact.admin.id
admin = inwx_domain_contact.admin.id
tech = 1
billing = 1
}
}
resource "inwx_domain" "twomartens_eu" {
name = "2martens.eu"
nameservers = [
"ns.inwx.de",
"ns2.inwx.de",
"ns3.inwx.eu"
]
period = local.domain_period
renewal_mode = local.domain_renewal
transfer_lock = true
contacts {
// references to terraform managed contact "example_person"
registrant = inwx_domain_contact.admin.id
admin = inwx_domain_contact.admin.id
tech = 1
billing = 1
}
extra_data = {
"EU-COUNTRY-OF-CITIZENSHIP" : "DE"
}
}
// NS records
# resource "inwx_nameserver_record" "twomartens_de_ns1" {
# domain = local.domain
# name = local.domain
# content = "ns.inwx.de"
# type = "NS"
# ttl = 86400
# }
#
# resource "inwx_nameserver_record" "twomartens_de_ns2" {
# domain = local.domain
# name = local.domain
# content = "ns2.inwx.de"
# type = "NS"
# ttl = 86400
# }
#
# resource "inwx_nameserver_record" "twomartens_de_ns3" {
# domain = local.domain
# name = local.domain
# content = "ns3.inwx.eu"
# type = "NS"
# ttl = 86400
# }
resource "inwx_nameserver_record" "twomartens_eu_ns1" {
domain = "2martens.eu"
name = "2martens.eu"
content = "ns.inwx.de"
type = "NS"
ttl = 86400
}
resource "inwx_nameserver_record" "twomartens_eu_ns2" {
domain = "2martens.eu"
name = "2martens.eu"
content = "ns2.inwx.de"
type = "NS"
ttl = 86400
}
resource "inwx_nameserver_record" "twomartens_eu_ns3" {
domain = "2martens.eu"
name = "2martens.eu"
content = "ns3.inwx.eu"
type = "NS"
ttl = 86400
}
// SOAs
# resource "inwx_nameserver_record" "twomartens_de_soa" {
# domain = local.domain
# name = local.domain
# content = "ns.inwx.de hostmaster.inwx.de 2023103008 10800 3600 604800 3600"
# type = "SOA"
# ttl = 86400
#
# lifecycle {
# ignore_changes = [content]
# }
# }
resource "inwx_nameserver_record" "twomartens_eu_soa" {
domain = "2martens.eu"
name = "2martens.eu"
content = "ns.inwx.de hostmaster.inwx.de 2023103001 10800 3600 604800 3600"
type = "SOA"
ttl = 86400
lifecycle {
ignore_changes = [content]
}
}
// redirect 2martens.eu to 2martens.de
resource "inwx_nameserver_record" "twomartens_eu_root_redirect" {
domain = "2martens.eu"
name = "2martens.eu"
content = "https://2martens.de"
type = "URL"
url_redirect_type = "HEADER301"
prio = 301
ttl = 3600
}
resource "inwx_nameserver_record" "twomartens_eu_www_redirect" {
domain = "2martens.eu"
name = "www.2martens.eu"
content = "https://2martens.de"
type = "URL"
url_redirect_type = "HEADER301"
prio = 301
ttl = 3600
}