Initial skeleton of setup. Ansible only runs a few initial tasks.

This commit is contained in:
2018-07-06 09:10:03 -04:00
parent 52622c83c9
commit 37f59db7b3
19 changed files with 505 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
{
"cloudflare": "4f6ed9f84cc8f74e6315e6f271d803d41f10fda43a92ea33416231710153576e",
"digitalocean": "ad8f159851bbdf8d2756d834742f11aa63da964024b7dae448f0c73128c17403"
}

16
terraform/cloudflare.tf Normal file
View File

@@ -0,0 +1,16 @@
variable "cloudflare_key" {}
# Configure the Cloudflare provider
provider "cloudflare" {
email = "jacob.wimer@gmail.com"
token = "${var.cloudflare_key}"
}
# Create a record
resource "cloudflare_record" "wimermedia-record" {
domain = "wimermedia.com"
name = "terraform"
# value = "${digitalocean_floating_ip.web.ip_address}"
value = "${digitalocean_droplet.web.ipv4_address}"
type = "A"
}

View File

@@ -0,0 +1,62 @@
variable "digitalocean_key" {}
variable "region" {
default = "nyc1"
}
variable "image" {
default = "ubuntu-16-04-x64"
}
variable "sql-size" {
default = "2gb"
}
variable "web-size" {
default = "2gb"
}
variable "home-ssh-key" {
default = "14:17:41:55:1e:be:39:31:3d:f7:99:75:36:fd:23:21"
}
# Configure the DigitalOcean Provider
provider "digitalocean" {
token = "${var.digitalocean_key}"
}
# Server tags
resource "digitalocean_tag" "web" {
name = "web"
}
resource "digitalocean_tag" "prod" {
name = "prod"
}
resource "digitalocean_tag" "sql" {
name = "sql"
}
# Create a web server
resource "digitalocean_droplet" "web" {
name = "wimermedia-web"
size = "${var.web-size}"
image = "${var.image}"
region = "${var.region}"
ipv6 = true
private_networking = true
ssh_keys = ["${var.home-ssh-key}"]
tags = ["${digitalocean_tag.web.id}","${digitalocean_tag.prod.id}"]
}
#resource "digitalocean_floating_ip" "web" {
# droplet_id = "${digitalocean_droplet.web.id}"
# region = "${digitalocean_droplet.web.region}"
#}
# Create a sql server
resource "digitalocean_droplet" "sql" {
name = "wimermedia-sql"
size = "${var.sql-size}"
image = "${var.image}"
region = "${var.region}"
ipv6 = true
private_networking = true
ssh_keys = ["${var.home-ssh-key}"]
tags = ["${digitalocean_tag.sql.id}","${digitalocean_tag.prod.id}"]
}

BIN
terraform/terraform Normal file

Binary file not shown.

View File

@@ -0,0 +1,16 @@
{
"version": 3,
"terraform_version": "0.11.7",
"serial": 42,
"lineage": "d59e7e92-bf26-2f82-51c5-3c96521dfe21",
"modules": [
{
"path": [
"root"
],
"outputs": {},
"resources": {},
"depends_on": []
}
]
}