terraform/examples/digitalocean/main.tf

45 lines
1.2 KiB
HCL

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"
private_key = "${file("~/.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}"
}