summaryrefslogtreecommitdiff
path: root/terraform/infra.tf
blob: 67c6e2b8a090e7a99fc2bca787585210e713bd1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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,
    ]
  }

}