Ver código fonte

Add mitchty.com dns setup

master
Mitch Tishmack 6 anos atrás
pai
commit
2c8adf2dc5
5 arquivos alterados com 398 adições e 206 exclusões
  1. +192
    -0
      dns-functionalidiot.com.tf
  2. +192
    -0
      dns-mitchty.com.tf
  3. +11
    -0
      dns.tf
  4. +0
    -203
      functionalidiot.com.tf
  5. +3
    -3
      post_setup.tf

+ 192
- 0
dns-functionalidiot.com.tf Ver arquivo

@@ -0,0 +1,192 @@
variable "cloudflare_functionalidiot_com_zoneid" {
type = string
}

resource "cloudflare_record" "ns1_functionalidiot_com" {
zone_id = var.cloudflare_functionalidiot_com_zoneid
name = "@"
value = "mitch.ns.cloudflare.com"
type = "NS"
}

resource "cloudflare_record" "ns2_functionalidiot_com" {
zone_id = var.cloudflare_functionalidiot_com_zoneid
name = "@"
value = "tegan.ns.cloudflare.com"
type = "NS"
}

resource "cloudflare_record" "root_functionalidiot_com" {
depends_on = [
linode_instance.prod,
cloudflare_record.ns1_functionalidiot_com,
cloudflare_record.ns2_functionalidiot_com ]
zone_id = var.cloudflare_functionalidiot_com_zoneid
name = "@"
value = linode_instance.prod.ip_address
type = "A"
ttl = local.dns_ttl
}

resource "cloudflare_record" "splat_functionalidiot_com" {
depends_on = [
linode_instance.prod,
cloudflare_record.ns1_functionalidiot_com,
cloudflare_record.ns2_functionalidiot_com ]
zone_id = var.cloudflare_functionalidiot_com_zoneid
name = "*"
value = linode_instance.prod.ip_address
type = "A"
ttl = local.dns_ttl
}

# resource "cloudflare_record" "root6_functionalidiot_com" {
# depends_on = [
# linode_instance.prod,
# cloudflare_record.ns1_functionalidiot_com,
# cloudflare_record.ns2_functionalidiot_com ]
# zone_id = var.cloudflare_functionalidiot_com_zoneid
# name = "@"
# value = local.ipv6
# type = "AAAA"
# ttl = local.dns_ttl
# }

# resource "cloudflare_record" "splat6_functionalidiot_com" {
# depends_on = [
# linode_instance.prod,
# cloudflare_record.ns1_functionalidiot_com,
# cloudflare_record.ns2_functionalidiot_com ]
# zone_id = var.cloudflare_functionalidiot_com_zoneid
# name = "*"
# value = local.ipv6
# type = "AAAA"
# ttl = local.dns_ttl
# proxied = true
# }

resource "cloudflare_record" "www_functionalidiot_com" {
depends_on = [
cloudflare_record.root_functionalidiot_com,
cloudflare_record.splat_functionalidiot_com ]
zone_id = var.cloudflare_functionalidiot_com_zoneid
name = "www"
value = "functionalidiot.com"
type = "CNAME"
ttl = local.dns_ttl
}

resource "cloudflare_record" "git_functionalidiot_com" {
depends_on = [
cloudflare_record.root_functionalidiot_com,
cloudflare_record.splat_functionalidiot_com ]
zone_id = var.cloudflare_functionalidiot_com_zoneid
name = "git"
value = "functionalidiot.com"
type = "CNAME"
ttl = local.dns_ttl
}

# MX record setup for fastmail dkim/spf on root and all subdomains
resource "cloudflare_record" "mx_cname_1_functionalidiot_com" {
depends_on = [
cloudflare_record.root_functionalidiot_com,
cloudflare_record.splat_functionalidiot_com ]
zone_id = var.cloudflare_functionalidiot_com_zoneid
name = "fm1._domainkey"
value = "fm1.functionalidiot.com.dkim.fmhosted.com"
type = "CNAME"
ttl = local.dns_ttl
}

resource "cloudflare_record" "mx_cname_2_functionalidiot_com" {
depends_on = [
cloudflare_record.root_functionalidiot_com,
cloudflare_record.splat_functionalidiot_com ]
zone_id = var.cloudflare_functionalidiot_com_zoneid
name = "fm2._domainkey"
value = "fm2.functionalidiot.com.dkim.fmhosted.com"
type = "CNAME"
ttl = local.dns_ttl
}

resource "cloudflare_record" "mx_cname_3_functionalidiot_com" {
depends_on = [
cloudflare_record.root_functionalidiot_com,
cloudflare_record.splat_functionalidiot_com ]
zone_id = var.cloudflare_functionalidiot_com_zoneid
name = "fm3._domainkey"
value = "fm3.functionalidiot.com.dkim.fmhosted.com"
type = "CNAME"
ttl = local.dns_ttl
}

resource "cloudflare_record" "mx_10_root_functionalidiot_com" {
depends_on = [
cloudflare_record.root_functionalidiot_com,
cloudflare_record.splat_functionalidiot_com ]
zone_id = var.cloudflare_functionalidiot_com_zoneid
name = "@"
value = "in1-smtp.messagingengine.com"
type = "MX"
priority = "10"
ttl = local.dns_ttl
}

resource "cloudflare_record" "mx_20_root_functionalidiot_com" {
depends_on = [
cloudflare_record.root_functionalidiot_com,
cloudflare_record.splat_functionalidiot_com ]
zone_id = var.cloudflare_functionalidiot_com_zoneid
name = "@"
value = "in2-smtp.messagingengine.com"
type = "MX"
priority = "20"
ttl = local.dns_ttl
}

resource "cloudflare_record" "mx-10-splat_functionalidiot_com" {
depends_on = [
cloudflare_record.root_functionalidiot_com,
cloudflare_record.splat_functionalidiot_com ]
zone_id = var.cloudflare_functionalidiot_com_zoneid
name = "*"
value = "in1-smtp.messagingengine.com"
type = "MX"
priority = "10"
ttl = local.dns_ttl
}

resource "cloudflare_record" "mx_20_splat_functionalidiot_com" {
depends_on = [
cloudflare_record.root_functionalidiot_com,
cloudflare_record.splat_functionalidiot_com ]
zone_id = var.cloudflare_functionalidiot_com_zoneid
name = "*"
value = "in2-smtp.messagingengine.com"
type = "MX"
priority = "20"
ttl = local.dns_ttl
}

resource "cloudflare_record" "txt_mx_root_functionalidiot_com" {
depends_on = [
cloudflare_record.root_functionalidiot_com,
cloudflare_record.splat_functionalidiot_com ]
zone_id = var.cloudflare_functionalidiot_com_zoneid
name = "@"
value = "v=spf1 include:spf.messagingengine.com ?all"
type = "TXT"
ttl = local.dns_ttl
}

resource "cloudflare_record" "txt_mx_splat_functionalidiot_com" {
depends_on = [
cloudflare_record.root_functionalidiot_com,
cloudflare_record.splat_functionalidiot_com ]
zone_id = var.cloudflare_functionalidiot_com_zoneid
name = "*"
value = "v=spf1 include:spf.messagingengine.com ?all"
type = "TXT"
ttl = local.dns_ttl
}

+ 192
- 0
dns-mitchty.com.tf Ver arquivo

@@ -0,0 +1,192 @@
variable "cloudflare_mitchty_com_zoneid" {
type = string
}

resource "cloudflare_record" "ns1_mitchty_com" {
zone_id = var.cloudflare_mitchty_com_zoneid
name = "@"
value = "mitch.ns.cloudflare.com"
type = "NS"
}

resource "cloudflare_record" "ns2_mitchty_com" {
zone_id = var.cloudflare_mitchty_com_zoneid
name = "@"
value = "tegan.ns.cloudflare.com"
type = "NS"
}

resource "cloudflare_record" "root_mitchty_com" {
depends_on = [
linode_instance.prod,
cloudflare_record.ns1_mitchty_com,
cloudflare_record.ns2_mitchty_com ]
zone_id = var.cloudflare_mitchty_com_zoneid
name = "@"
value = linode_instance.prod.ip_address
type = "A"
ttl = local.dns_ttl
}

resource "cloudflare_record" "splat_mitchty_com" {
depends_on = [
linode_instance.prod,
cloudflare_record.ns1_mitchty_com,
cloudflare_record.ns2_mitchty_com ]
zone_id = var.cloudflare_mitchty_com_zoneid
name = "*"
value = linode_instance.prod.ip_address
type = "A"
ttl = local.dns_ttl
}

# resource "cloudflare_record" "root6_mitchty_com" {
# depends_on = [
# linode_instance.prod,
# cloudflare_record.ns1_mitchty_com,
# cloudflare_record.ns2_mitchty_com ]
# zone_id = var.cloudflare_mitchty_com_zoneid
# name = "@"
# value = local.ipv6
# type = "AAAA"
# ttl = local.dns_ttl
# }

# resource "cloudflare_record" "splat6_mitchty_com" {
# depends_on = [
# linode_instance.prod,
# cloudflare_record.ns1_mitchty_com,
# cloudflare_record.ns2_mitchty_com ]
# zone_id = var.cloudflare_mitchty_com_zoneid
# name = "*"
# value = local.ipv6
# type = "AAAA"
# ttl = local.dns_ttl
# proxied = true
# }

resource "cloudflare_record" "www_mitchty_com" {
depends_on = [
cloudflare_record.root_mitchty_com,
cloudflare_record.splat_mitchty_com ]
zone_id = var.cloudflare_mitchty_com_zoneid
name = "www"
value = "mitchty.com"
type = "CNAME"
ttl = local.dns_ttl
}

resource "cloudflare_record" "git_mitchty_com" {
depends_on = [
cloudflare_record.root_mitchty_com,
cloudflare_record.splat_mitchty_com ]
zone_id = var.cloudflare_mitchty_com_zoneid
name = "git"
value = "mitchty.com"
type = "CNAME"
ttl = local.dns_ttl
}

# MX record setup for fastmail dkim/spf on root and all subdomains
resource "cloudflare_record" "mx_cname_1_mitchty_com" {
depends_on = [
cloudflare_record.root_mitchty_com,
cloudflare_record.splat_mitchty_com ]
zone_id = var.cloudflare_mitchty_com_zoneid
name = "fm1._domainkey"
value = "fm1.mitchty.com.dkim.fmhosted.com"
type = "CNAME"
ttl = local.dns_ttl
}

resource "cloudflare_record" "mx_cname_2_mitchty_com" {
depends_on = [
cloudflare_record.root_mitchty_com,
cloudflare_record.splat_mitchty_com ]
zone_id = var.cloudflare_mitchty_com_zoneid
name = "fm2._domainkey"
value = "fm2.mitchty.com.dkim.fmhosted.com"
type = "CNAME"
ttl = local.dns_ttl
}

resource "cloudflare_record" "mx_cname_3_mitchty_com" {
depends_on = [
cloudflare_record.root_mitchty_com,
cloudflare_record.splat_mitchty_com ]
zone_id = var.cloudflare_mitchty_com_zoneid
name = "fm3._domainkey"
value = "fm3.mitchty.com.dkim.fmhosted.com"
type = "CNAME"
ttl = local.dns_ttl
}

resource "cloudflare_record" "mx_10_root_mitchty_com" {
depends_on = [
cloudflare_record.root_mitchty_com,
cloudflare_record.splat_mitchty_com ]
zone_id = var.cloudflare_mitchty_com_zoneid
name = "@"
value = "in1-smtp.messagingengine.com"
type = "MX"
priority = "10"
ttl = local.dns_ttl
}

resource "cloudflare_record" "mx_20_root_mitchty_com" {
depends_on = [
cloudflare_record.root_mitchty_com,
cloudflare_record.splat_mitchty_com ]
zone_id = var.cloudflare_mitchty_com_zoneid
name = "@"
value = "in2-smtp.messagingengine.com"
type = "MX"
priority = "20"
ttl = local.dns_ttl
}

resource "cloudflare_record" "mx_10_splat_mitchty_com" {
depends_on = [
cloudflare_record.root_mitchty_com,
cloudflare_record.splat_mitchty_com ]
zone_id = var.cloudflare_mitchty_com_zoneid
name = "*"
value = "in1-smtp.messagingengine.com"
type = "MX"
priority = "10"
ttl = local.dns_ttl
}

resource "cloudflare_record" "mx_20_splat_mitchty_com" {
depends_on = [
cloudflare_record.root_mitchty_com,
cloudflare_record.splat_mitchty_com ]
zone_id = var.cloudflare_mitchty_com_zoneid
name = "*"
value = "in2-smtp.messagingengine.com"
type = "MX"
priority = "20"
ttl = local.dns_ttl
}

resource "cloudflare_record" "txt_mx_root_mitchty_com" {
depends_on = [
cloudflare_record.root_mitchty_com,
cloudflare_record.splat_mitchty_com ]
zone_id = var.cloudflare_mitchty_com_zoneid
name = "@"
value = "v=spf1 include:spf.messagingengine.com ?all"
type = "TXT"
ttl = local.dns_ttl
}

resource "cloudflare_record" "txt_mx_splat_mitchty_com" {
depends_on = [
cloudflare_record.root_mitchty_com,
cloudflare_record.splat_mitchty_com ]
zone_id = var.cloudflare_mitchty_com_zoneid
name = "*"
value = "v=spf1 include:spf.messagingengine.com ?all"
type = "TXT"
ttl = local.dns_ttl
}

+ 11
- 0
dns.tf Ver arquivo

@@ -0,0 +1,11 @@
# Dns defaults

variable "short_dns_ttl" {
type = bool
default = true
description = "Whether to set short dns ttl's or not."
}

locals {
dns_ttl = var.short_dns_ttl ? 120 : 43200
}

+ 0
- 203
functionalidiot.com.tf Ver arquivo

@@ -4,209 +4,6 @@ variable "gitea_db_passwd" {
type = string
}

variable "cloudflare_functionalidiot_zoneid" {
type = string
}

variable "short_dns_ttl" {
type = bool
default = true
description = "Whether to set short dns ttl's or not."
}

locals {
dns_ttl = var.short_dns_ttl ? 120 : 43200
}

resource "cloudflare_record" "root" {
depends_on = [
linode_instance.prod,
cloudflare_record.functionalidiot_com_ns1,
cloudflare_record.functionalidiot_com_ns2 ]
zone_id = var.cloudflare_functionalidiot_zoneid
name = "@"
value = linode_instance.prod.ip_address
type = "A"
ttl = local.dns_ttl
}

resource "cloudflare_record" "splat" {
depends_on = [
linode_instance.prod,
cloudflare_record.functionalidiot_com_ns1,
cloudflare_record.functionalidiot_com_ns2 ]
zone_id = var.cloudflare_functionalidiot_zoneid
name = "*"
value = linode_instance.prod.ip_address
type = "A"
ttl = local.dns_ttl
}

# resource "cloudflare_record" "root6" {
# depends_on = [
# linode_instance.prod,
# cloudflare_record.functionalidiot_com_ns1,
# cloudflare_record.functionalidiot_com_ns2 ]
# zone_id = var.cloudflare_functionalidiot_zoneid
# name = "@"
# value = local.ipv6
# type = "AAAA"
# ttl = local.dns_ttl
# }

# resource "cloudflare_record" "splat6" {
# depends_on = [
# linode_instance.prod,
# cloudflare_record.functionalidiot_com_ns1,
# cloudflare_record.functionalidiot_com_ns2 ]
# zone_id = var.cloudflare_functionalidiot_zoneid
# name = "*"
# value = local.ipv6
# type = "AAAA"
# ttl = local.dns_ttl
# proxied = true
# }

resource "cloudflare_record" "www" {
depends_on = [
cloudflare_record.root,
cloudflare_record.splat ]
zone_id = var.cloudflare_functionalidiot_zoneid
name = "www"
value = "functionalidiot.com"
type = "CNAME"
ttl = local.dns_ttl
}

resource "cloudflare_record" "git" {
depends_on = [
cloudflare_record.root,
cloudflare_record.splat ]
zone_id = var.cloudflare_functionalidiot_zoneid
name = "git"
value = "functionalidiot.com"
type = "CNAME"
ttl = local.dns_ttl
}

# MX record setup for fastmail dkim/spf on root and all subdomains
resource "cloudflare_record" "mx-cname-1" {
depends_on = [
cloudflare_record.root,
cloudflare_record.splat ]
zone_id = var.cloudflare_functionalidiot_zoneid
name = "fm1._domainkey"
value = "fm1.functionalidiot.com.dkim.fmhosted.com"
type = "CNAME"
ttl = local.dns_ttl
}

resource "cloudflare_record" "mx-cname-2" {
depends_on = [
cloudflare_record.root,
cloudflare_record.splat ]
zone_id = var.cloudflare_functionalidiot_zoneid
name = "fm2._domainkey"
value = "fm2.functionalidiot.com.dkim.fmhosted.com"
type = "CNAME"
ttl = local.dns_ttl
}

resource "cloudflare_record" "mx-cname-3" {
depends_on = [
cloudflare_record.root,
cloudflare_record.splat ]
zone_id = var.cloudflare_functionalidiot_zoneid
name = "fm3._domainkey"
value = "fm3.functionalidiot.com.dkim.fmhosted.com"
type = "CNAME"
ttl = local.dns_ttl
}

resource "cloudflare_record" "mx-10-root" {
depends_on = [
cloudflare_record.root,
cloudflare_record.splat ]
zone_id = var.cloudflare_functionalidiot_zoneid
name = "@"
value = "in1-smtp.messagingengine.com"
type = "MX"
priority = "10"
ttl = local.dns_ttl
}

resource "cloudflare_record" "mx-20-root" {
depends_on = [
cloudflare_record.root,
cloudflare_record.splat ]
zone_id = var.cloudflare_functionalidiot_zoneid
name = "@"
value = "in2-smtp.messagingengine.com"
type = "MX"
priority = "20"
ttl = local.dns_ttl
}

resource "cloudflare_record" "mx-10-splat" {
depends_on = [
cloudflare_record.root,
cloudflare_record.splat ]
zone_id = var.cloudflare_functionalidiot_zoneid
name = "*"
value = "in1-smtp.messagingengine.com"
type = "MX"
priority = "10"
ttl = local.dns_ttl
}

resource "cloudflare_record" "mx-20-splat" {
depends_on = [
cloudflare_record.root,
cloudflare_record.splat ]
zone_id = var.cloudflare_functionalidiot_zoneid
name = "*"
value = "in2-smtp.messagingengine.com"
type = "MX"
priority = "20"
ttl = local.dns_ttl
}

resource "cloudflare_record" "txt-mx-root" {
depends_on = [
cloudflare_record.root,
cloudflare_record.splat ]
zone_id = var.cloudflare_functionalidiot_zoneid
name = "@"
value = "v=spf1 include:spf.messagingengine.com ?all"
type = "TXT"
ttl = local.dns_ttl
}

resource "cloudflare_record" "txt-mx-splat" {
depends_on = [
cloudflare_record.root,
cloudflare_record.splat ]
zone_id = var.cloudflare_functionalidiot_zoneid
name = "*"
value = "v=spf1 include:spf.messagingengine.com ?all"
type = "TXT"
ttl = local.dns_ttl
}

resource "cloudflare_record" "functionalidiot_com_ns1" {
zone_id = var.cloudflare_functionalidiot_zoneid
name = "@"
value = "mitch.ns.cloudflare.com"
type = "NS"
}

resource "cloudflare_record" "functionalidiot_com_ns2" {
zone_id = var.cloudflare_functionalidiot_zoneid
name = "@"
value = "tegan.ns.cloudflare.com"
type = "NS"
}

resource "null_resource" "functionalidiot_com_setup_new_gitea" {
depends_on = [ null_resource.gitea_install ]
count = fileexists("${path.module}/attic/gitea.txz") ? 0 : 1


+ 3
- 3
post_setup.tf Ver arquivo

@@ -18,7 +18,7 @@ FIN
}

resource "null_resource" "nginx_install" {
depends_on = [ linode_instance.post_setup ]
depends_on = [ null_resource.post_setup ]
connection {
host = linode_instance.prod.ip_address
user = "root"
@@ -36,7 +36,7 @@ FIN
}

resource "null_resource" "uacme_install" {
depends_on = [ linode_instance.post_setup ]
depends_on = [ null_resource.post_setup ]
connection {
host = linode_instance.prod.ip_address
user = "root"
@@ -51,7 +51,7 @@ FIN
}

resource "null_resource" "gitea_install" {
depends_on = [ linode_instance.post_setup ]
depends_on = [ null_resource.post_setup ]
connection {
host = linode_instance.prod.ip_address
user = "root"


Carregando…
Cancelar
Salvar