Digital Ocean Example.
* Added Readme for this example. * Base Terraform Digital Ocean Files * Update Readme to read better * Changes to be committed: modified: README.md
This commit is contained in:
parent
fe6fff3a20
commit
465a838f91
|
@ -0,0 +1,15 @@
|
||||||
|
# Digital Ocean Droplet launch and setting the Domain records at Digital ocean.
|
||||||
|
|
||||||
|
The example launches a Ubuntu 14.04, runs apt-get update and installs nginx. Also demostrates how to create DNS records under Domains at DigitalOcean.
|
||||||
|
|
||||||
|
To run, configure your Digital Ocean provider as described in https://www.terraform.io/docs/providers/digitalocean/index.html
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
You need to export you DigitalOcean API Token as an environment variable
|
||||||
|
|
||||||
|
export DIGITALOCEAN_TOKEN="Put Your Token Here"
|
||||||
|
|
||||||
|
## Run this example using:
|
||||||
|
|
||||||
|
terraform plan
|
||||||
|
terraform apply
|
|
@ -0,0 +1,43 @@
|
||||||
|
provider "digitalocean" {
|
||||||
|
# You need to set this in your .bashrc
|
||||||
|
# export DIGITALOCEAN_TOKEN="Your API TOKEN"
|
||||||
|
#
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "digitalocean_droplet" "mywebserver" {
|
||||||
|
# Obtain your ssh_key id number via your account. See Document https://developers.digitalocean.com/documentation/v2/#list-all-keys
|
||||||
|
ssh_keys=[12345678] # Key example
|
||||||
|
image = "${var.ubuntu}"
|
||||||
|
region = "${var.do_ams3}"
|
||||||
|
size = "512mb"
|
||||||
|
private_networking = true
|
||||||
|
backups = true
|
||||||
|
ipv6 = true
|
||||||
|
name = "mywebserver-ams3"
|
||||||
|
|
||||||
|
provisioner "remote-exec" {
|
||||||
|
inline = [
|
||||||
|
"export PATh=$PATH:/usr/bin",
|
||||||
|
"sudo apt-get update",
|
||||||
|
"sudo apt-get -y install nginx"
|
||||||
|
]
|
||||||
|
connection {
|
||||||
|
type = "ssh"
|
||||||
|
key_file = "file(${HOME}/.ssh/id_rsa)"
|
||||||
|
user = "root"
|
||||||
|
timeout = "2m"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "digitalocean_domain" "mywebserver" {
|
||||||
|
name = "www.mywebserver.com"
|
||||||
|
ip_address = "${digitalocean_droplet.mywebserver.ipv4_address}"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "digitalocean_record" "mywebserver" {
|
||||||
|
domain = "${digitalocean_domain.mywebserver.name}"
|
||||||
|
type = "A"
|
||||||
|
name = "mywebserver"
|
||||||
|
value = "${digitalocean_droplet.mywebserver.ipv4_address}"
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
output "Public ip" {
|
||||||
|
value = "${digitalocean_droplet.mywebserver.ipv4_address}"
|
||||||
|
}
|
||||||
|
|
||||||
|
output "Name" {
|
||||||
|
value = "${digitalocean_droplet.mywebserver.name}"
|
||||||
|
}
|
|
@ -0,0 +1,71 @@
|
||||||
|
# ####
|
||||||
|
# Current Availiable Datacenter Regions
|
||||||
|
# As of 05-07-2016
|
||||||
|
#
|
||||||
|
|
||||||
|
variable "do_ams2" {
|
||||||
|
description = "Digital Ocean Amsterdam Data Center 2"
|
||||||
|
default = "ams2"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "do_ams3" {
|
||||||
|
description = "Digital Ocean Amsterdam Data Center 3"
|
||||||
|
default = "ams3"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "do_fra1" {
|
||||||
|
description = "Digital Ocean Frankfurt Data Center 1"
|
||||||
|
default = "fra1"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "do_lon1" {
|
||||||
|
description = "Digital Ocean London Data Center 1"
|
||||||
|
default = "lon1"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "do_nyc1" {
|
||||||
|
description = "Digital Ocean New York Data Center 1"
|
||||||
|
default = "nyc1"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "do_nyc2" {
|
||||||
|
description = "Digital Ocean New York Data Center 2"
|
||||||
|
default = "nyc2"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "do_nyc3" {
|
||||||
|
description = "Digital Ocean New York Data Center 3"
|
||||||
|
default = "nyc3"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "do_sfo1" {
|
||||||
|
description = "Digital Ocean San Francisco Data Center 1"
|
||||||
|
default = "sfo1"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "do_sgp1" {
|
||||||
|
description = "Digital Ocean Singapore Data Center 1"
|
||||||
|
default = "sgp1"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "do_tor1" {
|
||||||
|
description = "Digital Ocean Toronto Datacenter 1"
|
||||||
|
default = "tor1"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Default Os
|
||||||
|
|
||||||
|
variable "ubuntu" {
|
||||||
|
description = "Default LTS"
|
||||||
|
default = "ubuntu-14-04-x64"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "centos" {
|
||||||
|
description = "Default Centos"
|
||||||
|
default = "centos-72-x64"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "coreos" {
|
||||||
|
description = "Defaut Coreos"
|
||||||
|
default = "coreos-899.17.0"
|
||||||
|
}
|
Loading…
Reference in New Issue