add dns
This commit is contained in:
parent
b60fecde22
commit
57bbb677ef
14 changed files with 1737 additions and 1 deletions
|
|
@ -4,10 +4,10 @@ metadata:
|
|||
name: ip-ingress
|
||||
namespace: ip
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: traefik
|
||||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
||||
# traefik.ingress.kubernetes.io/router.middlewares: default-redirect-https@kubernetescrd
|
||||
spec:
|
||||
ingressClassName: traefik
|
||||
rules:
|
||||
- host: ip.vntx.net
|
||||
http:
|
||||
|
|
|
|||
35
terraform/.gitignore
vendored
Normal file
35
terraform/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
# Local .terraform directories
|
||||
**/.terraform/*
|
||||
|
||||
# .tfstate files
|
||||
*.tfstate
|
||||
*.tfstate.*
|
||||
|
||||
# Crash log files
|
||||
crash.log
|
||||
crash.*.log
|
||||
|
||||
# Exclude all .tfvars files, which are likely to contain sensitive data, such as
|
||||
# password, private keys, and other secrets. These should not be part of version
|
||||
# control as they are data points which are potentially sensitive and subject
|
||||
# to change depending on the environment.
|
||||
*.tfvars
|
||||
*.tfvars.json
|
||||
|
||||
# Ignore override files as they are usually used to override resources locally and so
|
||||
# are not checked in
|
||||
override.tf
|
||||
override.tf.json
|
||||
*_override.tf
|
||||
*_override.tf.json
|
||||
|
||||
# Include override files you do wish to add to version control using negated pattern
|
||||
# !example_override.tf
|
||||
|
||||
# Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan
|
||||
# example: *tfplan*
|
||||
|
||||
# Ignore CLI configuration files
|
||||
.terraformrc
|
||||
terraform.rc
|
||||
|
||||
69
terraform/.terraform.lock.hcl
generated
Normal file
69
terraform/.terraform.lock.hcl
generated
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
# This file is maintained automatically by "tofu init".
|
||||
# Manual edits may be lost in future updates.
|
||||
|
||||
provider "registry.opentofu.org/dnsimple/dnsimple" {
|
||||
version = "1.8.0"
|
||||
constraints = "1.8.0"
|
||||
hashes = [
|
||||
"h1:uxMck1OicFKHnTF6Fwe8es07LHE3k3nS5B7fzN99/fc=",
|
||||
"zh:0852fd9523268b30fb637a03a0cb6d6a5878cbbf7e0e4219615c9ba073fbdf17",
|
||||
"zh:0ac43193082dd467abad4937b0abb97ea349205726fc450cb3a94dc0db6e9a49",
|
||||
"zh:10e4aad54c2d6cbd9328a1661d72a978357743eda7099a3f120a497119be4ff1",
|
||||
"zh:211d481935dec36903928c51f5f4f15d98313f6d50649ea064bc20a4d6541678",
|
||||
"zh:2705b5ebac4219449f9126cc19fa982cf0644e5df60d3d5254131d2e2d676afd",
|
||||
"zh:27f0df80af6652e96f85a0856daa571af495d2119ab126199d6d5ab53f6eb887",
|
||||
"zh:27fbb2fb69291a660d8e99ba960f01051b7fc28658f7932772ce7e80a42bd6e9",
|
||||
"zh:3ecf20ead1f044f08ae9e411c9341d47319eb6af5d6543b58f2f6932c6b288b0",
|
||||
"zh:635055f0af3eb27d30801aeead51d8b960c386f369a378fad7146350ec6b4d68",
|
||||
"zh:7ca26f64221a9c6634a02296e30a87e3fffed1144ac57e0ae9a86a448f42d4ca",
|
||||
"zh:895e0732da00942b2eb13c78673a9c9268e87e92a225999cddf2d13b823f3295",
|
||||
"zh:b3806e5b687faf97ad8cb2a23e105729059693ae07a229fecef52da5279d7bd1",
|
||||
"zh:c3c284a54aab3ddea2dba140af4a707ce077c9c2d9d34556902afdb25fe6ca8e",
|
||||
"zh:d2539f2cc5960a55a53eaaa90248abfb3167275e34af7e93735ec4571eb879eb",
|
||||
"zh:f809ab383cca0a5f83072981c64208cbd7fa67e986a86ee02dd2c82333221e32",
|
||||
]
|
||||
}
|
||||
|
||||
provider "registry.opentofu.org/kyswtn/porkbun" {
|
||||
version = "0.1.3"
|
||||
constraints = "0.1.3"
|
||||
hashes = [
|
||||
"h1:9PQILbIAiWdXCl+alkJ66h0uPm8wMgKfFaowJ2W3GB8=",
|
||||
"zh:162faaf9378691e126a02c913df206a04d9529a24dfb9db8de306932e01666ec",
|
||||
"zh:2df2181e8011fb2d9f93141e203cd2d7d714b6e5c6eaf8da83315f3fe703559d",
|
||||
"zh:3dc27db87d20d19595f9c979007f9fc3465c2cd9571d8c09866003b0f54d448a",
|
||||
"zh:44c71797db99a99a19d0ddafacb8592347cbe46fb4fd67cc2515f75d3e1eab46",
|
||||
"zh:5ba42ec732375f2f194152927bcd40e9733794c116f1c2df3ad08b370ed45de1",
|
||||
"zh:6ea5c559d0e88ce70a07c905b7efc570274c3765fb9b6311ad256534b7c1dd36",
|
||||
"zh:737912274b28ec5090cb7133c6e47b18c164cb399cd976664af3fabc882216fa",
|
||||
"zh:76166d6ca5f8168ae76360b87bba7c376c2fca459b0643ee8ff191d2feda2cd5",
|
||||
"zh:764cbe5795c584128f18a19dd445d8c086d7321bcb863bedec70a9bf5110766b",
|
||||
"zh:78eb37c1e789016fcdab7809d01ef44c9f6e392afa311ca841b92e8c53d5e2fb",
|
||||
"zh:9ffa835f6173af391a31e103f86e013ff96bc4b7b886e9229a752640dac4be72",
|
||||
"zh:cd27d4b7c66f251de1e31acfaeb431722e0a00c6620440f535e7e1d202809e08",
|
||||
"zh:e804ab2f486c9c3650bc25fe7c1a708e779519085badf594f1d8e4c983c80d9f",
|
||||
"zh:e95ee1f927503684c43ad9ef28f8f4fcab7c92ecba7412dceb6dcb75a32e6b73",
|
||||
"zh:f362da74b1952a7b92c2114c099471c4dc09991636ac473d9928dd22904018c4",
|
||||
]
|
||||
}
|
||||
|
||||
provider "registry.opentofu.org/pan-net/powerdns" {
|
||||
version = "1.5.0"
|
||||
constraints = "1.5.0"
|
||||
hashes = [
|
||||
"h1:oMzrqQGFY88Cwx06YkFHP6io3jow/22FRZkeK0UZtGY=",
|
||||
"zh:02d1a87c28635779f66d1dcf165b5f16530f809deb6c71c35c3e58d715a88bf4",
|
||||
"zh:1285a419c7fd2947f891771bd77d2f6e7dd0cb00621c547b6993947085616009",
|
||||
"zh:340faecd0a0036e721480564acbad2ba0da6a9c0c0cd633957dcde76a4ba3798",
|
||||
"zh:5646f78d9980038c4ae70e09828da01c7cc6ba2b3b1e9ea8a1988efafaba1b75",
|
||||
"zh:66fef65aede775d9972be163a2bd25d8fda5a8ad2235ceef30d515bf35e2e5d4",
|
||||
"zh:7130faa5dd892b1d41b9b3ebd1b2d7854bf780193073de58806e088311bb554c",
|
||||
"zh:9f47b66ce7f4b23d25c4a726ffc5e504f797f247912cfa5dff23b3da0ba18982",
|
||||
"zh:ada63a886bc5d7980eeb22b59b166713617847626627007d2e8429eeb4346327",
|
||||
"zh:c853237b7831942d3d0f0f7a7a334e8f9df8a12f217c5680a76db256e368230d",
|
||||
"zh:d2e8827d9d8662a892dbd1df6155823c8167db6f6762f38885037c7da87612b1",
|
||||
"zh:d6e1069bb9d9f368e5d55a8bdf55de23636a586d698515f0075733499d6b9ccc",
|
||||
"zh:dd224d521af2f72bfdc3498c5ccd54b09844cfaa347b3008f61faad465cc9769",
|
||||
"zh:e02960d79ccfeeaea64c07aa1ad88cdd3688f49b670c9b607ea188283cd519d6",
|
||||
]
|
||||
}
|
||||
16
terraform/dns_dnsimple_contacts.tf
Normal file
16
terraform/dns_dnsimple_contacts.tf
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
resource "dnsimple_contact" "me" {
|
||||
label = "Graham McIntire"
|
||||
first_name = "Graham"
|
||||
last_name = "McIntire"
|
||||
organization_name = ""
|
||||
job_title = ""
|
||||
address1 = "11411 CR 571"
|
||||
address2 = ""
|
||||
city = "Blue Ridge"
|
||||
state_province = "Texas"
|
||||
postal_code = "75424"
|
||||
country = "US"
|
||||
phone = "+14693962797"
|
||||
fax = ""
|
||||
email = "graham@mcintire.me"
|
||||
}
|
||||
3
terraform/dns_dnsimple_domains.tf
Normal file
3
terraform/dns_dnsimple_domains.tf
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
resource "dnsimple_domain" "w5isp_com" {
|
||||
name = "w5isp.com"
|
||||
}
|
||||
23
terraform/dns_dnsimple_zones.tf
Normal file
23
terraform/dns_dnsimple_zones.tf
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
resource "dnsimple_zone" "w5isp_com" {
|
||||
name = "w5isp.com"
|
||||
}
|
||||
|
||||
resource "dnsimple_zone" "gridmap_org" {
|
||||
name = "gridmap.org"
|
||||
}
|
||||
|
||||
resource "dnsimple_zone" "manero_org" {
|
||||
name = "manero.org"
|
||||
}
|
||||
|
||||
resource "dnsimple_zone" "mcintire_me" {
|
||||
name = "mcintire.me"
|
||||
}
|
||||
|
||||
resource "dnsimple_zone" "vntx_net" {
|
||||
name = "vntx.net"
|
||||
}
|
||||
|
||||
resource "dnsimple_zone" "vntx_org" {
|
||||
name = "vntx.org"
|
||||
}
|
||||
71
terraform/dns_manero.tf
Normal file
71
terraform/dns_manero.tf
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
resource "dnsimple_zone_record" "manero_root_a_1" {
|
||||
zone_name = "manero.org"
|
||||
name = "@"
|
||||
value = "185.199.108.153"
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "manero_root_a_2" {
|
||||
zone_name = "manero.org"
|
||||
name = "@"
|
||||
value = "185.199.109.153"
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "manero_root_a_3" {
|
||||
zone_name = "manero.org"
|
||||
name = "@"
|
||||
value = "185.199.110.153"
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "manero_root_a_4" {
|
||||
zone_name = "manero.org"
|
||||
name = "@"
|
||||
value = "185.199.111.153"
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "manero_irc_a" {
|
||||
zone_name = "manero.org"
|
||||
name = "irc"
|
||||
value = "149.28.242.178"
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "manero_us_a" {
|
||||
zone_name = "manero.org"
|
||||
name = "us"
|
||||
value = "149.28.242.178"
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "manero_us_aaaa" {
|
||||
zone_name = "manero.org"
|
||||
name = "us"
|
||||
value = "2001:19f0:6401:19e6:5400:05ff:fe45:5701"
|
||||
type = "AAAA"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "manero_ca_a" {
|
||||
zone_name = "manero.org"
|
||||
name = "ca"
|
||||
value = "167.114.209.151"
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "manero_404" {
|
||||
zone_name = "manero.org"
|
||||
name = "404"
|
||||
value = "404.al"
|
||||
type = "CNAME"
|
||||
ttl = 3600
|
||||
}
|
||||
71
terraform/dns_mcintire.tf
Normal file
71
terraform/dns_mcintire.tf
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
resource "dnsimple_zone_record" "mcintire_mx_10" {
|
||||
zone_name = "mcintire.me"
|
||||
name = "@"
|
||||
value = "mail.protonmail.ch."
|
||||
type = "MX"
|
||||
ttl = 3600
|
||||
priority = 10
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "mcintire_mx_20" {
|
||||
zone_name = "mcintire.me"
|
||||
name = "@"
|
||||
value = "mailsec.protonmail.ch."
|
||||
type = "MX"
|
||||
ttl = 3600
|
||||
priority = 20
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "mcintire_txt_spf" {
|
||||
zone_name = "mcintire.me"
|
||||
name = "@"
|
||||
value = "v=spf1 include:_spf.protonmail.ch ~all"
|
||||
type = "TXT"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "mcintire_txt_dmarc" {
|
||||
zone_name = "mcintire.me"
|
||||
name = "_dmarc"
|
||||
value = "v=DMARC1; p=quarantine"
|
||||
type = "TXT"
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "mcintire_txt_verification" {
|
||||
zone_name = "mcintire.me"
|
||||
name = "@"
|
||||
value = "protonmail-verification=e2d59d75d33081519c75e11908b30e206ad7324d"
|
||||
type = "TXT"
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "mcintire_cname_photos" {
|
||||
zone_name = "mcintire.me"
|
||||
name = "photos"
|
||||
value = "caddy.w5isp.com."
|
||||
type = "CNAME"
|
||||
ttl = 14400
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "mcintire_cname_protonmail_domainkey" {
|
||||
zone_name = "mcintire.me"
|
||||
name = "protonmail._domainkey"
|
||||
value = "protonmail.domainkey.dq7rufxozvkgaev373cchyg6cvrweh4mqtf6yazivom7mcw3yhdaq.domains.proton.ch."
|
||||
type = "CNAME"
|
||||
ttl = 259200
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "mcintire_cname_protonmail2_domainkey" {
|
||||
zone_name = "mcintire.me"
|
||||
name = "protonmail2._domainkey"
|
||||
value = "protonmail2.domainkey.dq7rufxozvkgaev373cchyg6cvrweh4mqtf6yazivom7mcw3yhdaq.domains.proton.ch."
|
||||
type = "CNAME"
|
||||
ttl = 259200
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "mcintire_cname_protonmail3_domainkey" {
|
||||
zone_name = "mcintire.me"
|
||||
name = "protonmail3._domainkey"
|
||||
value = "protonmail3.domainkey.dq7rufxozvkgaev373cchyg6cvrweh4mqtf6yazivom7mcw3yhdaq.domains.proton.ch."
|
||||
type = "CNAME"
|
||||
ttl = 259200
|
||||
}
|
||||
26
terraform/dns_qth.tf
Normal file
26
terraform/dns_qth.tf
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
resource "porkbun_dns_record" "qth_root_a" {
|
||||
domain = "qth.social"
|
||||
name = ""
|
||||
type = "A"
|
||||
content = "204.110.191.203"
|
||||
priority = 0
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "porkbun_dns_record" "qth_root_aaaa" {
|
||||
domain = "qth.social"
|
||||
name = ""
|
||||
type = "AAAA"
|
||||
content = "2606:1c80::203"
|
||||
priority = 0
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "porkbun_dns_record" "qth_email_cname" {
|
||||
domain = "qth.social"
|
||||
name = "email.mastodon"
|
||||
type = "CNAME"
|
||||
content = "mailgun.org"
|
||||
priority = 0
|
||||
ttl = 3600
|
||||
}
|
||||
87
terraform/dns_reverse.tf
Normal file
87
terraform/dns_reverse.tf
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
resource "powerdns_zone" "vntx1" {
|
||||
name = "188.110.204.in-addr.arpa."
|
||||
kind = "Native"
|
||||
soa_edit_api = "DEFAULT"
|
||||
nameservers = ["ns1.vntx.net.", "ns2.vntx.net.", "ns-global.kjsl.com."]
|
||||
}
|
||||
|
||||
resource "powerdns_zone" "vntx2" {
|
||||
name = "189.110.204.in-addr.arpa."
|
||||
kind = "Native"
|
||||
soa_edit_api = "DEFAULT"
|
||||
nameservers = ["ns1.vntx.net.", "ns2.vntx.net.", "ns-global.kjsl.com."]
|
||||
}
|
||||
|
||||
resource "powerdns_zone" "vntx3" {
|
||||
name = "190.110.204.in-addr.arpa."
|
||||
kind = "Native"
|
||||
soa_edit_api = "DEFAULT"
|
||||
nameservers = ["ns1.vntx.net.", "ns2.vntx.net.", "ns-global.kjsl.com."]
|
||||
}
|
||||
|
||||
resource "powerdns_zone" "vntx4" {
|
||||
name = "191.110.204.in-addr.arpa."
|
||||
kind = "Native"
|
||||
soa_edit_api = "DEFAULT"
|
||||
nameservers = ["ns1.vntx.net.", "ns2.vntx.net.", "ns-global.kjsl.com."]
|
||||
}
|
||||
|
||||
resource "powerdns_record" "ptr_records1" {
|
||||
for_each = {
|
||||
for i in range(256) : tostring(i) => {
|
||||
name = "${i}.188.110.204.in-addr.arpa."
|
||||
record = "${i}.188.client.vntx.net."
|
||||
}
|
||||
}
|
||||
|
||||
zone = "188.110.204.in-addr.arpa."
|
||||
name = each.value.name
|
||||
type = "PTR"
|
||||
ttl = 3600
|
||||
records = [each.value.record]
|
||||
}
|
||||
|
||||
resource "powerdns_record" "ptr_records2" {
|
||||
for_each = {
|
||||
for i in range(256) : tostring(i) => {
|
||||
name = "${i}.189.110.204.in-addr.arpa."
|
||||
record = "${i}.189.client.vntx.net."
|
||||
}
|
||||
}
|
||||
|
||||
zone = "189.110.204.in-addr.arpa."
|
||||
name = each.value.name
|
||||
type = "PTR"
|
||||
ttl = 3600
|
||||
records = [each.value.record]
|
||||
}
|
||||
|
||||
resource "powerdns_record" "ptr_records3" {
|
||||
for_each = {
|
||||
for i in range(256) : tostring(i) => {
|
||||
name = "${i}.190.110.204.in-addr.arpa."
|
||||
record = "${i}.190.client.vntx.net."
|
||||
}
|
||||
}
|
||||
|
||||
zone = "190.110.204.in-addr.arpa."
|
||||
name = each.value.name
|
||||
type = "PTR"
|
||||
ttl = 3600
|
||||
records = [each.value.record]
|
||||
}
|
||||
|
||||
resource "powerdns_record" "ptr_records4" {
|
||||
for_each = {
|
||||
for i in range(256) : tostring(i) => {
|
||||
name = "${i}.191.110.204.in-addr.arpa."
|
||||
record = "${i}.191.client.vntx.net."
|
||||
}
|
||||
}
|
||||
|
||||
zone = "191.110.204.in-addr.arpa."
|
||||
name = each.value.name
|
||||
type = "PTR"
|
||||
ttl = 3600
|
||||
records = [each.value.record]
|
||||
}
|
||||
1155
terraform/dns_vntx_net.tf
Normal file
1155
terraform/dns_vntx_net.tf
Normal file
File diff suppressed because it is too large
Load diff
81
terraform/dns_w5isp.tf
Normal file
81
terraform/dns_w5isp.tf
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
resource "dnsimple_zone_record" "w5isp_root" {
|
||||
zone_name = "w5isp.com"
|
||||
name = ""
|
||||
value = "204.110.191.210"
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "w5isp_apps" {
|
||||
zone_name = "w5isp.com"
|
||||
name = "apps"
|
||||
value = "204.110.191.210"
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "w5isp_gmc" {
|
||||
zone_name = "w5isp.com"
|
||||
name = "gmc"
|
||||
value = "204.110.191.236"
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "w5isp_home" {
|
||||
zone_name = "w5isp.com"
|
||||
name = "home"
|
||||
value = "204.110.191.1"
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "w5isp_log" {
|
||||
zone_name = "w5isp.com"
|
||||
name = "log"
|
||||
value = "204.110.191.8"
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "w5isp_photos" {
|
||||
zone_name = "w5isp.com"
|
||||
name = "photos"
|
||||
value = "204.110.191.8"
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "w5isp_skippy" {
|
||||
zone_name = "w5isp.com"
|
||||
name = "skippy"
|
||||
value = "204.110.191.8"
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "w5isp_ha" {
|
||||
zone_name = "w5isp.com"
|
||||
name = "ha"
|
||||
value = "q1l09qiycnaagngmjsg1qas0rhqcfoou.ui.nabu.casa"
|
||||
type = "CNAME"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "w5isp_mx1" {
|
||||
zone_name = "w5isp.com"
|
||||
name = ""
|
||||
priority = 10
|
||||
value = "mail.protonmail.ch"
|
||||
type = "MX"
|
||||
ttl = 36000
|
||||
}
|
||||
|
||||
resource "dnsimple_zone_record" "w5isp_mx2" {
|
||||
zone_name = "w5isp.com"
|
||||
name = ""
|
||||
priority = 20
|
||||
value = "mailsec.protonmail.ch"
|
||||
type = "MX"
|
||||
ttl = 36000
|
||||
}
|
||||
31
terraform/main.tf
Normal file
31
terraform/main.tf
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
terraform {
|
||||
required_providers {
|
||||
dnsimple = {
|
||||
source = "dnsimple/dnsimple"
|
||||
version = "1.8.0"
|
||||
}
|
||||
porkbun = {
|
||||
source = "kyswtn/porkbun"
|
||||
version = "0.1.3"
|
||||
}
|
||||
powerdns = {
|
||||
source = "pan-net/powerdns"
|
||||
version = "1.5.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
provider "dnsimple" {
|
||||
token = var.dnsimple_token
|
||||
account = var.dnsimple_account
|
||||
}
|
||||
|
||||
provider "porkbun" {
|
||||
api_key = var.prokbun_api_key
|
||||
secret_api_key = var.prokbun_secret_api_key
|
||||
}
|
||||
|
||||
provider "powerdns" {
|
||||
api_key = var.pdns_api_key
|
||||
server_url = var.pdns_server_url
|
||||
}
|
||||
68
terraform/vars.tf
Normal file
68
terraform/vars.tf
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
variable "dnsimple_token" {
|
||||
type = string
|
||||
default = "dnsimple_a_sRmKiuHrxR2UiMHf0NREqAtgfELyRVAI"
|
||||
}
|
||||
|
||||
variable "dnsimple_account" {
|
||||
type = string
|
||||
default = "143471"
|
||||
}
|
||||
|
||||
variable "prokbun_api_key" {
|
||||
type = string
|
||||
default = "pk1_5f321ff82ce0c085e67f9569db48976d838f302bc15b88292373e4b6b9891f17"
|
||||
}
|
||||
|
||||
variable "prokbun_secret_api_key" {
|
||||
type = string
|
||||
default = "sk1_854fd74c8221bceaec27cf17edf3402b074e67447befe1363cf0247b620c82c5"
|
||||
}
|
||||
|
||||
variable "pdns_api_key" {
|
||||
type = string
|
||||
default = "q4zBRoR72gOIfrgdskASMKqyNNo2mf"
|
||||
}
|
||||
|
||||
variable "pdns_server_url" {
|
||||
type = string
|
||||
default = "http://ns1.vntx.net:8081"
|
||||
}
|
||||
|
||||
|
||||
#Set your public SSH key here
|
||||
variable "ssh_key" {
|
||||
type = string
|
||||
default = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHLyVSEEAEbGZZqwPwEup0XrlTpu3x3iF9ExvvQPA4xN graham@mcintire.me"
|
||||
}
|
||||
#Establish which Proxmox host you'd like to spin a VM up on
|
||||
variable "proxmox_host" {
|
||||
type = string
|
||||
default = "vm2-380"
|
||||
}
|
||||
#Specify which template name you'd like to use
|
||||
variable "template_name" {
|
||||
type = string
|
||||
default = "ubuntu"
|
||||
}
|
||||
#Establish which nic you would like to utilize
|
||||
variable "nic_name" {
|
||||
type = string
|
||||
default = "vmbr0"
|
||||
}
|
||||
#Establish the VLAN you'd like to use
|
||||
# variable "vlan_num" {
|
||||
# default = "place_vlan_number_here"
|
||||
# }
|
||||
#Provide the url of the host you would like the API to communicate on.
|
||||
#It is safe to default to setting this as the URL for what you used
|
||||
#as your `proxmox_host`, although they can be different
|
||||
variable "api_url" {
|
||||
type = string
|
||||
default = "https://10.0.0.2:8006/api2/json"
|
||||
}
|
||||
#Blank var for use by terraform.tfvars
|
||||
variable "token_secret" {
|
||||
}
|
||||
#Blank var for use by terraform.tfvars
|
||||
variable "token_id" {
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue