summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alvarez <pedro.alvarez@codethink.co.uk>2021-08-19 10:56:06 +0200
committerPedro Alvarez <pedro.alvarez@codethink.co.uk>2021-08-19 10:56:06 +0200
commit9357440eff48e1de8d5b70a9772f128035f171b7 (patch)
tree2d52196837f8fedb32280221af8a86a41a47adea
parent3de1c2dbf258fa2c42a861317990e5124c691222 (diff)
downloadinfrastructure-9357440eff48e1de8d5b70a9772f128035f171b7.tar.gz
Terraform ostree server
-rw-r--r--terraform/base.tf1
-rw-r--r--terraform/infra.tf53
2 files changed, 54 insertions, 0 deletions
diff --git a/terraform/base.tf b/terraform/base.tf
index 45599c73..54af2083 100644
--- a/terraform/base.tf
+++ b/terraform/base.tf
@@ -22,6 +22,7 @@ locals {
flavor_name_frontend = "1C-1GB-20GB"
flavor_name_webserver = "1C-2GB-20GB"
flavor_name_gbo = "4C-8GB"
+ flavor_name_ostree = "2C-4GB-20GB"
}
diff --git a/terraform/infra.tf b/terraform/infra.tf
index 5adf1818..9b5b7ccf 100644
--- a/terraform/infra.tf
+++ b/terraform/infra.tf
@@ -175,3 +175,56 @@ resource "openstack_compute_volume_attach_v2" "volume_attach_gbo" {
volume_id = "${openstack_blockstorage_volume_v2.volume_gbo.id}"
device = "/dev/vdb"
}
+
+# ostree
+
+data "openstack_compute_flavor_v2" "flavor_ostree" {
+ name = local.flavor_name_ostree
+}
+
+resource "openstack_networking_port_v2" "ostree_port" {
+ name = "ostree_port"
+ network_id = "${openstack_networking_network_v2.baserock_network.id}"
+ admin_state_up = "true"
+
+ fixed_ip {
+ subnet_id = "${openstack_networking_subnet_v2.baserock_subnet.id}"
+ ip_address = "10.3.0.12"
+ }
+}
+
+resource "openstack_compute_instance_v2" "baserock_ostree" {
+ name = "ostree"
+ image_id = data.openstack_images_image_v2.image_id.id
+ flavor_id = data.openstack_compute_flavor_v2.flavor_ostree.id
+ key_pair = "${openstack_compute_keypair_v2.pedro-keypair.name}"
+
+ security_groups = [
+ "${openstack_networking_secgroup_v2.sg_base.name}",
+ "${openstack_networking_secgroup_v2.sg_web_server.name}",
+ "${openstack_networking_secgroup_v2.sg_shared_artifact_cache.name}",
+ ]
+ network {
+ port = "${openstack_networking_port_v2.ostree_port.id}"
+ }
+
+ lifecycle {
+ ignore_changes = [
+ # Ignore changes to base image
+ image_id,
+ # Ignore changes to key_pairs
+ key_pair,
+ ]
+ }
+}
+
+resource "openstack_blockstorage_volume_v2" "volume_ostree" {
+ name = "ostree-volume"
+ size = 100
+}
+
+resource "openstack_compute_volume_attach_v2" "volume_attach_ostree" {
+ instance_id = "${openstack_compute_instance_v2.baserock_ostree.id}"
+ volume_id = "${openstack_blockstorage_volume_v2.volume_ostree.id}"
+ device = "/dev/vdb"
+}