Browse Source

Setup for monkeybox.org

Fred Damstra [io2] 3 years ago
commit
e070981af0
5 changed files with 200 additions and 0 deletions
  1. 4 0
      .gitignore
  2. 21 0
      .terraform.lock.hcl
  3. 36 0
      monkeybox.org.tf
  4. 14 0
      provider.tf
  5. 125 0
      terraform.tfstate

+ 4 - 0
.gitignore

@@ -0,0 +1,4 @@
+.terraform/
+terraform.tfstate.backup
+.~*
+*.bak

+ 21 - 0
.terraform.lock.hcl

@@ -0,0 +1,21 @@
+# This file is maintained automatically by "terraform init".
+# Manual edits may be lost in future updates.
+
+provider "registry.terraform.io/hashicorp/aws" {
+  version     = "3.74.0"
+  constraints = "~> 3.0"
+  hashes = [
+    "h1:OHMNDk0ak81oezS5Czsu+hTmuiYKUiF4/iLjLhNSiFE=",
+    "zh:00767509c13c0d1c7ad6af702c6942e6572aa6d529b40a00baacc0e73faafea2",
+    "zh:03aafdc903ad49c2eda03889f927f44212674c50e475a9c6298850381319eec2",
+    "zh:2de8a6a97b180f909d652f215125aa4683e99db15fcf3b28d62e3d542f875ed6",
+    "zh:3ac29ebc3af99028f4230a79f56606a0c2954b68767bd749b921a76eb4f3bd30",
+    "zh:50add2e2d118a15a644360eabc5a34cec59f2560b491f8fabf9c52ab83ca7b09",
+    "zh:85dd8e81910ab79f841a4a595fdd8ac358fbfe460956144afb0be3d81f91fe10",
+    "zh:895de83d0f0941fde31bfc53fa6b1ea276901f006bec221bbdee4771a04f3693",
+    "zh:a15c9724aac52d1ba5001d2d83e42843099b52b1638ea29d84e20be0f45fa4f1",
+    "zh:c982a64463bd73e9bff2589de214b1de0a571438d9015001f9eae45cfc3a2559",
+    "zh:e9ef973c18078324e43213ea1252c12b9441e566bf054ddfdbff5dd62f3035d9",
+    "zh:f297e705b0f339c8baa27ae70db5df9aa6578adfe1ea3d2ba8edc186512464eb",
+  ]
+}

+ 36 - 0
monkeybox.org.tf

@@ -0,0 +1,36 @@
+# Assumes the zone already exists; 
+data "aws_route53_zone" "monkeybox" {
+  name         = "monkeybox.org"
+  private_zone = false
+}
+
+resource "aws_route53_record" "mx" {
+  zone_id = data.aws_route53_zone.monkeybox.id
+  name    = ""
+  type    = "MX"
+  ttl     = "300"
+  records = [
+    "10 mx1.forwardemail.net",
+    "10 mx2.forwardemail.net",
+  ]
+}
+
+# Must delete the existing TXT records first
+resource "aws_route53_record" "email-addresses" {
+  zone_id = data.aws_route53_zone.monkeybox.id
+  name = ""
+  type = "TXT"
+  ttl  = "300"
+  records = [
+    "v=spf1 a mx include:spf.forwardemail.net include:_spf.google.com -all",
+    "keybase-site-verification=J7aRzsHEZZLz98HqE2plp7gBxZdpLZN2KRyj4euUu8s",
+    "forward-email=fred:fred.damstra@gmail.com",
+    "forward-email=abuse:fred.damstra@gmail.com",
+    "forward-email=postmaster:fred.damstra@gmail.com",
+    "forward-email=bestbuy:fred.damstra@gmail.com",
+    "forward-email=kirstin:kirstin.damstra@gmail.com",
+    "forward-email=bills:fred.damstra@gmail.com,bills:kirstin.damstra@gmail.com",
+    "forward-email=consumers:fred.damstra@gmail.com,consumers:kirstin.damstra@gmail.com",
+    "forward-email=dteenergy:fred.damstra@gmail.com,dteenergy:kirstin.damstra@gmail.com",
+  ]
+}

+ 14 - 0
provider.tf

@@ -0,0 +1,14 @@
+terraform {
+  required_providers {
+    aws = {
+      source  = "hashicorp/aws"
+      version = "~> 3.0"
+    }
+  }
+}
+
+# Configure the AWS Provider
+provider "aws" {
+  profile = "default" # should match ~/.aws/config
+  region = "us-east-2"
+}

+ 125 - 0
terraform.tfstate

@@ -0,0 +1,125 @@
+{
+  "version": 4,
+  "terraform_version": "1.1.4",
+  "serial": 11,
+  "lineage": "71a7e1ab-4584-ec3d-6e92-32daae4505a4",
+  "outputs": {},
+  "resources": [
+    {
+      "mode": "data",
+      "type": "aws_route53_zone",
+      "name": "monkeybox",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 0,
+          "attributes": {
+            "arn": "arn:aws:route53:::hostedzone/Z49JKEQC08KW8",
+            "caller_reference": "0C30746A-6DD0-48E1-833E-5786CDFE5F5F",
+            "comment": "",
+            "id": "Z49JKEQC08KW8",
+            "linked_service_description": null,
+            "linked_service_principal": null,
+            "name": "monkeybox.org",
+            "name_servers": [
+              "ns-384.awsdns-48.com",
+              "ns-672.awsdns-20.net",
+              "ns-1025.awsdns-00.org",
+              "ns-1898.awsdns-45.co.uk"
+            ],
+            "private_zone": false,
+            "resource_record_set_count": 30,
+            "tags": {
+              "project": "monkeybox.org"
+            },
+            "vpc_id": null,
+            "zone_id": "Z49JKEQC08KW8"
+          },
+          "sensitive_attributes": []
+        }
+      ]
+    },
+    {
+      "mode": "managed",
+      "type": "aws_route53_record",
+      "name": "email-addresses",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 2,
+          "attributes": {
+            "alias": [],
+            "allow_overwrite": null,
+            "failover_routing_policy": [],
+            "fqdn": "monkeybox.org",
+            "geolocation_routing_policy": [],
+            "health_check_id": null,
+            "id": "Z49JKEQC08KW8__TXT",
+            "latency_routing_policy": [],
+            "multivalue_answer_routing_policy": null,
+            "name": "",
+            "records": [
+              "forward-email=abuse:fred.damstra@gmail.com",
+              "forward-email=bestbuy:fred.damstra@gmail.com",
+              "forward-email=bills:fred.damstra@gmail.com,bills:kirstin.damstra@gmail.com",
+              "forward-email=consumers:fred.damstra@gmail.com,consumers:kirstin.damstra@gmail.com",
+              "forward-email=dteenergy:fred.damstra@gmail.com,dteenergy:kirstin.damstra@gmail.com",
+              "forward-email=fred:fred.damstra@gmail.com",
+              "forward-email=kirstin:kirstin.damstra@gmail.com",
+              "forward-email=postmaster:fred.damstra@gmail.com",
+              "keybase-site-verification=J7aRzsHEZZLz98HqE2plp7gBxZdpLZN2KRyj4euUu8s",
+              "v=spf1 a mx include:spf.forwardemail.net include:_spf.google.com -all"
+            ],
+            "set_identifier": null,
+            "ttl": 300,
+            "type": "TXT",
+            "weighted_routing_policy": [],
+            "zone_id": "Z49JKEQC08KW8"
+          },
+          "sensitive_attributes": [],
+          "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjIifQ==",
+          "dependencies": [
+            "data.aws_route53_zone.monkeybox"
+          ]
+        }
+      ]
+    },
+    {
+      "mode": "managed",
+      "type": "aws_route53_record",
+      "name": "mx",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 2,
+          "attributes": {
+            "alias": [],
+            "allow_overwrite": null,
+            "failover_routing_policy": [],
+            "fqdn": "monkeybox.org",
+            "geolocation_routing_policy": [],
+            "health_check_id": null,
+            "id": "Z49JKEQC08KW8__MX",
+            "latency_routing_policy": [],
+            "multivalue_answer_routing_policy": null,
+            "name": "",
+            "records": [
+              "10 mx1.forwardemail.net",
+              "10 mx2.forwardemail.net"
+            ],
+            "set_identifier": null,
+            "ttl": 300,
+            "type": "MX",
+            "weighted_routing_policy": [],
+            "zone_id": "Z49JKEQC08KW8"
+          },
+          "sensitive_attributes": [],
+          "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjIifQ==",
+          "dependencies": [
+            "data.aws_route53_zone.monkeybox"
+          ]
+        }
+      ]
+    }
+  ]
+}