Initial skeleton of setup. Ansible only runs a few initial tasks.
This commit is contained in:
4
terraform/.terraform/plugins/linux_amd64/lock.json
Normal file
4
terraform/.terraform/plugins/linux_amd64/lock.json
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"cloudflare": "4f6ed9f84cc8f74e6315e6f271d803d41f10fda43a92ea33416231710153576e",
|
||||
"digitalocean": "ad8f159851bbdf8d2756d834742f11aa63da964024b7dae448f0c73128c17403"
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
16
terraform/cloudflare.tf
Normal file
16
terraform/cloudflare.tf
Normal 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"
|
||||
}
|
||||
62
terraform/digital-ocean.tf
Normal file
62
terraform/digital-ocean.tf
Normal 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
BIN
terraform/terraform
Normal file
Binary file not shown.
16
terraform/terraform.tfstate
Normal file
16
terraform/terraform.tfstate
Normal 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": []
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user