This is a Terraform project to deploy DigitalOcean droplets for my LPI classes
Go to file
2018-10-20 13:19:59 +03:00
.gitignore Initial Commit 2018-10-20 13:18:34 +03:00
lpi.tf Initial Commit 2018-10-20 13:18:34 +03:00
README.md Corrected the source path 2018-10-20 13:19:59 +03:00
terraform.tfvars.example Initial Commit 2018-10-20 13:18:34 +03:00
variables.tf Initial Commit 2018-10-20 13:18:34 +03:00

Terraform setup for DigitalOcean

This is a teraform setup for my LPI Labs. The servers are deployed on DigitalOcean. The DNS is automatically updated with the server names.

Prerequisites

  • Install Terraform on your local host:
$ wget https://releases.hashicorp.com/terraform/0.11.7/terraform_0.11.7_linux_amd64.zip
$ unzip terraform_0.11.7_linux_amd64.zip
$ sudo cp terraform /usr/local/bin

Instructions

  • Get the repo
$ git clone https://git.theo-andreou.org/Personal/lpi-deploy-digitalocean.git
$ cd lpi-deploy-digitalocean
  • Copy the terraform.tfvars.example to terraform.tfvars and setup your settings:
do_token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
domain = "example.org"
count = 14

server_name = {
  "debian" = "lpi-deb"
  "centos" = "lpi-centos"
}

images = {
  "debian" = "debian-9-x64"
  "centos" = "centos-7-x64"
}

ssh_keys = [
    "xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx",
]

dns_server = "ns1.example.org"
dns_key_name = "control.ns1.example.org"
dns_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxx+xxxxxxxxxxxxxxxxxxxxx+xxx=="
  • Initialize your Terraform environment:
$ terraform init
  • Create a Terraform plan:
$ terraform plan -out lpi.plan
  • Apply the plan:
$ terraform apply "lpi.plan"

References