Hcloud With Terraform
Hetzner Cloud is an excellent cloud provider.
Here is a quick example of how to create a server on Hetzner Cloud using Terraform.
-
Install Terraform.
-
Install Terraform Plugin for hetzner cloud.
-
Generate new API token in the Hetzner Cloud Console.
-
Create terraform.tf with the following content:
variable "hcloud_token" {}
# Configure the Hetzner Cloud Provider
provider "hcloud" {
token = "${var.hcloud_token}"
}
# Main ssh key
resource "hcloud_ssh_key" "default" {
name = "main ssh key"
public_key = "${file("~/.ssh/id_rsa.pub")}"
}
resource "hcloud_server" "testnode1" {
name = "testnode1"
image = "ubuntu-16.04"
server_type = "cx11"
ssh_keys = ["${hcloud_ssh_key.default.name}"]
}
output "public_ip4" {
value = "${hcloud_server.testnode1.ipv4_address}"
}
- Create server by running:
export TF_VAR_hcloud_token=YOUR_SECRET_TOKEN
terraform init
terraform plan
terraform apply
- You can now log in into the server with command:
ssh root@$(terraform output public_ip4)
- When you are done, delete the server by running:
terraform destroy