Compare commits
2 Commits
Author | SHA1 | Date |
---|---|---|
Mauro Mugnaini | 5d9909b813 | |
Mauro Mugnaini | 2a2cea1da6 |
|
@ -1,7 +1,6 @@
|
|||
# ---> Terraform
|
||||
# Local .terraform directories
|
||||
**/.terraform/*
|
||||
**/.terraform.lock.hcl
|
||||
|
||||
# .tfstate files
|
||||
# *.tfstate
|
||||
|
|
|
@ -1,76 +0,0 @@
|
|||
# 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"
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# Uses common_variables as module
|
||||
#
|
||||
module "common_variables" {
|
||||
source = "../../modules/common_variables"
|
||||
}
|
||||
|
||||
locals {
|
||||
cname_target = "swarm-lb.${data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name}"
|
||||
}
|
||||
|
||||
#
|
||||
# We only manage the DNS records, for the services behind HAProxy
|
||||
#
|
||||
module "dns_records_create" {
|
||||
source = "../../modules/dns_resources"
|
||||
|
||||
dns_resources_map = {
|
||||
|
||||
vremodeler-dev = {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = join(".", ["vremodeler", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
description = "Vremodeler dev"
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
}
|
||||
|
||||
netme-sobigdata = {
|
||||
name = join(".", ["netme-sobigdata", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
records = [local.cname_target]
|
||||
type = "CNAME"
|
||||
description = "SoBigData NetMe service"
|
||||
ttl = 8600
|
||||
}
|
||||
|
||||
ontotagme-sobigdata = {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = join(".", ["ontotagme-sobigdata", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
description = "SoBigData OntoTagme service"
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
}
|
||||
|
||||
shinyproxy-dev = {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = join(".", ["shinyproxy", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
description = "Shinyproxy DEV instance"
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
provider "openstack" {
|
||||
cloud = "d4s-dev"
|
||||
}
|
|
@ -1,507 +0,0 @@
|
|||
{
|
||||
"version": 4,
|
||||
"terraform_version": "1.7.5",
|
||||
"serial": 10,
|
||||
"lineage": "ab6b1d6a-298d-8238-5cb5-61ea6b858172",
|
||||
"outputs": {},
|
||||
"resources": [
|
||||
{
|
||||
"mode": "data",
|
||||
"type": "terraform_remote_state",
|
||||
"name": "privnet_dns_router",
|
||||
"provider": "provider[\"terraform.io/builtin/terraform\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"backend": "local",
|
||||
"config": {
|
||||
"value": {
|
||||
"path": "../project-setup/terraform.tfstate"
|
||||
},
|
||||
"type": [
|
||||
"object",
|
||||
{
|
||||
"path": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"defaults": null,
|
||||
"outputs": {
|
||||
"value": {
|
||||
"almalinux_9": {
|
||||
"name": "AlmaLinux-9.0-20220718",
|
||||
"uuid": "541650fc-dd19-4f38-bb1d-7333ed9dd688"
|
||||
},
|
||||
"availability_zone_no_gpu_name": "cnr-isti-nova-a",
|
||||
"availability_zone_with_gpu_name": "cnr-isti-nova-gpu-a",
|
||||
"availability_zones_names": {
|
||||
"availability_zone_no_gpu": "cnr-isti-nova-a",
|
||||
"availability_zone_with_gpu": "cnr-isti-nova-gpu-a"
|
||||
},
|
||||
"basic_services_ip": {
|
||||
"ca": "10.1.29.247",
|
||||
"ca_cidr": "10.1.29.247/32",
|
||||
"haproxy_l7_1": "10.1.28.50",
|
||||
"haproxy_l7_1_cidr": "10.1.28.50/32",
|
||||
"haproxy_l7_2": "10.1.30.241",
|
||||
"haproxy_l7_2_cidr": "10.1.30.241/32",
|
||||
"octavia_main": "10.1.28.227",
|
||||
"octavia_main_cidr": "10.1.28.227/32",
|
||||
"prometheus": "10.1.30.129",
|
||||
"prometheus_cidr": "10.1.30.129/32",
|
||||
"ssh_jump": "10.1.29.164",
|
||||
"ssh_jump_cidr": "10.1.29.164/32"
|
||||
},
|
||||
"centos_7": {
|
||||
"name": "CentOS-7",
|
||||
"uuid": "f0187a99-64f6-462a-ab5f-ef52fe62f2ca"
|
||||
},
|
||||
"default_security_group_name": "default",
|
||||
"dns_zone": {
|
||||
"description": "DNS primary zone for the d4s-dev-cloud project",
|
||||
"email": "postmaster@isti.cnr.it",
|
||||
"ttl": "8600",
|
||||
"zone_name": "cloud-dev.d4science.org."
|
||||
},
|
||||
"dns_zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488",
|
||||
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||
"external_gateway_ip": [
|
||||
{
|
||||
"ip_address": "146.48.31.109",
|
||||
"subnet_id": "57f87509-4016-46fb-b8c3-25fca7f72ccb"
|
||||
}
|
||||
],
|
||||
"external_network": {
|
||||
"id": "1d2ff137-6ff7-4017-be2b-0d6c4af2353b",
|
||||
"name": "external-network"
|
||||
},
|
||||
"external_network_id": "1d2ff137-6ff7-4017-be2b-0d6c4af2353b",
|
||||
"external_router": {
|
||||
"description": "D4Science DEV main router",
|
||||
"id": "2ae28c5f-036b-45db-bc9f-5bab8fa3e914",
|
||||
"name": "d4s-dev-cloud-external-router"
|
||||
},
|
||||
"flavor_list": {
|
||||
"c1_large": "c1.large",
|
||||
"c1_medium": "c1.medium",
|
||||
"c1_small": "c1.small",
|
||||
"c2_large": "c2.large",
|
||||
"m1_large": "m1.large",
|
||||
"m1_medium": "m1.medium",
|
||||
"m1_xlarge": "m1.xlarge",
|
||||
"m1_xxl": "m1.xxl",
|
||||
"m2_large": "m2.large",
|
||||
"m2_medium": "m2.medium",
|
||||
"m2_small": "m2.small",
|
||||
"m3_large": "m3.large"
|
||||
},
|
||||
"floating_ip_pools": {
|
||||
"main_public_ip_pool": "external-network"
|
||||
},
|
||||
"haproxy_l7_data": {
|
||||
"flavor": "m1.medium",
|
||||
"haproxy_1": "haproxy-l7-1",
|
||||
"haproxy_2": "haproxy-l7-2",
|
||||
"name": "main-haproxy-l7",
|
||||
"vm_count": "2"
|
||||
},
|
||||
"internal_ca_data": {
|
||||
"flavor": "m1.small",
|
||||
"name": "ca"
|
||||
},
|
||||
"main_haproxy_l7_ip": [
|
||||
"10.1.28.50",
|
||||
"10.1.30.241"
|
||||
],
|
||||
"main_private_network": {
|
||||
"description": "D4Science DEV private network (use this as the main network)",
|
||||
"name": "d4s-dev-cloud-main"
|
||||
},
|
||||
"main_private_network_id": "e0af5eba-f24a-4d0d-8184-bc654b980c4a",
|
||||
"main_private_subnet": {
|
||||
"allocation_end": "10.1.31.254",
|
||||
"allocation_start": "10.1.28.30",
|
||||
"cidr": "10.1.28.0/22",
|
||||
"description": "D4Science DEV main private subnet",
|
||||
"gateway_ip": "10.1.28.1",
|
||||
"name": "d4s-dev-cloud-sub"
|
||||
},
|
||||
"main_region": "isti_area_pi_1",
|
||||
"main_subnet_network_id": "2aa977f2-80b4-447c-a6b0-dfa06bf68751",
|
||||
"mtu_size": 8942,
|
||||
"networks_list": {
|
||||
"cassandra": "cassandra-net",
|
||||
"orientdb": "orientdb-net",
|
||||
"orientdb_se": "orientdb-se-net",
|
||||
"shared_postgresql": "postgresql-srv-net",
|
||||
"swarm": "swarm-nfs-net",
|
||||
"timescaledb": "timescaledb-net"
|
||||
},
|
||||
"networks_with_d4s_services": {
|
||||
"garr_ct1_net": "90.147.166.0/23",
|
||||
"garr_na_net": "90.147.152.0/24",
|
||||
"garr_pa1_net": "90.147.188.0/23",
|
||||
"infrascience_net": "146.48.122.0/23",
|
||||
"isti_net": "146.48.80.0/21",
|
||||
"s2i2s_net": "146.48.28.0/22"
|
||||
},
|
||||
"nfs_share_no_ingress_secgroup_id": "5887da8d-e362-4509-93ac-8a70bf8baef9",
|
||||
"octavia_information": {
|
||||
"main_lb_description": "Main L4 load balancer for the D4Science DEV",
|
||||
"main_lb_hostname": "main-lb",
|
||||
"main_lb_name": "lb-dev-l4",
|
||||
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7"
|
||||
},
|
||||
"os_project_data": {
|
||||
"id": "e8f8ca72f30648a8b389b4e745ac83a9"
|
||||
},
|
||||
"policy_list": {
|
||||
"affinity": "affinity",
|
||||
"anti_affinity": "anti-affinity",
|
||||
"soft_affinity": "soft-affinity",
|
||||
"soft_anti_affinity": "soft-anti-affinity"
|
||||
},
|
||||
"prometheus_server_data": {
|
||||
"flavor": "m1.medium",
|
||||
"name": "prometheus",
|
||||
"public_grafana_server_cidr": "146.48.28.103/32",
|
||||
"vol_data_device": "/dev/vdb",
|
||||
"vol_data_name": "prometheus-data",
|
||||
"vol_data_size": "100"
|
||||
},
|
||||
"resolvers_ip": [
|
||||
"146.48.29.97",
|
||||
"146.48.29.98",
|
||||
"146.48.29.99"
|
||||
],
|
||||
"resource_registry_addresses": {},
|
||||
"security_group_list": {
|
||||
"acaland": "acaland's dev machine",
|
||||
"access_to_orientdb": "access_to_orientdb",
|
||||
"access_to_orientdb_se": "access_to_orientdb_se",
|
||||
"access_to_the_timescaledb_service": "access_to_the_timescaledb_service",
|
||||
"cassandra": "Cassandra",
|
||||
"dataminer-publish": "dataminer-publish",
|
||||
"debugging_from_jump_node": "debugging_from_jump_node",
|
||||
"default": "default",
|
||||
"docker_swarm": "Docker Swarm",
|
||||
"docker_swarm_NFS": "Docker Swarm NFS",
|
||||
"haproxy": "traffic_from_main_lb_to_haproxy_l7",
|
||||
"http_and_https_from_the_load_balancers": "traffic_from_the_main_load_balancers",
|
||||
"limited_HTTPS_access": "restricted_web_service",
|
||||
"limited_SSH_access": "Limited SSH access",
|
||||
"mongo": "mongo",
|
||||
"nfs_share_no_ingress": "nfs_share_no_ingress",
|
||||
"orientdb_internal_docker_traffic": "orientdb_internal_docker_traffic",
|
||||
"postgreSQL": "PostgreSQL service",
|
||||
"public_HTTPS": "Public HTTPS"
|
||||
},
|
||||
"shared_postgresql_server_data": {
|
||||
"allocation_pool_end": "192.168.3.254",
|
||||
"allocation_pool_start": "192.168.0.100",
|
||||
"flavor": "m1.medium",
|
||||
"name": "shared-postgresql-server",
|
||||
"network_cidr": "192.168.0.0/22",
|
||||
"network_description": "Network used to communicate with the shared postgresql service",
|
||||
"network_name": "postgresql-srv-net",
|
||||
"server_cidr": "192.168.0.5/22",
|
||||
"server_ip": "192.168.0.5",
|
||||
"vol_data_device": "/dev/vdb",
|
||||
"vol_data_name": "shared-postgresql-data",
|
||||
"vol_data_size": "100"
|
||||
},
|
||||
"smartexecutor_addresses": {},
|
||||
"ssh_jump_proxy": {
|
||||
"flavor": "m2.small",
|
||||
"name": "ssh-jump-proxy"
|
||||
},
|
||||
"ssh_sources": {
|
||||
"d4s_vpn_1_cidr": "146.48.122.27/32",
|
||||
"d4s_vpn_2_cidr": "146.48.122.49/32",
|
||||
"infrascience_net_cidr": "146.48.122.0/23",
|
||||
"s2i2s_vpn_1_cidr": "146.48.28.10/32",
|
||||
"s2i2s_vpn_2_cidr": "146.48.28.11/32",
|
||||
"shell_d4s_cidr": "146.48.122.95/32"
|
||||
},
|
||||
"storage_nfs_network_id": "5f4023cc-4016-404c-94e5-86220095fbaf",
|
||||
"storage_nfs_subnet_id": "6ff0f9e8-0e74-4cc3-a268-7ed4af435696",
|
||||
"ubuntu1804_data_file": "../../openstack_vm_data_scripts/ubuntu1804.sh",
|
||||
"ubuntu2204_data_file": "../../openstack_vm_data_scripts/ubuntu2204.sh",
|
||||
"ubuntu_1804": {
|
||||
"name": "Ubuntu-Bionic-18.04",
|
||||
"user_data_file": "../../openstack_vm_data_scripts/ubuntu1804.sh",
|
||||
"uuid": "7ed6a2cd-2b07-482e-8ce4-f018dff16c89"
|
||||
},
|
||||
"ubuntu_2204": {
|
||||
"name": "Ubuntu-Jammy-22.04",
|
||||
"user_data_file": "../../openstack_vm_data_scripts/ubuntu2204.sh",
|
||||
"uuid": "54768889-8556-4be4-a2eb-82a4d9b34627"
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"object",
|
||||
{
|
||||
"almalinux_9": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"availability_zone_no_gpu_name": "string",
|
||||
"availability_zone_with_gpu_name": "string",
|
||||
"availability_zones_names": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"basic_services_ip": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"centos_7": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"default_security_group_name": "string",
|
||||
"dns_zone": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"dns_zone_id": "string",
|
||||
"el7_data_file": "string",
|
||||
"external_gateway_ip": [
|
||||
"list",
|
||||
[
|
||||
"object",
|
||||
{
|
||||
"ip_address": "string",
|
||||
"subnet_id": "string"
|
||||
}
|
||||
]
|
||||
],
|
||||
"external_network": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"external_network_id": "string",
|
||||
"external_router": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"flavor_list": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"floating_ip_pools": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"haproxy_l7_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"internal_ca_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"main_haproxy_l7_ip": [
|
||||
"list",
|
||||
"string"
|
||||
],
|
||||
"main_private_network": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"main_private_network_id": "string",
|
||||
"main_private_subnet": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"main_region": "string",
|
||||
"main_subnet_network_id": "string",
|
||||
"mtu_size": "number",
|
||||
"networks_list": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"networks_with_d4s_services": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"nfs_share_no_ingress_secgroup_id": "string",
|
||||
"octavia_information": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"os_project_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"policy_list": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"prometheus_server_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"resolvers_ip": [
|
||||
"list",
|
||||
"string"
|
||||
],
|
||||
"resource_registry_addresses": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"security_group_list": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"shared_postgresql_server_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"smartexecutor_addresses": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"ssh_jump_proxy": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"ssh_sources": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"storage_nfs_network_id": "string",
|
||||
"storage_nfs_subnet_id": "string",
|
||||
"ubuntu1804_data_file": "string",
|
||||
"ubuntu2204_data_file": "string",
|
||||
"ubuntu_1804": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"ubuntu_2204": [
|
||||
"map",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"workspace": null
|
||||
},
|
||||
"sensitive_attributes": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "module.dns_records_create",
|
||||
"mode": "managed",
|
||||
"type": "openstack_dns_recordset_v2",
|
||||
"name": "add_dns_recordset",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"index_key": "netme-sobigdata",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"description": "SoBigData NetMe service",
|
||||
"disable_status_check": false,
|
||||
"id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488/11ec2f93-2424-40aa-af83-492572e2c280",
|
||||
"name": "netme-sobigdata.cloud-dev.d4science.org.",
|
||||
"project_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||
"records": [
|
||||
"swarm-lb.cloud-dev.d4science.org."
|
||||
],
|
||||
"region": "isti_area_pi_1",
|
||||
"timeouts": null,
|
||||
"ttl": 8600,
|
||||
"type": "CNAME",
|
||||
"value_specs": null,
|
||||
"zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": "ontotagme-sobigdata",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"description": "SoBigData OntoTagme service",
|
||||
"disable_status_check": false,
|
||||
"id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488/4a2411a1-638f-49c2-8c8b-f29d4bc5aba9",
|
||||
"name": "ontotagme-sobigdata.cloud-dev.d4science.org.",
|
||||
"project_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||
"records": [
|
||||
"swarm-lb.cloud-dev.d4science.org."
|
||||
],
|
||||
"region": "isti_area_pi_1",
|
||||
"timeouts": null,
|
||||
"ttl": 8600,
|
||||
"type": "CNAME",
|
||||
"value_specs": null,
|
||||
"zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": "shinyproxy-dev",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"description": "Shinyproxy DEV instance",
|
||||
"disable_status_check": false,
|
||||
"id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488/ddc4bca3-bb9c-44db-bac3-dbddae71a3a3",
|
||||
"name": "shinyproxy.cloud-dev.d4science.org.",
|
||||
"project_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||
"records": [
|
||||
"swarm-lb.cloud-dev.d4science.org."
|
||||
],
|
||||
"region": "isti_area_pi_1",
|
||||
"timeouts": null,
|
||||
"ttl": 8600,
|
||||
"type": "CNAME",
|
||||
"value_specs": null,
|
||||
"zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": "vremodeler-dev",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"description": "Vremodeler dev",
|
||||
"disable_status_check": false,
|
||||
"id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488/9bf82d9a-38f9-4d73-a0cd-1b3bce167c06",
|
||||
"name": "vremodeler.cloud-dev.d4science.org.",
|
||||
"project_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||
"records": [
|
||||
"swarm-lb.cloud-dev.d4science.org."
|
||||
],
|
||||
"region": "isti_area_pi_1",
|
||||
"timeouts": null,
|
||||
"ttl": 8600,
|
||||
"type": "CNAME",
|
||||
"value_specs": null,
|
||||
"zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"check_results": null
|
||||
}
|
|
@ -4,7 +4,7 @@ terraform {
|
|||
required_providers {
|
||||
openstack = {
|
||||
source = "terraform-provider-openstack/openstack"
|
||||
# version = "~> 1.53.0"
|
||||
version = "~> 1.53.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -24,14 +24,42 @@ module "common_variables" {
|
|||
source = "../../modules/common_variables"
|
||||
}
|
||||
|
||||
module "keycloak" {
|
||||
source = "../../modules/keycloak"
|
||||
keycloak_recordsets = {
|
||||
keycloak_main_record = {
|
||||
name = join(".", ["accounts", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name]),
|
||||
description = "Keycloak dev endpoint"
|
||||
}
|
||||
}
|
||||
|
||||
keycloak_object_store = "keycloak-data-dev"
|
||||
#
|
||||
# Creates the server group "keycloak"
|
||||
# Even in dev because this service is crucial the server group is
|
||||
# created with anti-affinity policy
|
||||
#
|
||||
resource "openstack_compute_servergroup_v2" "keycloak_server_group" {
|
||||
name = "keycloak"
|
||||
policies = [module.common_variables.policy_list.anti_affinity]
|
||||
}
|
||||
|
||||
# Creating object bucket to store avatars
|
||||
resource "openstack_objectstorage_container_v1" "keycloak_1" {
|
||||
name = "keycloak"
|
||||
}
|
||||
|
||||
module "instance_without_data_volume" {
|
||||
source = "../../modules/instance_without_data_volume"
|
||||
|
||||
instances_without_data_volume_map = {
|
||||
keycloak = {
|
||||
name = "keycloak",
|
||||
description = "This instance serves keycloak service",
|
||||
flavor = module.common_variables.flavor_list.m1_medium,
|
||||
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
||||
security_groups = [data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.default, data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.http_and_https_from_the_load_balancers],
|
||||
server_groups_ids = [],
|
||||
image_ref = data.terraform_remote_state.privnet_dns_router.outputs.ubuntu_2204
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resource "openstack_dns_recordset_v2" "keycloak_dev_dns_recordset" {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = join(".", ["accounts"], [data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
description = "Keycloak d4science dev endpoint"
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [join(".", ["main-lb"], [data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])]
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version": 4,
|
||||
"terraform_version": "1.7.5",
|
||||
"serial": 36,
|
||||
"terraform_version": "1.6.6",
|
||||
"serial": 9,
|
||||
"lineage": "2d09d087-e2e3-bb5d-0474-c09dfa4c7145",
|
||||
"outputs": {},
|
||||
"resources": [
|
||||
|
@ -394,406 +394,105 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"module": "module.keycloak",
|
||||
"mode": "data",
|
||||
"type": "terraform_remote_state",
|
||||
"name": "privnet_dns_router",
|
||||
"provider": "provider[\"terraform.io/builtin/terraform\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"backend": "local",
|
||||
"config": {
|
||||
"value": {
|
||||
"path": "../project-setup/terraform.tfstate"
|
||||
},
|
||||
"type": [
|
||||
"object",
|
||||
{
|
||||
"path": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"defaults": null,
|
||||
"outputs": {
|
||||
"value": {
|
||||
"almalinux_9": {
|
||||
"name": "AlmaLinux-9.0-20220718",
|
||||
"uuid": "541650fc-dd19-4f38-bb1d-7333ed9dd688"
|
||||
},
|
||||
"availability_zone_no_gpu_name": "cnr-isti-nova-a",
|
||||
"availability_zone_with_gpu_name": "cnr-isti-nova-gpu-a",
|
||||
"availability_zones_names": {
|
||||
"availability_zone_no_gpu": "cnr-isti-nova-a",
|
||||
"availability_zone_with_gpu": "cnr-isti-nova-gpu-a"
|
||||
},
|
||||
"basic_services_ip": {
|
||||
"ca": "10.1.29.247",
|
||||
"ca_cidr": "10.1.29.247/32",
|
||||
"haproxy_l7_1": "10.1.28.50",
|
||||
"haproxy_l7_1_cidr": "10.1.28.50/32",
|
||||
"haproxy_l7_2": "10.1.30.241",
|
||||
"haproxy_l7_2_cidr": "10.1.30.241/32",
|
||||
"octavia_main": "10.1.28.227",
|
||||
"octavia_main_cidr": "10.1.28.227/32",
|
||||
"prometheus": "10.1.30.129",
|
||||
"prometheus_cidr": "10.1.30.129/32",
|
||||
"ssh_jump": "10.1.29.164",
|
||||
"ssh_jump_cidr": "10.1.29.164/32"
|
||||
},
|
||||
"centos_7": {
|
||||
"name": "CentOS-7",
|
||||
"uuid": "f0187a99-64f6-462a-ab5f-ef52fe62f2ca"
|
||||
},
|
||||
"default_security_group_name": "default",
|
||||
"dns_zone": {
|
||||
"description": "DNS primary zone for the d4s-dev-cloud project",
|
||||
"email": "postmaster@isti.cnr.it",
|
||||
"ttl": "8600",
|
||||
"zone_name": "cloud-dev.d4science.org."
|
||||
},
|
||||
"dns_zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488",
|
||||
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||
"external_gateway_ip": [
|
||||
{
|
||||
"ip_address": "146.48.31.109",
|
||||
"subnet_id": "57f87509-4016-46fb-b8c3-25fca7f72ccb"
|
||||
}
|
||||
],
|
||||
"external_network": {
|
||||
"id": "1d2ff137-6ff7-4017-be2b-0d6c4af2353b",
|
||||
"name": "external-network"
|
||||
},
|
||||
"external_network_id": "1d2ff137-6ff7-4017-be2b-0d6c4af2353b",
|
||||
"external_router": {
|
||||
"description": "D4Science DEV main router",
|
||||
"id": "2ae28c5f-036b-45db-bc9f-5bab8fa3e914",
|
||||
"name": "d4s-dev-cloud-external-router"
|
||||
},
|
||||
"flavor_list": {
|
||||
"c1_large": "c1.large",
|
||||
"c1_medium": "c1.medium",
|
||||
"c1_small": "c1.small",
|
||||
"c2_large": "c2.large",
|
||||
"m1_large": "m1.large",
|
||||
"m1_medium": "m1.medium",
|
||||
"m1_xlarge": "m1.xlarge",
|
||||
"m1_xxl": "m1.xxl",
|
||||
"m2_large": "m2.large",
|
||||
"m2_medium": "m2.medium",
|
||||
"m2_small": "m2.small",
|
||||
"m3_large": "m3.large"
|
||||
},
|
||||
"floating_ip_pools": {
|
||||
"main_public_ip_pool": "external-network"
|
||||
},
|
||||
"haproxy_l7_data": {
|
||||
"flavor": "m1.medium",
|
||||
"haproxy_1": "haproxy-l7-1",
|
||||
"haproxy_2": "haproxy-l7-2",
|
||||
"name": "main-haproxy-l7",
|
||||
"vm_count": "2"
|
||||
},
|
||||
"internal_ca_data": {
|
||||
"flavor": "m1.small",
|
||||
"name": "ca"
|
||||
},
|
||||
"main_haproxy_l7_ip": [
|
||||
"10.1.28.50",
|
||||
"10.1.30.241"
|
||||
],
|
||||
"main_private_network": {
|
||||
"description": "D4Science DEV private network (use this as the main network)",
|
||||
"name": "d4s-dev-cloud-main"
|
||||
},
|
||||
"main_private_network_id": "e0af5eba-f24a-4d0d-8184-bc654b980c4a",
|
||||
"main_private_subnet": {
|
||||
"allocation_end": "10.1.31.254",
|
||||
"allocation_start": "10.1.28.30",
|
||||
"cidr": "10.1.28.0/22",
|
||||
"description": "D4Science DEV main private subnet",
|
||||
"gateway_ip": "10.1.28.1",
|
||||
"name": "d4s-dev-cloud-sub"
|
||||
},
|
||||
"main_region": "isti_area_pi_1",
|
||||
"main_subnet_network_id": "2aa977f2-80b4-447c-a6b0-dfa06bf68751",
|
||||
"mtu_size": 8942,
|
||||
"networks_list": {
|
||||
"cassandra": "cassandra-net",
|
||||
"orientdb": "orientdb-net",
|
||||
"orientdb_se": "orientdb-se-net",
|
||||
"shared_postgresql": "postgresql-srv-net",
|
||||
"swarm": "swarm-nfs-net",
|
||||
"timescaledb": "timescaledb-net"
|
||||
},
|
||||
"networks_with_d4s_services": {
|
||||
"garr_ct1_net": "90.147.166.0/23",
|
||||
"garr_na_net": "90.147.152.0/24",
|
||||
"garr_pa1_net": "90.147.188.0/23",
|
||||
"infrascience_net": "146.48.122.0/23",
|
||||
"isti_net": "146.48.80.0/21",
|
||||
"s2i2s_net": "146.48.28.0/22"
|
||||
},
|
||||
"nfs_share_no_ingress_secgroup_id": "5887da8d-e362-4509-93ac-8a70bf8baef9",
|
||||
"octavia_information": {
|
||||
"main_lb_description": "Main L4 load balancer for the D4Science DEV",
|
||||
"main_lb_hostname": "main-lb",
|
||||
"main_lb_name": "lb-dev-l4",
|
||||
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7"
|
||||
},
|
||||
"os_project_data": {
|
||||
"id": "e8f8ca72f30648a8b389b4e745ac83a9"
|
||||
},
|
||||
"policy_list": {
|
||||
"affinity": "affinity",
|
||||
"anti_affinity": "anti-affinity",
|
||||
"soft_affinity": "soft-affinity",
|
||||
"soft_anti_affinity": "soft-anti-affinity"
|
||||
},
|
||||
"prometheus_server_data": {
|
||||
"flavor": "m1.medium",
|
||||
"name": "prometheus",
|
||||
"public_grafana_server_cidr": "146.48.28.103/32",
|
||||
"vol_data_device": "/dev/vdb",
|
||||
"vol_data_name": "prometheus-data",
|
||||
"vol_data_size": "100"
|
||||
},
|
||||
"resolvers_ip": [
|
||||
"146.48.29.97",
|
||||
"146.48.29.98",
|
||||
"146.48.29.99"
|
||||
],
|
||||
"resource_registry_addresses": {},
|
||||
"security_group_list": {
|
||||
"acaland": "acaland's dev machine",
|
||||
"access_to_orientdb": "access_to_orientdb",
|
||||
"access_to_orientdb_se": "access_to_orientdb_se",
|
||||
"access_to_the_timescaledb_service": "access_to_the_timescaledb_service",
|
||||
"cassandra": "Cassandra",
|
||||
"dataminer-publish": "dataminer-publish",
|
||||
"debugging_from_jump_node": "debugging_from_jump_node",
|
||||
"default": "default",
|
||||
"docker_swarm": "Docker Swarm",
|
||||
"docker_swarm_NFS": "Docker Swarm NFS",
|
||||
"haproxy": "traffic_from_main_lb_to_haproxy_l7",
|
||||
"http_and_https_from_the_load_balancers": "traffic_from_the_main_load_balancers",
|
||||
"limited_HTTPS_access": "restricted_web_service",
|
||||
"limited_SSH_access": "Limited SSH access",
|
||||
"mongo": "mongo",
|
||||
"nfs_share_no_ingress": "nfs_share_no_ingress",
|
||||
"orientdb_internal_docker_traffic": "orientdb_internal_docker_traffic",
|
||||
"postgreSQL": "PostgreSQL service",
|
||||
"public_HTTPS": "Public HTTPS"
|
||||
},
|
||||
"shared_postgresql_server_data": {
|
||||
"allocation_pool_end": "192.168.3.254",
|
||||
"allocation_pool_start": "192.168.0.100",
|
||||
"flavor": "m1.medium",
|
||||
"name": "shared-postgresql-server",
|
||||
"network_cidr": "192.168.0.0/22",
|
||||
"network_description": "Network used to communicate with the shared postgresql service",
|
||||
"network_name": "postgresql-srv-net",
|
||||
"server_cidr": "192.168.0.5/22",
|
||||
"server_ip": "192.168.0.5",
|
||||
"vol_data_device": "/dev/vdb",
|
||||
"vol_data_name": "shared-postgresql-data",
|
||||
"vol_data_size": "100"
|
||||
},
|
||||
"smartexecutor_addresses": {},
|
||||
"ssh_jump_proxy": {
|
||||
"flavor": "m2.small",
|
||||
"name": "ssh-jump-proxy"
|
||||
},
|
||||
"ssh_sources": {
|
||||
"d4s_vpn_1_cidr": "146.48.122.27/32",
|
||||
"d4s_vpn_2_cidr": "146.48.122.49/32",
|
||||
"infrascience_net_cidr": "146.48.122.0/23",
|
||||
"s2i2s_vpn_1_cidr": "146.48.28.10/32",
|
||||
"s2i2s_vpn_2_cidr": "146.48.28.11/32",
|
||||
"shell_d4s_cidr": "146.48.122.95/32"
|
||||
},
|
||||
"storage_nfs_network_id": "5f4023cc-4016-404c-94e5-86220095fbaf",
|
||||
"storage_nfs_subnet_id": "6ff0f9e8-0e74-4cc3-a268-7ed4af435696",
|
||||
"ubuntu1804_data_file": "../../openstack_vm_data_scripts/ubuntu1804.sh",
|
||||
"ubuntu2204_data_file": "../../openstack_vm_data_scripts/ubuntu2204.sh",
|
||||
"ubuntu_1804": {
|
||||
"name": "Ubuntu-Bionic-18.04",
|
||||
"user_data_file": "../../openstack_vm_data_scripts/ubuntu1804.sh",
|
||||
"uuid": "7ed6a2cd-2b07-482e-8ce4-f018dff16c89"
|
||||
},
|
||||
"ubuntu_2204": {
|
||||
"name": "Ubuntu-Jammy-22.04",
|
||||
"user_data_file": "../../openstack_vm_data_scripts/ubuntu2204.sh",
|
||||
"uuid": "54768889-8556-4be4-a2eb-82a4d9b34627"
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"object",
|
||||
{
|
||||
"almalinux_9": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"availability_zone_no_gpu_name": "string",
|
||||
"availability_zone_with_gpu_name": "string",
|
||||
"availability_zones_names": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"basic_services_ip": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"centos_7": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"default_security_group_name": "string",
|
||||
"dns_zone": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"dns_zone_id": "string",
|
||||
"el7_data_file": "string",
|
||||
"external_gateway_ip": [
|
||||
"list",
|
||||
[
|
||||
"object",
|
||||
{
|
||||
"ip_address": "string",
|
||||
"subnet_id": "string"
|
||||
}
|
||||
]
|
||||
],
|
||||
"external_network": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"external_network_id": "string",
|
||||
"external_router": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"flavor_list": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"floating_ip_pools": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"haproxy_l7_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"internal_ca_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"main_haproxy_l7_ip": [
|
||||
"list",
|
||||
"string"
|
||||
],
|
||||
"main_private_network": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"main_private_network_id": "string",
|
||||
"main_private_subnet": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"main_region": "string",
|
||||
"main_subnet_network_id": "string",
|
||||
"mtu_size": "number",
|
||||
"networks_list": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"networks_with_d4s_services": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"nfs_share_no_ingress_secgroup_id": "string",
|
||||
"octavia_information": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"os_project_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"policy_list": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"prometheus_server_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"resolvers_ip": [
|
||||
"list",
|
||||
"string"
|
||||
],
|
||||
"resource_registry_addresses": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"security_group_list": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"shared_postgresql_server_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"smartexecutor_addresses": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"ssh_jump_proxy": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"ssh_sources": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"storage_nfs_network_id": "string",
|
||||
"storage_nfs_subnet_id": "string",
|
||||
"ubuntu1804_data_file": "string",
|
||||
"ubuntu2204_data_file": "string",
|
||||
"ubuntu_1804": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"ubuntu_2204": [
|
||||
"map",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"workspace": null
|
||||
},
|
||||
"sensitive_attributes": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "module.keycloak",
|
||||
"mode": "managed",
|
||||
"type": "openstack_compute_instance_v2",
|
||||
"name": "keycloak",
|
||||
"type": "openstack_compute_servergroup_v2",
|
||||
"name": "keycloak_server_group",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"index_key": 0,
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"access_ip_v4": "10.1.31.104",
|
||||
"id": "9bb60610-a2ba-433b-a7c6-6c0bb3d47089",
|
||||
"members": [],
|
||||
"name": "keycloak",
|
||||
"policies": [
|
||||
"anti-affinity"
|
||||
],
|
||||
"region": "isti_area_pi_1",
|
||||
"rules": [
|
||||
{
|
||||
"max_server_per_host": 0
|
||||
}
|
||||
],
|
||||
"value_specs": null
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA=="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "openstack_dns_recordset_v2",
|
||||
"name": "keycloak_dev_dns_recordset",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"description": "Keycloak d4science dev endpoint",
|
||||
"disable_status_check": false,
|
||||
"id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488/effa71d2-37ff-4237-9a6e-86f4c2e1c53f",
|
||||
"name": "accounts.cloud-dev.d4science.org.",
|
||||
"project_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||
"records": [
|
||||
"main-lb.cloud-dev.d4science.org."
|
||||
],
|
||||
"region": "isti_area_pi_1",
|
||||
"timeouts": null,
|
||||
"ttl": 8600,
|
||||
"type": "CNAME",
|
||||
"value_specs": null,
|
||||
"zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "openstack_objectstorage_container_v1",
|
||||
"name": "keycloak_1",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 1,
|
||||
"attributes": {
|
||||
"container_read": null,
|
||||
"container_sync_key": null,
|
||||
"container_sync_to": null,
|
||||
"container_write": null,
|
||||
"content_type": null,
|
||||
"force_destroy": null,
|
||||
"id": "keycloak",
|
||||
"metadata": null,
|
||||
"name": "keycloak",
|
||||
"region": "isti_area_pi_1",
|
||||
"storage_policy": "default-placement",
|
||||
"versioning": false,
|
||||
"versioning_legacy": []
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ=="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "module.instance_without_data_volume",
|
||||
"mode": "managed",
|
||||
"type": "openstack_compute_instance_v2",
|
||||
"name": "smartgears_service",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"index_key": "keycloak",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"access_ip_v4": "10.1.28.218",
|
||||
"access_ip_v6": "",
|
||||
"admin_pass": null,
|
||||
"all_metadata": {},
|
||||
|
@ -816,34 +515,34 @@
|
|||
}
|
||||
],
|
||||
"config_drive": null,
|
||||
"created": "2024-03-22 14:02:30 +0000 UTC",
|
||||
"created": "2023-12-14 15:47:39 +0000 UTC",
|
||||
"flavor_id": "4",
|
||||
"flavor_name": "m1.medium",
|
||||
"floating_ip": null,
|
||||
"force_delete": false,
|
||||
"id": "1d087839-d883-4e25-a2ee-a596640e3dff",
|
||||
"id": "40dfb5fb-ec19-4f51-9fd6-1b1be47f66bb",
|
||||
"image_id": "Attempt to boot from volume - no image supplied",
|
||||
"image_name": null,
|
||||
"key_pair": "adellam",
|
||||
"key_pair": "mauromugnaini",
|
||||
"metadata": null,
|
||||
"name": "keycloak-01",
|
||||
"name": "keycloak",
|
||||
"network": [
|
||||
{
|
||||
"access_network": false,
|
||||
"fixed_ip_v4": "10.1.31.104",
|
||||
"fixed_ip_v4": "10.1.28.218",
|
||||
"fixed_ip_v6": "",
|
||||
"floating_ip": "",
|
||||
"mac": "fa:16:3e:21:8f:df",
|
||||
"mac": "fa:16:3e:ca:dc:34",
|
||||
"name": "d4s-dev-cloud-main",
|
||||
"port": "",
|
||||
"uuid": "e0af5eba-f24a-4d0d-8184-bc654b980c4a"
|
||||
},
|
||||
{
|
||||
"access_network": false,
|
||||
"fixed_ip_v4": "192.168.2.101",
|
||||
"fixed_ip_v4": "192.168.2.143",
|
||||
"fixed_ip_v6": "",
|
||||
"floating_ip": "",
|
||||
"mac": "fa:16:3e:f8:d3:0b",
|
||||
"mac": "fa:16:3e:76:7c:b5",
|
||||
"name": "postgresql-srv-net",
|
||||
"port": "",
|
||||
"uuid": "00422a4a-4b8b-4c85-acf9-ef733df842b9"
|
||||
|
@ -853,383 +552,26 @@
|
|||
"personality": [],
|
||||
"power_state": "active",
|
||||
"region": "isti_area_pi_1",
|
||||
"scheduler_hints": [
|
||||
{
|
||||
"additional_properties": {},
|
||||
"build_near_host_ip": "",
|
||||
"different_cell": [],
|
||||
"different_host": [],
|
||||
"group": "23506021-0871-472e-b8f2-199ccdca8ec7",
|
||||
"query": [],
|
||||
"same_host": [],
|
||||
"target_cell": ""
|
||||
}
|
||||
],
|
||||
"scheduler_hints": [],
|
||||
"security_groups": [
|
||||
"default",
|
||||
"keycloak_cluster_traffic",
|
||||
"traffic_to_keycloak_from_the_main_load_balancers"
|
||||
"traffic_from_the_main_load_balancers"
|
||||
],
|
||||
"stop_before_destroy": false,
|
||||
"tags": [],
|
||||
"timeouts": null,
|
||||
"updated": "2024-03-22 14:04:26 +0000 UTC",
|
||||
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||
"updated": "2023-12-14 15:48:18 +0000 UTC",
|
||||
"user_data": "bb83b25fd1219aa1b850ece9be8d7b0f31714608",
|
||||
"vendor_options": [],
|
||||
"volume": []
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||
"dependencies": [
|
||||
"module.keycloak.data.terraform_remote_state.privnet_dns_router",
|
||||
"module.keycloak.openstack_compute_servergroup_v2.keycloak_server_group",
|
||||
"module.keycloak.openstack_networking_secgroup_v2.keycloak_cluster_traffic",
|
||||
"module.keycloak.openstack_networking_secgroup_v2.traffic_from_haproxy_to_keycloak"
|
||||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "module.keycloak",
|
||||
"mode": "managed",
|
||||
"type": "openstack_compute_servergroup_v2",
|
||||
"name": "keycloak_server_group",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"id": "23506021-0871-472e-b8f2-199ccdca8ec7",
|
||||
"members": [
|
||||
"1d087839-d883-4e25-a2ee-a596640e3dff"
|
||||
],
|
||||
"name": "keycloak",
|
||||
"policies": [
|
||||
"soft-anti-affinity"
|
||||
],
|
||||
"region": "isti_area_pi_1",
|
||||
"rules": [
|
||||
{
|
||||
"max_server_per_host": 0
|
||||
}
|
||||
],
|
||||
"value_specs": null
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA=="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "module.keycloak",
|
||||
"mode": "managed",
|
||||
"type": "openstack_dns_recordset_v2",
|
||||
"name": "keycloak_dns_recordset",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"index_key": "keycloak_main_record",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"description": "Keycloak dev endpoint",
|
||||
"disable_status_check": false,
|
||||
"id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488/197bb339-e445-47e2-828b-e1b6b4da8368",
|
||||
"name": "accounts.cloud-dev.d4science.org.",
|
||||
"project_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||
"records": [
|
||||
"main-lb.cloud-dev.d4science.org."
|
||||
],
|
||||
"region": "isti_area_pi_1",
|
||||
"timeouts": null,
|
||||
"ttl": 8600,
|
||||
"type": "CNAME",
|
||||
"value_specs": null,
|
||||
"zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router",
|
||||
"module.keycloak.data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "module.keycloak",
|
||||
"mode": "managed",
|
||||
"type": "openstack_networking_secgroup_rule_v2",
|
||||
"name": "haproxy-l7-8443",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"index_key": "10.1.28.50",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"description": "HTTPS traffic from HAPROXY L7 to Keycloak",
|
||||
"direction": "ingress",
|
||||
"ethertype": "IPv4",
|
||||
"id": "ebc725ed-0133-46f4-a26c-498bfb4798b6",
|
||||
"port_range_max": 9443,
|
||||
"port_range_min": 9443,
|
||||
"protocol": "tcp",
|
||||
"region": "isti_area_pi_1",
|
||||
"remote_group_id": "",
|
||||
"remote_ip_prefix": "10.1.28.50/32",
|
||||
"security_group_id": "cbbd4036-e1c4-43ac-80cd-24d3fbbef692",
|
||||
"tenant_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||
"timeouts": null
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ==",
|
||||
"dependencies": [
|
||||
"module.keycloak.data.terraform_remote_state.privnet_dns_router",
|
||||
"module.keycloak.openstack_networking_secgroup_v2.traffic_from_haproxy_to_keycloak"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": "10.1.30.241",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"description": "HTTPS traffic from HAPROXY L7 to Keycloak",
|
||||
"direction": "ingress",
|
||||
"ethertype": "IPv4",
|
||||
"id": "21b774d6-b0f2-4b2e-841e-32f5cb2e842a",
|
||||
"port_range_max": 9443,
|
||||
"port_range_min": 9443,
|
||||
"protocol": "tcp",
|
||||
"region": "isti_area_pi_1",
|
||||
"remote_group_id": "",
|
||||
"remote_ip_prefix": "10.1.30.241/32",
|
||||
"security_group_id": "cbbd4036-e1c4-43ac-80cd-24d3fbbef692",
|
||||
"tenant_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||
"timeouts": null
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ==",
|
||||
"dependencies": [
|
||||
"module.keycloak.data.terraform_remote_state.privnet_dns_router",
|
||||
"module.keycloak.openstack_networking_secgroup_v2.traffic_from_haproxy_to_keycloak"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "module.keycloak",
|
||||
"mode": "managed",
|
||||
"type": "openstack_networking_secgroup_rule_v2",
|
||||
"name": "igmp_egress_between_keycloak_nodes",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"description": "Egress IGMP traffic between keycloak nodes",
|
||||
"direction": "egress",
|
||||
"ethertype": "IPv4",
|
||||
"id": "0856a12c-f897-43a8-bdaa-91355930f1c0",
|
||||
"port_range_max": 0,
|
||||
"port_range_min": 0,
|
||||
"protocol": "igmp",
|
||||
"region": "isti_area_pi_1",
|
||||
"remote_group_id": "",
|
||||
"remote_ip_prefix": "0.0.0.0/0",
|
||||
"security_group_id": "6d68b513-7ecd-43da-9cee-8f82b567049c",
|
||||
"tenant_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||
"timeouts": null
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ==",
|
||||
"dependencies": [
|
||||
"module.keycloak.openstack_networking_secgroup_v2.keycloak_cluster_traffic"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "module.keycloak",
|
||||
"mode": "managed",
|
||||
"type": "openstack_networking_secgroup_rule_v2",
|
||||
"name": "igmp_ingress_between_keycloak_nodes",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"description": "Ingress IGMP traffic between keycloak nodes",
|
||||
"direction": "ingress",
|
||||
"ethertype": "IPv4",
|
||||
"id": "3f6419b5-8079-4445-80dd-5bb259705664",
|
||||
"port_range_max": 0,
|
||||
"port_range_min": 0,
|
||||
"protocol": "igmp",
|
||||
"region": "isti_area_pi_1",
|
||||
"remote_group_id": "",
|
||||
"remote_ip_prefix": "0.0.0.0/0",
|
||||
"security_group_id": "6d68b513-7ecd-43da-9cee-8f82b567049c",
|
||||
"tenant_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||
"timeouts": null
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ==",
|
||||
"dependencies": [
|
||||
"module.keycloak.openstack_networking_secgroup_v2.keycloak_cluster_traffic"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "module.keycloak",
|
||||
"mode": "managed",
|
||||
"type": "openstack_networking_secgroup_rule_v2",
|
||||
"name": "tcp_traffic_between_keycloak_nodes",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"index_key": 0,
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"description": "TCP traffic between keycloak nodes",
|
||||
"direction": "ingress",
|
||||
"ethertype": "IPv4",
|
||||
"id": "399505c1-e0d3-4077-85d7-e000a46dfa8e",
|
||||
"port_range_max": 0,
|
||||
"port_range_min": 0,
|
||||
"protocol": "tcp",
|
||||
"region": "isti_area_pi_1",
|
||||
"remote_group_id": "",
|
||||
"remote_ip_prefix": "10.1.31.104/32",
|
||||
"security_group_id": "6d68b513-7ecd-43da-9cee-8f82b567049c",
|
||||
"tenant_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||
"timeouts": null
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ==",
|
||||
"dependencies": [
|
||||
"module.keycloak.data.terraform_remote_state.privnet_dns_router",
|
||||
"module.keycloak.openstack_compute_instance_v2.keycloak",
|
||||
"module.keycloak.openstack_compute_servergroup_v2.keycloak_server_group",
|
||||
"module.keycloak.openstack_networking_secgroup_v2.keycloak_cluster_traffic",
|
||||
"module.keycloak.openstack_networking_secgroup_v2.traffic_from_haproxy_to_keycloak"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "module.keycloak",
|
||||
"mode": "managed",
|
||||
"type": "openstack_networking_secgroup_rule_v2",
|
||||
"name": "udp_traffic_between_keycloak_nodes",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"index_key": 0,
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"description": "UDP traffic between keycloak nodes",
|
||||
"direction": "ingress",
|
||||
"ethertype": "IPv4",
|
||||
"id": "88c61a79-d86f-4f07-a0a7-91f0033b242a",
|
||||
"port_range_max": 0,
|
||||
"port_range_min": 0,
|
||||
"protocol": "udp",
|
||||
"region": "isti_area_pi_1",
|
||||
"remote_group_id": "",
|
||||
"remote_ip_prefix": "10.1.31.104/32",
|
||||
"security_group_id": "6d68b513-7ecd-43da-9cee-8f82b567049c",
|
||||
"tenant_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||
"timeouts": null
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ==",
|
||||
"dependencies": [
|
||||
"module.keycloak.data.terraform_remote_state.privnet_dns_router",
|
||||
"module.keycloak.openstack_compute_instance_v2.keycloak",
|
||||
"module.keycloak.openstack_compute_servergroup_v2.keycloak_server_group",
|
||||
"module.keycloak.openstack_networking_secgroup_v2.keycloak_cluster_traffic",
|
||||
"module.keycloak.openstack_networking_secgroup_v2.traffic_from_haproxy_to_keycloak"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "module.keycloak",
|
||||
"mode": "managed",
|
||||
"type": "openstack_networking_secgroup_v2",
|
||||
"name": "keycloak_cluster_traffic",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"all_tags": [],
|
||||
"delete_default_rules": true,
|
||||
"description": "Traffic between the keycloak cluster nodes",
|
||||
"id": "6d68b513-7ecd-43da-9cee-8f82b567049c",
|
||||
"name": "keycloak_cluster_traffic",
|
||||
"region": "isti_area_pi_1",
|
||||
"tags": [],
|
||||
"tenant_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||
"timeouts": null
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ=="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "module.keycloak",
|
||||
"mode": "managed",
|
||||
"type": "openstack_networking_secgroup_v2",
|
||||
"name": "traffic_from_haproxy_to_keycloak",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"all_tags": [],
|
||||
"delete_default_rules": true,
|
||||
"description": "Allow traffic from the main L7 HAPROXY load balancers to keycloak",
|
||||
"id": "cbbd4036-e1c4-43ac-80cd-24d3fbbef692",
|
||||
"name": "traffic_to_keycloak_from_the_main_load_balancers",
|
||||
"region": "isti_area_pi_1",
|
||||
"tags": [],
|
||||
"tenant_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||
"timeouts": null
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ=="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "module.keycloak",
|
||||
"mode": "managed",
|
||||
"type": "openstack_objectstorage_container_v1",
|
||||
"name": "keycloak_1",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 1,
|
||||
"attributes": {
|
||||
"container_read": null,
|
||||
"container_sync_key": null,
|
||||
"container_sync_to": null,
|
||||
"container_write": null,
|
||||
"content_type": null,
|
||||
"force_destroy": false,
|
||||
"id": "keycloak-data-dev",
|
||||
"metadata": null,
|
||||
"name": "keycloak-data-dev",
|
||||
"region": "isti_area_pi_1",
|
||||
"storage_policy": "default-placement",
|
||||
"versioning": false,
|
||||
"versioning_legacy": []
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ=="
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"check_results": null
|
||||
|
|
|
@ -1,55 +0,0 @@
|
|||
# NFS shares required by the CCP
|
||||
# Create a NFS share for the repository data
|
||||
#
|
||||
resource "openstack_sharedfilesystem_share_v2" "ccp_dev_repository_data" {
|
||||
name = "ccp_dev_repository_data"
|
||||
description = "NFS share for the CCP repository data"
|
||||
share_proto = "NFS"
|
||||
size = 5
|
||||
}
|
||||
|
||||
# Allow access to the NFS share
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "ccp_dev_repository_nfs_access" {
|
||||
for_each = var.swarm_manila_interfaces_ip
|
||||
share_id = openstack_sharedfilesystem_share_v2.ccp_dev_repository_data.id
|
||||
access_type = "ip"
|
||||
access_to = each.value
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
# NFS shares required by the CCP
|
||||
# Create a NFS share for the method logs
|
||||
#
|
||||
resource "openstack_sharedfilesystem_share_v2" "ccp_dev_methods_logs" {
|
||||
name = "ccp_dev_method_logs"
|
||||
description = "NFS share for the CCP method logs"
|
||||
share_proto = "NFS"
|
||||
size = 1
|
||||
}
|
||||
|
||||
# Allow access to the NFS share
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "ccp_dev_methods_logs_nfs_access" {
|
||||
for_each = var.swarm_manila_interfaces_ip
|
||||
share_id = openstack_sharedfilesystem_share_v2.ccp_dev_methods_logs.id
|
||||
access_type = "ip"
|
||||
access_to = each.value
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
output "ccp_dev_repository_data" {
|
||||
value = openstack_sharedfilesystem_share_v2.ccp_dev_repository_data
|
||||
}
|
||||
|
||||
output "ccp_dev_repository_data_nfs_acls" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.ccp_dev_repository_nfs_access
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "ccp_dev_methods_logs" {
|
||||
value = openstack_sharedfilesystem_share_v2.ccp_dev_methods_logs
|
||||
}
|
||||
|
||||
output "ccp_dev_methods_logs_access_nfs_acls" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.ccp_dev_methods_logs_nfs_access
|
||||
sensitive = true
|
||||
}
|
|
@ -1,51 +0,0 @@
|
|||
# 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"
|
||||
}
|
||||
}
|
||||
|
||||
# data "terraform_remote_state" "main_infrastructure" {
|
||||
# backend = "local"
|
||||
|
||||
# config = {
|
||||
# path = "../basic-infrastructure/terraform.tfstate"
|
||||
# }
|
||||
# }
|
||||
|
||||
# SSH settings
|
||||
module "ssh_settings" {
|
||||
source = "../../modules/ssh-key-ref"
|
||||
}
|
||||
#
|
||||
# Uses common_variables as module
|
||||
#
|
||||
module "common_variables" {
|
||||
source = "../../modules/common_variables"
|
||||
}
|
||||
|
||||
variable "swarm_manila_interfaces_ip" {
|
||||
type = map(string)
|
||||
default = {
|
||||
"mgr_1" = "172.17.2.74"
|
||||
"mgr_2" = "172.17.3.218"
|
||||
"mgr_3" = "172.17.2.230"
|
||||
"worker_1" = "172.17.0.166"
|
||||
"worker_2" = "172.17.2.171"
|
||||
"worker_3" = "172.17.0.146"
|
||||
"worker_4" = "172.17.1.195"
|
||||
"worker_5" = "172.17.2.187"
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
provider "openstack" {
|
||||
cloud = "d4s-dev"
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version": 4,
|
||||
"terraform_version": "1.7.5",
|
||||
"serial": 267,
|
||||
"terraform_version": "1.6.6",
|
||||
"serial": 263,
|
||||
"lineage": "6a53b692-c1a8-ed53-bc6c-b7fb5e017eb8",
|
||||
"outputs": {
|
||||
"almalinux_9": {
|
||||
|
@ -114,8 +114,6 @@
|
|||
"c1_medium": "c1.medium",
|
||||
"c1_small": "c1.small",
|
||||
"c2_large": "c2.large",
|
||||
"d1_large": "d1.large",
|
||||
"d1_medium": "d1.medium",
|
||||
"m1_large": "m1.large",
|
||||
"m1_medium": "m1.medium",
|
||||
"m1_xlarge": "m1.xlarge",
|
||||
|
@ -210,7 +208,6 @@
|
|||
},
|
||||
"networks_list": {
|
||||
"value": {
|
||||
"cassandra": "cassandra-net",
|
||||
"orientdb": "orientdb-net",
|
||||
"orientdb_se": "orientdb-se-net",
|
||||
"shared_postgresql": "postgresql-srv-net",
|
||||
|
@ -273,10 +270,6 @@
|
|||
"string"
|
||||
]
|
||||
},
|
||||
"prometheus_public_ip_address": {
|
||||
"value": "146.48.29.203",
|
||||
"type": "string"
|
||||
},
|
||||
"prometheus_server_data": {
|
||||
"value": {
|
||||
"flavor": "m1.medium",
|
||||
|
@ -291,10 +284,6 @@
|
|||
"string"
|
||||
]
|
||||
},
|
||||
"prometheus_server_hostname": {
|
||||
"value": "prometheus.cloud-pre.d4science.org.",
|
||||
"type": "string"
|
||||
},
|
||||
"resolvers_ip": {
|
||||
"value": [
|
||||
"146.48.29.97",
|
||||
|
@ -330,7 +319,6 @@
|
|||
"limited_HTTPS_access": "restricted_web_service",
|
||||
"limited_SSH_access": "Limited SSH access",
|
||||
"mongo": "mongo",
|
||||
"nfs_share_no_ingress": "nfs_share_no_ingress",
|
||||
"orientdb_internal_docker_traffic": "orientdb_internal_docker_traffic",
|
||||
"postgreSQL": "PostgreSQL service",
|
||||
"public_HTTPS": "Public HTTPS"
|
||||
|
@ -344,7 +332,7 @@
|
|||
"value": {
|
||||
"allocation_pool_end": "192.168.3.254",
|
||||
"allocation_pool_start": "192.168.0.100",
|
||||
"flavor": "m1.large",
|
||||
"flavor": "m1.medium",
|
||||
"name": "shared-postgresql-server",
|
||||
"network_cidr": "192.168.0.0/22",
|
||||
"network_description": "Network used to communicate with the shared postgresql service",
|
||||
|
@ -550,7 +538,6 @@
|
|||
"main_subnet_network_id": "cd77a2fd-4a36-4254-b1d0-70b3874c6d04",
|
||||
"mtu_size": 8942,
|
||||
"networks_list": {
|
||||
"cassandra": "cassandra-net",
|
||||
"orientdb": "orientdb-net",
|
||||
"orientdb_se": "orientdb-se-net",
|
||||
"shared_postgresql": "postgresql-srv-net",
|
||||
|
@ -565,7 +552,6 @@
|
|||
"isti_net": "146.48.80.0/21",
|
||||
"s2i2s_net": "146.48.28.0/22"
|
||||
},
|
||||
"nfs_share_no_ingress_secgroup_id": "ddb16502-7217-4677-a8a7-ca0cbf9a779a",
|
||||
"octavia_information": {
|
||||
"main_lb_description": "Main L4 load balancer for the D4Science PRE production",
|
||||
"main_lb_hostname": "main-lb",
|
||||
|
@ -588,7 +574,7 @@
|
|||
"prometheus_server_data": {
|
||||
"flavor": "m1.medium",
|
||||
"name": "prometheus",
|
||||
"public_grafana_server_cidr": "146.48.28.103/32",
|
||||
"public_grafana_server_cidr": "146.48.122.132/32",
|
||||
"vol_data_device": "/dev/vdb",
|
||||
"vol_data_name": "prometheus-data",
|
||||
"vol_data_size": "100"
|
||||
|
@ -615,7 +601,6 @@
|
|||
"limited_HTTPS_access": "restricted_web_service",
|
||||
"limited_SSH_access": "Limited SSH access",
|
||||
"mongo": "mongo",
|
||||
"nfs_share_no_ingress": "nfs_share_no_ingress",
|
||||
"orientdb_internal_docker_traffic": "orientdb_internal_docker_traffic",
|
||||
"postgreSQL": "PostgreSQL service",
|
||||
"public_HTTPS": "Public HTTPS"
|
||||
|
@ -647,8 +632,6 @@
|
|||
"s2i2s_vpn_2_cidr": "146.48.28.11/32",
|
||||
"shell_d4s_cidr": "146.48.122.95/32"
|
||||
},
|
||||
"storage_nfs_network_id": "5f4023cc-4016-404c-94e5-86220095fbaf",
|
||||
"storage_nfs_subnet_id": "6ff0f9e8-0e74-4cc3-a268-7ed4af435696",
|
||||
"ubuntu1804_data_file": "../../openstack_vm_data_scripts/ubuntu1804.sh",
|
||||
"ubuntu2204_data_file": "../../openstack_vm_data_scripts/ubuntu2204.sh",
|
||||
"ubuntu_1804": {
|
||||
|
@ -749,7 +732,6 @@
|
|||
"map",
|
||||
"string"
|
||||
],
|
||||
"nfs_share_no_ingress_secgroup_id": "string",
|
||||
"octavia_information": [
|
||||
"map",
|
||||
"string"
|
||||
|
@ -794,8 +776,6 @@
|
|||
"map",
|
||||
"string"
|
||||
],
|
||||
"storage_nfs_network_id": "string",
|
||||
"storage_nfs_subnet_id": "string",
|
||||
"ubuntu1804_data_file": "string",
|
||||
"ubuntu2204_data_file": "string",
|
||||
"ubuntu_1804": [
|
||||
|
@ -1317,8 +1297,8 @@
|
|||
],
|
||||
"config_drive": null,
|
||||
"created": "2023-11-05 14:54:15 +0000 UTC",
|
||||
"flavor_id": "9",
|
||||
"flavor_name": "m1.large",
|
||||
"flavor_id": "4",
|
||||
"flavor_name": "m1.medium",
|
||||
"floating_ip": null,
|
||||
"force_delete": false,
|
||||
"id": "9ede65c7-70ca-4698-8551-754aa4f6fa1e",
|
||||
|
@ -1361,8 +1341,8 @@
|
|||
"stop_before_destroy": false,
|
||||
"tags": [],
|
||||
"timeouts": null,
|
||||
"updated": "2024-06-06 15:43:37 +0000 UTC",
|
||||
"user_data": "",
|
||||
"updated": "2023-11-05 14:54:48 +0000 UTC",
|
||||
"user_data": "bb83b25fd1219aa1b850ece9be8d7b0f31714608",
|
||||
"vendor_options": [],
|
||||
"volume": []
|
||||
},
|
||||
|
@ -1731,9 +1711,9 @@
|
|||
"sni_container_refs": [],
|
||||
"tags": [],
|
||||
"tenant_id": "6fdc02e2827b405dad99f34698659742",
|
||||
"timeout_client_data": 3600000,
|
||||
"timeout_member_connect": 10000,
|
||||
"timeout_member_data": 7200000,
|
||||
"timeout_client_data": 50000,
|
||||
"timeout_member_connect": 5000,
|
||||
"timeout_member_data": 50000,
|
||||
"timeout_tcp_inspect": 0,
|
||||
"timeouts": null
|
||||
},
|
||||
|
|
|
@ -47,25 +47,3 @@ module "instance_without_data_volume" {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
locals {
|
||||
cname_target = "main-lb.${data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name}"
|
||||
}
|
||||
|
||||
#
|
||||
# Add DNS record/s
|
||||
#
|
||||
module "dns_records_create" {
|
||||
source = "../../modules/dns_resources"
|
||||
|
||||
dns_resources_map = {
|
||||
grsf_publisher = {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = join(".", ["grsf-publisher", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
description = "GRSF publisher"
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version": 4,
|
||||
"terraform_version": "1.6.6",
|
||||
"serial": 5,
|
||||
"terraform_version": "1.6.4",
|
||||
"serial": 3,
|
||||
"lineage": "826c8593-6c3d-8568-c9e1-1a57900d69b3",
|
||||
"outputs": {},
|
||||
"resources": [
|
||||
|
@ -407,9 +407,7 @@
|
|||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"id": "8daab67e-ccab-40f7-bc76-84371a663dbf",
|
||||
"members": [
|
||||
"ee92a9cd-abb4-47a0-bee9-c9ffd9f22e1d"
|
||||
],
|
||||
"members": [],
|
||||
"name": "grsf-publisher",
|
||||
"policies": [
|
||||
"soft-anti-affinity"
|
||||
|
@ -427,40 +425,6 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "module.dns_records_create",
|
||||
"mode": "managed",
|
||||
"type": "openstack_dns_recordset_v2",
|
||||
"name": "add_dns_recordset",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"index_key": "grsf_publisher",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"description": "GRSF publisher",
|
||||
"disable_status_check": false,
|
||||
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c/e9feade0-2d01-4b25-b215-daa6dda849f7",
|
||||
"name": "grsf-publisher.cloud-pre.d4science.org.",
|
||||
"project_id": "6fdc02e2827b405dad99f34698659742",
|
||||
"records": [
|
||||
"main-lb.cloud-pre.d4science.org."
|
||||
],
|
||||
"region": "isti_area_pi_1",
|
||||
"timeouts": null,
|
||||
"ttl": 8600,
|
||||
"type": "CNAME",
|
||||
"value_specs": null,
|
||||
"zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "module.instance_without_data_volume",
|
||||
"mode": "managed",
|
||||
|
@ -524,7 +488,7 @@
|
|||
"region": "isti_area_pi_1",
|
||||
"scheduler_hints": [
|
||||
{
|
||||
"additional_properties": {},
|
||||
"additional_properties": null,
|
||||
"build_near_host_ip": "",
|
||||
"different_cell": [],
|
||||
"different_host": [],
|
||||
|
@ -540,7 +504,7 @@
|
|||
"traffic_from_the_main_load_balancers"
|
||||
],
|
||||
"stop_before_destroy": false,
|
||||
"tags": [],
|
||||
"tags": null,
|
||||
"timeouts": null,
|
||||
"updated": "2024-03-12 16:36:57 +0000 UTC",
|
||||
"user_data": "ef3d6e5deb29bd1e5de5a76ae6860f3ee872738c",
|
||||
|
|
|
@ -1,48 +0,0 @@
|
|||
# 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"
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# Uses common_variables as module
|
||||
#
|
||||
module "common_variables" {
|
||||
source = "../../modules/common_variables"
|
||||
}
|
||||
|
||||
module "keycloak" {
|
||||
source = "../../modules/keycloak"
|
||||
|
||||
keycloak_data = {
|
||||
affinity_policy = "soft-anti-affinity"
|
||||
srv_name = "keycloak-pre"
|
||||
vm_count = 2
|
||||
vm_flavor = "m1.medium"
|
||||
boot_vol_size = 10
|
||||
share_description = "NFS share for the keycloak preprod static data"
|
||||
share_name = "keycloak_pre_nfs_share"
|
||||
}
|
||||
|
||||
keycloak_recordsets = {
|
||||
keycloak_main_record = {
|
||||
name = join(".", ["accounts", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name]),
|
||||
description = "Keycloak preproduction endpoint"
|
||||
}
|
||||
}
|
||||
|
||||
keycloak_object_store = "keycloak-data-preprod"
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
output "keycloak_data" {
|
||||
value = module.keycloak.keycloak_data
|
||||
}
|
||||
|
||||
output "keycloak_recordsets" {
|
||||
value = module.keycloak.keycloak_recordsets
|
||||
}
|
||||
|
||||
output "keycloak_nfs_port_data" {
|
||||
value = module.keycloak.nfs_port_data
|
||||
}
|
||||
|
||||
output "keycloak_nfs_volume_data" {
|
||||
value = module.keycloak.keycloak_nfs_volume_data
|
||||
}
|
||||
|
||||
output "keycloak_nfs_volume_acls" {
|
||||
value = module.keycloak.keycloak_nfs_volume_acls
|
||||
sensitive = true
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
provider "openstack" {
|
||||
cloud = "d4s-pre"
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -1,98 +0,0 @@
|
|||
# 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"
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# Uses common_variables as module
|
||||
#
|
||||
module "common_variables" {
|
||||
source = "../../modules/common_variables"
|
||||
}
|
||||
|
||||
|
||||
# Module used
|
||||
module "ssh_settings" {
|
||||
source = "../../modules/ssh-key-ref"
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Instances
|
||||
resource "openstack_compute_instance_v2" "access_service" {
|
||||
name = "access"
|
||||
availability_zone_hints = module.common_variables.availability_zone_no_gpu_name
|
||||
flavor_name = module.common_variables.flavor_list.m1_medium
|
||||
key_pair = module.ssh_settings.ssh_key_name
|
||||
security_groups = [data.terraform_remote_state.privnet_dns_router.outputs.default_security_group_name, data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.http_and_https_from_the_load_balancers]
|
||||
block_device {
|
||||
uuid = module.common_variables.ubuntu_1804.uuid
|
||||
source_type = "image"
|
||||
volume_size = 50
|
||||
boot_index = 0
|
||||
destination_type = "volume"
|
||||
delete_on_termination = false
|
||||
}
|
||||
|
||||
# Creates the networks according to input networks
|
||||
dynamic "network" {
|
||||
for_each = toset([data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name])
|
||||
content {
|
||||
name = network.value
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# user_data script used
|
||||
user_data = file("${module.common_variables.ubuntu_1804.user_data_file}")
|
||||
# Do not replace the instance when the ssh key changes
|
||||
lifecycle {
|
||||
ignore_changes = [
|
||||
# Ignore changes to tags, e.g. because a management agent
|
||||
# updates these based on some ruleset managed elsewhere.
|
||||
key_pair, user_data, network
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
locals {
|
||||
cname_target = "main-lb.${data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name}"
|
||||
}
|
||||
|
||||
#
|
||||
# Add DNS record/s
|
||||
#
|
||||
module "dns_records_create" {
|
||||
source = "../../modules/dns_resources"
|
||||
|
||||
dns_resources_map = {
|
||||
access-service = {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = join(".", ["access", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
description = "Access access"
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,513 +0,0 @@
|
|||
{
|
||||
"version": 4,
|
||||
"terraform_version": "1.6.4",
|
||||
"serial": 3,
|
||||
"lineage": "06d32fbd-9403-b9bf-fe66-58c9e554a646",
|
||||
"outputs": {},
|
||||
"resources": [
|
||||
{
|
||||
"mode": "data",
|
||||
"type": "terraform_remote_state",
|
||||
"name": "privnet_dns_router",
|
||||
"provider": "provider[\"terraform.io/builtin/terraform\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"backend": "local",
|
||||
"config": {
|
||||
"value": {
|
||||
"path": "../project-setup/terraform.tfstate"
|
||||
},
|
||||
"type": [
|
||||
"object",
|
||||
{
|
||||
"path": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"defaults": null,
|
||||
"outputs": {
|
||||
"value": {
|
||||
"almalinux_9": {
|
||||
"name": "AlmaLinux-9.0-20220718",
|
||||
"uuid": "541650fc-dd19-4f38-bb1d-7333ed9dd688"
|
||||
},
|
||||
"availability_zone_no_gpu_name": "cnr-isti-nova-a",
|
||||
"availability_zone_with_gpu_name": "cnr-isti-nova-gpu-a",
|
||||
"availability_zones_names": {
|
||||
"availability_zone_no_gpu": "cnr-isti-nova-a",
|
||||
"availability_zone_with_gpu": "cnr-isti-nova-gpu-a"
|
||||
},
|
||||
"basic_services_ip": {
|
||||
"ca": "10.1.40.4",
|
||||
"ca_cidr": "10.1.40.4/32",
|
||||
"haproxy_l7_1": "10.1.40.11",
|
||||
"haproxy_l7_1_cidr": "10.1.40.11/32",
|
||||
"haproxy_l7_2": "10.1.40.12",
|
||||
"haproxy_l7_2_cidr": "10.1.40.12/32",
|
||||
"octavia_main": "10.1.40.20",
|
||||
"octavia_main_cidr": "10.1.40.20/32",
|
||||
"prometheus": "10.1.40.10",
|
||||
"prometheus_cidr": "10.1.40.10/32",
|
||||
"ssh_jump": "10.1.40.5",
|
||||
"ssh_jump_cidr": "10.1.40.5/32"
|
||||
},
|
||||
"centos_7": {
|
||||
"name": "CentOS-7",
|
||||
"uuid": "f0187a99-64f6-462a-ab5f-ef52fe62f2ca"
|
||||
},
|
||||
"default_security_group_name": "default_for_all",
|
||||
"dns_zone": {
|
||||
"description": "DNS primary zone for the d4s-production-cloud project",
|
||||
"email": "postmaster@isti.cnr.it",
|
||||
"ttl": "8600",
|
||||
"zone_name": "cloud.d4science.org."
|
||||
},
|
||||
"dns_zone_id": "74135b34-1a9c-4c01-8cf0-22450a5660c4",
|
||||
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||
"external_gateway_ip": [
|
||||
{
|
||||
"ip_address": "146.48.31.57",
|
||||
"subnet_id": "57f87509-4016-46fb-b8c3-25fca7f72ccb"
|
||||
}
|
||||
],
|
||||
"external_network": {
|
||||
"id": "1d2ff137-6ff7-4017-be2b-0d6c4af2353b",
|
||||
"name": "external-network"
|
||||
},
|
||||
"external_network_id": "1d2ff137-6ff7-4017-be2b-0d6c4af2353b",
|
||||
"external_router": {
|
||||
"description": "D4Science Production main router",
|
||||
"id": "cc26064a-bb08-4c0b-929f-d0cb39f934a3",
|
||||
"name": "d4s-production-cloud-external-router"
|
||||
},
|
||||
"flavor_list": {
|
||||
"c1_large": "c1.large",
|
||||
"c1_medium": "c1.medium",
|
||||
"c1_small": "c1.small",
|
||||
"c2_large": "c2.large",
|
||||
"m1_large": "m1.large",
|
||||
"m1_medium": "m1.medium",
|
||||
"m1_xlarge": "m1.xlarge",
|
||||
"m1_xxl": "m1.xxl",
|
||||
"m2_large": "m2.large",
|
||||
"m2_medium": "m2.medium",
|
||||
"m2_small": "m2.small",
|
||||
"m3_large": "m3.large"
|
||||
},
|
||||
"floating_ip_pools": {
|
||||
"main_public_ip_pool": "external-network"
|
||||
},
|
||||
"haproxy_l7_data": {
|
||||
"flavor": "m1.medium",
|
||||
"haproxy_1": "haproxy-l7-1",
|
||||
"haproxy_2": "haproxy-l7-2",
|
||||
"name": "main-haproxy-l7",
|
||||
"vm_count": "2"
|
||||
},
|
||||
"internal_ca_data": {
|
||||
"flavor": "m1.small",
|
||||
"name": "ca"
|
||||
},
|
||||
"main_haproxy_l7_ip": [
|
||||
"10.1.40.11",
|
||||
"10.1.40.12"
|
||||
],
|
||||
"main_private_network": {
|
||||
"description": "D4Science Production private network (use this as the main network)",
|
||||
"name": "d4s-production-cloud-main"
|
||||
},
|
||||
"main_private_network_id": "020df98d-ae72-452a-b376-3b6dc289acac",
|
||||
"main_private_subnet": {
|
||||
"allocation_end": "10.1.47.254",
|
||||
"allocation_start": "10.1.41.100",
|
||||
"cidr": "10.1.40.0/21",
|
||||
"description": "D4Science Production main private subnet",
|
||||
"gateway_ip": "10.1.40.1",
|
||||
"name": "d4s-production-cloud-main-subnet"
|
||||
},
|
||||
"main_region": "isti_area_pi_1",
|
||||
"main_subnet_network_id": "5d7b83ad-e058-4a3a-bfd8-d20ba6d42e1a",
|
||||
"mtu_size": 8942,
|
||||
"networks_list": {
|
||||
"cassandra": "cassandra-net",
|
||||
"orientdb": "orientdb-net",
|
||||
"orientdb_se": "orientdb-se-net",
|
||||
"shared_postgresql": "postgresql-srv-net",
|
||||
"swarm": "swarm-nfs-net",
|
||||
"timescaledb": "timescaledb-net"
|
||||
},
|
||||
"networks_with_d4s_services": {
|
||||
"garr_ct1_net": "90.147.166.0/23",
|
||||
"garr_na_net": "90.147.152.0/24",
|
||||
"garr_pa1_net": "90.147.188.0/23",
|
||||
"infrascience_net": "146.48.122.0/23",
|
||||
"isti_net": "146.48.80.0/21",
|
||||
"s2i2s_net": "146.48.28.0/22"
|
||||
},
|
||||
"nfs_share_no_ingress_secgroup_id": "167e4897-f776-4cbd-986f-77313aa68af2",
|
||||
"octavia_information": {
|
||||
"main_lb_description": "Main L4 load balancer for the D4Science production",
|
||||
"main_lb_hostname": "main-lb",
|
||||
"main_lb_name": "d4s-production-cloud-l4-load-balancer",
|
||||
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7",
|
||||
"swarm_lb_name": "d4s-production-cloud-l4-swarm-load-balancer"
|
||||
},
|
||||
"os_project_data": {
|
||||
"id": "1b45adf388934758b56d0dfdb4bfacf3"
|
||||
},
|
||||
"policy_list": {
|
||||
"affinity": "affinity",
|
||||
"anti_affinity": "anti-affinity",
|
||||
"soft_affinity": "soft-affinity",
|
||||
"soft_anti_affinity": "soft-anti-affinity"
|
||||
},
|
||||
"prometheus_server_data": {
|
||||
"flavor": "m1.medium",
|
||||
"name": "prometheus",
|
||||
"public_grafana_server_cidr": "146.48.28.103/32",
|
||||
"vol_data_device": "/dev/vdb",
|
||||
"vol_data_name": "prometheus-data",
|
||||
"vol_data_size": "100"
|
||||
},
|
||||
"resolvers_ip": [
|
||||
"146.48.29.97",
|
||||
"146.48.29.98",
|
||||
"146.48.29.99"
|
||||
],
|
||||
"resource_registry_addresses": {},
|
||||
"security_group_list": {
|
||||
"acaland": "acaland's dev machine",
|
||||
"access_to_orientdb": "access_to_orientdb",
|
||||
"access_to_orientdb_se": "access_to_orientdb_se",
|
||||
"access_to_the_timescaledb_service": "access_to_the_timescaledb_service",
|
||||
"cassandra": "Cassandra",
|
||||
"dataminer-publish": "dataminer-publish",
|
||||
"debugging_from_jump_node": "debugging_from_jump_node",
|
||||
"default": "default",
|
||||
"docker_swarm": "Docker Swarm",
|
||||
"docker_swarm_NFS": "Docker Swarm NFS",
|
||||
"haproxy": "traffic_from_main_lb_to_haproxy_l7",
|
||||
"http_and_https_from_the_load_balancers": "traffic_from_the_main_load_balancers",
|
||||
"limited_HTTPS_access": "restricted_web_service",
|
||||
"limited_SSH_access": "Limited SSH access",
|
||||
"mongo": "mongo",
|
||||
"nfs_share_no_ingress": "nfs_share_no_ingress",
|
||||
"orientdb_internal_docker_traffic": "orientdb_internal_docker_traffic",
|
||||
"postgreSQL": "PostgreSQL service",
|
||||
"public_HTTPS": "Public HTTPS"
|
||||
},
|
||||
"shared_postgresql_server_data": {
|
||||
"allocation_pool_end": "192.168.3.254",
|
||||
"allocation_pool_start": "192.168.0.100",
|
||||
"flavor": "m1.medium",
|
||||
"name": "shared-postgresql-server",
|
||||
"network_cidr": "192.168.0.0/22",
|
||||
"network_description": "Network used to communicate with the shared postgresql service",
|
||||
"network_name": "postgresql-srv-net",
|
||||
"server_cidr": "192.168.0.5/22",
|
||||
"server_ip": "192.168.0.5",
|
||||
"vol_data_device": "/dev/vdb",
|
||||
"vol_data_name": "shared-postgresql-data",
|
||||
"vol_data_size": "100"
|
||||
},
|
||||
"smartexecutor_addresses": {},
|
||||
"ssh_jump_proxy": {
|
||||
"flavor": "m2.small",
|
||||
"name": "ssh-jump-proxy"
|
||||
},
|
||||
"ssh_sources": {
|
||||
"d4s_vpn_1_cidr": "146.48.122.27/32",
|
||||
"d4s_vpn_2_cidr": "146.48.122.49/32",
|
||||
"infrascience_net_cidr": "146.48.122.0/23",
|
||||
"s2i2s_vpn_1_cidr": "146.48.28.10/32",
|
||||
"s2i2s_vpn_2_cidr": "146.48.28.11/32",
|
||||
"shell_d4s_cidr": "146.48.122.95/32"
|
||||
},
|
||||
"storage_nfs_network_id": "5f4023cc-4016-404c-94e5-86220095fbaf",
|
||||
"storage_nfs_subnet_id": "6ff0f9e8-0e74-4cc3-a268-7ed4af435696",
|
||||
"ubuntu1804_data_file": "../../openstack_vm_data_scripts/ubuntu1804.sh",
|
||||
"ubuntu2204_data_file": "../../openstack_vm_data_scripts/ubuntu2204.sh",
|
||||
"ubuntu_1804": {
|
||||
"name": "Ubuntu-Bionic-18.04",
|
||||
"user_data_file": "../../openstack_vm_data_scripts/ubuntu1804.sh",
|
||||
"uuid": "7ed6a2cd-2b07-482e-8ce4-f018dff16c89"
|
||||
},
|
||||
"ubuntu_2204": {
|
||||
"name": "Ubuntu-Jammy-22.04",
|
||||
"user_data_file": "../../openstack_vm_data_scripts/ubuntu2204.sh",
|
||||
"uuid": "54768889-8556-4be4-a2eb-82a4d9b34627"
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"object",
|
||||
{
|
||||
"almalinux_9": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"availability_zone_no_gpu_name": "string",
|
||||
"availability_zone_with_gpu_name": "string",
|
||||
"availability_zones_names": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"basic_services_ip": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"centos_7": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"default_security_group_name": "string",
|
||||
"dns_zone": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"dns_zone_id": "string",
|
||||
"el7_data_file": "string",
|
||||
"external_gateway_ip": [
|
||||
"list",
|
||||
[
|
||||
"object",
|
||||
{
|
||||
"ip_address": "string",
|
||||
"subnet_id": "string"
|
||||
}
|
||||
]
|
||||
],
|
||||
"external_network": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"external_network_id": "string",
|
||||
"external_router": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"flavor_list": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"floating_ip_pools": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"haproxy_l7_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"internal_ca_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"main_haproxy_l7_ip": [
|
||||
"list",
|
||||
"string"
|
||||
],
|
||||
"main_private_network": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"main_private_network_id": "string",
|
||||
"main_private_subnet": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"main_region": "string",
|
||||
"main_subnet_network_id": "string",
|
||||
"mtu_size": "number",
|
||||
"networks_list": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"networks_with_d4s_services": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"nfs_share_no_ingress_secgroup_id": "string",
|
||||
"octavia_information": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"os_project_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"policy_list": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"prometheus_server_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"resolvers_ip": [
|
||||
"list",
|
||||
"string"
|
||||
],
|
||||
"resource_registry_addresses": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"security_group_list": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"shared_postgresql_server_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"smartexecutor_addresses": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"ssh_jump_proxy": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"ssh_sources": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"storage_nfs_network_id": "string",
|
||||
"storage_nfs_subnet_id": "string",
|
||||
"ubuntu1804_data_file": "string",
|
||||
"ubuntu2204_data_file": "string",
|
||||
"ubuntu_1804": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"ubuntu_2204": [
|
||||
"map",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"workspace": null
|
||||
},
|
||||
"sensitive_attributes": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "openstack_compute_instance_v2",
|
||||
"name": "access_service",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"access_ip_v4": "10.1.43.47",
|
||||
"access_ip_v6": "",
|
||||
"admin_pass": null,
|
||||
"all_metadata": {},
|
||||
"all_tags": [],
|
||||
"availability_zone": "cnr-isti-nova-a",
|
||||
"availability_zone_hints": "cnr-isti-nova-a",
|
||||
"block_device": [
|
||||
{
|
||||
"boot_index": 0,
|
||||
"delete_on_termination": false,
|
||||
"destination_type": "volume",
|
||||
"device_type": "",
|
||||
"disk_bus": "",
|
||||
"guest_format": "",
|
||||
"multiattach": false,
|
||||
"source_type": "image",
|
||||
"uuid": "7ed6a2cd-2b07-482e-8ce4-f018dff16c89",
|
||||
"volume_size": 50,
|
||||
"volume_type": ""
|
||||
}
|
||||
],
|
||||
"config_drive": null,
|
||||
"created": "2024-04-19 12:06:51 +0000 UTC",
|
||||
"flavor_id": "4",
|
||||
"flavor_name": "m1.medium",
|
||||
"floating_ip": null,
|
||||
"force_delete": false,
|
||||
"id": "9ded4ec0-d140-4ff4-92cd-0e171c2cd23f",
|
||||
"image_id": "Attempt to boot from volume - no image supplied",
|
||||
"image_name": null,
|
||||
"key_pair": "Giancarlo Panichi",
|
||||
"metadata": null,
|
||||
"name": "access",
|
||||
"network": [
|
||||
{
|
||||
"access_network": false,
|
||||
"fixed_ip_v4": "10.1.43.47",
|
||||
"fixed_ip_v6": "",
|
||||
"floating_ip": "",
|
||||
"mac": "fa:16:3e:e2:46:31",
|
||||
"name": "d4s-production-cloud-main",
|
||||
"port": "",
|
||||
"uuid": "020df98d-ae72-452a-b376-3b6dc289acac"
|
||||
}
|
||||
],
|
||||
"network_mode": null,
|
||||
"personality": [],
|
||||
"power_state": "active",
|
||||
"region": "isti_area_pi_1",
|
||||
"scheduler_hints": [],
|
||||
"security_groups": [
|
||||
"default_for_all",
|
||||
"traffic_from_the_main_load_balancers"
|
||||
],
|
||||
"stop_before_destroy": false,
|
||||
"tags": null,
|
||||
"timeouts": null,
|
||||
"updated": "2024-04-19 12:07:34 +0000 UTC",
|
||||
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||
"vendor_options": [],
|
||||
"volume": []
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "module.dns_records_create",
|
||||
"mode": "managed",
|
||||
"type": "openstack_dns_recordset_v2",
|
||||
"name": "add_dns_recordset",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"index_key": "access-service",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"description": "Access access",
|
||||
"disable_status_check": false,
|
||||
"id": "74135b34-1a9c-4c01-8cf0-22450a5660c4/b36078da-4666-495c-b524-0239e065711c",
|
||||
"name": "access.cloud.d4science.org.",
|
||||
"project_id": "1b45adf388934758b56d0dfdb4bfacf3",
|
||||
"records": [
|
||||
"main-lb.cloud.d4science.org."
|
||||
],
|
||||
"region": "isti_area_pi_1",
|
||||
"timeouts": null,
|
||||
"ttl": 8600,
|
||||
"type": "CNAME",
|
||||
"value_specs": null,
|
||||
"zone_id": "74135b34-1a9c-4c01-8cf0-22450a5660c4"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"check_results": null
|
||||
}
|
|
@ -1,152 +0,0 @@
|
|||
# Define required providers
|
||||
terraform {
|
||||
required_version = ">= 0.14.0"
|
||||
required_providers {
|
||||
openstack = {
|
||||
source = "terraform-provider-openstack/openstack"
|
||||
version = ">= 1.54.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
data "terraform_remote_state" "privnet_dns_router" {
|
||||
backend = "local"
|
||||
|
||||
config = {
|
||||
path = "../project-setup/terraform.tfstate"
|
||||
}
|
||||
}
|
||||
|
||||
data "terraform_remote_state" "infrastructure_setup" {
|
||||
backend = "local"
|
||||
|
||||
config = {
|
||||
path = "../basic-infrastructure/terraform.tfstate"
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# Uses common_variables as module
|
||||
#
|
||||
module "common_variables" {
|
||||
source = "../../modules/common_variables"
|
||||
}
|
||||
|
||||
# Module used
|
||||
module "ssh_settings" {
|
||||
source = "../../modules/ssh-key-ref"
|
||||
}
|
||||
|
||||
resource "openstack_networking_secgroup_v2" "accounting_dashboard_db_access_list" {
|
||||
name = "accounting_dashboard_db_access_list"
|
||||
delete_default_rules = "true"
|
||||
description = "Allowed connections to the accounting dashboard database"
|
||||
}
|
||||
|
||||
resource "openstack_networking_secgroup_rule_v2" "access_to_the_accounting_dashboard_db" {
|
||||
for_each = toset([var.accounting_dashoard_allowed_sources.infrascience_net, var.accounting_dashoard_allowed_sources.google_datastudio1, var.accounting_dashoard_allowed_sources.google_datastudio2, var.accounting_dashoard_allowed_sources.google_datastudio3, var.accounting_dashoard_allowed_sources.google_datastudio4, var.accounting_dashoard_allowed_sources.google_datastudio5, var.accounting_dashoard_allowed_sources.google_datastudio6, var.accounting_dashoard_allowed_sources.google_datastudio7, var.accounting_dashoard_allowed_sources.google_datastudio8, var.accounting_dashoard_allowed_sources.google_datastudio9, var.accounting_dashoard_allowed_sources.google_datastudio10, var.accounting_dashoard_allowed_sources.google_datastudio11, var.accounting_dashoard_allowed_sources.google_datastudio12, var.accounting_dashoard_allowed_sources.google_datastudio13, var.accounting_dashoard_allowed_sources.openstack_production])
|
||||
security_group_id = openstack_networking_secgroup_v2.accounting_dashboard_db_access_list.id
|
||||
description = "Access to the Accounting Dashboard DB"
|
||||
direction = "ingress"
|
||||
ethertype = "IPv4"
|
||||
protocol = "tcp"
|
||||
port_range_min = 5432
|
||||
port_range_max = 5432
|
||||
remote_ip_prefix = each.value
|
||||
}
|
||||
|
||||
# Block device
|
||||
resource "openstack_blockstorage_volume_v3" "accounting_dashboard_db_data_vol" {
|
||||
name = var.accounting_dashboard_db_data.vol_data_name
|
||||
size = var.accounting_dashboard_db_data.vol_data_size
|
||||
}
|
||||
|
||||
#
|
||||
# Ports in the timescaleDB network
|
||||
resource "openstack_networking_port_v2" "accounting_dashboard_port_on_main_net" {
|
||||
name = "accounting_dashboard_port_on_main_net"
|
||||
network_id = data.terraform_remote_state.privnet_dns_router.outputs.main_private_network_id
|
||||
admin_state_up = "true"
|
||||
fixed_ip {
|
||||
subnet_id = data.terraform_remote_state.privnet_dns_router.outputs.main_subnet_network_id
|
||||
}
|
||||
security_group_ids = [
|
||||
openstack_networking_secgroup_v2.accounting_dashboard_db_access_list.id,
|
||||
data.terraform_remote_state.infrastructure_setup.outputs.default_security_group.id
|
||||
]
|
||||
}
|
||||
|
||||
# Instance
|
||||
resource "openstack_compute_instance_v2" "accounting_dashboard_db_server" {
|
||||
name = var.accounting_dashboard_db_data.name
|
||||
availability_zone_hints = module.common_variables.availability_zone_no_gpu_name
|
||||
flavor_name = var.accounting_dashboard_db_data.flavor
|
||||
key_pair = module.ssh_settings.ssh_key_name
|
||||
security_groups = [data.terraform_remote_state.infrastructure_setup.outputs.default_security_group.name, data.terraform_remote_state.infrastructure_setup.outputs.access_postgresql_security_group.name, openstack_networking_secgroup_v2.accounting_dashboard_db_access_list.name]
|
||||
block_device {
|
||||
uuid = module.common_variables.ubuntu_2204.uuid
|
||||
source_type = "image"
|
||||
volume_size = 10
|
||||
boot_index = 0
|
||||
destination_type = "volume"
|
||||
delete_on_termination = false
|
||||
}
|
||||
|
||||
network {
|
||||
name = module.common_variables.networks_list.shared_postgresql
|
||||
fixed_ip_v4 = var.accounting_dashboard_db_data.server_ip
|
||||
}
|
||||
user_data = file("${module.common_variables.ubuntu2204_data_file}")
|
||||
# Do not replace the instance when the ssh key changes
|
||||
lifecycle {
|
||||
ignore_changes = [
|
||||
# Ignore changes to tags, e.g. because a management agent
|
||||
# updates these based on some ruleset managed elsewhere.
|
||||
key_pair, user_data, network
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
resource "openstack_compute_volume_attach_v2" "accounting_dashboard_db_data_attach_vol" {
|
||||
instance_id = openstack_compute_instance_v2.accounting_dashboard_db_server.id
|
||||
volume_id = openstack_blockstorage_volume_v3.accounting_dashboard_db_data_vol.id
|
||||
device = var.accounting_dashboard_db_data.vol_data_device
|
||||
depends_on = [openstack_compute_instance_v2.accounting_dashboard_db_server]
|
||||
}
|
||||
|
||||
resource "openstack_compute_interface_attach_v2" "main_network_to_accounting_dashboard" {
|
||||
instance_id = openstack_compute_instance_v2.accounting_dashboard_db_server.id
|
||||
port_id = openstack_networking_port_v2.accounting_dashboard_port_on_main_net.id
|
||||
}
|
||||
# Floating IP and DNS record
|
||||
resource "openstack_networking_floatingip_v2" "accounting_dashboard_db_ip" {
|
||||
pool = data.terraform_remote_state.privnet_dns_router.outputs.floating_ip_pools.main_public_ip_pool
|
||||
# The DNS association does not work because of a bug in the OpenStack API
|
||||
description = "Accounting dashboard"
|
||||
}
|
||||
|
||||
resource "openstack_networking_floatingip_associate_v2" "accounting_dashboard_db" {
|
||||
floating_ip = openstack_networking_floatingip_v2.accounting_dashboard_db_ip.address
|
||||
port_id = openstack_networking_port_v2.accounting_dashboard_port_on_main_net.id
|
||||
}
|
||||
|
||||
locals {
|
||||
accounting_dashboard_recordset_name = "accounting-dashboard-db.${data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name}"
|
||||
}
|
||||
|
||||
resource "openstack_dns_recordset_v2" "accounting_dashboard_recordset" {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = local.accounting_dashboard_recordset_name
|
||||
description = "Public IP address of the Accounting Dashboard"
|
||||
ttl = 8600
|
||||
type = "A"
|
||||
records = [openstack_networking_floatingip_v2.accounting_dashboard_db_ip.address]
|
||||
}
|
||||
|
||||
output "accounting_dashboard_public_ip_address" {
|
||||
value = openstack_networking_floatingip_v2.accounting_dashboard_db_ip.address
|
||||
}
|
||||
|
||||
output "accounting_dashboard_hostname" {
|
||||
value = openstack_dns_recordset_v2.accounting_dashboard_recordset.name
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
provider "openstack" {
|
||||
cloud = "d4s-production"
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -1,35 +0,0 @@
|
|||
#Accounting Dashboard DB variables
|
||||
|
||||
variable "accounting_dashboard_db_data" {
|
||||
type = map(string)
|
||||
default = {
|
||||
name = "accounting-dashboard-db-server"
|
||||
flavor = "m1.medium"
|
||||
vol_data_name = "accounting-dashboard-db-data"
|
||||
vol_data_size = "10"
|
||||
vol_data_device = "/dev/vdb"
|
||||
server_ip = "192.168.0.10"
|
||||
}
|
||||
}
|
||||
|
||||
variable "accounting_dashoard_allowed_sources" {
|
||||
type = map(string)
|
||||
default = {
|
||||
"infrascience_net" = "146.48.122.0/23"
|
||||
"google_datastudio1" = "64.18.0.0/20"
|
||||
"google_datastudio2" = "64.233.160.0/19"
|
||||
"google_datastudio3" = "66.102.0.0/20"
|
||||
"google_datastudio4" = "66.249.80.0/20"
|
||||
"google_datastudio5" = "72.14.192.0/18"
|
||||
"google_datastudio6" = "74.125.0.0/16"
|
||||
"google_datastudio7" = "108.177.8.0/21"
|
||||
"google_datastudio8" = "173.194.0.0/16"
|
||||
"google_datastudio9" = "207.126.144.0/20"
|
||||
"google_datastudio10" = "209.85.128.0/17"
|
||||
"google_datastudio11" = "216.58.192.0/19"
|
||||
"google_datastudio12" = "216.239.32.0/19"
|
||||
"google_datastudio13" = "142.251.74.0/23"
|
||||
"openstack_production" = "146.48.31.57/32"
|
||||
}
|
||||
}
|
||||
|
|
@ -2,23 +2,23 @@
|
|||
# Manual edits may be lost in future updates.
|
||||
|
||||
provider "registry.terraform.io/terraform-provider-openstack/openstack" {
|
||||
version = "2.0.0"
|
||||
constraints = ">= 1.54.0"
|
||||
version = "1.53.0"
|
||||
constraints = "~> 1.53.0"
|
||||
hashes = [
|
||||
"h1:TlWnNG9n7MH6S7YBI0BUiQ/wkUPdNNeG2Iy68HsSS20=",
|
||||
"zh:17dcb07e1af0bf5dfa0aa280a7ad450dffcd4c2b2fba91088eb5ec191ad8a0a0",
|
||||
"zh:2546f047d34f4372e4eb10db5ba23a45a8952327ae94d15371b2432ba477404e",
|
||||
"zh:257a96029772251de0ce039483d565744e28e902904a60cb2e1d0af91b09d74d",
|
||||
"zh:29d71f2a9d74701965a19ad1623d46bfe624e7d58c261075acad04bef373b579",
|
||||
"zh:30e759253fb7df4d24de8e248ff5f0f038c6e54b82377c70bc19815443476eb6",
|
||||
"zh:383d8286588b0ccd02062373ee7812ad583775b7d1ef09112716ebf3a6f257cd",
|
||||
"zh:533beb32a7d355f5ecfc249eb40a9800061dd2590960c48910d7ab8a711495ef",
|
||||
"zh:5f52cfb93aabf766d6781f66b9cee8b9126a52a330e16c6eadd1b52e8c251870",
|
||||
"zh:6720f59ade2db328d8e3d37ac4bd588a186379d6c29ebd76761fca916a230ddc",
|
||||
"zh:725c285c6e979d9564ae0c6017587e65ca6727733cb6fdf0af57047e0f89cb00",
|
||||
"zh:739ec820139bdd742743c892f0c123b3ef4c0288ed33739380ed362cdcb49085",
|
||||
"zh:7d223f9e986a8ece51f86143d01f2c7d805c55dce1090e53059d8a38e1121de4",
|
||||
"zh:9d682904a5346febb820f7d1290d3a5bd09761c0427c9854c3248d222ce970c2",
|
||||
"zh:f06515d93af460abc39e7713089f9fe714bcb25315582628ecb0b1af7a2a6e2f",
|
||||
"h1:ZSJPqrlaHQ3sj7wyJuPSG+NblFZbAA6Y0d3GjSJf3o8=",
|
||||
"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",
|
||||
]
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@ default_security_group_name = "default_for_all"
|
|||
|
||||
shared_postgresql_server_data = {
|
||||
name = "shared-postgresql-server"
|
||||
flavor = "m1.xxl"
|
||||
flavor = "m1.large"
|
||||
vol_data_name = "shared-postgresql-data"
|
||||
vol_data_size = "300"
|
||||
vol_data_device = "/dev/vdb"
|
||||
|
|
|
@ -4,7 +4,7 @@ terraform {
|
|||
required_providers {
|
||||
openstack = {
|
||||
source = "terraform-provider-openstack/openstack"
|
||||
version = ">= 1.54.0"
|
||||
version = "~> 1.53.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -27,6 +27,20 @@ module "instance_with_data_volume" {
|
|||
source = "../../modules/instance_with_data_volume"
|
||||
|
||||
instances_with_data_volume_map = {
|
||||
geonetwork_ariadne = {
|
||||
name = "geonetwork-ariadne",
|
||||
description = "This instance serves geonetwork service",
|
||||
flavor = module.common_variables.flavor_list.m2_small,
|
||||
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
||||
security_groups = [data.terraform_remote_state.privnet_dns_router.outputs.default_security_group_name, data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.http_and_https_from_the_load_balancers],
|
||||
server_groups_ids = [],
|
||||
image_ref = module.common_variables.ubuntu_1804
|
||||
volume = {
|
||||
name = "geonetwork_ariadne_data_volume",
|
||||
size = "20",
|
||||
device = "/dev/vdb"
|
||||
}
|
||||
},
|
||||
geonetwork_fisherieatlas = {
|
||||
name = "geonetwork-fisherieatlas",
|
||||
description = "This instance serves geonetwork service",
|
||||
|
@ -126,6 +140,20 @@ module "instance_with_data_volume" {
|
|||
device = "/dev/vdb"
|
||||
}
|
||||
},
|
||||
geonetwork_tunaatlas = {
|
||||
name = "geonetwork-tunaatlas",
|
||||
description = "This instance serves geonetwork service",
|
||||
flavor = module.common_variables.flavor_list.m2_small,
|
||||
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
||||
security_groups = [data.terraform_remote_state.privnet_dns_router.outputs.default_security_group_name, data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.http_and_https_from_the_load_balancers],
|
||||
image_ref = module.common_variables.ubuntu_1804
|
||||
server_groups_ids = [],
|
||||
volume = {
|
||||
name = "geonetwork_tunaatlas_data_volume",
|
||||
size = "20",
|
||||
device = "/dev/vdb"
|
||||
}
|
||||
},
|
||||
geonetwork_globalfisheriesatlas = {
|
||||
name = "geonetwork-globalfisheriesatlas",
|
||||
description = "This instance serves geonetwork service",
|
||||
|
@ -154,8 +182,8 @@ module "instance_with_data_volume" {
|
|||
device = "/dev/vdb"
|
||||
}
|
||||
},
|
||||
geonetwork_itineris = {
|
||||
name = "geonetwork-itineris",
|
||||
geonetwork_itineris_carbon = {
|
||||
name = "geonetwork-itineris-carbon",
|
||||
description = "This instance serves geonetwork service",
|
||||
flavor = module.common_variables.flavor_list.m2_small,
|
||||
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
||||
|
@ -163,39 +191,11 @@ module "instance_with_data_volume" {
|
|||
image_ref = module.common_variables.ubuntu_1804
|
||||
server_groups_ids = [],
|
||||
volume = {
|
||||
name = "geonetwork_itineris_data_volume",
|
||||
name = "geonetwork_itineris_carbon_data_volume",
|
||||
size = "20",
|
||||
device = "/dev/vdb"
|
||||
}
|
||||
},
|
||||
geonetwork_gaiablulab = {
|
||||
name = "geonetwork-gaiablulab",
|
||||
description = "This instance serves geonetwork service",
|
||||
flavor = module.common_variables.flavor_list.m2_small,
|
||||
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
||||
security_groups = [data.terraform_remote_state.privnet_dns_router.outputs.default_security_group_name, data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.http_and_https_from_the_load_balancers],
|
||||
image_ref = module.common_variables.ubuntu_1804
|
||||
server_groups_ids = [],
|
||||
volume = {
|
||||
name = "geonetwork_gaiablulab_data_volume",
|
||||
size = "20",
|
||||
device = "/dev/vdb"
|
||||
}
|
||||
},
|
||||
geonetwork_aquacultureatlas = {
|
||||
name = "geonetwork-aquacultureatlas",
|
||||
description = "This instance serves geonetwork service",
|
||||
flavor = module.common_variables.flavor_list.m2_small,
|
||||
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
||||
security_groups = [data.terraform_remote_state.privnet_dns_router.outputs.default_security_group_name, data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.http_and_https_from_the_load_balancers],
|
||||
server_groups_ids = [],
|
||||
image_ref = module.common_variables.ubuntu_1804
|
||||
volume = {
|
||||
name = "geonetwork_aquacultureatlas_data_volume",
|
||||
size = "20",
|
||||
device = "/dev/vdb"
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -210,6 +210,14 @@ module "dns_records_create" {
|
|||
source = "../../modules/dns_resources"
|
||||
|
||||
dns_resources_map = {
|
||||
geonetwork-ariadne = {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = join(".", ["geonetwork-ariadne", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
description = "Geonetwork geonetwork-ariadne"
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
},
|
||||
geonetwork-fisherieatlas = {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = join(".", ["geonetwork-fisherieatlas", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
|
@ -266,6 +274,14 @@ module "dns_records_create" {
|
|||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
},
|
||||
geonetwork-tunaatlas = {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = join(".", ["geonetwork-tunaatlas", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
description = "Geonetwork geonetwork-tunaatlas"
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
},
|
||||
geonetwork-globalfisheriesatlas = {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = join(".", ["geonetwork-globalfisheriesatlas", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
|
@ -282,26 +298,10 @@ module "dns_records_create" {
|
|||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
},
|
||||
geonetwork-itineris = {
|
||||
geonetwork-itineris-carbon = {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = join(".", ["geonetwork-itineris", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
description = "Geonetwork geonetwork-itineris"
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
},
|
||||
geonetwork-gaiablulab = {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = join(".", ["geonetwork-gaiablulab", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
description = "Geonetwork geonetwork-gaiablulab"
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
},
|
||||
geonetwork-aquacultureatlas = {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = join(".", ["geonetwork-aquacultureatlas", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
description = "Geonetwork geonetwork-aquacultureatlas"
|
||||
name = join(".", ["geonetwork-itineris-carbon", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
description = "Geonetwork geonetwork-itineris-carbon"
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version": 4,
|
||||
"terraform_version": "1.6.4",
|
||||
"serial": 81,
|
||||
"serial": 52,
|
||||
"lineage": "08d2359a-f46e-f9fe-02d9-4cc9cfb46e25",
|
||||
"outputs": {},
|
||||
"resources": [
|
||||
|
@ -402,13 +402,13 @@
|
|||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"index_key": "geonetwork-aquacultureatlas",
|
||||
"index_key": "geonetwork-ariadne",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"description": "Geonetwork geonetwork-aquacultureatlas",
|
||||
"description": "Geonetwork geonetwork-ariadne",
|
||||
"disable_status_check": false,
|
||||
"id": "74135b34-1a9c-4c01-8cf0-22450a5660c4/ef1fb5e7-ba0a-4b60-8ad4-f5687f1ece2a",
|
||||
"name": "geonetwork-aquacultureatlas.cloud.d4science.org.",
|
||||
"id": "74135b34-1a9c-4c01-8cf0-22450a5660c4/ed21d6a2-6198-48ed-9135-b2a108672efd",
|
||||
"name": "geonetwork-ariadne.cloud.d4science.org.",
|
||||
"project_id": "1b45adf388934758b56d0dfdb4bfacf3",
|
||||
"records": [
|
||||
"main-lb.cloud.d4science.org."
|
||||
|
@ -476,31 +476,6 @@
|
|||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": "geonetwork-gaiablulab",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"description": "Geonetwork geonetwork-gaiablulab",
|
||||
"disable_status_check": false,
|
||||
"id": "74135b34-1a9c-4c01-8cf0-22450a5660c4/61e5907e-82e3-4628-a6f2-d3d31ae65b3a",
|
||||
"name": "geonetwork-gaiablulab.cloud.d4science.org.",
|
||||
"project_id": "1b45adf388934758b56d0dfdb4bfacf3",
|
||||
"records": [
|
||||
"main-lb.cloud.d4science.org."
|
||||
],
|
||||
"region": "isti_area_pi_1",
|
||||
"timeouts": null,
|
||||
"ttl": 8600,
|
||||
"type": "CNAME",
|
||||
"value_specs": null,
|
||||
"zone_id": "74135b34-1a9c-4c01-8cf0-22450a5660c4"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": "geonetwork-globalfisheriesatlas",
|
||||
"schema_version": 0,
|
||||
|
@ -577,13 +552,13 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"index_key": "geonetwork-itineris",
|
||||
"index_key": "geonetwork-itineris-carbon",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"description": "Geonetwork geonetwork-itineris",
|
||||
"description": "Geonetwork geonetwork-itineris-carbon",
|
||||
"disable_status_check": false,
|
||||
"id": "74135b34-1a9c-4c01-8cf0-22450a5660c4/63a2f9c8-5c08-4ccc-a6e6-76521489401a",
|
||||
"name": "geonetwork-itineris.cloud.d4science.org.",
|
||||
"id": "74135b34-1a9c-4c01-8cf0-22450a5660c4/72cf92f0-dc8c-43b5-ba62-87add21b45cf",
|
||||
"name": "geonetwork-itineris-carbon.cloud.d4science.org.",
|
||||
"project_id": "1b45adf388934758b56d0dfdb4bfacf3",
|
||||
"records": [
|
||||
"main-lb.cloud.d4science.org."
|
||||
|
@ -676,6 +651,31 @@
|
|||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": "geonetwork-tunaatlas",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"description": "Geonetwork geonetwork-tunaatlas",
|
||||
"disable_status_check": false,
|
||||
"id": "74135b34-1a9c-4c01-8cf0-22450a5660c4/291e3b9e-92dc-4a01-a8ac-440a55574b1d",
|
||||
"name": "geonetwork-tunaatlas.cloud.d4science.org.",
|
||||
"project_id": "1b45adf388934758b56d0dfdb4bfacf3",
|
||||
"records": [
|
||||
"main-lb.cloud.d4science.org."
|
||||
],
|
||||
"region": "isti_area_pi_1",
|
||||
"timeouts": null,
|
||||
"ttl": 8600,
|
||||
"type": "CNAME",
|
||||
"value_specs": null,
|
||||
"zone_id": "74135b34-1a9c-4c01-8cf0-22450a5660c4"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": "geonetwork-wecafcfirms",
|
||||
"schema_version": 0,
|
||||
|
@ -711,19 +711,25 @@
|
|||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"index_key": "geonetwork_aquacultureatlas",
|
||||
"index_key": "geonetwork_ariadne",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"attachment": [],
|
||||
"attachment": [
|
||||
{
|
||||
"device": "/dev/vdb",
|
||||
"id": "50fe7d24-fccc-47a0-bb1c-628389e5c404",
|
||||
"instance_id": "a661b900-30ad-4d99-af42-7af72bfd6061"
|
||||
}
|
||||
],
|
||||
"availability_zone": "nova",
|
||||
"consistency_group_id": null,
|
||||
"description": "",
|
||||
"enable_online_resize": null,
|
||||
"id": "ea23e97d-23af-440d-b93c-f995b23fdb56",
|
||||
"id": "50fe7d24-fccc-47a0-bb1c-628389e5c404",
|
||||
"image_id": null,
|
||||
"metadata": {},
|
||||
"multiattach": null,
|
||||
"name": "geonetwork_aquacultureatlas_data_volume",
|
||||
"name": "geonetwork_ariadne_data_volume",
|
||||
"region": "isti_area_pi_1",
|
||||
"scheduler_hints": [],
|
||||
"size": 20,
|
||||
|
@ -809,41 +815,6 @@
|
|||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": "geonetwork_gaiablulab",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"attachment": [
|
||||
{
|
||||
"device": "/dev/vdb",
|
||||
"id": "1a1334e0-941d-43ec-a7f1-39bd464b7f19",
|
||||
"instance_id": "fe48b098-bccd-4201-b20e-238eb0ce4357"
|
||||
}
|
||||
],
|
||||
"availability_zone": "nova",
|
||||
"consistency_group_id": null,
|
||||
"description": "",
|
||||
"enable_online_resize": null,
|
||||
"id": "1a1334e0-941d-43ec-a7f1-39bd464b7f19",
|
||||
"image_id": null,
|
||||
"metadata": {},
|
||||
"multiattach": null,
|
||||
"name": "geonetwork_gaiablulab_data_volume",
|
||||
"region": "isti_area_pi_1",
|
||||
"scheduler_hints": [],
|
||||
"size": 20,
|
||||
"snapshot_id": "",
|
||||
"source_replica": null,
|
||||
"source_vol_id": "",
|
||||
"timeouts": null,
|
||||
"volume_type": "cephUnencrypted"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": "geonetwork_globalfisheriesatlas",
|
||||
"schema_version": 0,
|
||||
|
@ -950,25 +921,19 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"index_key": "geonetwork_itineris",
|
||||
"index_key": "geonetwork_itineris_carbon",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"attachment": [
|
||||
{
|
||||
"device": "/dev/vdb",
|
||||
"id": "e1fcc19d-bba3-47c6-bea1-0d6704cb88cb",
|
||||
"instance_id": "ea1eac09-f678-4a26-b9cd-5808c19b0b9f"
|
||||
}
|
||||
],
|
||||
"attachment": [],
|
||||
"availability_zone": "nova",
|
||||
"consistency_group_id": null,
|
||||
"description": "",
|
||||
"enable_online_resize": null,
|
||||
"id": "e1fcc19d-bba3-47c6-bea1-0d6704cb88cb",
|
||||
"id": "7776f0b1-6b5d-4226-b88d-3867738f2fc0",
|
||||
"image_id": null,
|
||||
"metadata": {},
|
||||
"multiattach": null,
|
||||
"name": "geonetwork_itineris_data_volume",
|
||||
"name": "geonetwork_itineris_carbon_data_volume",
|
||||
"region": "isti_area_pi_1",
|
||||
"scheduler_hints": [],
|
||||
"size": 20,
|
||||
|
@ -1089,6 +1054,41 @@
|
|||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": "geonetwork_tunaatlas",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"attachment": [
|
||||
{
|
||||
"device": "/dev/vdb",
|
||||
"id": "a38b773f-9aee-4790-95bd-453694193da6",
|
||||
"instance_id": "37f725ea-06d4-47a0-b2de-2a62015a661d"
|
||||
}
|
||||
],
|
||||
"availability_zone": "nova",
|
||||
"consistency_group_id": null,
|
||||
"description": "",
|
||||
"enable_online_resize": null,
|
||||
"id": "a38b773f-9aee-4790-95bd-453694193da6",
|
||||
"image_id": null,
|
||||
"metadata": {},
|
||||
"multiattach": null,
|
||||
"name": "geonetwork_tunaatlas_data_volume",
|
||||
"region": "isti_area_pi_1",
|
||||
"scheduler_hints": [],
|
||||
"size": 20,
|
||||
"snapshot_id": "",
|
||||
"source_replica": null,
|
||||
"source_vol_id": "",
|
||||
"timeouts": null,
|
||||
"volume_type": "cephUnencrypted"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": "geonetwork_wecafcfirms",
|
||||
"schema_version": 0,
|
||||
|
@ -1134,10 +1134,10 @@
|
|||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"index_key": "geonetwork_aquacultureatlas",
|
||||
"index_key": "geonetwork_ariadne",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"access_ip_v4": "10.1.45.145",
|
||||
"access_ip_v4": "10.1.41.250",
|
||||
"access_ip_v6": "",
|
||||
"admin_pass": null,
|
||||
"all_metadata": {},
|
||||
|
@ -1160,34 +1160,34 @@
|
|||
}
|
||||
],
|
||||
"config_drive": null,
|
||||
"created": "2024-05-08 13:02:28 +0000 UTC",
|
||||
"created": "2023-12-13 17:50:10 +0000 UTC",
|
||||
"flavor_id": "10",
|
||||
"flavor_name": "m2.small",
|
||||
"floating_ip": null,
|
||||
"force_delete": false,
|
||||
"id": "a066d736-0227-4c43-9a9d-397efce99c4b",
|
||||
"id": "a661b900-30ad-4d99-af42-7af72bfd6061",
|
||||
"image_id": "Attempt to boot from volume - no image supplied",
|
||||
"image_name": null,
|
||||
"key_pair": "Giancarlo Panichi",
|
||||
"key_pair": "adellam",
|
||||
"metadata": null,
|
||||
"name": "geonetwork-aquacultureatlas",
|
||||
"name": "geonetwork-ariadne",
|
||||
"network": [
|
||||
{
|
||||
"access_network": false,
|
||||
"fixed_ip_v4": "10.1.45.145",
|
||||
"fixed_ip_v4": "10.1.41.250",
|
||||
"fixed_ip_v6": "",
|
||||
"floating_ip": "",
|
||||
"mac": "fa:16:3e:28:1d:08",
|
||||
"mac": "fa:16:3e:0f:cb:84",
|
||||
"name": "d4s-production-cloud-main",
|
||||
"port": "",
|
||||
"uuid": "020df98d-ae72-452a-b376-3b6dc289acac"
|
||||
},
|
||||
{
|
||||
"access_network": false,
|
||||
"fixed_ip_v4": "192.168.0.190",
|
||||
"fixed_ip_v4": "192.168.2.52",
|
||||
"fixed_ip_v6": "",
|
||||
"floating_ip": "",
|
||||
"mac": "fa:16:3e:7f:55:7f",
|
||||
"mac": "fa:16:3e:0b:a4:06",
|
||||
"name": "postgresql-srv-net",
|
||||
"port": "",
|
||||
"uuid": "f6450bc8-1345-4b52-8f34-2903c0cca7f8"
|
||||
|
@ -1203,9 +1203,9 @@
|
|||
"traffic_from_the_main_load_balancers"
|
||||
],
|
||||
"stop_before_destroy": false,
|
||||
"tags": null,
|
||||
"tags": [],
|
||||
"timeouts": null,
|
||||
"updated": "2024-05-08 13:03:22 +0000 UTC",
|
||||
"updated": "2023-12-13 17:51:02 +0000 UTC",
|
||||
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||
"vendor_options": [],
|
||||
"volume": []
|
||||
|
@ -1382,89 +1382,6 @@
|
|||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": "geonetwork_gaiablulab",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"access_ip_v4": "10.1.41.183",
|
||||
"access_ip_v6": "",
|
||||
"admin_pass": null,
|
||||
"all_metadata": {},
|
||||
"all_tags": [],
|
||||
"availability_zone": "cnr-isti-nova-a",
|
||||
"availability_zone_hints": "cnr-isti-nova-a",
|
||||
"block_device": [
|
||||
{
|
||||
"boot_index": 0,
|
||||
"delete_on_termination": false,
|
||||
"destination_type": "volume",
|
||||
"device_type": "",
|
||||
"disk_bus": "",
|
||||
"guest_format": "",
|
||||
"multiattach": false,
|
||||
"source_type": "image",
|
||||
"uuid": "7ed6a2cd-2b07-482e-8ce4-f018dff16c89",
|
||||
"volume_size": 10,
|
||||
"volume_type": ""
|
||||
}
|
||||
],
|
||||
"config_drive": null,
|
||||
"created": "2024-04-09 13:32:29 +0000 UTC",
|
||||
"flavor_id": "10",
|
||||
"flavor_name": "m2.small",
|
||||
"floating_ip": null,
|
||||
"force_delete": false,
|
||||
"id": "fe48b098-bccd-4201-b20e-238eb0ce4357",
|
||||
"image_id": "Attempt to boot from volume - no image supplied",
|
||||
"image_name": null,
|
||||
"key_pair": "Giancarlo Panichi",
|
||||
"metadata": null,
|
||||
"name": "geonetwork-gaiablulab",
|
||||
"network": [
|
||||
{
|
||||
"access_network": false,
|
||||
"fixed_ip_v4": "10.1.41.183",
|
||||
"fixed_ip_v6": "",
|
||||
"floating_ip": "",
|
||||
"mac": "fa:16:3e:f5:7c:b8",
|
||||
"name": "d4s-production-cloud-main",
|
||||
"port": "",
|
||||
"uuid": "020df98d-ae72-452a-b376-3b6dc289acac"
|
||||
},
|
||||
{
|
||||
"access_network": false,
|
||||
"fixed_ip_v4": "192.168.3.83",
|
||||
"fixed_ip_v6": "",
|
||||
"floating_ip": "",
|
||||
"mac": "fa:16:3e:f4:b5:a1",
|
||||
"name": "postgresql-srv-net",
|
||||
"port": "",
|
||||
"uuid": "f6450bc8-1345-4b52-8f34-2903c0cca7f8"
|
||||
}
|
||||
],
|
||||
"network_mode": null,
|
||||
"personality": [],
|
||||
"power_state": "active",
|
||||
"region": "isti_area_pi_1",
|
||||
"scheduler_hints": [],
|
||||
"security_groups": [
|
||||
"default_for_all",
|
||||
"traffic_from_the_main_load_balancers"
|
||||
],
|
||||
"stop_before_destroy": false,
|
||||
"tags": [],
|
||||
"timeouts": null,
|
||||
"updated": "2024-04-09 13:33:16 +0000 UTC",
|
||||
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||
"vendor_options": [],
|
||||
"volume": []
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": "geonetwork_globalfisheriesatlas",
|
||||
"schema_version": 0,
|
||||
|
@ -1715,10 +1632,10 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"index_key": "geonetwork_itineris",
|
||||
"index_key": "geonetwork_itineris_carbon",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"access_ip_v4": "10.1.43.8",
|
||||
"access_ip_v4": "10.1.45.138",
|
||||
"access_ip_v6": "",
|
||||
"admin_pass": null,
|
||||
"all_metadata": {},
|
||||
|
@ -1741,34 +1658,34 @@
|
|||
}
|
||||
],
|
||||
"config_drive": null,
|
||||
"created": "2024-03-26 10:05:55 +0000 UTC",
|
||||
"created": "2024-02-05 14:46:40 +0000 UTC",
|
||||
"flavor_id": "10",
|
||||
"flavor_name": "m2.small",
|
||||
"floating_ip": null,
|
||||
"force_delete": false,
|
||||
"id": "ea1eac09-f678-4a26-b9cd-5808c19b0b9f",
|
||||
"id": "4662eadd-f8d1-492c-94d6-dfe708b54bd7",
|
||||
"image_id": "Attempt to boot from volume - no image supplied",
|
||||
"image_name": null,
|
||||
"key_pair": "Giancarlo Panichi",
|
||||
"metadata": null,
|
||||
"name": "geonetwork-itineris",
|
||||
"name": "geonetwork-itineris-carbon",
|
||||
"network": [
|
||||
{
|
||||
"access_network": false,
|
||||
"fixed_ip_v4": "10.1.43.8",
|
||||
"fixed_ip_v4": "10.1.45.138",
|
||||
"fixed_ip_v6": "",
|
||||
"floating_ip": "",
|
||||
"mac": "fa:16:3e:44:7b:32",
|
||||
"mac": "fa:16:3e:66:0f:4f",
|
||||
"name": "d4s-production-cloud-main",
|
||||
"port": "",
|
||||
"uuid": "020df98d-ae72-452a-b376-3b6dc289acac"
|
||||
},
|
||||
{
|
||||
"access_network": false,
|
||||
"fixed_ip_v4": "192.168.1.57",
|
||||
"fixed_ip_v4": "192.168.1.51",
|
||||
"fixed_ip_v6": "",
|
||||
"floating_ip": "",
|
||||
"mac": "fa:16:3e:f2:e7:3d",
|
||||
"mac": "fa:16:3e:eb:c6:c7",
|
||||
"name": "postgresql-srv-net",
|
||||
"port": "",
|
||||
"uuid": "f6450bc8-1345-4b52-8f34-2903c0cca7f8"
|
||||
|
@ -1784,9 +1701,9 @@
|
|||
"traffic_from_the_main_load_balancers"
|
||||
],
|
||||
"stop_before_destroy": false,
|
||||
"tags": [],
|
||||
"tags": null,
|
||||
"timeouts": null,
|
||||
"updated": "2024-03-26 10:07:01 +0000 UTC",
|
||||
"updated": "2024-02-05 14:47:16 +0000 UTC",
|
||||
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||
"vendor_options": [],
|
||||
"volume": []
|
||||
|
@ -2046,6 +1963,89 @@
|
|||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": "geonetwork_tunaatlas",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"access_ip_v4": "10.1.42.82",
|
||||
"access_ip_v6": "",
|
||||
"admin_pass": null,
|
||||
"all_metadata": {},
|
||||
"all_tags": [],
|
||||
"availability_zone": "cnr-isti-nova-a",
|
||||
"availability_zone_hints": "cnr-isti-nova-a",
|
||||
"block_device": [
|
||||
{
|
||||
"boot_index": 0,
|
||||
"delete_on_termination": false,
|
||||
"destination_type": "volume",
|
||||
"device_type": "",
|
||||
"disk_bus": "",
|
||||
"guest_format": "",
|
||||
"multiattach": false,
|
||||
"source_type": "image",
|
||||
"uuid": "7ed6a2cd-2b07-482e-8ce4-f018dff16c89",
|
||||
"volume_size": 10,
|
||||
"volume_type": ""
|
||||
}
|
||||
],
|
||||
"config_drive": null,
|
||||
"created": "2023-12-13 17:50:30 +0000 UTC",
|
||||
"flavor_id": "10",
|
||||
"flavor_name": "m2.small",
|
||||
"floating_ip": null,
|
||||
"force_delete": false,
|
||||
"id": "37f725ea-06d4-47a0-b2de-2a62015a661d",
|
||||
"image_id": "Attempt to boot from volume - no image supplied",
|
||||
"image_name": null,
|
||||
"key_pair": "adellam",
|
||||
"metadata": null,
|
||||
"name": "geonetwork-tunaatlas",
|
||||
"network": [
|
||||
{
|
||||
"access_network": false,
|
||||
"fixed_ip_v4": "10.1.42.82",
|
||||
"fixed_ip_v6": "",
|
||||
"floating_ip": "",
|
||||
"mac": "fa:16:3e:e7:92:35",
|
||||
"name": "d4s-production-cloud-main",
|
||||
"port": "",
|
||||
"uuid": "020df98d-ae72-452a-b376-3b6dc289acac"
|
||||
},
|
||||
{
|
||||
"access_network": false,
|
||||
"fixed_ip_v4": "192.168.0.146",
|
||||
"fixed_ip_v6": "",
|
||||
"floating_ip": "",
|
||||
"mac": "fa:16:3e:cc:ba:8c",
|
||||
"name": "postgresql-srv-net",
|
||||
"port": "",
|
||||
"uuid": "f6450bc8-1345-4b52-8f34-2903c0cca7f8"
|
||||
}
|
||||
],
|
||||
"network_mode": null,
|
||||
"personality": [],
|
||||
"power_state": "active",
|
||||
"region": "isti_area_pi_1",
|
||||
"scheduler_hints": [],
|
||||
"security_groups": [
|
||||
"default_for_all",
|
||||
"traffic_from_the_main_load_balancers"
|
||||
],
|
||||
"stop_before_destroy": false,
|
||||
"tags": [],
|
||||
"timeouts": null,
|
||||
"updated": "2023-12-13 17:51:29 +0000 UTC",
|
||||
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||
"vendor_options": [],
|
||||
"volume": []
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": "geonetwork_wecafcfirms",
|
||||
"schema_version": 0,
|
||||
|
@ -2139,17 +2139,17 @@
|
|||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"index_key": "geonetwork_aquacultureatlas",
|
||||
"index_key": "geonetwork_ariadne",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"device": "/dev/vdb",
|
||||
"id": "a066d736-0227-4c43-9a9d-397efce99c4b/ea23e97d-23af-440d-b93c-f995b23fdb56",
|
||||
"instance_id": "a066d736-0227-4c43-9a9d-397efce99c4b",
|
||||
"id": "a661b900-30ad-4d99-af42-7af72bfd6061/50fe7d24-fccc-47a0-bb1c-628389e5c404",
|
||||
"instance_id": "a661b900-30ad-4d99-af42-7af72bfd6061",
|
||||
"multiattach": null,
|
||||
"region": "isti_area_pi_1",
|
||||
"timeouts": null,
|
||||
"vendor_options": [],
|
||||
"volume_id": "ea23e97d-23af-440d-b93c-f995b23fdb56"
|
||||
"volume_id": "50fe7d24-fccc-47a0-bb1c-628389e5c404"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||
|
@ -2201,27 +2201,6 @@
|
|||
"module.instance_with_data_volume.openstack_compute_instance_v2.instance_with_data_volume"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": "geonetwork_gaiablulab",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"device": "/dev/vdb",
|
||||
"id": "fe48b098-bccd-4201-b20e-238eb0ce4357/1a1334e0-941d-43ec-a7f1-39bd464b7f19",
|
||||
"instance_id": "fe48b098-bccd-4201-b20e-238eb0ce4357",
|
||||
"multiattach": null,
|
||||
"region": "isti_area_pi_1",
|
||||
"timeouts": null,
|
||||
"vendor_options": [],
|
||||
"volume_id": "1a1334e0-941d-43ec-a7f1-39bd464b7f19"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router",
|
||||
"module.instance_with_data_volume.openstack_blockstorage_volume_v3.instance_data_volume",
|
||||
"module.instance_with_data_volume.openstack_compute_instance_v2.instance_with_data_volume"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": "geonetwork_globalfisheriesatlas",
|
||||
"schema_version": 0,
|
||||
|
@ -2286,17 +2265,17 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"index_key": "geonetwork_itineris",
|
||||
"index_key": "geonetwork_itineris_carbon",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"device": "/dev/vdb",
|
||||
"id": "ea1eac09-f678-4a26-b9cd-5808c19b0b9f/e1fcc19d-bba3-47c6-bea1-0d6704cb88cb",
|
||||
"instance_id": "ea1eac09-f678-4a26-b9cd-5808c19b0b9f",
|
||||
"id": "4662eadd-f8d1-492c-94d6-dfe708b54bd7/7776f0b1-6b5d-4226-b88d-3867738f2fc0",
|
||||
"instance_id": "4662eadd-f8d1-492c-94d6-dfe708b54bd7",
|
||||
"multiattach": null,
|
||||
"region": "isti_area_pi_1",
|
||||
"timeouts": null,
|
||||
"vendor_options": [],
|
||||
"volume_id": "e1fcc19d-bba3-47c6-bea1-0d6704cb88cb"
|
||||
"volume_id": "7776f0b1-6b5d-4226-b88d-3867738f2fc0"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||
|
@ -2369,6 +2348,27 @@
|
|||
"module.instance_with_data_volume.openstack_compute_instance_v2.instance_with_data_volume"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": "geonetwork_tunaatlas",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"device": "/dev/vdb",
|
||||
"id": "37f725ea-06d4-47a0-b2de-2a62015a661d/a38b773f-9aee-4790-95bd-453694193da6",
|
||||
"instance_id": "37f725ea-06d4-47a0-b2de-2a62015a661d",
|
||||
"multiattach": null,
|
||||
"region": "isti_area_pi_1",
|
||||
"timeouts": null,
|
||||
"vendor_options": [],
|
||||
"volume_id": "a38b773f-9aee-4790-95bd-453694193da6"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router",
|
||||
"module.instance_with_data_volume.openstack_blockstorage_volume_v3.instance_data_volume",
|
||||
"module.instance_with_data_volume.openstack_compute_instance_v2.instance_with_data_volume"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": "geonetwork_wecafcfirms",
|
||||
"schema_version": 0,
|
||||
|
|
|
@ -4,7 +4,7 @@ terraform {
|
|||
required_providers {
|
||||
openstack = {
|
||||
source = "terraform-provider-openstack/openstack"
|
||||
version = ">= 1.54.0"
|
||||
version = "~> 1.53.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -57,6 +57,20 @@ module "instance_with_data_volume" {
|
|||
device = "/dev/vdb",
|
||||
}
|
||||
},
|
||||
geoserver_ariadne = {
|
||||
name = "geoserver-ariadne",
|
||||
description = "Geoserver ariadne instance",
|
||||
flavor = module.common_variables.flavor_list.m2_small,
|
||||
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
||||
security_groups = [data.terraform_remote_state.privnet_dns_router.outputs.default_security_group_name, data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.http_and_https_from_the_load_balancers],
|
||||
server_groups_ids = [],
|
||||
image_ref = module.common_variables.ubuntu_1804,
|
||||
volume = {
|
||||
name = "geoserver_ariadne_data_volume",
|
||||
size = "20",
|
||||
device = "/dev/vdb",
|
||||
}
|
||||
},
|
||||
geoserver_grsf = {
|
||||
name = "geoserver-grsf",
|
||||
description = "Geoserver grsf instance",
|
||||
|
@ -99,6 +113,20 @@ module "instance_with_data_volume" {
|
|||
device = "/dev/vdb",
|
||||
}
|
||||
},
|
||||
geoserver_tunaatlas = {
|
||||
name = "geoserver-tunaatlas",
|
||||
description = "Geoserver tunaatlas instance",
|
||||
flavor = module.common_variables.flavor_list.m1_large,
|
||||
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
||||
security_groups = [data.terraform_remote_state.privnet_dns_router.outputs.default_security_group_name, data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.http_and_https_from_the_load_balancers],
|
||||
server_groups_ids = [],
|
||||
image_ref = module.common_variables.ubuntu_1804,
|
||||
volume = {
|
||||
name = "geoserver_tunaatlas_data_volume",
|
||||
size = "60",
|
||||
device = "/dev/vdb",
|
||||
}
|
||||
},
|
||||
geoserver_wecafcfirms = {
|
||||
name = "geoserver-wecafcfirms",
|
||||
description = "Geoserver wecafcfirms instance",
|
||||
|
@ -168,48 +196,6 @@ module "instance_with_data_volume" {
|
|||
size = "40",
|
||||
device = "/dev/vdb",
|
||||
}
|
||||
},
|
||||
geoserver_itineris_critical_zone = {
|
||||
name = "geoserver-itineris-critical-zone",
|
||||
description = "Geoserver itineris critical zone instance",
|
||||
flavor = module.common_variables.flavor_list.m1_large,
|
||||
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
||||
security_groups = [data.terraform_remote_state.privnet_dns_router.outputs.default_security_group_name, data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.http_and_https_from_the_load_balancers],
|
||||
server_groups_ids = [],
|
||||
image_ref = module.common_variables.ubuntu_1804,
|
||||
volume = {
|
||||
name = "geoserver_itineris_critical_zone_data_volume",
|
||||
size = "40",
|
||||
device = "/dev/vdb",
|
||||
}
|
||||
},
|
||||
geoserver_itineris_clima = {
|
||||
name = "geoserver-itineris-clima",
|
||||
description = "Geoserver itineris clima instance",
|
||||
flavor = module.common_variables.flavor_list.m1_large,
|
||||
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
||||
security_groups = [data.terraform_remote_state.privnet_dns_router.outputs.default_security_group_name, data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.http_and_https_from_the_load_balancers],
|
||||
server_groups_ids = [],
|
||||
image_ref = module.common_variables.ubuntu_1804,
|
||||
volume = {
|
||||
name = "geoserver_itineris_clima_data_volume",
|
||||
size = "40",
|
||||
device = "/dev/vdb",
|
||||
}
|
||||
},
|
||||
geoserver_itineris_ev = {
|
||||
name = "geoserver-itineris-ev",
|
||||
description = "Geoserver itineris ev instance",
|
||||
flavor = module.common_variables.flavor_list.m1_large,
|
||||
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
||||
security_groups = [data.terraform_remote_state.privnet_dns_router.outputs.default_security_group_name, data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.http_and_https_from_the_load_balancers],
|
||||
server_groups_ids = [],
|
||||
image_ref = module.common_variables.ubuntu_1804,
|
||||
volume = {
|
||||
name = "geoserver_itineris_ev_data_volume",
|
||||
size = "3000",
|
||||
device = "/dev/vdb",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -242,6 +228,14 @@ module "dns_records_create" {
|
|||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
},
|
||||
geoserver-ariadne = {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = join(".", ["geoserver-ariadne", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
description = "Geoserver geoserver-ariadne"
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
},
|
||||
geoserver-grsf = {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = join(".", ["geoserver-grsf", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
|
@ -266,6 +260,14 @@ module "dns_records_create" {
|
|||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
},
|
||||
geoserver-tunaatlas = {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = join(".", ["geoserver-tunaatlas", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
description = "Geoserver geoserver-tunaatlas"
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
},
|
||||
geoserver-wecafcfirms = {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = join(".", ["geoserver-wecafcfirms", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
|
@ -305,30 +307,6 @@ module "dns_records_create" {
|
|||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
},
|
||||
geoserver-itineris-critical-zone = {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = join(".", ["geoserver-itineris-critical-zone", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
description = "Geoserver geoserver-itineris-critical-zone"
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
},
|
||||
geoserver-itineris-clima = {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = join(".", ["geoserver-itineris-clima", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
description = "Geoserver geoserver-itineris-clima"
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
},
|
||||
geoserver-itineris-ev = {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = join(".", ["geoserver-itineris-ev", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
description = "Geoserver geoserver-itineris-ev"
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,48 +0,0 @@
|
|||
# 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"
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# Uses common_variables as module
|
||||
#
|
||||
module "common_variables" {
|
||||
source = "../../modules/common_variables"
|
||||
}
|
||||
|
||||
module "keycloak" {
|
||||
source = "../../modules/keycloak"
|
||||
|
||||
keycloak_data = {
|
||||
affinity_policy = "soft-anti-affinity"
|
||||
srv_name = "keycloak-prod"
|
||||
vm_count = 2
|
||||
vm_flavor = "m1.medium"
|
||||
boot_vol_size = 10
|
||||
share_description = "NFS share for the keycloak production static data"
|
||||
share_name = "keycloak_production_nfs_share"
|
||||
}
|
||||
|
||||
keycloak_recordsets = {
|
||||
keycloak_main_record = {
|
||||
name = join(".", ["accounts", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name]),
|
||||
description = "Keycloak production endpoint"
|
||||
}
|
||||
}
|
||||
|
||||
keycloak_object_store = "keycloak-data-prod"
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
output "keycloak_data" {
|
||||
value = module.keycloak.keycloak_data
|
||||
}
|
||||
|
||||
output "keycloak_recordsets" {
|
||||
value = module.keycloak.keycloak_recordsets
|
||||
}
|
||||
|
||||
output "keycloak_nfs_port_data" {
|
||||
value = module.keycloak.nfs_port_data
|
||||
}
|
||||
|
||||
output "keycloak_nfs_volume_data" {
|
||||
value = module.keycloak.keycloak_nfs_volume_data
|
||||
}
|
||||
|
||||
output "keycloak_nfs_volume_acls" {
|
||||
value = module.keycloak.keycloak_nfs_volume_acls
|
||||
sensitive = true
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
provider "openstack" {
|
||||
cloud = "d4s-production"
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -23,7 +23,7 @@ module "liferay" {
|
|||
affinity_policy = "anti-affinity"
|
||||
srv_name = "lr62"
|
||||
vm_count = 2
|
||||
vm_flavor = "m2.medium"
|
||||
vm_flavor = "m1.large"
|
||||
boot_vol_size = 30
|
||||
share_description = "NFS share for the liferay production static data"
|
||||
share_name = "liferay_production_nfs_share"
|
||||
|
@ -35,10 +35,6 @@ module "liferay" {
|
|||
liferay_main_record = {
|
||||
name = join(".", ["infra-gateway", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name]),
|
||||
description = "Liferay Production"
|
||||
},
|
||||
liferay_test_endpoint = {
|
||||
name = join(".", ["osportal", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name]),
|
||||
description = "Liferay Production endpoint used to test the functionalities"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version": 4,
|
||||
"terraform_version": "1.7.5",
|
||||
"serial": 47,
|
||||
"terraform_version": "1.6.6",
|
||||
"serial": 40,
|
||||
"lineage": "1ad5c30b-f952-53b5-f9cd-fe7cb4117b8b",
|
||||
"outputs": {
|
||||
"liferay_data": {
|
||||
|
@ -190,7 +190,7 @@
|
|||
"share_proto": "NFS",
|
||||
"share_server_id": "",
|
||||
"share_type": "default",
|
||||
"size": 30,
|
||||
"size": 5,
|
||||
"snapshot_id": "",
|
||||
"timeouts": null
|
||||
},
|
||||
|
@ -247,10 +247,6 @@
|
|||
"liferay_main_record": {
|
||||
"description": "Liferay Production",
|
||||
"name": "infra-gateway.cloud.d4science.org."
|
||||
},
|
||||
"liferay_test_endpoint": {
|
||||
"description": "Liferay Production endpoint used to test the functionalities",
|
||||
"name": "osportal.cloud.d4science.org."
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
|
@ -2159,32 +2155,6 @@
|
|||
"data.terraform_remote_state.privnet_dns_router",
|
||||
"module.liferay.data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": "liferay_test_endpoint",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"description": "Liferay Production endpoint used to test the functionalities",
|
||||
"disable_status_check": false,
|
||||
"id": "74135b34-1a9c-4c01-8cf0-22450a5660c4/8a52e377-3b77-4f1b-8399-7e95e4751bd7",
|
||||
"name": "osportal.cloud.d4science.org.",
|
||||
"project_id": "1b45adf388934758b56d0dfdb4bfacf3",
|
||||
"records": [
|
||||
"main-lb.cloud.d4science.org."
|
||||
],
|
||||
"region": "isti_area_pi_1",
|
||||
"timeouts": null,
|
||||
"ttl": 8600,
|
||||
"type": "CNAME",
|
||||
"value_specs": null,
|
||||
"zone_id": "74135b34-1a9c-4c01-8cf0-22450a5660c4"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router",
|
||||
"module.liferay.data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -2200,7 +2170,8 @@
|
|||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"all_security_group_ids": [
|
||||
"167e4897-f776-4cbd-986f-77313aa68af2"
|
||||
"167e4897-f776-4cbd-986f-77313aa68af2",
|
||||
"d41938a9-a581-4974-b213-4aa50498344c"
|
||||
],
|
||||
"enforce": false,
|
||||
"id": "a397f707-21ee-4a8e-bd66-cd6bf2641cd3",
|
||||
|
@ -2222,7 +2193,8 @@
|
|||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"all_security_group_ids": [
|
||||
"167e4897-f776-4cbd-986f-77313aa68af2"
|
||||
"167e4897-f776-4cbd-986f-77313aa68af2",
|
||||
"d41938a9-a581-4974-b213-4aa50498344c"
|
||||
],
|
||||
"enforce": false,
|
||||
"id": "774c09ab-19a3-4409-a26f-323036e3431a",
|
||||
|
@ -2241,61 +2213,6 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "module.liferay",
|
||||
"mode": "managed",
|
||||
"type": "openstack_networking_port_secgroup_associate_v2",
|
||||
"name": "liferay_timescaledb_port_secgroup",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"index_key": 0,
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"all_security_group_ids": [
|
||||
"167e4897-f776-4cbd-986f-77313aa68af2"
|
||||
],
|
||||
"enforce": false,
|
||||
"id": "a5aca9d1-2f25-4aaa-8603-40b66145742b",
|
||||
"port_id": "a5aca9d1-2f25-4aaa-8603-40b66145742b",
|
||||
"region": "isti_area_pi_1",
|
||||
"security_group_ids": [
|
||||
"167e4897-f776-4cbd-986f-77313aa68af2"
|
||||
]
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA==",
|
||||
"dependencies": [
|
||||
"module.liferay.data.terraform_remote_state.privnet_dns_router",
|
||||
"module.liferay.data.terraform_remote_state.timescaledb",
|
||||
"module.liferay.openstack_networking_port_v2.liferay_timescaledb_port"
|
||||
]
|
||||
},
|
||||
{
|
||||
"index_key": 1,
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"all_security_group_ids": [
|
||||
"167e4897-f776-4cbd-986f-77313aa68af2"
|
||||
],
|
||||
"enforce": false,
|
||||
"id": "42a21092-180d-4fee-abdb-c482bccfc83a",
|
||||
"port_id": "42a21092-180d-4fee-abdb-c482bccfc83a",
|
||||
"region": "isti_area_pi_1",
|
||||
"security_group_ids": [
|
||||
"167e4897-f776-4cbd-986f-77313aa68af2"
|
||||
]
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA==",
|
||||
"dependencies": [
|
||||
"module.liferay.data.terraform_remote_state.privnet_dns_router",
|
||||
"module.liferay.data.terraform_remote_state.timescaledb",
|
||||
"module.liferay.openstack_networking_port_v2.liferay_timescaledb_port"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "module.liferay",
|
||||
"mode": "managed",
|
||||
|
@ -2312,7 +2229,8 @@
|
|||
"172.17.2.239"
|
||||
],
|
||||
"all_security_group_ids": [
|
||||
"167e4897-f776-4cbd-986f-77313aa68af2"
|
||||
"167e4897-f776-4cbd-986f-77313aa68af2",
|
||||
"d41938a9-a581-4974-b213-4aa50498344c"
|
||||
],
|
||||
"all_tags": [],
|
||||
"allowed_address_pairs": [],
|
||||
|
@ -2373,7 +2291,8 @@
|
|||
"172.17.0.68"
|
||||
],
|
||||
"all_security_group_ids": [
|
||||
"167e4897-f776-4cbd-986f-77313aa68af2"
|
||||
"167e4897-f776-4cbd-986f-77313aa68af2",
|
||||
"d41938a9-a581-4974-b213-4aa50498344c"
|
||||
],
|
||||
"all_tags": [],
|
||||
"allowed_address_pairs": [],
|
||||
|
@ -2442,7 +2361,9 @@
|
|||
"all_fixed_ips": [
|
||||
"192.168.11.203"
|
||||
],
|
||||
"all_security_group_ids": [],
|
||||
"all_security_group_ids": [
|
||||
"d41938a9-a581-4974-b213-4aa50498344c"
|
||||
],
|
||||
"all_tags": [],
|
||||
"allowed_address_pairs": [],
|
||||
"binding": [
|
||||
|
@ -2501,7 +2422,9 @@
|
|||
"all_fixed_ips": [
|
||||
"192.168.11.141"
|
||||
],
|
||||
"all_security_group_ids": [],
|
||||
"all_security_group_ids": [
|
||||
"d41938a9-a581-4974-b213-4aa50498344c"
|
||||
],
|
||||
"all_tags": [],
|
||||
"allowed_address_pairs": [],
|
||||
"binding": [
|
||||
|
@ -2850,7 +2773,7 @@
|
|||
"share_proto": "NFS",
|
||||
"share_server_id": "",
|
||||
"share_type": "default",
|
||||
"size": 30,
|
||||
"size": 5,
|
||||
"snapshot_id": "",
|
||||
"timeouts": null
|
||||
},
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
# 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"
|
||||
}
|
||||
}
|
||||
|
||||
data "terraform_remote_state" "main_infrastructure" {
|
||||
backend = "local"
|
||||
|
||||
config = {
|
||||
path = "../../basic-infrastructure/terraform.tfstate"
|
||||
}
|
||||
}
|
||||
|
||||
# SSH settings
|
||||
module "ssh_settings" {
|
||||
source = "../../../modules/ssh-key-ref"
|
||||
}
|
||||
#
|
||||
# Uses common_variables as module
|
||||
#
|
||||
module "common_variables" {
|
||||
source = "../../../modules/common_variables"
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
provider "openstack" {
|
||||
cloud = "d4s-production"
|
||||
}
|
|
@ -1,80 +0,0 @@
|
|||
# NFS shares required by
|
||||
# Create a NFS share
|
||||
resource "openstack_sharedfilesystem_share_v2" "webodv_data" {
|
||||
name = "fairease_webodv_data"
|
||||
description = "NFS share for the FAIR-EASE webodv data volume"
|
||||
share_proto = "NFS"
|
||||
size = 10
|
||||
}
|
||||
|
||||
# Allow access to the NFS share to Swarm Managers and Workers
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "webodv_data_mgr_share_access" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_managers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.webodv_data.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "webodv_data_workers_share_access" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_workers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.webodv_data.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_v2" "webodv_ODV" {
|
||||
name = "fairease_webodv_ODV"
|
||||
description = "NFS share for the FAIR-EASE webodv ODV volume"
|
||||
share_proto = "NFS"
|
||||
size = 10
|
||||
}
|
||||
|
||||
# Allow access to the NFS share
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "webodv_ODV_mgr_share_access" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_managers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.webodv_ODV.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "webodv_ODV_workers_share_access" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_workers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.webodv_ODV.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
|
||||
|
||||
output "webodv_nfs_data" {
|
||||
value = openstack_sharedfilesystem_share_v2.webodv_data
|
||||
}
|
||||
|
||||
output "webodv_nfs_data_mgr_acls" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.webodv_data_mgr_share_access
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "webodv_nfs_data_workers_acls" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.webodv_data_workers_share_access
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "webodv_nfs_ODV" {
|
||||
value = openstack_sharedfilesystem_share_v2.webodv_ODV
|
||||
}
|
||||
|
||||
output "webodv_nfs_ODV_mgr_acls" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.webodv_ODV_mgr_share_access
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "webodv_nfs_ODV_workers_acls" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.webodv_ODV_workers_share_access
|
||||
sensitive = true
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -1,82 +0,0 @@
|
|||
# NFS shares required by the CCP
|
||||
# Create a NFS share for the repository data
|
||||
#
|
||||
resource "openstack_sharedfilesystem_share_v2" "ccp_production_repository_data" {
|
||||
name = "ccp_production_repository_data"
|
||||
description = "NFS share for the CCP repository data"
|
||||
share_proto = "NFS"
|
||||
size = 5
|
||||
}
|
||||
|
||||
# Allow access to the NFS share
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "ccp_production_repository_access_swarm_mgr" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_managers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.ccp_production_repository_data.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "ccp_production_repository_access_swarm_workers" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_workers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.ccp_production_repository_data.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
# NFS shares required by the CCP
|
||||
# Create a NFS share for the method logs
|
||||
#
|
||||
resource "openstack_sharedfilesystem_share_v2" "ccp_production_methods_logs" {
|
||||
name = "ccp_production_method_logs"
|
||||
description = "NFS share for the CCP method logs"
|
||||
share_proto = "NFS"
|
||||
size = 2
|
||||
}
|
||||
|
||||
# Allow access to the NFS share
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "ccp_production_methods_logs_access_swarm_mgr" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_managers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.ccp_production_methods_logs.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "ccp_production_methods_logs_access_swarm_workers" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_workers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.ccp_production_methods_logs.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
|
||||
output "ccp_production_repository_data" {
|
||||
value = openstack_sharedfilesystem_share_v2.ccp_production_repository_data
|
||||
}
|
||||
|
||||
output "ccp_production_repository_data_mgr_acls" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.ccp_production_repository_access_swarm_mgr
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "ccp_production_repository_workers_acls" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.ccp_production_repository_access_swarm_workers
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "ccp_production_methods_logs" {
|
||||
value = openstack_sharedfilesystem_share_v2.ccp_production_methods_logs
|
||||
}
|
||||
|
||||
output "ccp_production_methods_logs_access_swarm_mgr" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.ccp_production_methods_logs_access_swarm_mgr
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "ccp_production_methods_logs_access_swarm_workers" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.ccp_production_methods_logs_access_swarm_workers
|
||||
sensitive = true
|
||||
}
|
|
@ -1,38 +0,0 @@
|
|||
# d4s_pgadmin_pgadmin_data
|
||||
resource "openstack_sharedfilesystem_share_v2" "d4s_pgadmin_pgadmin" {
|
||||
name = "d4s_pgadmin_pgadmin"
|
||||
description = "NFS share for the D4Science production pgAdmin instance"
|
||||
share_proto = "NFS"
|
||||
size = 6
|
||||
}
|
||||
|
||||
output "d4s_pgadmin_pgadmin" {
|
||||
value = openstack_sharedfilesystem_share_v2.d4s_pgadmin_pgadmin
|
||||
}
|
||||
|
||||
# Allow access to the NFS share
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "d4s_pgadmin_pgadmin_swarm_mgr_acl" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_managers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.d4s_pgadmin_pgadmin.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
output "d4s_pgadmin_pgadmin_swarm_mgr_acl" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.d4s_pgadmin_pgadmin_swarm_mgr_acl
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "d4s_pgadmin_pgadmin_swarm_workers_acl" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_workers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.d4s_pgadmin_pgadmin.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
output "d4s_pgadmin_pgadmin_swarm_workers_acl" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.d4s_pgadmin_pgadmin_swarm_workers_acl
|
||||
sensitive = true
|
||||
}
|
|
@ -1,77 +0,0 @@
|
|||
# itineris_wp8_pgadmin_data
|
||||
resource "openstack_sharedfilesystem_share_v2" "itineris_wp8_pgadmin" {
|
||||
name = "itineris_wp8_pgadmin"
|
||||
description = "NFS share for the ITINERIS WP8 pgAdmin instance"
|
||||
share_proto = "NFS"
|
||||
size = 6
|
||||
}
|
||||
|
||||
output "itineris_wp8_pgadmin" {
|
||||
value = openstack_sharedfilesystem_share_v2.itineris_wp8_pgadmin
|
||||
}
|
||||
|
||||
# Allow access to the NFS share
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "itineris_wp8_pgadmin_swarm_mgr_acl" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_managers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.itineris_wp8_pgadmin.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
output "itineris_wp8_pgadmin_swarm_mgr_acl" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.itineris_wp8_pgadmin_swarm_mgr_acl
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "itineris_wp8_pgadmin_swarm_workers_acl" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_workers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.itineris_wp8_pgadmin.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
output "itineris_wp8_pgadmin_swarm_workers_acl" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.itineris_wp8_pgadmin_swarm_workers_acl
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
# Temporary data for the itineris isotope webapp
|
||||
resource "openstack_sharedfilesystem_share_v2" "itineris_wp8_data" {
|
||||
name = "itineris_wp8_data"
|
||||
description = "NFS share for the ITINERIS WP8 local data"
|
||||
share_proto = "NFS"
|
||||
size = 5
|
||||
}
|
||||
|
||||
output "itineris_wp8_data" {
|
||||
value = openstack_sharedfilesystem_share_v2.itineris_wp8_data
|
||||
}
|
||||
|
||||
# Allow access to the NFS share
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "itineris_wp8_data_swarm_mgr_acl" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_managers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.itineris_wp8_data.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
output "itineris_wp8_data_swarm_mgr_acl" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.itineris_wp8_data_swarm_mgr_acl
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "itineris_wp8_data_swarm_workers_acl" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_workers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.itineris_wp8_data.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
output "itineris_wp8_data_swarm_workers_acl" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.itineris_wp8_data_swarm_workers_acl
|
||||
sensitive = true
|
||||
}
|
|
@ -1,116 +0,0 @@
|
|||
# open_asfa_test_couchbase
|
||||
resource "openstack_sharedfilesystem_share_v2" "open_asfa_test_couchbase" {
|
||||
name = "open_asfa_test_couchbase"
|
||||
description = "NFS share for the TEST OpenASFA couchbase instance"
|
||||
share_proto = "NFS"
|
||||
size = 5
|
||||
}
|
||||
|
||||
output "open_asfa_test_couchbase" {
|
||||
value = openstack_sharedfilesystem_share_v2.open_asfa_test_couchbase
|
||||
}
|
||||
|
||||
# Allow access to the NFS share
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "open_asfa_test_couchbase_swarm_mgr_acl" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_managers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.open_asfa_test_couchbase.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
output "open_asfa_test_couchbase_swarm_mgr_acl" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.open_asfa_test_couchbase_swarm_mgr_acl
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "open_asfa_test_couchbase_swarm_workers_acl" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_workers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.open_asfa_test_couchbase.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
output "open_asfa_test_couchbase_swarm_workers_acl" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.open_asfa_test_couchbase_swarm_workers_acl
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
# open_asfa_test_postgresql
|
||||
resource "openstack_sharedfilesystem_share_v2" "open_asfa_test_postgresql" {
|
||||
name = "open_asfa_test_postgresql"
|
||||
description = "NFS share for the TEST OpenASFA postgresql instance"
|
||||
share_proto = "NFS"
|
||||
size = 3
|
||||
}
|
||||
|
||||
output "open_asfa_test_postgresql" {
|
||||
value = openstack_sharedfilesystem_share_v2.open_asfa_test_postgresql
|
||||
}
|
||||
|
||||
# Allow access to the NFS share
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "open_asfa_test_postgresql_swarm_mgr_acl" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_managers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.open_asfa_test_postgresql.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
output "open_asfa_test_postgresql_swarm_mgr_acl" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.open_asfa_test_postgresql_swarm_mgr_acl
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "open_asfa_test_postgresql_swarm_workers_acl" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_workers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.open_asfa_test_postgresql.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
output "open_asfa_test_postgresql_swarm_workers_acl" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.open_asfa_test_postgresql_swarm_workers_acl
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
# open_asfa_test_pgadmin_data
|
||||
resource "openstack_sharedfilesystem_share_v2" "open_asfa_test_pgadmin" {
|
||||
name = "open_asfa_test_pgadmin"
|
||||
description = "NFS share for the TEST OpenASFA pgAdmin instance"
|
||||
share_proto = "NFS"
|
||||
size = 6
|
||||
}
|
||||
|
||||
output "open_asfa_test_pgadmin" {
|
||||
value = openstack_sharedfilesystem_share_v2.open_asfa_test_pgadmin
|
||||
}
|
||||
|
||||
# Allow access to the NFS share
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "open_asfa_test_pgadmin_swarm_mgr_acl" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_managers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.open_asfa_test_pgadmin.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
output "open_asfa_test_pgadmin_swarm_mgr_acl" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.open_asfa_test_pgadmin_swarm_mgr_acl
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "open_asfa_test_pgadmin_swarm_workers_acl" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_workers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.open_asfa_test_pgadmin.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
output "open_asfa_test_pgadmin_swarm_workers_acl" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.open_asfa_test_pgadmin_swarm_workers_acl
|
||||
sensitive = true
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
provider "openstack" {
|
||||
cloud = "d4s-production"
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -1,37 +0,0 @@
|
|||
# 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"
|
||||
}
|
||||
}
|
||||
|
||||
data "terraform_remote_state" "main_infrastructure" {
|
||||
backend = "local"
|
||||
|
||||
config = {
|
||||
path = "../../basic-infrastructure/terraform.tfstate"
|
||||
}
|
||||
}
|
||||
|
||||
# SSH settings
|
||||
module "ssh_settings" {
|
||||
source = "../../../modules/ssh-key-ref"
|
||||
}
|
||||
#
|
||||
# Uses common_variables as module
|
||||
#
|
||||
module "common_variables" {
|
||||
source = "../../../modules/common_variables"
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
provider "openstack" {
|
||||
cloud = "d4s-production"
|
||||
}
|
|
@ -1,154 +0,0 @@
|
|||
# NFS shares required by
|
||||
# Create a NFS share
|
||||
resource "openstack_sharedfilesystem_share_v2" "intelcomp_elasticsearch_data" {
|
||||
name = "scilake_intelcomp_elasticsearch_data"
|
||||
description = "NFS share for the scilake intelcomp elasticsearch data"
|
||||
share_proto = "NFS"
|
||||
size = 50
|
||||
}
|
||||
|
||||
# Allow access to the NFS share
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "intelcomp_mgr_elasticsearch_data_share_access" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_managers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.intelcomp_elasticsearch_data.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "intelcomp_workers_elasticsearch_data_share_access" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_workers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.intelcomp_elasticsearch_data.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_v2" "intelcomp_activemq_data" {
|
||||
name = "scilake_intelcomp_activemq_data"
|
||||
description = "NFS share for the scilake intelcomp activemq data"
|
||||
share_proto = "NFS"
|
||||
size = 5
|
||||
}
|
||||
|
||||
# Allow access to the NFS share
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "intelcomp_mgr_activemq_data_share_access" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_managers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.intelcomp_activemq_data.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "intelcomp_workers_activemq_data_share_access" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_workers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.intelcomp_activemq_data.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_v2" "intelcomp_redis_cache" {
|
||||
name = "scilake_intelcomp_redis_cache"
|
||||
description = "NFS share for the scilake intelcomp redis cache"
|
||||
share_proto = "NFS"
|
||||
size = 2
|
||||
}
|
||||
|
||||
# Allow access to the NFS share
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "intelcomp_mgr_redis_cache_share_access" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_managers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.intelcomp_redis_cache.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "intelcomp_workers_redis_cache_share_access" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_workers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.intelcomp_redis_cache.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_v2" "intelcomp_pgadmin_data" {
|
||||
name = "scilake_intelcomp_pgadmin_data"
|
||||
description = "NFS share for the scilake intelcomp pgadmin data"
|
||||
share_proto = "NFS"
|
||||
size = 10
|
||||
}
|
||||
|
||||
# Allow access to the NFS share
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "intelcomp_mgr_pgadmin_data_share_access" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_managers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.intelcomp_pgadmin_data.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "intelcomp_workers_pgadmin_data_share_access" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_workers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.intelcomp_pgadmin_data.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
output "intelcomp_nfs_elasticsearch_data" {
|
||||
value = openstack_sharedfilesystem_share_v2.intelcomp_elasticsearch_data
|
||||
}
|
||||
|
||||
output "intelcomp_nfs_elasticsearch_data_mgr_acls" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.intelcomp_mgr_elasticsearch_data_share_access
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "intelcomp_nfs_elasticsearch_data_workers_acls" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.intelcomp_workers_elasticsearch_data_share_access
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "intelcomp_nfs_activemq_data" {
|
||||
value = openstack_sharedfilesystem_share_v2.intelcomp_activemq_data
|
||||
}
|
||||
|
||||
output "intelcomp_nfs_activemq_data_mgr_acls" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.intelcomp_mgr_activemq_data_share_access
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "intelcomp_nfs_activemq_data_workers_acls" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.intelcomp_workers_activemq_data_share_access
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "intelcomp_nfs_redis_cache" {
|
||||
value = openstack_sharedfilesystem_share_v2.intelcomp_redis_cache
|
||||
}
|
||||
|
||||
output "intelcomp_nfs_redis_cache_mgr_acls" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.intelcomp_mgr_redis_cache_share_access
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "intelcomp_nfs_redis_cache_workers_acls" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.intelcomp_workers_redis_cache_share_access
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "intelcomp_nfs_pgadmin_data" {
|
||||
value = openstack_sharedfilesystem_share_v2.intelcomp_pgadmin_data
|
||||
}
|
||||
|
||||
output "intelcomp_nfs_pgadminl_data_mgr_acls" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.intelcomp_mgr_pgadmin_data_share_access
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "intelcomp_nfs_pgadmin_data_workers_acls" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.intelcomp_workers_pgadmin_data_share_access
|
||||
sensitive = true
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -4,7 +4,7 @@ resource "openstack_sharedfilesystem_share_v2" "webodv_private_data" {
|
|||
name = "sobigdata_webodv_private_data"
|
||||
description = "NFS share for the sobigdata webodv private data"
|
||||
share_proto = "NFS"
|
||||
size = 10
|
||||
size = 1000
|
||||
}
|
||||
|
||||
# Allow access to the NFS share
|
||||
|
@ -24,9 +24,33 @@ resource "openstack_sharedfilesystem_share_access_v2" "webodv_workers_private_da
|
|||
access_level = "rw"
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_v2" "webodv_home_data" {
|
||||
name = "sobigdata_webodv_home_data"
|
||||
description = "NFS share for the sobigdata webodv home data"
|
||||
share_proto = "NFS"
|
||||
size = 10
|
||||
}
|
||||
|
||||
# Allow access to the NFS share
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "webodv_mgr_home_data_share_access" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_managers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.webodv_home_data.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "webodv_workers_home_data_share_access" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_workers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.webodv_home_data.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_v2" "webodv_public_data" {
|
||||
name = "sobigdata_webodv_public_data"
|
||||
description = "NFS share for the sobigdata webodv public data"
|
||||
name = "sobigdata_webodv_home_data"
|
||||
description = "NFS share for the sobigdata webodv home data"
|
||||
share_proto = "NFS"
|
||||
size = 10
|
||||
}
|
||||
|
@ -48,31 +72,6 @@ resource "openstack_sharedfilesystem_share_access_v2" "webodv_workers_public_dat
|
|||
access_level = "rw"
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_v2" "webodv_mysql_data" {
|
||||
name = "sobigdata_webodv_mysql_data"
|
||||
description = "NFS share for the sobigdata webodv mysql data"
|
||||
share_proto = "NFS"
|
||||
size = 10
|
||||
}
|
||||
|
||||
# Allow access to the NFS share
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "webodv_mgr_mysql_data_share_access" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_managers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.webodv_mysql_data.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "webodv_workers_mysql_data_share_access" {
|
||||
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_workers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||
share_id = openstack_sharedfilesystem_share_v2.webodv_mysql_data.id
|
||||
access_type = "ip"
|
||||
access_to = each.key
|
||||
access_level = "rw"
|
||||
}
|
||||
|
||||
|
||||
output "webodv_nfs_private_data" {
|
||||
value = openstack_sharedfilesystem_share_v2.webodv_private_data
|
||||
}
|
||||
|
@ -87,6 +86,20 @@ output "webodv_nfs_private_data_workers_acls" {
|
|||
sensitive = true
|
||||
}
|
||||
|
||||
output "webodv_nfs_home_data" {
|
||||
value = openstack_sharedfilesystem_share_v2.webodv_home_data
|
||||
}
|
||||
|
||||
output "webodv_nfs_home_data_mgr_acls" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.webodv_mgr_home_data_share_access
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "webodv_nfs_home_data_workers_acls" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.webodv_workers_home_data_share_access
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "webodv_nfs_public_data" {
|
||||
value = openstack_sharedfilesystem_share_v2.webodv_public_data
|
||||
}
|
||||
|
@ -100,17 +113,3 @@ output "webodv_nfs_public_data_workers_acls" {
|
|||
value = openstack_sharedfilesystem_share_access_v2.webodv_workers_public_data_share_access
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "webodv_nfs_mysql_data" {
|
||||
value = openstack_sharedfilesystem_share_v2.webodv_mysql_data
|
||||
}
|
||||
|
||||
output "webodv_nfs_mysql_data_mgr_acls" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.webodv_mgr_mysql_data_share_access
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "webodv_nfs_mysql_data_workers_acls" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.webodv_workers_mysql_data_share_access
|
||||
sensitive = true
|
||||
}
|
|
@ -4,7 +4,7 @@ terraform {
|
|||
required_providers {
|
||||
openstack = {
|
||||
source = "terraform-provider-openstack/openstack"
|
||||
version = ">= 1.53.0"
|
||||
version = "~> 1.53.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ data "terraform_remote_state" "privnet_dns_router" {
|
|||
backend = "local"
|
||||
|
||||
config = {
|
||||
path = "../../project-setup/terraform.tfstate"
|
||||
path = "../project-setup/terraform.tfstate"
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -21,17 +21,17 @@ data "terraform_remote_state" "main_infrastructure" {
|
|||
backend = "local"
|
||||
|
||||
config = {
|
||||
path = "../../basic-infrastructure/terraform.tfstate"
|
||||
path = "../basic-infrastructure/terraform.tfstate"
|
||||
}
|
||||
}
|
||||
|
||||
# SSH settings
|
||||
module "ssh_settings" {
|
||||
source = "../../../modules/ssh-key-ref"
|
||||
source = "../../modules/ssh-key-ref"
|
||||
}
|
||||
#
|
||||
# Uses common_variables as module
|
||||
#
|
||||
module "common_variables" {
|
||||
source = "../../../modules/common_variables"
|
||||
source = "../../modules/common_variables"
|
||||
}
|
|
@ -17,14 +17,6 @@ data "terraform_remote_state" "privnet_dns_router" {
|
|||
}
|
||||
}
|
||||
|
||||
data "terraform_remote_state" "infrastructure_data" {
|
||||
backend = "local"
|
||||
|
||||
config = {
|
||||
path = "../basic-infrastructure/terraform.tfstate"
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# Uses common_variables as module
|
||||
#
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,98 +0,0 @@
|
|||
# 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"
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# Uses common_variables as module
|
||||
#
|
||||
module "common_variables" {
|
||||
source = "../../modules/common_variables"
|
||||
}
|
||||
|
||||
|
||||
# Module used
|
||||
module "ssh_settings" {
|
||||
source = "../../modules/ssh-key-ref"
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Instances
|
||||
resource "openstack_compute_instance_v2" "static_web_service" {
|
||||
name = "static-web"
|
||||
availability_zone_hints = module.common_variables.availability_zone_no_gpu_name
|
||||
flavor_name = module.common_variables.flavor_list.c1_small
|
||||
key_pair = module.ssh_settings.ssh_key_name
|
||||
security_groups = [data.terraform_remote_state.privnet_dns_router.outputs.default_security_group_name, data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.http_and_https_from_the_load_balancers]
|
||||
block_device {
|
||||
uuid = module.common_variables.ubuntu_2204.uuid
|
||||
source_type = "image"
|
||||
volume_size = 40
|
||||
boot_index = 0
|
||||
destination_type = "volume"
|
||||
delete_on_termination = false
|
||||
}
|
||||
|
||||
# Creates the networks according to input networks
|
||||
dynamic "network" {
|
||||
for_each = toset([data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name])
|
||||
content {
|
||||
name = network.value
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# user_data script used
|
||||
user_data = file("${module.common_variables.ubuntu_2204.user_data_file}")
|
||||
# Do not replace the instance when the ssh key changes
|
||||
lifecycle {
|
||||
ignore_changes = [
|
||||
# Ignore changes to tags, e.g. because a management agent
|
||||
# updates these based on some ruleset managed elsewhere.
|
||||
key_pair, user_data, network
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
locals {
|
||||
cname_target = "main-lb.${data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name}"
|
||||
}
|
||||
|
||||
#
|
||||
# Add DNS record/s
|
||||
#
|
||||
module "dns_records_create" {
|
||||
source = "../../modules/dns_resources"
|
||||
|
||||
dns_resources_map = {
|
||||
static-web = {
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = join(".", ["static-web", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||
description = "Static-Web service"
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
provider "openstack" {
|
||||
cloud = "d4s-production"
|
||||
}
|
|
@ -1,513 +0,0 @@
|
|||
{
|
||||
"version": 4,
|
||||
"terraform_version": "1.6.4",
|
||||
"serial": 19,
|
||||
"lineage": "ff03bc33-bac1-cc22-30ba-8ec3ad084038",
|
||||
"outputs": {},
|
||||
"resources": [
|
||||
{
|
||||
"mode": "data",
|
||||
"type": "terraform_remote_state",
|
||||
"name": "privnet_dns_router",
|
||||
"provider": "provider[\"terraform.io/builtin/terraform\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"backend": "local",
|
||||
"config": {
|
||||
"value": {
|
||||
"path": "../project-setup/terraform.tfstate"
|
||||
},
|
||||
"type": [
|
||||
"object",
|
||||
{
|
||||
"path": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"defaults": null,
|
||||
"outputs": {
|
||||
"value": {
|
||||
"almalinux_9": {
|
||||
"name": "AlmaLinux-9.0-20220718",
|
||||
"uuid": "541650fc-dd19-4f38-bb1d-7333ed9dd688"
|
||||
},
|
||||
"availability_zone_no_gpu_name": "cnr-isti-nova-a",
|
||||
"availability_zone_with_gpu_name": "cnr-isti-nova-gpu-a",
|
||||
"availability_zones_names": {
|
||||
"availability_zone_no_gpu": "cnr-isti-nova-a",
|
||||
"availability_zone_with_gpu": "cnr-isti-nova-gpu-a"
|
||||
},
|
||||
"basic_services_ip": {
|
||||
"ca": "10.1.40.4",
|
||||
"ca_cidr": "10.1.40.4/32",
|
||||
"haproxy_l7_1": "10.1.40.11",
|
||||
"haproxy_l7_1_cidr": "10.1.40.11/32",
|
||||
"haproxy_l7_2": "10.1.40.12",
|
||||
"haproxy_l7_2_cidr": "10.1.40.12/32",
|
||||
"octavia_main": "10.1.40.20",
|
||||
"octavia_main_cidr": "10.1.40.20/32",
|
||||
"prometheus": "10.1.40.10",
|
||||
"prometheus_cidr": "10.1.40.10/32",
|
||||
"ssh_jump": "10.1.40.5",
|
||||
"ssh_jump_cidr": "10.1.40.5/32"
|
||||
},
|
||||
"centos_7": {
|
||||
"name": "CentOS-7",
|
||||
"uuid": "f0187a99-64f6-462a-ab5f-ef52fe62f2ca"
|
||||
},
|
||||
"default_security_group_name": "default_for_all",
|
||||
"dns_zone": {
|
||||
"description": "DNS primary zone for the d4s-production-cloud project",
|
||||
"email": "postmaster@isti.cnr.it",
|
||||
"ttl": "8600",
|
||||
"zone_name": "cloud.d4science.org."
|
||||
},
|
||||
"dns_zone_id": "74135b34-1a9c-4c01-8cf0-22450a5660c4",
|
||||
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||
"external_gateway_ip": [
|
||||
{
|
||||
"ip_address": "146.48.31.57",
|
||||
"subnet_id": "57f87509-4016-46fb-b8c3-25fca7f72ccb"
|
||||
}
|
||||
],
|
||||
"external_network": {
|
||||
"id": "1d2ff137-6ff7-4017-be2b-0d6c4af2353b",
|
||||
"name": "external-network"
|
||||
},
|
||||
"external_network_id": "1d2ff137-6ff7-4017-be2b-0d6c4af2353b",
|
||||
"external_router": {
|
||||
"description": "D4Science Production main router",
|
||||
"id": "cc26064a-bb08-4c0b-929f-d0cb39f934a3",
|
||||
"name": "d4s-production-cloud-external-router"
|
||||
},
|
||||
"flavor_list": {
|
||||
"c1_large": "c1.large",
|
||||
"c1_medium": "c1.medium",
|
||||
"c1_small": "c1.small",
|
||||
"c2_large": "c2.large",
|
||||
"m1_large": "m1.large",
|
||||
"m1_medium": "m1.medium",
|
||||
"m1_xlarge": "m1.xlarge",
|
||||
"m1_xxl": "m1.xxl",
|
||||
"m2_large": "m2.large",
|
||||
"m2_medium": "m2.medium",
|
||||
"m2_small": "m2.small",
|
||||
"m3_large": "m3.large"
|
||||
},
|
||||
"floating_ip_pools": {
|
||||
"main_public_ip_pool": "external-network"
|
||||
},
|
||||
"haproxy_l7_data": {
|
||||
"flavor": "m1.medium",
|
||||
"haproxy_1": "haproxy-l7-1",
|
||||
"haproxy_2": "haproxy-l7-2",
|
||||
"name": "main-haproxy-l7",
|
||||
"vm_count": "2"
|
||||
},
|
||||
"internal_ca_data": {
|
||||
"flavor": "m1.small",
|
||||
"name": "ca"
|
||||
},
|
||||
"main_haproxy_l7_ip": [
|
||||
"10.1.40.11",
|
||||
"10.1.40.12"
|
||||
],
|
||||
"main_private_network": {
|
||||
"description": "D4Science Production private network (use this as the main network)",
|
||||
"name": "d4s-production-cloud-main"
|
||||
},
|
||||
"main_private_network_id": "020df98d-ae72-452a-b376-3b6dc289acac",
|
||||
"main_private_subnet": {
|
||||
"allocation_end": "10.1.47.254",
|
||||
"allocation_start": "10.1.41.100",
|
||||
"cidr": "10.1.40.0/21",
|
||||
"description": "D4Science Production main private subnet",
|
||||
"gateway_ip": "10.1.40.1",
|
||||
"name": "d4s-production-cloud-main-subnet"
|
||||
},
|
||||
"main_region": "isti_area_pi_1",
|
||||
"main_subnet_network_id": "5d7b83ad-e058-4a3a-bfd8-d20ba6d42e1a",
|
||||
"mtu_size": 8942,
|
||||
"networks_list": {
|
||||
"cassandra": "cassandra-net",
|
||||
"orientdb": "orientdb-net",
|
||||
"orientdb_se": "orientdb-se-net",
|
||||
"shared_postgresql": "postgresql-srv-net",
|
||||
"swarm": "swarm-nfs-net",
|
||||
"timescaledb": "timescaledb-net"
|
||||
},
|
||||
"networks_with_d4s_services": {
|
||||
"garr_ct1_net": "90.147.166.0/23",
|
||||
"garr_na_net": "90.147.152.0/24",
|
||||
"garr_pa1_net": "90.147.188.0/23",
|
||||
"infrascience_net": "146.48.122.0/23",
|
||||
"isti_net": "146.48.80.0/21",
|
||||
"s2i2s_net": "146.48.28.0/22"
|
||||
},
|
||||
"nfs_share_no_ingress_secgroup_id": "167e4897-f776-4cbd-986f-77313aa68af2",
|
||||
"octavia_information": {
|
||||
"main_lb_description": "Main L4 load balancer for the D4Science production",
|
||||
"main_lb_hostname": "main-lb",
|
||||
"main_lb_name": "d4s-production-cloud-l4-load-balancer",
|
||||
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7",
|
||||
"swarm_lb_name": "d4s-production-cloud-l4-swarm-load-balancer"
|
||||
},
|
||||
"os_project_data": {
|
||||
"id": "1b45adf388934758b56d0dfdb4bfacf3"
|
||||
},
|
||||
"policy_list": {
|
||||
"affinity": "affinity",
|
||||
"anti_affinity": "anti-affinity",
|
||||
"soft_affinity": "soft-affinity",
|
||||
"soft_anti_affinity": "soft-anti-affinity"
|
||||
},
|
||||
"prometheus_server_data": {
|
||||
"flavor": "m1.medium",
|
||||
"name": "prometheus",
|
||||
"public_grafana_server_cidr": "146.48.28.103/32",
|
||||
"vol_data_device": "/dev/vdb",
|
||||
"vol_data_name": "prometheus-data",
|
||||
"vol_data_size": "100"
|
||||
},
|
||||
"resolvers_ip": [
|
||||
"146.48.29.97",
|
||||
"146.48.29.98",
|
||||
"146.48.29.99"
|
||||
],
|
||||
"resource_registry_addresses": {},
|
||||
"security_group_list": {
|
||||
"acaland": "acaland's dev machine",
|
||||
"access_to_orientdb": "access_to_orientdb",
|
||||
"access_to_orientdb_se": "access_to_orientdb_se",
|
||||
"access_to_the_timescaledb_service": "access_to_the_timescaledb_service",
|
||||
"cassandra": "Cassandra",
|
||||
"dataminer-publish": "dataminer-publish",
|
||||
"debugging_from_jump_node": "debugging_from_jump_node",
|
||||
"default": "default",
|
||||
"docker_swarm": "Docker Swarm",
|
||||
"docker_swarm_NFS": "Docker Swarm NFS",
|
||||
"haproxy": "traffic_from_main_lb_to_haproxy_l7",
|
||||
"http_and_https_from_the_load_balancers": "traffic_from_the_main_load_balancers",
|
||||
"limited_HTTPS_access": "restricted_web_service",
|
||||
"limited_SSH_access": "Limited SSH access",
|
||||
"mongo": "mongo",
|
||||
"nfs_share_no_ingress": "nfs_share_no_ingress",
|
||||
"orientdb_internal_docker_traffic": "orientdb_internal_docker_traffic",
|
||||
"postgreSQL": "PostgreSQL service",
|
||||
"public_HTTPS": "Public HTTPS"
|
||||
},
|
||||
"shared_postgresql_server_data": {
|
||||
"allocation_pool_end": "192.168.3.254",
|
||||
"allocation_pool_start": "192.168.0.100",
|
||||
"flavor": "m1.medium",
|
||||
"name": "shared-postgresql-server",
|
||||
"network_cidr": "192.168.0.0/22",
|
||||
"network_description": "Network used to communicate with the shared postgresql service",
|
||||
"network_name": "postgresql-srv-net",
|
||||
"server_cidr": "192.168.0.5/22",
|
||||
"server_ip": "192.168.0.5",
|
||||
"vol_data_device": "/dev/vdb",
|
||||
"vol_data_name": "shared-postgresql-data",
|
||||
"vol_data_size": "100"
|
||||
},
|
||||
"smartexecutor_addresses": {},
|
||||
"ssh_jump_proxy": {
|
||||
"flavor": "m2.small",
|
||||
"name": "ssh-jump-proxy"
|
||||
},
|
||||
"ssh_sources": {
|
||||
"d4s_vpn_1_cidr": "146.48.122.27/32",
|
||||
"d4s_vpn_2_cidr": "146.48.122.49/32",
|
||||
"infrascience_net_cidr": "146.48.122.0/23",
|
||||
"s2i2s_vpn_1_cidr": "146.48.28.10/32",
|
||||
"s2i2s_vpn_2_cidr": "146.48.28.11/32",
|
||||
"shell_d4s_cidr": "146.48.122.95/32"
|
||||
},
|
||||
"storage_nfs_network_id": "5f4023cc-4016-404c-94e5-86220095fbaf",
|
||||
"storage_nfs_subnet_id": "6ff0f9e8-0e74-4cc3-a268-7ed4af435696",
|
||||
"ubuntu1804_data_file": "../../openstack_vm_data_scripts/ubuntu1804.sh",
|
||||
"ubuntu2204_data_file": "../../openstack_vm_data_scripts/ubuntu2204.sh",
|
||||
"ubuntu_1804": {
|
||||
"name": "Ubuntu-Bionic-18.04",
|
||||
"user_data_file": "../../openstack_vm_data_scripts/ubuntu1804.sh",
|
||||
"uuid": "7ed6a2cd-2b07-482e-8ce4-f018dff16c89"
|
||||
},
|
||||
"ubuntu_2204": {
|
||||
"name": "Ubuntu-Jammy-22.04",
|
||||
"user_data_file": "../../openstack_vm_data_scripts/ubuntu2204.sh",
|
||||
"uuid": "54768889-8556-4be4-a2eb-82a4d9b34627"
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"object",
|
||||
{
|
||||
"almalinux_9": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"availability_zone_no_gpu_name": "string",
|
||||
"availability_zone_with_gpu_name": "string",
|
||||
"availability_zones_names": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"basic_services_ip": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"centos_7": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"default_security_group_name": "string",
|
||||
"dns_zone": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"dns_zone_id": "string",
|
||||
"el7_data_file": "string",
|
||||
"external_gateway_ip": [
|
||||
"list",
|
||||
[
|
||||
"object",
|
||||
{
|
||||
"ip_address": "string",
|
||||
"subnet_id": "string"
|
||||
}
|
||||
]
|
||||
],
|
||||
"external_network": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"external_network_id": "string",
|
||||
"external_router": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"flavor_list": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"floating_ip_pools": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"haproxy_l7_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"internal_ca_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"main_haproxy_l7_ip": [
|
||||
"list",
|
||||
"string"
|
||||
],
|
||||
"main_private_network": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"main_private_network_id": "string",
|
||||
"main_private_subnet": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"main_region": "string",
|
||||
"main_subnet_network_id": "string",
|
||||
"mtu_size": "number",
|
||||
"networks_list": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"networks_with_d4s_services": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"nfs_share_no_ingress_secgroup_id": "string",
|
||||
"octavia_information": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"os_project_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"policy_list": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"prometheus_server_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"resolvers_ip": [
|
||||
"list",
|
||||
"string"
|
||||
],
|
||||
"resource_registry_addresses": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"security_group_list": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"shared_postgresql_server_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"smartexecutor_addresses": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"ssh_jump_proxy": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"ssh_sources": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"storage_nfs_network_id": "string",
|
||||
"storage_nfs_subnet_id": "string",
|
||||
"ubuntu1804_data_file": "string",
|
||||
"ubuntu2204_data_file": "string",
|
||||
"ubuntu_1804": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"ubuntu_2204": [
|
||||
"map",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"workspace": null
|
||||
},
|
||||
"sensitive_attributes": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "openstack_compute_instance_v2",
|
||||
"name": "static_web_service",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"access_ip_v4": "10.1.43.93",
|
||||
"access_ip_v6": "",
|
||||
"admin_pass": null,
|
||||
"all_metadata": {},
|
||||
"all_tags": [],
|
||||
"availability_zone": "cnr-isti-nova-a",
|
||||
"availability_zone_hints": "cnr-isti-nova-a",
|
||||
"block_device": [
|
||||
{
|
||||
"boot_index": 0,
|
||||
"delete_on_termination": false,
|
||||
"destination_type": "volume",
|
||||
"device_type": "",
|
||||
"disk_bus": "",
|
||||
"guest_format": "",
|
||||
"multiattach": false,
|
||||
"source_type": "image",
|
||||
"uuid": "54768889-8556-4be4-a2eb-82a4d9b34627",
|
||||
"volume_size": 40,
|
||||
"volume_type": ""
|
||||
}
|
||||
],
|
||||
"config_drive": null,
|
||||
"created": "2024-04-29 14:40:00 +0000 UTC",
|
||||
"flavor_id": "3",
|
||||
"flavor_name": "c1.small",
|
||||
"floating_ip": null,
|
||||
"force_delete": false,
|
||||
"id": "cc6e4930-43c0-490c-869a-c00552dbd0b9",
|
||||
"image_id": "Attempt to boot from volume - no image supplied",
|
||||
"image_name": null,
|
||||
"key_pair": "Giancarlo Panichi",
|
||||
"metadata": null,
|
||||
"name": "static-web",
|
||||
"network": [
|
||||
{
|
||||
"access_network": false,
|
||||
"fixed_ip_v4": "10.1.43.93",
|
||||
"fixed_ip_v6": "",
|
||||
"floating_ip": "",
|
||||
"mac": "fa:16:3e:0b:55:c8",
|
||||
"name": "d4s-production-cloud-main",
|
||||
"port": "",
|
||||
"uuid": "020df98d-ae72-452a-b376-3b6dc289acac"
|
||||
}
|
||||
],
|
||||
"network_mode": null,
|
||||
"personality": [],
|
||||
"power_state": "active",
|
||||
"region": "isti_area_pi_1",
|
||||
"scheduler_hints": [],
|
||||
"security_groups": [
|
||||
"default_for_all",
|
||||
"traffic_from_the_main_load_balancers"
|
||||
],
|
||||
"stop_before_destroy": false,
|
||||
"tags": null,
|
||||
"timeouts": null,
|
||||
"updated": "2024-04-29 14:40:47 +0000 UTC",
|
||||
"user_data": "bb83b25fd1219aa1b850ece9be8d7b0f31714608",
|
||||
"vendor_options": [],
|
||||
"volume": []
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "module.dns_records_create",
|
||||
"mode": "managed",
|
||||
"type": "openstack_dns_recordset_v2",
|
||||
"name": "add_dns_recordset",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"index_key": "static-web",
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"description": "Static-Web service",
|
||||
"disable_status_check": false,
|
||||
"id": "74135b34-1a9c-4c01-8cf0-22450a5660c4/8b3c0ff8-72f3-4814-8832-0e3a24091721",
|
||||
"name": "static-web.cloud.d4science.org.",
|
||||
"project_id": "1b45adf388934758b56d0dfdb4bfacf3",
|
||||
"records": [
|
||||
"main-lb.cloud.d4science.org."
|
||||
],
|
||||
"region": "isti_area_pi_1",
|
||||
"timeouts": null,
|
||||
"ttl": 8600,
|
||||
"type": "CNAME",
|
||||
"value_specs": null,
|
||||
"zone_id": "74135b34-1a9c-4c01-8cf0-22450a5660c4"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"check_results": null
|
||||
}
|
|
@ -33,8 +33,3 @@ output "main_haproxy_l7_ip" {
|
|||
output "octavia_information" {
|
||||
value = var.octavia_information
|
||||
}
|
||||
|
||||
output "access_postgresql_security_group" {
|
||||
value = openstack_networking_secgroup_v2.shared_postgresql_access
|
||||
}
|
||||
|
||||
|
|
|
@ -1,112 +0,0 @@
|
|||
# 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"
|
||||
}
|
||||
}
|
||||
|
||||
# SSH settings
|
||||
module "ssh_settings" {
|
||||
source = "../../modules/ssh-key-ref"
|
||||
}
|
||||
|
||||
# Global variables (constants, really)
|
||||
module "common_variables" {
|
||||
source = "../../modules/garr_common_variables"
|
||||
}
|
||||
|
||||
# SCILake server. All in one, everything docker
|
||||
resource "openstack_blockstorage_volume_v3" "postgresql_data_vol" {
|
||||
name = "Scilake catalogue postgresql data"
|
||||
size = 5
|
||||
}
|
||||
|
||||
resource "openstack_blockstorage_volume_v3" "mongodb_data_vol" {
|
||||
name = "Scilake catalogue mongodb data"
|
||||
size = 5
|
||||
}
|
||||
|
||||
resource "openstack_blockstorage_volume_v3" "elasticsearch_data_vol" {
|
||||
name = "Scilake catalogue elasticsearch data"
|
||||
size = 5
|
||||
}
|
||||
|
||||
resource "openstack_networking_port_v2" "scilake_ip_in_main_net" {
|
||||
name = "scilake_main"
|
||||
admin_state_up = "true"
|
||||
network_id = data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.id
|
||||
security_group_ids = [
|
||||
data.terraform_remote_state.privnet_dns_router.outputs.default_security_group.id,
|
||||
]
|
||||
}
|
||||
|
||||
resource "openstack_compute_instance_v2" "scilake_intelcomp_server" {
|
||||
name = "SCILake intelcomp server"
|
||||
availability_zone_hints = "nova"
|
||||
flavor_name = "m1.xxl"
|
||||
key_pair = module.ssh_settings.ssh_key_name
|
||||
block_device {
|
||||
uuid = module.common_variables.ubuntu_2204.uuid
|
||||
source_type = "image"
|
||||
volume_size = 10
|
||||
boot_index = 0
|
||||
destination_type = "volume"
|
||||
delete_on_termination = true
|
||||
}
|
||||
|
||||
network {
|
||||
port = openstack_networking_port_v2.scilake_ip_in_main_net.id
|
||||
}
|
||||
|
||||
user_data = file("${module.common_variables.ubuntu2204_data_file}")
|
||||
# Do not replace the instance when the ssh key changes
|
||||
lifecycle {
|
||||
ignore_changes = [
|
||||
# Ignore changes to tags, e.g. because a management agent
|
||||
# updates these based on some ruleset managed elsewhere.
|
||||
key_pair, user_data, network
|
||||
]
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
resource "openstack_compute_volume_attach_v2" "postgresql_data_attach_vol" {
|
||||
instance_id = openstack_compute_instance_v2.scilake_intelcomp_server.id
|
||||
volume_id = openstack_blockstorage_volume_v3.postgresql_data_vol.id
|
||||
device = "/dev/vdb"
|
||||
}
|
||||
|
||||
resource "openstack_compute_volume_attach_v2" "mongodb_data_attach_vol" {
|
||||
instance_id = openstack_compute_instance_v2.scilake_intelcomp_server.id
|
||||
volume_id = openstack_blockstorage_volume_v3.mongodb_data_vol.id
|
||||
device = "/dev/vdc"
|
||||
}
|
||||
|
||||
resource "openstack_compute_volume_attach_v2" "elasticsearch_data_attach_vol" {
|
||||
instance_id = openstack_compute_instance_v2.scilake_intelcomp_server.id
|
||||
volume_id = openstack_blockstorage_volume_v3.elasticsearch_data_vol.id
|
||||
device = "/dev/vdd"
|
||||
}
|
||||
|
||||
#
|
||||
resource "openstack_networking_floatingip_v2" "scilake_catalogue_server_ip" {
|
||||
pool = data.terraform_remote_state.privnet_dns_router.outputs.external_network.name
|
||||
description = "SCIlake Catalogue"
|
||||
}
|
||||
|
||||
resource "openstack_networking_floatingip_associate_v2" "scilake_catalogue_server" {
|
||||
floating_ip = openstack_networking_floatingip_v2.scilake_catalogue_server_ip.address
|
||||
port_id = openstack_networking_port_v2.scilake_ip_in_main_net.id
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
output "scilake_instance" {
|
||||
value = openstack_compute_instance_v2.scilake_intelcomp_server
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "scilake_floating_ip" {
|
||||
value = openstack_networking_floatingip_v2.scilake_catalogue_server_ip
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
provider "openstack" {
|
||||
cloud = "garr-ct1"
|
||||
}
|
||||
|
|
@ -1,822 +0,0 @@
|
|||
{
|
||||
"version": 4,
|
||||
"terraform_version": "1.7.5",
|
||||
"serial": 43,
|
||||
"lineage": "6c778726-5dc6-47e2-aa9f-12d30f5345ff",
|
||||
"outputs": {
|
||||
"scilake_floating_ip": {
|
||||
"value": {
|
||||
"address": "90.147.184.15",
|
||||
"all_tags": [],
|
||||
"description": "SCIlake Catalogue",
|
||||
"dns_domain": "",
|
||||
"dns_name": "",
|
||||
"fixed_ip": "192.168.100.104",
|
||||
"id": "9832fef7-37f8-421f-bbd0-835c802852c4",
|
||||
"pool": "floating-ip",
|
||||
"port_id": "4979412a-f60a-4e3e-ac10-dc1bf118323c",
|
||||
"region": "garr-ct1",
|
||||
"subnet_id": null,
|
||||
"subnet_ids": null,
|
||||
"tags": [],
|
||||
"tenant_id": "a2de533851354b1f8d99ac6b6216d92e",
|
||||
"timeouts": null,
|
||||
"value_specs": null
|
||||
},
|
||||
"type": [
|
||||
"object",
|
||||
{
|
||||
"address": "string",
|
||||
"all_tags": [
|
||||
"set",
|
||||
"string"
|
||||
],
|
||||
"description": "string",
|
||||
"dns_domain": "string",
|
||||
"dns_name": "string",
|
||||
"fixed_ip": "string",
|
||||
"id": "string",
|
||||
"pool": "string",
|
||||
"port_id": "string",
|
||||
"region": "string",
|
||||
"subnet_id": "string",
|
||||
"subnet_ids": [
|
||||
"list",
|
||||
"string"
|
||||
],
|
||||
"tags": [
|
||||
"set",
|
||||
"string"
|
||||
],
|
||||
"tenant_id": "string",
|
||||
"timeouts": [
|
||||
"object",
|
||||
{
|
||||
"create": "string",
|
||||
"delete": "string"
|
||||
}
|
||||
],
|
||||
"value_specs": [
|
||||
"map",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"scilake_instance": {
|
||||
"value": {
|
||||
"access_ip_v4": "192.168.100.104",
|
||||
"access_ip_v6": "",
|
||||
"admin_pass": null,
|
||||
"all_metadata": {},
|
||||
"all_tags": [],
|
||||
"availability_zone": "nova",
|
||||
"availability_zone_hints": "nova",
|
||||
"block_device": [
|
||||
{
|
||||
"boot_index": 0,
|
||||
"delete_on_termination": true,
|
||||
"destination_type": "volume",
|
||||
"device_type": "",
|
||||
"disk_bus": "",
|
||||
"guest_format": "",
|
||||
"multiattach": false,
|
||||
"source_type": "image",
|
||||
"uuid": "09d879ad-70ee-4f05-9fd8-ffb7b76e2d1b",
|
||||
"volume_size": 10,
|
||||
"volume_type": ""
|
||||
}
|
||||
],
|
||||
"config_drive": null,
|
||||
"created": "2024-04-20 19:27:30 +0000 UTC",
|
||||
"flavor_id": "04a3f9ec-daf3-46ea-a6a4-8d5553b701f7",
|
||||
"flavor_name": "m1.xxl",
|
||||
"floating_ip": null,
|
||||
"force_delete": false,
|
||||
"id": "37868eb3-aa56-4bfe-8823-14001f4151e6",
|
||||
"image_id": "Attempt to boot from volume - no image supplied",
|
||||
"image_name": null,
|
||||
"key_pair": "adellam",
|
||||
"metadata": null,
|
||||
"name": "SCILake intelcomp server",
|
||||
"network": [
|
||||
{
|
||||
"access_network": false,
|
||||
"fixed_ip_v4": "192.168.100.104",
|
||||
"fixed_ip_v6": "",
|
||||
"floating_ip": "",
|
||||
"mac": "fa:16:3e:c2:1f:a0",
|
||||
"name": "isti-VM-CT1-net",
|
||||
"port": "4979412a-f60a-4e3e-ac10-dc1bf118323c",
|
||||
"uuid": "310d65b2-fc5b-4079-b5c2-eb286fbde757"
|
||||
}
|
||||
],
|
||||
"network_mode": null,
|
||||
"personality": [],
|
||||
"power_state": "active",
|
||||
"region": "garr-ct1",
|
||||
"scheduler_hints": [],
|
||||
"security_groups": [
|
||||
"default"
|
||||
],
|
||||
"stop_before_destroy": false,
|
||||
"tags": [],
|
||||
"timeouts": null,
|
||||
"updated": "2024-04-20 19:28:34 +0000 UTC",
|
||||
"user_data": "bb83b25fd1219aa1b850ece9be8d7b0f31714608",
|
||||
"vendor_options": [],
|
||||
"volume": []
|
||||
},
|
||||
"type": [
|
||||
"object",
|
||||
{
|
||||
"access_ip_v4": "string",
|
||||
"access_ip_v6": "string",
|
||||
"admin_pass": "string",
|
||||
"all_metadata": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"all_tags": [
|
||||
"set",
|
||||
"string"
|
||||
],
|
||||
"availability_zone": "string",
|
||||
"availability_zone_hints": "string",
|
||||
"block_device": [
|
||||
"list",
|
||||
[
|
||||
"object",
|
||||
{
|
||||
"boot_index": "number",
|
||||
"delete_on_termination": "bool",
|
||||
"destination_type": "string",
|
||||
"device_type": "string",
|
||||
"disk_bus": "string",
|
||||
"guest_format": "string",
|
||||
"multiattach": "bool",
|
||||
"source_type": "string",
|
||||
"uuid": "string",
|
||||
"volume_size": "number",
|
||||
"volume_type": "string"
|
||||
}
|
||||
]
|
||||
],
|
||||
"config_drive": "bool",
|
||||
"created": "string",
|
||||
"flavor_id": "string",
|
||||
"flavor_name": "string",
|
||||
"floating_ip": "string",
|
||||
"force_delete": "bool",
|
||||
"id": "string",
|
||||
"image_id": "string",
|
||||
"image_name": "string",
|
||||
"key_pair": "string",
|
||||
"metadata": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"name": "string",
|
||||
"network": [
|
||||
"list",
|
||||
[
|
||||
"object",
|
||||
{
|
||||
"access_network": "bool",
|
||||
"fixed_ip_v4": "string",
|
||||
"fixed_ip_v6": "string",
|
||||
"floating_ip": "string",
|
||||
"mac": "string",
|
||||
"name": "string",
|
||||
"port": "string",
|
||||
"uuid": "string"
|
||||
}
|
||||
]
|
||||
],
|
||||
"network_mode": "string",
|
||||
"personality": [
|
||||
"set",
|
||||
[
|
||||
"object",
|
||||
{
|
||||
"content": "string",
|
||||
"file": "string"
|
||||
}
|
||||
]
|
||||
],
|
||||
"power_state": "string",
|
||||
"region": "string",
|
||||
"scheduler_hints": [
|
||||
"set",
|
||||
[
|
||||
"object",
|
||||
{
|
||||
"additional_properties": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"build_near_host_ip": "string",
|
||||
"different_cell": [
|
||||
"list",
|
||||
"string"
|
||||
],
|
||||
"different_host": [
|
||||
"list",
|
||||
"string"
|
||||
],
|
||||
"group": "string",
|
||||
"query": [
|
||||
"list",
|
||||
"string"
|
||||
],
|
||||
"same_host": [
|
||||
"list",
|
||||
"string"
|
||||
],
|
||||
"target_cell": "string"
|
||||
}
|
||||
]
|
||||
],
|
||||
"security_groups": [
|
||||
"set",
|
||||
"string"
|
||||
],
|
||||
"stop_before_destroy": "bool",
|
||||
"tags": [
|
||||
"set",
|
||||
"string"
|
||||
],
|
||||
"timeouts": [
|
||||
"object",
|
||||
{
|
||||
"create": "string",
|
||||
"delete": "string",
|
||||
"update": "string"
|
||||
}
|
||||
],
|
||||
"updated": "string",
|
||||
"user_data": "string",
|
||||
"vendor_options": [
|
||||
"set",
|
||||
[
|
||||
"object",
|
||||
{
|
||||
"detach_ports_before_destroy": "bool",
|
||||
"ignore_resize_confirmation": "bool"
|
||||
}
|
||||
]
|
||||
],
|
||||
"volume": [
|
||||
"set",
|
||||
[
|
||||
"object",
|
||||
{
|
||||
"device": "string",
|
||||
"id": "string",
|
||||
"volume_id": "string"
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"sensitive": true
|
||||
}
|
||||
},
|
||||
"resources": [
|
||||
{
|
||||
"mode": "data",
|
||||
"type": "terraform_remote_state",
|
||||
"name": "privnet_dns_router",
|
||||
"provider": "provider[\"terraform.io/builtin/terraform\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"backend": "local",
|
||||
"config": {
|
||||
"value": {
|
||||
"path": "../project-setup/terraform.tfstate"
|
||||
},
|
||||
"type": [
|
||||
"object",
|
||||
{
|
||||
"path": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"defaults": null,
|
||||
"outputs": {
|
||||
"value": {
|
||||
"default_security_group": {
|
||||
"id": "c7499f6c-147c-4b61-9a29-1a6ca4a85a98",
|
||||
"name": "default"
|
||||
},
|
||||
"external_network": {
|
||||
"id": "bf588091-e239-4fc8-8d35-eee2bd7d3cb0",
|
||||
"name": "floating-ip"
|
||||
},
|
||||
"external_router": {
|
||||
"description": "GARR-CT1 main router",
|
||||
"name": "isti-router"
|
||||
},
|
||||
"jump_proxy_ssh_shell": {
|
||||
"hostname": "shell.garr-ct1.d4science.net",
|
||||
"private_ip": "192.168.100.4"
|
||||
},
|
||||
"main_private_network": {
|
||||
"description": "GARR CT1 main network",
|
||||
"id": "310d65b2-fc5b-4079-b5c2-eb286fbde757",
|
||||
"name": "isti-VM-CT1-net"
|
||||
},
|
||||
"main_private_subnet": {
|
||||
"allocation_end": "192.168.100.253",
|
||||
"allocation_start": "192.168.100.2",
|
||||
"cidr": "192.168.100.0/24",
|
||||
"description": "GARR-CT1 main subnet",
|
||||
"gateway_ip": "192.168.100.1",
|
||||
"id": "780bcac9-3835-436c-901a-339e38e7345f",
|
||||
"name": "isti-VM-subnet"
|
||||
},
|
||||
"mtu_size": 9000,
|
||||
"os_project_data": {
|
||||
"id": "a2de533851354b1f8d99ac6b6216d92e"
|
||||
},
|
||||
"os_region_data": {
|
||||
"name": "garr-ct1"
|
||||
},
|
||||
"prometheus_host": {
|
||||
"hostname": "ip-90-147-166-113.ct1.garrservices.it",
|
||||
"private_ip": "192.168.100.15"
|
||||
},
|
||||
"resolvers_ip": [
|
||||
"193.206.141.38",
|
||||
"193.206.141.42"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"object",
|
||||
{
|
||||
"default_security_group": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"external_network": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"external_router": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"jump_proxy_ssh_shell": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"main_private_network": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"main_private_subnet": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"mtu_size": "number",
|
||||
"os_project_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"os_region_data": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"prometheus_host": [
|
||||
"map",
|
||||
"string"
|
||||
],
|
||||
"resolvers_ip": [
|
||||
"list",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"workspace": null
|
||||
},
|
||||
"sensitive_attributes": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "openstack_blockstorage_volume_v3",
|
||||
"name": "elasticsearch_data_vol",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"attachment": [
|
||||
{
|
||||
"device": "/dev/vdd",
|
||||
"id": "0d23a62c-15d6-4ab7-aab1-5bdc1c9d2c66",
|
||||
"instance_id": "37868eb3-aa56-4bfe-8823-14001f4151e6"
|
||||
}
|
||||
],
|
||||
"availability_zone": "nova",
|
||||
"backup_id": "",
|
||||
"consistency_group_id": null,
|
||||
"description": "",
|
||||
"enable_online_resize": null,
|
||||
"id": "0d23a62c-15d6-4ab7-aab1-5bdc1c9d2c66",
|
||||
"image_id": null,
|
||||
"metadata": {},
|
||||
"multiattach": null,
|
||||
"name": "Scilake catalogue elasticsearch data",
|
||||
"region": "garr-ct1",
|
||||
"scheduler_hints": [],
|
||||
"size": 5,
|
||||
"snapshot_id": "",
|
||||
"source_replica": null,
|
||||
"source_vol_id": "",
|
||||
"timeouts": null,
|
||||
"volume_type": "__DEFAULT__"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "openstack_blockstorage_volume_v3",
|
||||
"name": "mongodb_data_vol",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"attachment": [
|
||||
{
|
||||
"device": "/dev/vdc",
|
||||
"id": "5cda33a5-85c0-4211-b1f7-26b0baff18e3",
|
||||
"instance_id": "37868eb3-aa56-4bfe-8823-14001f4151e6"
|
||||
}
|
||||
],
|
||||
"availability_zone": "nova",
|
||||
"backup_id": "",
|
||||
"consistency_group_id": null,
|
||||
"description": "",
|
||||
"enable_online_resize": null,
|
||||
"id": "5cda33a5-85c0-4211-b1f7-26b0baff18e3",
|
||||
"image_id": null,
|
||||
"metadata": {},
|
||||
"multiattach": null,
|
||||
"name": "Scilake catalogue mongodb data",
|
||||
"region": "garr-ct1",
|
||||
"scheduler_hints": [],
|
||||
"size": 5,
|
||||
"snapshot_id": "",
|
||||
"source_replica": null,
|
||||
"source_vol_id": "",
|
||||
"timeouts": null,
|
||||
"volume_type": "__DEFAULT__"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "openstack_blockstorage_volume_v3",
|
||||
"name": "postgresql_data_vol",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"attachment": [
|
||||
{
|
||||
"device": "/dev/vdb",
|
||||
"id": "5a4888df-5e16-49ac-bc84-28e811474659",
|
||||
"instance_id": "37868eb3-aa56-4bfe-8823-14001f4151e6"
|
||||
}
|
||||
],
|
||||
"availability_zone": "nova",
|
||||
"backup_id": "",
|
||||
"consistency_group_id": null,
|
||||
"description": "",
|
||||
"enable_online_resize": null,
|
||||
"id": "5a4888df-5e16-49ac-bc84-28e811474659",
|
||||
"image_id": null,
|
||||
"metadata": {},
|
||||
"multiattach": null,
|
||||
"name": "Scilake catalogue postgresql data",
|
||||
"region": "garr-ct1",
|
||||
"scheduler_hints": [],
|
||||
"size": 5,
|
||||
"snapshot_id": "",
|
||||
"source_replica": null,
|
||||
"source_vol_id": "",
|
||||
"timeouts": null,
|
||||
"volume_type": "__DEFAULT__"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "openstack_compute_instance_v2",
|
||||
"name": "scilake_intelcomp_server",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"access_ip_v4": "192.168.100.104",
|
||||
"access_ip_v6": "",
|
||||
"admin_pass": null,
|
||||
"all_metadata": {},
|
||||
"all_tags": [],
|
||||
"availability_zone": "nova",
|
||||
"availability_zone_hints": "nova",
|
||||
"block_device": [
|
||||
{
|
||||
"boot_index": 0,
|
||||
"delete_on_termination": true,
|
||||
"destination_type": "volume",
|
||||
"device_type": "",
|
||||
"disk_bus": "",
|
||||
"guest_format": "",
|
||||
"multiattach": false,
|
||||
"source_type": "image",
|
||||
"uuid": "09d879ad-70ee-4f05-9fd8-ffb7b76e2d1b",
|
||||
"volume_size": 10,
|
||||
"volume_type": ""
|
||||
}
|
||||
],
|
||||
"config_drive": null,
|
||||
"created": "2024-04-20 19:27:30 +0000 UTC",
|
||||
"flavor_id": "04a3f9ec-daf3-46ea-a6a4-8d5553b701f7",
|
||||
"flavor_name": "m1.xxl",
|
||||
"floating_ip": null,
|
||||
"force_delete": false,
|
||||
"id": "37868eb3-aa56-4bfe-8823-14001f4151e6",
|
||||
"image_id": "Attempt to boot from volume - no image supplied",
|
||||
"image_name": null,
|
||||
"key_pair": "adellam",
|
||||
"metadata": null,
|
||||
"name": "SCILake intelcomp server",
|
||||
"network": [
|
||||
{
|
||||
"access_network": false,
|
||||
"fixed_ip_v4": "192.168.100.104",
|
||||
"fixed_ip_v6": "",
|
||||
"floating_ip": "",
|
||||
"mac": "fa:16:3e:c2:1f:a0",
|
||||
"name": "isti-VM-CT1-net",
|
||||
"port": "4979412a-f60a-4e3e-ac10-dc1bf118323c",
|
||||
"uuid": "310d65b2-fc5b-4079-b5c2-eb286fbde757"
|
||||
}
|
||||
],
|
||||
"network_mode": null,
|
||||
"personality": [],
|
||||
"power_state": "active",
|
||||
"region": "garr-ct1",
|
||||
"scheduler_hints": [],
|
||||
"security_groups": [
|
||||
"default"
|
||||
],
|
||||
"stop_before_destroy": false,
|
||||
"tags": [],
|
||||
"timeouts": null,
|
||||
"updated": "2024-04-20 19:28:34 +0000 UTC",
|
||||
"user_data": "bb83b25fd1219aa1b850ece9be8d7b0f31714608",
|
||||
"vendor_options": [],
|
||||
"volume": []
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router",
|
||||
"openstack_networking_port_v2.scilake_ip_in_main_net"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "openstack_compute_volume_attach_v2",
|
||||
"name": "elasticsearch_data_attach_vol",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"device": "/dev/vdd",
|
||||
"id": "37868eb3-aa56-4bfe-8823-14001f4151e6/0d23a62c-15d6-4ab7-aab1-5bdc1c9d2c66",
|
||||
"instance_id": "37868eb3-aa56-4bfe-8823-14001f4151e6",
|
||||
"multiattach": null,
|
||||
"region": "garr-ct1",
|
||||
"timeouts": null,
|
||||
"vendor_options": [],
|
||||
"volume_id": "0d23a62c-15d6-4ab7-aab1-5bdc1c9d2c66"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router",
|
||||
"openstack_blockstorage_volume_v3.elasticsearch_data_vol",
|
||||
"openstack_compute_instance_v2.scilake_intelcomp_server",
|
||||
"openstack_networking_port_v2.scilake_ip_in_main_net"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "openstack_compute_volume_attach_v2",
|
||||
"name": "mongodb_data_attach_vol",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"device": "/dev/vdc",
|
||||
"id": "37868eb3-aa56-4bfe-8823-14001f4151e6/5cda33a5-85c0-4211-b1f7-26b0baff18e3",
|
||||
"instance_id": "37868eb3-aa56-4bfe-8823-14001f4151e6",
|
||||
"multiattach": null,
|
||||
"region": "garr-ct1",
|
||||
"timeouts": null,
|
||||
"vendor_options": [],
|
||||
"volume_id": "5cda33a5-85c0-4211-b1f7-26b0baff18e3"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router",
|
||||
"openstack_blockstorage_volume_v3.mongodb_data_vol",
|
||||
"openstack_compute_instance_v2.scilake_intelcomp_server",
|
||||
"openstack_networking_port_v2.scilake_ip_in_main_net"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "openstack_compute_volume_attach_v2",
|
||||
"name": "postgresql_data_attach_vol",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"device": "/dev/vdb",
|
||||
"id": "37868eb3-aa56-4bfe-8823-14001f4151e6/5a4888df-5e16-49ac-bc84-28e811474659",
|
||||
"instance_id": "37868eb3-aa56-4bfe-8823-14001f4151e6",
|
||||
"multiattach": null,
|
||||
"region": "garr-ct1",
|
||||
"timeouts": null,
|
||||
"vendor_options": [],
|
||||
"volume_id": "5a4888df-5e16-49ac-bc84-28e811474659"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router",
|
||||
"openstack_blockstorage_volume_v3.postgresql_data_vol",
|
||||
"openstack_compute_instance_v2.scilake_intelcomp_server",
|
||||
"openstack_networking_port_v2.scilake_ip_in_main_net"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "openstack_networking_floatingip_associate_v2",
|
||||
"name": "scilake_catalogue_server",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"fixed_ip": "192.168.100.104",
|
||||
"floating_ip": "90.147.184.15",
|
||||
"id": "9832fef7-37f8-421f-bbd0-835c802852c4",
|
||||
"port_id": "4979412a-f60a-4e3e-ac10-dc1bf118323c",
|
||||
"region": "garr-ct1"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA==",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router",
|
||||
"openstack_networking_floatingip_v2.scilake_catalogue_server_ip",
|
||||
"openstack_networking_port_v2.scilake_ip_in_main_net"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "openstack_networking_floatingip_v2",
|
||||
"name": "scilake_catalogue_server_ip",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"address": "90.147.184.15",
|
||||
"all_tags": [],
|
||||
"description": "SCIlake Catalogue",
|
||||
"dns_domain": "",
|
||||
"dns_name": "",
|
||||
"fixed_ip": "192.168.100.104",
|
||||
"id": "9832fef7-37f8-421f-bbd0-835c802852c4",
|
||||
"pool": "floating-ip",
|
||||
"port_id": "4979412a-f60a-4e3e-ac10-dc1bf118323c",
|
||||
"region": "garr-ct1",
|
||||
"subnet_id": null,
|
||||
"subnet_ids": null,
|
||||
"tags": [],
|
||||
"tenant_id": "a2de533851354b1f8d99ac6b6216d92e",
|
||||
"timeouts": null,
|
||||
"value_specs": null
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "openstack_networking_port_v2",
|
||||
"name": "scilake_ip_in_main_net",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"admin_state_up": true,
|
||||
"all_fixed_ips": [
|
||||
"192.168.100.104"
|
||||
],
|
||||
"all_security_group_ids": [
|
||||
"c7499f6c-147c-4b61-9a29-1a6ca4a85a98"
|
||||
],
|
||||
"all_tags": [],
|
||||
"allowed_address_pairs": [],
|
||||
"binding": [
|
||||
{
|
||||
"host_id": "",
|
||||
"profile": "",
|
||||
"vif_details": {},
|
||||
"vif_type": "",
|
||||
"vnic_type": "normal"
|
||||
}
|
||||
],
|
||||
"description": "",
|
||||
"device_id": "37868eb3-aa56-4bfe-8823-14001f4151e6",
|
||||
"device_owner": "compute:nova",
|
||||
"dns_assignment": [
|
||||
{
|
||||
"fqdn": "scilake-intelcomp-server.garr.cloud.ct.",
|
||||
"hostname": "scilake-intelcomp-server",
|
||||
"ip_address": "192.168.100.104"
|
||||
}
|
||||
],
|
||||
"dns_name": "scilake-intelcomp-server",
|
||||
"extra_dhcp_option": [],
|
||||
"fixed_ip": [],
|
||||
"id": "4979412a-f60a-4e3e-ac10-dc1bf118323c",
|
||||
"mac_address": "fa:16:3e:c2:1f:a0",
|
||||
"name": "scilake_main",
|
||||
"network_id": "310d65b2-fc5b-4079-b5c2-eb286fbde757",
|
||||
"no_fixed_ip": null,
|
||||
"no_security_groups": null,
|
||||
"port_security_enabled": true,
|
||||
"qos_policy_id": "",
|
||||
"region": "garr-ct1",
|
||||
"security_group_ids": [
|
||||
"c7499f6c-147c-4b61-9a29-1a6ca4a85a98"
|
||||
],
|
||||
"tags": [],
|
||||
"tenant_id": "a2de533851354b1f8d99ac6b6216d92e",
|
||||
"timeouts": null,
|
||||
"value_specs": null
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"check_results": null
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
# Define required providers
|
||||
terraform {
|
||||
required_version = ">= 0.16.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"
|
||||
}
|
||||
}
|
||||
|
||||
# SSH settings
|
||||
module "ssh_settings" {
|
||||
source = "../../modules/ssh-key-ref"
|
||||
}
|
||||
|
||||
# Global variables (constants, really)
|
||||
module "common_variables" {
|
||||
source = "../../modules/garr_common_variables"
|
||||
}
|
|
@ -1,319 +0,0 @@
|
|||
#
|
||||
# Octavia
|
||||
#
|
||||
# Swarm load balancer. L4, backed by Octavia
|
||||
resource "openstack_lb_loadbalancer_v2" "swarm_lb" {
|
||||
vip_subnet_id = var.main_private_subnet_id
|
||||
name = var.octavia_swarm_data.swarm_lb_name
|
||||
description = var.octavia_swarm_data.swarm_lb_description
|
||||
flavor_id = var.octavia_swarm_data.octavia_flavor_id
|
||||
vip_address = var.octavia_swarm_data.swarm_octavia_main_ip
|
||||
# availability_zone = var.availability_zones_names.availability_zone_no_gpu
|
||||
loadbalancer_provider = "amphora"
|
||||
}
|
||||
|
||||
# Allocate a floating IP
|
||||
resource "openstack_networking_floatingip_v2" "swarm_lb_ip" {
|
||||
pool = var.floating_ip_pools.main_public_ip_pool
|
||||
# The DNS association does not work because of a bug in the OpenStack API
|
||||
# dns_name = "main-lb"
|
||||
# dns_domain = var.dns_zone.zone_name
|
||||
description = var.octavia_swarm_data.swarm_lb_description
|
||||
}
|
||||
|
||||
resource "openstack_networking_floatingip_associate_v2" "swarm_lb" {
|
||||
floating_ip = openstack_networking_floatingip_v2.swarm_lb_ip.address
|
||||
port_id = openstack_lb_loadbalancer_v2.swarm_lb.vip_port_id
|
||||
}
|
||||
|
||||
locals {
|
||||
swarm_recordset_name = "${var.octavia_swarm_data.swarm_lb_hostname}.${var.dns_zone.zone_name}"
|
||||
portainer_recordset_name = "portainer.${var.dns_zone.zone_name}"
|
||||
ccp_recordset_name = "ccp.${var.dns_zone.zone_name}"
|
||||
cdn_recordset_name = "cdn.${var.dns_zone.zone_name}"
|
||||
conductor_recordset_name = "conductor.${var.dns_zone.zone_name}"
|
||||
}
|
||||
|
||||
resource "openstack_dns_recordset_v2" "swarm_lb_dns_recordset" {
|
||||
zone_id = var.dns_zone_id
|
||||
name = local.swarm_recordset_name
|
||||
description = "Public IP address of the load balancer in front of Docker Swarm"
|
||||
ttl = 8600
|
||||
type = "A"
|
||||
records = [openstack_networking_floatingip_v2.swarm_lb_ip.address]
|
||||
}
|
||||
|
||||
resource "openstack_dns_recordset_v2" "swarm_portainer_dns_recordset" {
|
||||
zone_id = var.dns_zone_id
|
||||
name = local.portainer_recordset_name
|
||||
description = "Portainer hostname"
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.swarm_recordset_name]
|
||||
}
|
||||
|
||||
resource "openstack_dns_recordset_v2" "ccp_dns_recordset" {
|
||||
zone_id = var.dns_zone_id
|
||||
name = local.ccp_recordset_name
|
||||
description = "CCP hostname"
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.swarm_recordset_name]
|
||||
}
|
||||
|
||||
resource "openstack_dns_recordset_v2" "cdn_dns_recordset" {
|
||||
zone_id = var.dns_zone_id
|
||||
name = local.cdn_recordset_name
|
||||
description = "CDN hostname"
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.swarm_recordset_name]
|
||||
}
|
||||
|
||||
resource "openstack_dns_recordset_v2" "conductor_dns_recordset" {
|
||||
zone_id = var.dns_zone_id
|
||||
name = local.conductor_recordset_name
|
||||
description = "Conductor hostname"
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.swarm_recordset_name]
|
||||
}
|
||||
|
||||
# Main HAPROXY stats listener
|
||||
resource "openstack_lb_listener_v2" "swarm_haproxy_stats_listener" {
|
||||
loadbalancer_id = openstack_lb_loadbalancer_v2.swarm_lb.id
|
||||
protocol = "TCP"
|
||||
protocol_port = 8880
|
||||
description = "Listener for the stats of the Docker Swarm HAPROXY instances"
|
||||
name = "swarm_haproxy_stats_listener"
|
||||
allowed_cidrs = [var.ssh_sources.d4s_vpn_1_cidr, var.ssh_sources.d4s_vpn_2_cidr, var.ssh_sources.s2i2s_vpn_1_cidr, var.ssh_sources.s2i2s_vpn_2_cidr]
|
||||
|
||||
}
|
||||
|
||||
resource "openstack_lb_pool_v2" "swarm_haproxy_stats_pool" {
|
||||
listener_id = openstack_lb_listener_v2.swarm_haproxy_stats_listener.id
|
||||
protocol = "TCP"
|
||||
lb_method = "LEAST_CONNECTIONS"
|
||||
name = "swarm-haproxy-lb-stats"
|
||||
description = "Pool for the stats of the main HAPROXY instances"
|
||||
persistence {
|
||||
type = "SOURCE_IP"
|
||||
}
|
||||
}
|
||||
|
||||
resource "openstack_lb_members_v2" "swarm_haproxy_stats_pool_members" {
|
||||
pool_id = openstack_lb_pool_v2.swarm_haproxy_stats_pool.id
|
||||
member {
|
||||
name = "swarm mgr haproxy 1"
|
||||
address = var.docker_swarm_data.mgr1_ip
|
||||
protocol_port = 8880
|
||||
}
|
||||
member {
|
||||
name = "swarm mgr haproxy 2"
|
||||
address = var.docker_swarm_data.mgr2_ip
|
||||
protocol_port = 8880
|
||||
}
|
||||
member {
|
||||
name = "swarm mgr haproxy 3"
|
||||
address = var.docker_swarm_data.mgr3_ip
|
||||
protocol_port = 8880
|
||||
}
|
||||
}
|
||||
|
||||
resource "openstack_lb_monitor_v2" "swarm_haproxy_stats_monitor" {
|
||||
pool_id = openstack_lb_pool_v2.swarm_haproxy_stats_pool.id
|
||||
name = "swarm_haproxy_stats_monitor"
|
||||
type = "TCP"
|
||||
delay = 20
|
||||
timeout = 5
|
||||
max_retries = 3
|
||||
admin_state_up = true
|
||||
}
|
||||
|
||||
# HAPROXY HTTP
|
||||
resource "openstack_lb_listener_v2" "swarm_haproxy_http_listener" {
|
||||
loadbalancer_id = openstack_lb_loadbalancer_v2.swarm_lb.id
|
||||
protocol = "TCP"
|
||||
protocol_port = 80
|
||||
description = "HTTP listener of the Docker Swarm HAPROXY instances"
|
||||
name = "swarm_haproxy_http_listener"
|
||||
admin_state_up = true
|
||||
}
|
||||
|
||||
resource "openstack_lb_pool_v2" "swarm_haproxy_http_pool" {
|
||||
listener_id = openstack_lb_listener_v2.swarm_haproxy_http_listener.id
|
||||
protocol = "PROXYV2"
|
||||
lb_method = "LEAST_CONNECTIONS"
|
||||
name = "swarm-haproxy-lb-http"
|
||||
description = "Pool for the HTTP listener of the Docker Swarm HAPROXY instances"
|
||||
persistence {
|
||||
type = "SOURCE_IP"
|
||||
}
|
||||
admin_state_up = true
|
||||
}
|
||||
|
||||
resource "openstack_lb_members_v2" "swarm_haproxy_http_pool_members" {
|
||||
pool_id = openstack_lb_pool_v2.swarm_haproxy_http_pool.id
|
||||
member {
|
||||
name = "swarm mgr haproxy 1"
|
||||
address = var.docker_swarm_data.mgr1_ip
|
||||
protocol_port = 80
|
||||
}
|
||||
member {
|
||||
name = "swarm mgr haproxy 2"
|
||||
address = var.docker_swarm_data.mgr2_ip
|
||||
protocol_port = 80
|
||||
}
|
||||
member {
|
||||
name = "swarm mgr haproxy 3"
|
||||
address = var.docker_swarm_data.mgr3_ip
|
||||
protocol_port = 80
|
||||
}
|
||||
}
|
||||
|
||||
resource "openstack_lb_monitor_v2" "swarm_haproxy_http_monitor" {
|
||||
pool_id = openstack_lb_pool_v2.swarm_haproxy_http_pool.id
|
||||
name = "swarm_haproxy_http_monitor"
|
||||
type = "HTTP"
|
||||
http_method = "GET"
|
||||
url_path = "/_haproxy_health_check"
|
||||
expected_codes = "200"
|
||||
delay = 20
|
||||
timeout = 5
|
||||
max_retries = 3
|
||||
admin_state_up = true
|
||||
}
|
||||
|
||||
# HAPROXY HTTPS
|
||||
resource "openstack_lb_listener_v2" "swarm_haproxy_https_listener" {
|
||||
loadbalancer_id = openstack_lb_loadbalancer_v2.swarm_lb.id
|
||||
protocol = "TCP"
|
||||
protocol_port = 443
|
||||
description = "HTTPS listener of the main HAPROXY instances"
|
||||
name = "swarm_haproxy_https_listener"
|
||||
admin_state_up = true
|
||||
}
|
||||
|
||||
resource "openstack_lb_pool_v2" "swarm_haproxy_https_pool" {
|
||||
listener_id = openstack_lb_listener_v2.swarm_haproxy_https_listener.id
|
||||
protocol = "PROXYV2"
|
||||
lb_method = "LEAST_CONNECTIONS"
|
||||
name = "swarm-haproxy-lb-https"
|
||||
description = "Pool for the HTTPS listener of the Docker Swarm HAPROXY instances"
|
||||
persistence {
|
||||
type = "SOURCE_IP"
|
||||
}
|
||||
admin_state_up = true
|
||||
}
|
||||
|
||||
resource "openstack_lb_members_v2" "swarm_haproxy_https_pool_members" {
|
||||
pool_id = openstack_lb_pool_v2.swarm_haproxy_https_pool.id
|
||||
member {
|
||||
name = "swarm mgr haproxy 1"
|
||||
address = var.docker_swarm_data.mgr1_ip
|
||||
protocol_port = 443
|
||||
}
|
||||
member {
|
||||
name = "swarm mgr haproxy 2"
|
||||
address = var.docker_swarm_data.mgr2_ip
|
||||
protocol_port = 443
|
||||
}
|
||||
member {
|
||||
name = "swarm mgr haproxy 3"
|
||||
address = var.docker_swarm_data.mgr3_ip
|
||||
protocol_port = 443
|
||||
}
|
||||
}
|
||||
|
||||
resource "openstack_lb_monitor_v2" "swarm_haproxy_https_monitor" {
|
||||
pool_id = openstack_lb_pool_v2.swarm_haproxy_https_pool.id
|
||||
name = "swarm_haproxy_https_monitor"
|
||||
type = "HTTPS"
|
||||
http_method = "GET"
|
||||
url_path = "/_haproxy_health_check"
|
||||
expected_codes = "200"
|
||||
delay = 20
|
||||
timeout = 5
|
||||
max_retries = 3
|
||||
admin_state_up = true
|
||||
}
|
||||
|
||||
# HAPROXY HTTP on port 8080
|
||||
resource "openstack_lb_listener_v2" "swarm_haproxy_8080_listener" {
|
||||
loadbalancer_id = openstack_lb_loadbalancer_v2.swarm_lb.id
|
||||
protocol = "TCP"
|
||||
protocol_port = 8080
|
||||
description = "HTTP port 8080 listener of the Docker Swarm HAPROXY instances"
|
||||
name = "swarm_haproxy_8080_listener"
|
||||
admin_state_up = true
|
||||
}
|
||||
|
||||
resource "openstack_lb_pool_v2" "swarm_haproxy_8080_pool" {
|
||||
listener_id = openstack_lb_listener_v2.swarm_haproxy_8080_listener.id
|
||||
protocol = "PROXYV2"
|
||||
lb_method = "LEAST_CONNECTIONS"
|
||||
name = "swarm-haproxy-lb-http-8080"
|
||||
description = "Pool for the HTTP port 8080 listener of the Docker Swarm HAPROXY instances"
|
||||
persistence {
|
||||
type = "SOURCE_IP"
|
||||
}
|
||||
admin_state_up = true
|
||||
}
|
||||
|
||||
resource "openstack_lb_members_v2" "swarm_haproxy_8080_pool_members" {
|
||||
pool_id = openstack_lb_pool_v2.swarm_haproxy_8080_pool.id
|
||||
member {
|
||||
name = "swarm mgr haproxy 1"
|
||||
address = var.docker_swarm_data.mgr1_ip
|
||||
protocol_port = 8080
|
||||
}
|
||||
member {
|
||||
name = "swarm mgr haproxy 2"
|
||||
address = var.docker_swarm_data.mgr2_ip
|
||||
protocol_port = 8080
|
||||
}
|
||||
member {
|
||||
name = "swarm mgr haproxy 3"
|
||||
address = var.docker_swarm_data.mgr3_ip
|
||||
protocol_port = 8080
|
||||
}
|
||||
}
|
||||
|
||||
resource "openstack_lb_monitor_v2" "swarm_haproxy_8080_monitor" {
|
||||
pool_id = openstack_lb_pool_v2.swarm_haproxy_8080_pool.id
|
||||
name = "swarm_haproxy_8080_monitor"
|
||||
type = "HTTP"
|
||||
http_method = "GET"
|
||||
url_path = "/_haproxy_health_check"
|
||||
expected_codes = "200"
|
||||
delay = 20
|
||||
timeout = 5
|
||||
max_retries = 3
|
||||
admin_state_up = true
|
||||
}
|
||||
|
||||
output "swarm_loadbalancer_ip" {
|
||||
description = "Docker Swarm Load balancer IP address"
|
||||
value = openstack_lb_loadbalancer_v2.swarm_lb.vip_address
|
||||
}
|
||||
|
||||
output "swarm_manager_nodes" {
|
||||
description = "Docker Swarm Manager nodes data"
|
||||
value = openstack_compute_instance_v2.docker_swarm_managers
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "swarm_worker_nodes" {
|
||||
description = "Docker Swarm Worker nodes data"
|
||||
value = openstack_compute_instance_v2.docker_swarm_workers
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "swarm_managers_nfs_ip_ports" {
|
||||
description = "IP addresses in the share NFS network"
|
||||
value = openstack_networking_port_v2.swarm_mgr_nfs_port
|
||||
}
|
||||
output "swarm_workers_nfs_ip_ports" {
|
||||
description = "IP addresses in the share NFS network"
|
||||
value = openstack_networking_port_v2.swarm_workers_nfs_port
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
output "scilake_instance" {
|
||||
value = openstack_compute_instance_v2.scilake_intelcomp_server
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "scilake_floating_ip" {
|
||||
value = openstack_networking_floatingip_v2.scilake_catalogue_server_ip
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
provider "openstack" {
|
||||
cloud = "garr-ct1"
|
||||
}
|
||||
|
|
@ -1,151 +0,0 @@
|
|||
#
|
||||
# Server groups for both the controllers and the workers
|
||||
#
|
||||
resource "openstack_compute_servergroup_v2" "k8s_controllers" {
|
||||
name = "k8s_controllers"
|
||||
policies = ["soft-anti-affinity"]
|
||||
}
|
||||
resource "openstack_compute_servergroup_v2" "k8s_workers" {
|
||||
name = "k8s_workers"
|
||||
policies = ["soft-anti-affinity"]
|
||||
}
|
||||
|
||||
#
|
||||
# Allow traffic between the cluster nodes
|
||||
#
|
||||
resource "openstack_networking_secgroup_v2" "k8s_internal_traffic" {
|
||||
name = "k8s_internal_traffic"
|
||||
delete_default_rules = "true"
|
||||
description = "Traffic between the Docker k8s nodes"
|
||||
}
|
||||
resource "openstack_networking_secgroup_rule_v2" "everything_udp" {
|
||||
security_group_id = openstack_networking_secgroup_v2.k8s_internal_traffic.id
|
||||
description = "UDP traffic between k8s nodes"
|
||||
direction = "ingress"
|
||||
ethertype = "IPv4"
|
||||
protocol = "udp"
|
||||
remote_ip_prefix = data.terraform_remote_state.privnet_dns_router.outputs.main_private_subnet.cidr
|
||||
}
|
||||
resource "openstack_networking_secgroup_rule_v2" "everything_tcp" {
|
||||
security_group_id = openstack_networking_secgroup_v2.k8s_internal_traffic.id
|
||||
description = "TCP traffic between k8s nodes"
|
||||
direction = "ingress"
|
||||
ethertype = "IPv4"
|
||||
protocol = "tcp"
|
||||
remote_ip_prefix = data.terraform_remote_state.privnet_dns_router.outputs.main_private_subnet.cidr
|
||||
}
|
||||
resource "openstack_networking_secgroup_rule_v2" "igmp_ingress_between_k8s_nodes" {
|
||||
security_group_id = openstack_networking_secgroup_v2.k8s_internal_traffic.id
|
||||
description = "Ingress IGMP traffic between k8s nodes"
|
||||
direction = "ingress"
|
||||
ethertype = "IPv4"
|
||||
protocol = "igmp"
|
||||
remote_ip_prefix = "0.0.0.0/0"
|
||||
}
|
||||
|
||||
resource "openstack_networking_secgroup_rule_v2" "igmp_egress_between_k8s_nodes" {
|
||||
security_group_id = openstack_networking_secgroup_v2.k8s_internal_traffic.id
|
||||
description = "Egress IGMP traffic between k8s nodes"
|
||||
direction = "egress"
|
||||
ethertype = "IPv4"
|
||||
protocol = "igmp"
|
||||
remote_ip_prefix = "0.0.0.0/0"
|
||||
}
|
||||
|
||||
# Controllers VMs
|
||||
#
|
||||
resource "openstack_compute_instance_v2" "docker_k8s_controllers" {
|
||||
count = var.docker_k8s_data.mgr_count
|
||||
name = format("%s-%02d", var.docker_k8s_data.mgr_name, count.index + 1)
|
||||
availability_zone_hints = var.availability_zones_names.availability_zone_no_gpu
|
||||
flavor_name = var.docker_k8s_data.mgr_flavor
|
||||
key_pair = module.ssh_settings.ssh_key_name
|
||||
security_groups = [openstack_networking_secgroup_v2.default.name, openstack_networking_secgroup_v2.k8s_internal_traffic.name,"default","nfs_share_no_ingress"]
|
||||
scheduler_hints {
|
||||
group = openstack_compute_servergroup_v2.k8s_masters.id
|
||||
}
|
||||
block_device {
|
||||
uuid = var.ubuntu_2204.uuid
|
||||
source_type = "image"
|
||||
volume_size = 10
|
||||
boot_index = 0
|
||||
destination_type = "volume"
|
||||
delete_on_termination = false
|
||||
}
|
||||
|
||||
block_device {
|
||||
source_type = "blank"
|
||||
volume_size = var.docker_k8s_data.mgr_data_disk_size
|
||||
boot_index = -1
|
||||
destination_type = "volume"
|
||||
delete_on_termination = false
|
||||
}
|
||||
|
||||
network {
|
||||
name = var.main_private_network.name
|
||||
fixed_ip_v4 = var.k8s_controllers_ip.* [count.index]
|
||||
}
|
||||
network {
|
||||
name = var.k8s_nfs_private_network.network_name
|
||||
}
|
||||
|
||||
user_data = file("${var.ubuntu2204_data_file}")
|
||||
depends_on = [openstack_networking_subnet_v2.k8s_nfs_subnet]
|
||||
# Do not replace the instance when the ssh key changes
|
||||
lifecycle {
|
||||
ignore_changes = [
|
||||
# Ignore changes to tags, e.g. because a management agent
|
||||
# updates these based on some ruleset managed elsewhere.
|
||||
key_pair, user_data, network
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
# k8s worker nodes
|
||||
resource "openstack_compute_instance_v2" "docker_k8s_workers" {
|
||||
count = var.docker_k8s_data.worker_count
|
||||
name = format("%s-%02d", var.docker_k8s_data.worker_name, count.index + 1)
|
||||
availability_zone_hints = var.availability_zones_names.availability_zone_no_gpu
|
||||
flavor_name = var.docker_k8s_data.worker_flavor
|
||||
key_pair = module.ssh_settings.ssh_key_name
|
||||
security_groups = ["default", var.default_security_group_name, openstack_networking_secgroup_v2.k8s_internal_traffic.name,"nfs_share_no_ingress"]
|
||||
scheduler_hints {
|
||||
group = openstack_compute_servergroup_v2.k8s_workers.id
|
||||
}
|
||||
block_device {
|
||||
uuid = var.ubuntu_2204.uuid
|
||||
source_type = "image"
|
||||
volume_size = 10
|
||||
boot_index = 0
|
||||
destination_type = "volume"
|
||||
delete_on_termination = false
|
||||
}
|
||||
|
||||
block_device {
|
||||
source_type = "blank"
|
||||
volume_size = var.docker_k8s_data.worker_data_disk_size
|
||||
boot_index = -1
|
||||
destination_type = "volume"
|
||||
delete_on_termination = false
|
||||
}
|
||||
|
||||
network {
|
||||
name = var.main_private_network.name
|
||||
}
|
||||
network {
|
||||
name = var.k8s_nfs_private_network.network_name
|
||||
}
|
||||
network {
|
||||
name = var.networks_list.shared_postgresql
|
||||
}
|
||||
|
||||
user_data = file("${module.common_variables.ubuntu2204_data_file}")
|
||||
# Do not replace the instance when the ssh key changes
|
||||
lifecycle {
|
||||
ignore_changes = [
|
||||
# Ignore changes to tags, e.g. because a management agent
|
||||
# updates these based on some ruleset managed elsewhere.
|
||||
key_pair, user_data, network
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
# How to obtain the "generated" data
|
||||
|
||||
We can import resources using the `terraform import command. The terraform tasks must be already defined for the import to be successful.
|
||||
Those resources have been imported running:
|
||||
|
||||
```shell-session
|
||||
terraform import openstack_networking_network_v2.main-private-network 310d65b2-fc5b-4079-b5c2-eb286fbde757
|
||||
terraform import openstack_networking_subnet_v2.main-private-subnet 780bcac9-3835-436c-901a-339e38e7345f
|
||||
terraform import openstack_networking_router_v2.external-router e621a18a-d8f8-4b5a-a9e7-d1ebc9f82a91
|
||||
terraform import openstack_networking_router_interface_v2.private-network-routing 2979ba87-2498-4a75-8fcf-b11bb4dadf7a
|
||||
```
|
||||
|
|
@ -1,56 +0,0 @@
|
|||
# Define required providers
|
||||
terraform {
|
||||
required_version = ">= 0.14.0"
|
||||
required_providers {
|
||||
openstack = {
|
||||
source = "terraform-provider-openstack/openstack"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resource "openstack_networking_network_v2" "main-private-network" {
|
||||
name = var.main_private_network.name
|
||||
admin_state_up = "true"
|
||||
external = "false"
|
||||
description = var.main_private_network.description
|
||||
mtu = var.mtu_size
|
||||
port_security_enabled = true
|
||||
shared = false
|
||||
region = var.os_region_data.name
|
||||
tenant_id = var.os_project_data.id
|
||||
}
|
||||
|
||||
resource "openstack_networking_subnet_v2" "main-private-subnet" {
|
||||
name = var.main_private_subnet.name
|
||||
description = var.main_private_subnet.description
|
||||
network_id = openstack_networking_network_v2.main-private-network.id
|
||||
cidr = var.main_private_subnet.cidr
|
||||
gateway_ip = var.main_private_subnet.gateway_ip
|
||||
dns_nameservers = var.resolvers_ip
|
||||
ip_version = 4
|
||||
enable_dhcp = true
|
||||
tenant_id = var.os_project_data.id
|
||||
allocation_pool {
|
||||
start = var.main_private_subnet.allocation_start
|
||||
end = var.main_private_subnet.allocation_end
|
||||
}
|
||||
}
|
||||
|
||||
resource "openstack_networking_router_v2" "external-router" {
|
||||
name = var.external_router.name
|
||||
description = var.external_router.description
|
||||
external_network_id = var.external_network.id
|
||||
tenant_id = var.os_project_data.id
|
||||
enable_snat = true
|
||||
vendor_options {
|
||||
set_router_gateway_after_create = true
|
||||
}
|
||||
}
|
||||
|
||||
# Router interface configuration
|
||||
resource "openstack_networking_router_interface_v2" "private-network-routing" {
|
||||
router_id = openstack_networking_router_v2.external-router.id
|
||||
# router_id = var.external_router.id
|
||||
subnet_id = openstack_networking_subnet_v2.main-private-subnet.id
|
||||
}
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
output "os_project_data" {
|
||||
value = var.os_project_data
|
||||
}
|
||||
|
||||
output "os_region_data" {
|
||||
value = var.os_region_data
|
||||
|
||||
}
|
||||
output "default_security_group" {
|
||||
value = var.default_security_group
|
||||
}
|
||||
|
||||
output "main_private_network" {
|
||||
value = var.main_private_network
|
||||
}
|
||||
|
||||
output "mtu_size" {
|
||||
value = var.mtu_size
|
||||
}
|
||||
|
||||
output "main_private_subnet" {
|
||||
value = var.main_private_subnet
|
||||
}
|
||||
|
||||
output "resolvers_ip" {
|
||||
value = var.resolvers_ip
|
||||
}
|
||||
|
||||
output "external_router" {
|
||||
value = var.external_router
|
||||
}
|
||||
|
||||
output "external_network" {
|
||||
value = var.external_network
|
||||
}
|
||||
|
||||
output "jump_proxy_ssh_shell" {
|
||||
value = var.jump_proxy_ssh_shell
|
||||
}
|
||||
|
||||
output "prometheus_host" {
|
||||
value = var.prometheus_host
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
provider "openstack" {
|
||||
cloud = "garr-ct1"
|
||||
}
|
||||
|
|
@ -1,277 +0,0 @@
|
|||
{
|
||||
"version": 4,
|
||||
"terraform_version": "1.7.5",
|
||||
"serial": 12,
|
||||
"lineage": "fbd4cad6-e66b-bb4c-d3e4-6440732201b7",
|
||||
"outputs": {
|
||||
"default_security_group": {
|
||||
"value": {
|
||||
"id": "c7499f6c-147c-4b61-9a29-1a6ca4a85a98",
|
||||
"name": "default"
|
||||
},
|
||||
"type": [
|
||||
"map",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"external_network": {
|
||||
"value": {
|
||||
"id": "bf588091-e239-4fc8-8d35-eee2bd7d3cb0",
|
||||
"name": "floating-ip"
|
||||
},
|
||||
"type": [
|
||||
"map",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"external_router": {
|
||||
"value": {
|
||||
"description": "GARR-CT1 main router",
|
||||
"name": "isti-router"
|
||||
},
|
||||
"type": [
|
||||
"map",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"jump_proxy_ssh_shell": {
|
||||
"value": {
|
||||
"hostname": "shell.garr-ct1.d4science.net",
|
||||
"private_ip": "192.168.100.4"
|
||||
},
|
||||
"type": [
|
||||
"map",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"main_private_network": {
|
||||
"value": {
|
||||
"description": "GARR CT1 main network",
|
||||
"id": "310d65b2-fc5b-4079-b5c2-eb286fbde757",
|
||||
"name": "isti-VM-CT1-net"
|
||||
},
|
||||
"type": [
|
||||
"map",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"main_private_subnet": {
|
||||
"value": {
|
||||
"allocation_end": "192.168.100.253",
|
||||
"allocation_start": "192.168.100.2",
|
||||
"cidr": "192.168.100.0/24",
|
||||
"description": "GARR-CT1 main subnet",
|
||||
"gateway_ip": "192.168.100.1",
|
||||
"id": "780bcac9-3835-436c-901a-339e38e7345f",
|
||||
"name": "isti-VM-subnet"
|
||||
},
|
||||
"type": [
|
||||
"map",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"mtu_size": {
|
||||
"value": 9000,
|
||||
"type": "number"
|
||||
},
|
||||
"os_project_data": {
|
||||
"value": {
|
||||
"id": "a2de533851354b1f8d99ac6b6216d92e"
|
||||
},
|
||||
"type": [
|
||||
"map",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"os_region_data": {
|
||||
"value": {
|
||||
"name": "garr-ct1"
|
||||
},
|
||||
"type": [
|
||||
"map",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"prometheus_host": {
|
||||
"value": {
|
||||
"hostname": "ip-90-147-166-113.ct1.garrservices.it",
|
||||
"private_ip": "192.168.100.15"
|
||||
},
|
||||
"type": [
|
||||
"map",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"resolvers_ip": {
|
||||
"value": [
|
||||
"193.206.141.38",
|
||||
"193.206.141.42"
|
||||
],
|
||||
"type": [
|
||||
"list",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"resources": [
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "openstack_networking_network_v2",
|
||||
"name": "main-private-network",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"admin_state_up": true,
|
||||
"all_tags": [],
|
||||
"availability_zone_hints": [],
|
||||
"description": "GARR CT1 main network",
|
||||
"dns_domain": "",
|
||||
"external": false,
|
||||
"id": "310d65b2-fc5b-4079-b5c2-eb286fbde757",
|
||||
"mtu": 9000,
|
||||
"name": "isti-VM-CT1-net",
|
||||
"port_security_enabled": true,
|
||||
"qos_policy_id": "",
|
||||
"region": "garr-ct1",
|
||||
"segments": [],
|
||||
"shared": false,
|
||||
"tags": [],
|
||||
"tenant_id": "a2de533851354b1f8d99ac6b6216d92e",
|
||||
"timeouts": null,
|
||||
"transparent_vlan": false,
|
||||
"value_specs": null
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "openstack_networking_router_interface_v2",
|
||||
"name": "private-network-routing",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"force_destroy": null,
|
||||
"id": "2979ba87-2498-4a75-8fcf-b11bb4dadf7a",
|
||||
"port_id": "2979ba87-2498-4a75-8fcf-b11bb4dadf7a",
|
||||
"region": "garr-ct1",
|
||||
"router_id": "e621a18a-d8f8-4b5a-a9e7-d1ebc9f82a91",
|
||||
"subnet_id": "780bcac9-3835-436c-901a-339e38e7345f",
|
||||
"timeouts": null
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfSwic2NoZW1hX3ZlcnNpb24iOiIwIn0=",
|
||||
"dependencies": [
|
||||
"openstack_networking_network_v2.main-private-network",
|
||||
"openstack_networking_router_v2.external-router",
|
||||
"openstack_networking_subnet_v2.main-private-subnet"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "openstack_networking_router_v2",
|
||||
"name": "external-router",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"admin_state_up": true,
|
||||
"all_tags": [],
|
||||
"availability_zone_hints": [],
|
||||
"description": "GARR-CT1 main router",
|
||||
"distributed": false,
|
||||
"enable_snat": true,
|
||||
"external_fixed_ip": [
|
||||
{
|
||||
"ip_address": "90.147.166.112",
|
||||
"subnet_id": "ea6832ed-a62d-41a1-83e9-09095bea9c7d"
|
||||
}
|
||||
],
|
||||
"external_gateway": "bf588091-e239-4fc8-8d35-eee2bd7d3cb0",
|
||||
"external_network_id": "bf588091-e239-4fc8-8d35-eee2bd7d3cb0",
|
||||
"external_subnet_ids": null,
|
||||
"id": "e621a18a-d8f8-4b5a-a9e7-d1ebc9f82a91",
|
||||
"name": "isti-router",
|
||||
"region": "garr-ct1",
|
||||
"tags": [],
|
||||
"tenant_id": "a2de533851354b1f8d99ac6b6216d92e",
|
||||
"timeouts": null,
|
||||
"value_specs": null,
|
||||
"vendor_options": [
|
||||
{
|
||||
"set_router_gateway_after_create": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "openstack_networking_subnet_v2",
|
||||
"name": "main-private-subnet",
|
||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"all_tags": [],
|
||||
"allocation_pool": [
|
||||
{
|
||||
"end": "192.168.100.253",
|
||||
"start": "192.168.100.2"
|
||||
}
|
||||
],
|
||||
"allocation_pools": [
|
||||
{
|
||||
"end": "192.168.100.253",
|
||||
"start": "192.168.100.2"
|
||||
}
|
||||
],
|
||||
"cidr": "192.168.100.0/24",
|
||||
"description": "GARR-CT1 main subnet",
|
||||
"dns_nameservers": [
|
||||
"193.206.141.38",
|
||||
"193.206.141.42"
|
||||
],
|
||||
"enable_dhcp": true,
|
||||
"gateway_ip": "192.168.100.1",
|
||||
"host_routes": [],
|
||||
"id": "780bcac9-3835-436c-901a-339e38e7345f",
|
||||
"ip_version": 4,
|
||||
"ipv6_address_mode": "",
|
||||
"ipv6_ra_mode": "",
|
||||
"name": "isti-VM-subnet",
|
||||
"network_id": "310d65b2-fc5b-4079-b5c2-eb286fbde757",
|
||||
"no_gateway": false,
|
||||
"prefix_length": null,
|
||||
"region": "garr-ct1",
|
||||
"service_types": [],
|
||||
"subnetpool_id": "",
|
||||
"tags": [],
|
||||
"tenant_id": "a2de533851354b1f8d99ac6b6216d92e",
|
||||
"timeouts": null,
|
||||
"value_specs": null
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||
"dependencies": [
|
||||
"openstack_networking_network_v2.main-private-network"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"check_results": null
|
||||
}
|
|
@ -1,86 +0,0 @@
|
|||
#
|
||||
variable "os_project_data" {
|
||||
type = map(string)
|
||||
default = {
|
||||
id = "a2de533851354b1f8d99ac6b6216d92e"
|
||||
}
|
||||
}
|
||||
|
||||
variable "os_region_data" {
|
||||
type = map(string)
|
||||
default = {
|
||||
name = "garr-ct1"
|
||||
}
|
||||
}
|
||||
|
||||
variable "default_security_group" {
|
||||
type = map(string)
|
||||
default = {
|
||||
name = "default"
|
||||
id = "c7499f6c-147c-4b61-9a29-1a6ca4a85a98"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
variable "main_private_network" {
|
||||
type = map(string)
|
||||
default = {
|
||||
name = "isti-VM-CT1-net"
|
||||
description = "GARR CT1 main network"
|
||||
id = "310d65b2-fc5b-4079-b5c2-eb286fbde757"
|
||||
}
|
||||
}
|
||||
|
||||
variable "mtu_size" {
|
||||
default = 9000
|
||||
}
|
||||
|
||||
variable "main_private_subnet" {
|
||||
type = map(string)
|
||||
default = {
|
||||
name = "isti-VM-subnet"
|
||||
description = "GARR-CT1 main subnet"
|
||||
cidr = "192.168.100.0/24"
|
||||
gateway_ip = "192.168.100.1"
|
||||
allocation_start = "192.168.100.2"
|
||||
allocation_end = "192.168.100.253"
|
||||
id = "780bcac9-3835-436c-901a-339e38e7345f"
|
||||
}
|
||||
}
|
||||
|
||||
variable "resolvers_ip" {
|
||||
type = list(string)
|
||||
default = ["193.206.141.38", "193.206.141.42"]
|
||||
}
|
||||
|
||||
variable "external_router" {
|
||||
type = map(string)
|
||||
default = {
|
||||
name = "isti-router"
|
||||
description = "GARR-CT1 main router"
|
||||
}
|
||||
}
|
||||
|
||||
variable "external_network" {
|
||||
type = map(string)
|
||||
default = {
|
||||
name = "floating-ip"
|
||||
id = "bf588091-e239-4fc8-8d35-eee2bd7d3cb0"
|
||||
}
|
||||
}
|
||||
|
||||
variable "jump_proxy_ssh_shell" {
|
||||
type = map(string)
|
||||
default = {
|
||||
hostname = "shell.garr-ct1.d4science.net"
|
||||
private_ip = "192.168.100.4"
|
||||
}
|
||||
}
|
||||
|
||||
variable "prometheus_host" {
|
||||
type = map(string)
|
||||
default = {
|
||||
hostname = "ip-90-147-166-113.ct1.garrservices.it"
|
||||
private_ip = "192.168.100.15"
|
||||
}
|
||||
}
|
|
@ -120,3 +120,7 @@ output "networks_list" {
|
|||
value = var.networks_list
|
||||
}
|
||||
|
||||
# output "default_security_group_name" {
|
||||
# value = var.default_security_group_name
|
||||
# }
|
||||
|
||||
|
|
|
@ -116,7 +116,7 @@ variable "shared_postgresql_server_data" {
|
|||
type = map(string)
|
||||
default = {
|
||||
name = "shared-postgresql-server"
|
||||
flavor = "m1.large"
|
||||
flavor = "m1.medium"
|
||||
vol_data_name = "shared-postgresql-data"
|
||||
vol_data_size = "100"
|
||||
vol_data_device = "/dev/vdb"
|
||||
|
@ -133,8 +133,6 @@ variable "shared_postgresql_server_data" {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
variable "haproxy_l7_data" {
|
||||
type = map(string)
|
||||
default = {
|
||||
|
|
|
@ -138,9 +138,6 @@ resource "openstack_lb_listener_v2" "main_haproxy_https_listener" {
|
|||
protocol_port = 443
|
||||
description = "HTTPS listener of the main HAPROXY instances"
|
||||
name = "main_haproxy_https_listener"
|
||||
timeout_client_data = 3600000
|
||||
timeout_member_connect = 10000
|
||||
timeout_member_data = 7200000
|
||||
admin_state_up = true
|
||||
}
|
||||
|
||||
|
|
|
@ -75,12 +75,3 @@ resource "openstack_dns_recordset_v2" "alertmanager_server_recordset" {
|
|||
type = "CNAME"
|
||||
records = [local.prometheus_recordset_name]
|
||||
}
|
||||
|
||||
output "prometheus_public_ip_address" {
|
||||
value = openstack_networking_floatingip_v2.prometheus_server_ip.address
|
||||
}
|
||||
|
||||
output "prometheus_server_hostname" {
|
||||
value = openstack_dns_recordset_v2.prometheus_server_recordset.name
|
||||
}
|
||||
|
||||
|
|
|
@ -371,8 +371,3 @@ resource "openstack_networking_secgroup_rule_v2" "grafana_d4s" {
|
|||
port_range_max = 443
|
||||
remote_ip_prefix = var.prometheus_server_data.public_grafana_server_cidr
|
||||
}
|
||||
|
||||
output "default_security_group" {
|
||||
value = openstack_networking_secgroup_v2.default
|
||||
}
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ terraform {
|
|||
required_providers {
|
||||
openstack = {
|
||||
source = "terraform-provider-openstack/openstack"
|
||||
version = ">= 1.54.0"
|
||||
version = "~> 1.53.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -96,7 +96,7 @@ resource "openstack_compute_instance_v2" "docker_swarm_managers" {
|
|||
availability_zone_hints = var.availability_zones_names.availability_zone_no_gpu
|
||||
flavor_name = var.docker_swarm_data.mgr_flavor
|
||||
key_pair = module.ssh_settings.ssh_key_name
|
||||
security_groups = [openstack_networking_secgroup_v2.default.name, openstack_networking_secgroup_v2.swarm_internal_traffic.name,"default","nfs_share_no_ingress"]
|
||||
security_groups = [openstack_networking_secgroup_v2.default.name, openstack_networking_secgroup_v2.swarm_internal_traffic.name]
|
||||
scheduler_hints {
|
||||
group = openstack_compute_servergroup_v2.swarm_masters.id
|
||||
}
|
||||
|
@ -145,7 +145,7 @@ resource "openstack_compute_instance_v2" "docker_swarm_workers" {
|
|||
availability_zone_hints = var.availability_zones_names.availability_zone_no_gpu
|
||||
flavor_name = var.docker_swarm_data.worker_flavor
|
||||
key_pair = module.ssh_settings.ssh_key_name
|
||||
security_groups = ["default", var.default_security_group_name, openstack_networking_secgroup_v2.swarm_internal_traffic.name,"nfs_share_no_ingress"]
|
||||
security_groups = ["default", var.default_security_group_name, openstack_networking_secgroup_v2.swarm_internal_traffic.name]
|
||||
scheduler_hints {
|
||||
group = openstack_compute_servergroup_v2.swarm_workers.id
|
||||
}
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
|
||||
output "ubuntu_2204" {
|
||||
value = var.ubuntu_2204
|
||||
}
|
||||
|
||||
output "ubuntu2204_data_file" {
|
||||
value = var.ubuntu2204_data_file
|
||||
}
|
||||
|
||||
output "ssh_sources" {
|
||||
value = var.ssh_sources
|
||||
}
|
|
@ -1,42 +0,0 @@
|
|||
variable "ubuntu_2204" {
|
||||
type = map(string)
|
||||
default = {
|
||||
name = "Ubuntu 22.04 - GARR"
|
||||
uuid = "09d879ad-70ee-4f05-9fd8-ffb7b76e2d1b"
|
||||
user_data_file = "../../openstack_vm_data_scripts/ubuntu2204.sh"
|
||||
}
|
||||
}
|
||||
|
||||
variable "ubuntu2204_data_file" {
|
||||
default = "../../openstack_vm_data_scripts/ubuntu2204.sh"
|
||||
}
|
||||
|
||||
# Create in the path 'modules/ssh-key-ref' the file 'ssh-key-ref-outputs.tf'
|
||||
# with the following outputs:
|
||||
|
||||
# output "ssh_key_file" {
|
||||
# value = "~/.ssh/{YOUR_PRIVATE_KEYNAME}"
|
||||
# sensitive = true
|
||||
# }
|
||||
|
||||
# output "ssh_key_name" {
|
||||
# value = "{YOUR_KEYNAME}"
|
||||
# sensitive = false
|
||||
# }
|
||||
|
||||
# Then you can use above outputs in your 'file.tf' (if it contains the soft link to variables.tf) as:
|
||||
# module.ssh_settings.ssh_key_file
|
||||
# module.ssh_settings.ssh_key_name
|
||||
|
||||
variable "ssh_sources" {
|
||||
type = map(string)
|
||||
default = {
|
||||
s2i2s_vpn_1_cidr = "146.48.28.10/32"
|
||||
s2i2s_vpn_2_cidr = "146.48.28.11/32"
|
||||
d4s_vpn_1_cidr = "146.48.122.27/32"
|
||||
d4s_vpn_2_cidr = "146.48.122.49/32"
|
||||
shell_d4s_cidr = "146.48.122.95/32"
|
||||
infrascience_net_cidr = "146.48.122.0/23"
|
||||
}
|
||||
}
|
||||
|
|
@ -4,7 +4,7 @@ terraform {
|
|||
required_providers {
|
||||
openstack = {
|
||||
source = "terraform-provider-openstack/openstack"
|
||||
version = ">= 1.54.0"
|
||||
version = "~> 1.53.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
output "keycloak_data" {
|
||||
value = var.keycloak_data
|
||||
}
|
||||
|
||||
output "keycloak_recordsets" {
|
||||
value = var.keycloak_recordsets
|
||||
}
|
||||
|
||||
output "keycloak_object_store" {
|
||||
value = var.keycloak_object_store
|
||||
}
|
||||
|
||||
output "nfs_port_data" {
|
||||
value = openstack_compute_interface_attach_v2.nfs_port_to_keycloak
|
||||
}
|
||||
|
||||
output "keycloak_nfs_volume_data" {
|
||||
value = openstack_sharedfilesystem_share_v2.keycloak_static
|
||||
}
|
||||
|
||||
output "keycloak_nfs_volume_acls" {
|
||||
value = openstack_sharedfilesystem_share_access_v2.keycloak_nfs_share_access
|
||||
sensitive = true
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
variable "keycloak_data" {
|
||||
type = map(string)
|
||||
default = {
|
||||
affinity_policy = "soft-anti-affinity"
|
||||
srv_name = "keycloak"
|
||||
vm_count = 1
|
||||
vm_flavor = "m1.medium"
|
||||
boot_vol_size = 10
|
||||
share_description = "NFS share for the keycloak static data"
|
||||
share_name = "keycloak_nfs_share" }
|
||||
}
|
||||
|
||||
variable "keycloak_recordsets" {
|
||||
type = map(object({
|
||||
name = string
|
||||
description = string
|
||||
}))
|
||||
default = {
|
||||
keycloak_dns_record = {
|
||||
name = "",
|
||||
description = ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
variable "keycloak_object_store" {
|
||||
default = ""
|
||||
}
|
|
@ -1,177 +0,0 @@
|
|||
#
|
||||
# keycloak nodes
|
||||
#
|
||||
#
|
||||
# Security group
|
||||
#
|
||||
resource "openstack_networking_secgroup_v2" "keycloak_cluster_traffic" {
|
||||
name = "keycloak_cluster_traffic"
|
||||
delete_default_rules = "true"
|
||||
description = "Traffic between the keycloak cluster nodes"
|
||||
}
|
||||
|
||||
resource "openstack_networking_secgroup_rule_v2" "tcp_traffic_between_keycloak_nodes" {
|
||||
count = var.keycloak_data.vm_count
|
||||
security_group_id = openstack_networking_secgroup_v2.keycloak_cluster_traffic.id
|
||||
description = "TCP traffic between keycloak nodes"
|
||||
direction = "ingress"
|
||||
ethertype = "IPv4"
|
||||
protocol = "tcp"
|
||||
remote_ip_prefix = join("/", [openstack_compute_instance_v2.keycloak[count.index].access_ip_v4, "32"])
|
||||
}
|
||||
|
||||
resource "openstack_networking_secgroup_rule_v2" "udp_traffic_between_keycloak_nodes" {
|
||||
count = var.keycloak_data.vm_count
|
||||
security_group_id = openstack_networking_secgroup_v2.keycloak_cluster_traffic.id
|
||||
description = "UDP traffic between keycloak nodes"
|
||||
direction = "ingress"
|
||||
ethertype = "IPv4"
|
||||
protocol = "udp"
|
||||
remote_ip_prefix = join("/", [openstack_compute_instance_v2.keycloak[count.index].access_ip_v4, "32"])
|
||||
}
|
||||
|
||||
resource "openstack_networking_secgroup_rule_v2" "igmp_ingress_between_keycloak_nodes" {
|
||||
security_group_id = openstack_networking_secgroup_v2.keycloak_cluster_traffic.id
|
||||
description = "Ingress IGMP traffic between keycloak nodes"
|
||||
direction = "ingress"
|
||||
ethertype = "IPv4"
|
||||
protocol = "igmp"
|
||||
remote_ip_prefix = "0.0.0.0/0"
|
||||
}
|
||||
|
||||
resource "openstack_networking_secgroup_rule_v2" "igmp_egress_between_keycloak_nodes" {
|
||||
security_group_id = openstack_networking_secgroup_v2.keycloak_cluster_traffic.id
|
||||
description = "Egress IGMP traffic between keycloak nodes"
|
||||
direction = "egress"
|
||||
ethertype = "IPv4"
|
||||
protocol = "igmp"
|
||||
remote_ip_prefix = "0.0.0.0/0"
|
||||
}
|
||||
|
||||
# Traffic from the main HAPROXY load balancers
|
||||
#
|
||||
resource "openstack_networking_secgroup_v2" "traffic_from_haproxy_to_keycloak" {
|
||||
name = "traffic_to_keycloak_from_the_main_load_balancers"
|
||||
delete_default_rules = "true"
|
||||
description = "Allow traffic from the main L7 HAPROXY load balancers to keycloak"
|
||||
}
|
||||
|
||||
resource "openstack_networking_secgroup_rule_v2" "haproxy-l7-8443" {
|
||||
for_each = { for ha_ip in data.terraform_remote_state.privnet_dns_router.outputs.main_haproxy_l7_ip : join("", [ha_ip]) => ha_ip }
|
||||
security_group_id = openstack_networking_secgroup_v2.traffic_from_haproxy_to_keycloak.id
|
||||
description = "HTTPS traffic from HAPROXY L7 to Keycloak"
|
||||
direction = "ingress"
|
||||
ethertype = "IPv4"
|
||||
protocol = "tcp"
|
||||
port_range_min = 9443
|
||||
port_range_max = 9443
|
||||
remote_ip_prefix = join("/", [each.value, "32"])
|
||||
}
|
||||
|
||||
# Creating object bucket to store avatars
|
||||
resource "openstack_objectstorage_container_v1" "keycloak_1" {
|
||||
name = var.keycloak_object_store
|
||||
}
|
||||
|
||||
#
|
||||
# Server group
|
||||
#
|
||||
resource "openstack_compute_servergroup_v2" "keycloak_server_group" {
|
||||
name = "keycloak"
|
||||
policies = [var.keycloak_data.affinity_policy]
|
||||
}
|
||||
|
||||
# Instance(s)
|
||||
resource "openstack_compute_instance_v2" "keycloak" {
|
||||
count = var.keycloak_data.vm_count
|
||||
name = format("%s-%02d", var.keycloak_data.srv_name, count.index + 1)
|
||||
availability_zone_hints = module.common_variables.availability_zones_names.availability_zone_no_gpu
|
||||
flavor_name = var.keycloak_data.vm_flavor
|
||||
key_pair = module.ssh_settings.ssh_key_name
|
||||
security_groups = [data.terraform_remote_state.privnet_dns_router.outputs.default_security_group_name, openstack_networking_secgroup_v2.keycloak_cluster_traffic.name, openstack_networking_secgroup_v2.traffic_from_haproxy_to_keycloak.name]
|
||||
scheduler_hints {
|
||||
group = openstack_compute_servergroup_v2.keycloak_server_group.id
|
||||
}
|
||||
block_device {
|
||||
uuid = data.terraform_remote_state.privnet_dns_router.outputs.ubuntu_2204.uuid
|
||||
source_type = "image"
|
||||
volume_size = var.keycloak_data.boot_vol_size
|
||||
boot_index = 0
|
||||
destination_type = "volume"
|
||||
delete_on_termination = false
|
||||
}
|
||||
|
||||
network {
|
||||
name = data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name
|
||||
}
|
||||
network {
|
||||
name = module.common_variables.shared_postgresql_server_data.network_name
|
||||
}
|
||||
|
||||
user_data = file("${data.terraform_remote_state.privnet_dns_router.outputs.ubuntu1804_data_file}")
|
||||
# Do not replace the instance when the ssh key changes
|
||||
lifecycle {
|
||||
ignore_changes = [
|
||||
# Ignore changes to tags, e.g. because a management agent
|
||||
# updates these based on some ruleset managed elsewhere.
|
||||
key_pair, user_data, network
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
locals {
|
||||
cname_target = "main-lb.${data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name}"
|
||||
}
|
||||
|
||||
resource "openstack_dns_recordset_v2" "keycloak_dns_recordset" {
|
||||
for_each = var.keycloak_recordsets
|
||||
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||
name = each.value.name
|
||||
description = each.value.description
|
||||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
}
|
||||
|
||||
#
|
||||
# Manila NFS Share
|
||||
#
|
||||
# Managers
|
||||
resource "openstack_networking_port_v2" "keycloak_nfs_port" {
|
||||
count = var.keycloak_data.vm_count
|
||||
name = format("%s-%02d", var.keycloak_data.srv_name, count.index + 1)
|
||||
network_id = data.terraform_remote_state.privnet_dns_router.outputs.storage_nfs_network_id
|
||||
admin_state_up = "true"
|
||||
fixed_ip {
|
||||
subnet_id = data.terraform_remote_state.privnet_dns_router.outputs.storage_nfs_subnet_id
|
||||
}
|
||||
}
|
||||
|
||||
resource "openstack_networking_port_secgroup_associate_v2" "keycloak_nfs_port_secgroup" {
|
||||
count = var.keycloak_data.vm_count
|
||||
port_id = openstack_networking_port_v2.keycloak_nfs_port[count.index].id
|
||||
security_group_ids = [data.terraform_remote_state.privnet_dns_router.outputs.nfs_share_no_ingress_secgroup_id]
|
||||
}
|
||||
|
||||
resource "openstack_compute_interface_attach_v2" "nfs_port_to_keycloak" {
|
||||
count = var.keycloak_data.vm_count
|
||||
instance_id = openstack_compute_instance_v2.keycloak[count.index].id
|
||||
port_id = openstack_networking_port_v2.keycloak_nfs_port[count.index].id
|
||||
}
|
||||
|
||||
# Create a NFS share
|
||||
resource "openstack_sharedfilesystem_share_v2" "keycloak_static" {
|
||||
name = var.keycloak_data.share_name
|
||||
description = var.keycloak_data.share_description
|
||||
share_proto = "NFS"
|
||||
size = 30
|
||||
}
|
||||
|
||||
# Allow access to the NFS share
|
||||
resource "openstack_sharedfilesystem_share_access_v2" "keycloak_nfs_share_access" {
|
||||
count = var.keycloak_data.vm_count
|
||||
share_id = openstack_sharedfilesystem_share_v2.keycloak_static.id
|
||||
access_type = "ip"
|
||||
access_to = openstack_compute_interface_attach_v2.nfs_port_to_keycloak[count.index].fixed_ip
|
||||
access_level = "rw"
|
||||
}
|
|
@ -1,29 +0,0 @@
|
|||
# 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"
|
||||
}
|
||||
}
|
||||
|
||||
# SSH settings
|
||||
module "ssh_settings" {
|
||||
source = "../../modules/ssh-key-ref"
|
||||
}
|
||||
|
||||
# Global variables (constants, really)
|
||||
module "common_variables" {
|
||||
source = "../../modules/common_variables"
|
||||
}
|
||||
|
|
@ -132,13 +132,6 @@ resource "openstack_networking_port_v2" "liferay_timescaledb_port" {
|
|||
}
|
||||
}
|
||||
|
||||
resource "openstack_networking_port_secgroup_associate_v2" "liferay_timescaledb_port_secgroup" {
|
||||
count = var.liferay_data.vm_count
|
||||
port_id = openstack_networking_port_v2.liferay_timescaledb_port[count.index].id
|
||||
security_group_ids = [data.terraform_remote_state.privnet_dns_router.outputs.nfs_share_no_ingress_secgroup_id]
|
||||
}
|
||||
|
||||
|
||||
resource "openstack_compute_interface_attach_v2" "timescaledb_port_to_liferay" {
|
||||
count = var.liferay_data.vm_count
|
||||
instance_id = openstack_compute_instance_v2.liferay[count.index].id
|
||||
|
@ -176,7 +169,7 @@ resource "openstack_sharedfilesystem_share_v2" "liferay_static" {
|
|||
name = var.liferay_data.share_name
|
||||
description = var.liferay_data.share_description
|
||||
share_proto = "NFS"
|
||||
size = 30
|
||||
size = 5
|
||||
}
|
||||
|
||||
# Allow access to the NFS share
|
||||
|
|
|
@ -4,7 +4,7 @@ required_version = ">= 0.14.0"
|
|||
required_providers {
|
||||
openstack = {
|
||||
source = "terraform-provider-openstack/openstack"
|
||||
version = ">= 1.53.0"
|
||||
version = "~> 1.53.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ resource "openstack_networking_secgroup_rule_v2" "mongodb_prometheus_exporter" {
|
|||
protocol = "tcp"
|
||||
port_range_min = 9101
|
||||
port_range_max = 9101
|
||||
remote_ip_prefix = join("/",[data.terraform_remote_state.infrastructure_data.outputs.prometheus_public_ip_address,"32"])
|
||||
remote_ip_prefix = var.basic_services_ip.prometheus_cidr
|
||||
}
|
||||
|
||||
#
|
||||
|
|
|
@ -4,7 +4,7 @@ required_version = ">= 0.14.0"
|
|||
required_providers {
|
||||
openstack = {
|
||||
source = "terraform-provider-openstack/openstack"
|
||||
version = ">= 1.54.0"
|
||||
version = "~> 1.53.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue