jdormit-infra/mgmt/do-jeremydormitzer-com/terraform/main.tf

102 lines
2.9 KiB
HCL

provider "digitalocean" {
token = var.do_token
spaces_access_id = var.spaces_access_id
spaces_secret_key = var.spaces_secret_key
}
# This domain is registered via Google Domains, so the nameservers
# there need to point to DO's nameservers
resource "digitalocean_domain" "jeremydormitzer_com" {
name = "jeremydormitzer.com"
}
resource "digitalocean_record" "top_level_a" {
domain = digitalocean_domain.jeremydormitzer_com.name
type = "A"
name = "@"
value = "104.198.14.52" # Netlify load balancer
ttl = 3600
}
resource "digitalocean_record" "www" {
domain = digitalocean_domain.jeremydormitzer_com.name
type = "CNAME"
name = "www"
value = "keen-varahamihira-4f3922.netlify.app."
ttl = 3600
}
resource "digitalocean_record" "keybase_verification" {
domain = digitalocean_domain.jeremydormitzer_com.name
type = "TXT"
name = "@"
value = "\"keybase-site-verification=pF7Kp3dUfmTQHrf54uJht5O0aiTZjy1bRgpT4NGX8fk\""
ttl = 3600
}
resource "digitalocean_record" "git_mailgun_cname" {
domain = digitalocean_domain.jeremydormitzer_com.name
type = "CNAME"
name = "mail.mg.git"
value = "mailgun.org."
ttl = 3600
}
resource "digitalocean_record" "git" {
domain = digitalocean_domain.jeremydormitzer_com.name
type = "A"
name = "git"
value = data.terraform_remote_state.nginx.outputs.nginx_ip_address
ttl = 3600
}
resource "digitalocean_record" "git_mxa" {
domain = digitalocean_domain.jeremydormitzer_com.name
type = "MX"
name = "mg.git"
value = "mxa.mailgun.org."
priority = 10
ttl = 3600
}
resource "digitalocean_record" "git_mxb" {
domain = digitalocean_domain.jeremydormitzer_com.name
type = "MX"
name = "mg.git"
value = "mxb.mailgun.org."
priority = 10
ttl = 3600
}
resource "digitalocean_record" "git_txt" {
domain = digitalocean_domain.jeremydormitzer_com.name
type = "TXT"
name = "mx._domainkey.mg.git"
value = "\"k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpGHgB9oj3UdxdGUp9389PihevWCs+YKdkXv+C9DRv7nXY+L1bGjgqooIXwW9Bte5QC9lFpCN81NzK95gDYkX9rgo+huaeSw2B4slGBBWIBet4Wk6OafcQ2LsT9/VFUYeFyKD8AF4hV44CC5ZSWYVC6TiYCrNhEscQo9OYBhKicwIDAQAB\""
ttl = 3600
}
resource "digitalocean_record" "syncthing" {
domain = digitalocean_domain.jeremydormitzer_com.name
type = "A"
name = "syncthing"
value = data.terraform_remote_state.nginx.outputs.nginx_ip_address
ttl = 3600
}
resource "digitalocean_record" "wallabag" {
domain = digitalocean_domain.jeremydormitzer_com.name
type = "A"
name = "wallabag"
value = data.terraform_remote_state.nginx.outputs.nginx_ip_address
ttl = 3600
}
resource "digitalocean_record" "freshrss" {
domain = digitalocean_domain.jeremydormitzer_com.name
type = "A"
name = "rss"
value = data.terraform_remote_state.nginx.outputs.nginx_ip_address
ttl = 3600
}