.gitignore | ||
lpi.tf | ||
README.md | ||
terraform.tfvars.example | ||
variables.tf |
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"