From 6485974b116bafb979480fe97f248f1373c1451a Mon Sep 17 00:00:00 2001 From: Pedro Alvarez Date: Mon, 16 Aug 2021 15:50:31 +0200 Subject: Initial infra in terraform --- terraform/infra.tf | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 terraform/infra.tf diff --git a/terraform/infra.tf b/terraform/infra.tf new file mode 100644 index 00000000..67c6e2b8 --- /dev/null +++ b/terraform/infra.tf @@ -0,0 +1,69 @@ +# Define required providers +terraform { +required_version = ">= 0.14.0" + required_providers { + openstack = { + source = "terraform-provider-openstack/openstack" + version = "~> 1.35.0" + } + } +} + +# Configure the OpenStack Provider +provider "openstack" { + auth_url = "https://fra1.citycloud.com:5000" +} + + + +data "openstack_images_image_v2" "ubuntu" { + name = "Ubuntu 20.04 Focal Fossa 20210616" + most_recent = true + + properties = { + key = "value" + } +} + +locals { + username = "cloud" + image_name = "Ubuntu 20.04 Focal Fossa 20210616" + name_prefix = "bazel-poc" + flavor_name_frontend = "1C-2GB-20GB" +} + + +data "openstack_compute_flavor_v2" "flavor_frontend" { + name = local.flavor_name_frontend +} + +data "openstack_images_image_v2" "image_id" { + name = local.image_name + most_recent = true +} + +# Create keypairs +resource "openstack_compute_keypair_v2" "pedro-keypair" { + name = "pedro-alvarez_latty" + public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDrfYhQAgqiwtcl37TfBR7N5Fq7ze17Cn4UUbz/Nuby/9qfypUp5Ir2x0P1otbQfozwWBOwmKCFRQMs+fZXFpWsvshNcmaw+rMI8wP1Bx2cqSuPusLPEYbvRbnfGo/E7aj/GvpSKRlBCGF3tORzGAmQsogUUXXcXP7PKIkPB3Jo04K8IeuSoRGd8cGfUWA6dcx9YuZHeJ3o/RzpV8UvU3Ge50mLf05cbrS2LlXgnG2PGbuBX5l87O6u3KUXq5zoafd0AtpSelNcVfAjpwdPokyuR1pXn+3q2w+l7ExmIAjwJV+QJeSSRMRfiHbk/+D3vYUlnqoarB0UrsTb2mY2tAPD" +} + +# Create instance +resource "openstack_compute_instance_v2" "baserock_frontend" { + name = "frontend-haproxy" + image_id = data.openstack_images_image_v2.image_id.id + flavor_id = data.openstack_compute_flavor_v2.flavor_frontend.id + key_pair = "${openstack_compute_keypair_v2.pedro-keypair.name}" + + lifecycle { + ignore_changes = [ + # Ignore changes to base image + image_id, + # Ignore changes to flavor changes + flavor_id, + # Ignore changes to key_pairs + key_pair, + ] + } + +} -- cgit v1.2.1