Added geoportal and uri-resolver projects. Updated generic_smartgears_service

This commit is contained in:
Francesco Mangiacrapa 2023-12-04 11:01:16 +01:00
parent f9c3c83c17
commit 4eb97e4542
13 changed files with 117 additions and 43 deletions

View File

@ -1 +0,0 @@
../../modules/common_variables/variables.tf

View File

@ -1,3 +1,28 @@
#The Geoportal Instance
variable "smartgears_service_instances_map" {
type = map(object({
name = string
description = string
flavor = string
networks = list(string)
security_groups = list(string)
block_device_uuid = string
}))
default = {
# Geoportal instance
geoportal_service = {
name = "geoportal-cms",
description = "The Geoportal instance",
flavor = "m1_large",
networks = ["d4s-dev-cloud-main", "postgresql-srv-net"],
security_groups = ["default", "http and https from the load balancers"]
block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV
}
}
}
#Default smartgears_service is EMPTY. Override it to create a proper smartegears plan
@ -57,42 +82,3 @@
# }
variable "smartgears_service_instances_map" {
type = map(object({
name = string
description = string
flavor = string
networks = list(string)
security_groups = list(string)
block_device_uuid = string
}))
default = {
geoportal_service = {
name = "geoportal-cms",
description = "The Geoportal instance",
flavor = "m1_large",
networks = ["d4s-dev-cloud-main", "postgresql-srv-net"],
security_groups = ["default", "http and https from the load balancers"]
block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV
},
# URI-Resolver instance 1
uri_resolver_service_i1 = {
name = "data",
description = "The data instance",
flavor = "m1.medium",
networks = ["d4s-dev-cloud-main"],
security_groups = ["default", "http and https from the load balancers"]
block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV
},
# URI-Resolver instance 2
uri_resolver_service_i2 = {
name = "data1",
description = "The data1 instance",
flavor = "m1.medium",
networks = ["d4s-dev-cloud-main"],
security_groups = ["default", "http and https from the load balancers"]
block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV
}
}
}

View File

@ -0,0 +1,24 @@
# This file is maintained automatically by "terraform init".
# Manual edits may be lost in future updates.
provider "registry.terraform.io/terraform-provider-openstack/openstack" {
version = "1.53.0"
constraints = "~> 1.53.0"
hashes = [
"h1:YLGvYkSuagyP5orUTyKNK+JhzS17EFTUDpZ5R5/fFv4=",
"zh:09da7ca98ffd3de7b9ce36c4c13446212a6e763ba1162be71b50f95d453cb68e",
"zh:14041bcbb87312411d88612056ed185650bfd01284b8ea0761ce8105a331708e",
"zh:35bf4c788fdbc17c8e40ebc7b33c7de4b45a2fa2efaa657b10f0e3bd37c9627f",
"zh:46ede8ef4cfa12d654c538afc1e1ec34a1f3e8eb4e986ee23dceae398b7176a6",
"zh:59675734990dab1e8d87997853ea75e8104bba730b3f5a7146ac735540c9d6bf",
"zh:6de52428849806498670e827b54810be7510a2a79449602c1aede4235a0ec036",
"zh:78b2a20601272afceffac8f8ca78a6b647b84196c0dd8dc710fae297f6be15a4",
"zh:7c41ed3a4fac09677e676ecf9f9edd1e38eef449e656cb01a848d2c799c6de8f",
"zh:852800228f4118a4aa6cfaa4468b851247cbed6f037fd204f08de69eb1edc149",
"zh:86d618e7f9a07d978b8bc4b190be350a00de64ec535f9c8f5dfe133542a55483",
"zh:963a9e72b66d8bcf43de9b14a674ae3ca3719ce2f829217f7a65b66fc3773397",
"zh:a8e72ab67795071bda61f99a6de3d2d40122fb51971768fd75e1324abe874ced",
"zh:ce1890cf3af17d569af3bc7673cec0a8f78e6f5d701767593f3d29c551f44848",
"zh:e6f1b96eb684f527a47f71923f268c86a36d7894751b31ee9e726d7502a639cd",
]
}

View File

@ -0,0 +1 @@
../../modules/generic_smartgears_service/generic_smartgears_service.tf

View File

@ -0,0 +1,33 @@
#The URI-Resolver instances
variable "smartgears_service_instances_map" {
type = map(object({
name = string
description = string
flavor = string
networks = list(string)
security_groups = list(string)
block_device_uuid = string
}))
default = {
# URI-Resolver instance 1
uri_resolver_service_i1 = {
name = "data",
description = "The data instance",
flavor = "m1.medium",
networks = ["d4s-dev-cloud-main"],
security_groups = ["default", "http and https from the load balancers"]
block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV
},
# URI-Resolver instance 2
uri_resolver_service_i2 = {
name = "data1",
description = "The data1 instance",
flavor = "m1.medium",
networks = ["d4s-dev-cloud-main"],
security_groups = ["default", "http and https from the load balancers"]
block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV
}
}
}

View File

@ -0,0 +1,19 @@
# Define required providers
terraform {
required_version = ">= 0.14.0"
required_providers {
openstack = {
source = "terraform-provider-openstack/openstack"
version = "~> 1.53.0"
}
}
}
data "terraform_remote_state" "privnet_dns_router" {
backend = "local"
config = {
path = "../project-setup/terraform.tfstate"
}
}

View File

@ -0,0 +1,3 @@
provider "openstack" {
cloud = "d4s-dev"
}

View File

@ -1,8 +1,17 @@
# Generic smartgears_service instance
module "ssh_settings" {
source = "../../modules/ssh-key-ref"
}
module "common_variables" {
source = "../../modules/common_variables"
}
resource "openstack_compute_instance_v2" "smartgears_service" {
for_each = var.smartgears_service_instances_map
name = each.value.name
availability_zone_hints = var.availability_zones_names.availability_zone_no_gpu
availability_zone_hints = module.common_variables.availability_zone_no_gpu_name
flavor_name = each.value.flavor
key_pair = module.ssh_settings.ssh_key_name
security_groups = each.value.security_groups
@ -22,6 +31,5 @@ resource "openstack_compute_instance_v2" "smartgears_service" {
}
}
user_data = file("${var.ubuntu1804_data_file}")
user_data = file("${module.common_variables.ubuntu1804_data_file}")
}

View File

@ -0,0 +1 @@
../common_variables/outputs.tf