summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alvarez <pedro.alvarez@codethink.co.uk>2021-08-16 15:50:31 +0200
committerPedro Alvarez <pedro.alvarez@codethink.co.uk>2021-08-16 15:50:31 +0200
commit6485974b116bafb979480fe97f248f1373c1451a (patch)
treee6dbfac37f042649a5f50892a4c93d760466a615
parent7472da7aa7ece624741dbc9190861f0882ef8705 (diff)
downloadinfrastructure-6485974b116bafb979480fe97f248f1373c1451a.tar.gz
Initial infra in terraform
-rw-r--r--terraform/infra.tf69
1 files changed, 69 insertions, 0 deletions
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,
+ ]
+ }
+
+}