From 4d7a93c535ceeb720dc1873bfa61531099b611cb Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Mon, 22 Oct 2018 04:02:44 -0700 Subject: Initial commit --- terraform/main.tf | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 terraform/main.tf (limited to 'terraform/main.tf') diff --git a/terraform/main.tf b/terraform/main.tf new file mode 100644 index 0000000..8a5e599 --- /dev/null +++ b/terraform/main.tf @@ -0,0 +1,57 @@ +variable "secret_hcloud_token" { + type = "string" +} + +variable "secret_cloudflare_token" { + type = "string" +} + +provider "hcloud" { + token = "${var.secret_hcloud_token}" +} + +provider "cloudflare" { + email = "jakob@odersky.com" + token = "${var.secret_cloudflare_token}" +} + +provider "acme" { + #server_url = "https://acme-staging-v02.api.letsencrypt.org/directory" + server_url = "https://acme-v02.api.letsencrypt.org/directory" +} + +################################################################################ + +# Main ssh key +resource "hcloud_ssh_key" "root" { + name = "root" + public_key = "${file("~/.ssh/id_rsa.pub")}" +} + +module "vps" { + source = "./stdvps" + location = "nbg1" + ssh_key_name = "${hcloud_ssh_key.root.name}" +} + +module "volume" { + source = "./volume" + server_id = "${module.vps.id}" + server_fqdn = "${module.vps.fqdn}" +} + +module "roles" { + source = "./role" + secret_cloudflare_token = "${var.secret_cloudflare_token}" + host = "${module.vps.fqdn}" + id = "${module.volume.server_id}" + roles = ["ip", "git"] +} + +output "vps_address" { + value = "${module.vps.fqdn}" +} + +output "vps_roles" { + value = "${join(" ", module.roles.roles)}" +} -- cgit v1.2.3