From db27247dd7d7209ab93419eb33d2ecb21e74c1ec Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Thu, 1 Nov 2018 14:57:19 -0700 Subject: Move volume config to vps module --- terraform/main.tf | 8 +---- terraform/stdvps/main.tf | 94 ++++++++++++++++++++++++++++++++++++++++++++++++ terraform/volume/main.tf | 68 ----------------------------------- 3 files changed, 95 insertions(+), 75 deletions(-) delete mode 100644 terraform/volume/main.tf diff --git a/terraform/main.tf b/terraform/main.tf index 54ed333..b25598e 100755 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -22,7 +22,6 @@ provider "acme" { ################################################################################ -# Main ssh key resource "hcloud_ssh_key" "root" { name = "root" public_key = "${file("~/.ssh/id_rsa.pub")}" @@ -32,12 +31,7 @@ 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}" + volume_name = "master" } module "roles" { diff --git a/terraform/stdvps/main.tf b/terraform/stdvps/main.tf index 2328bb1..2e94f1d 100644 --- a/terraform/stdvps/main.tf +++ b/terraform/stdvps/main.tf @@ -6,6 +6,11 @@ variable "location" { type = "string" } +variable "volume_name" { + type = "string" + default = "" +} + resource "random_id" "server" { prefix = "peter-" byte_length = 2 @@ -33,6 +38,95 @@ resource "cloudflare_record" "record_aaaa" { type = "AAAA" } +resource "hcloud_volume" "master" { + count = "${var.volume_name == "" ? 0 : 1}" + name = "${var.volume_name}" + size = 50 + server_id = "${hcloud_server.server.id}" +} + +# volumes contain persistent storage and thus need to be initialized manually +resource "null_resource" "volume_mount" { + count = "${var.volume_name == "" ? 0 : 1}" + + triggers = { + server_id = "${hcloud_server.server.id}" + volume_id = "${hcloud_volume.master.id}" + } + + connection { + host = "${hcloud_server.server.ipv4_address}" + } + + provisioner "remote-exec" { + inline = ["mkdir -p /mnt/storage"] + } + + provisioner "file" { + content = <