Workspace per i vari laboratori.
This commit is contained in:
parent
62f2de4db9
commit
cfdf06ffb7
|
|
@ -0,0 +1,186 @@
|
||||||
|
# Define required providers
|
||||||
|
terraform {
|
||||||
|
required_version = ">= 0.14.0"
|
||||||
|
required_providers {
|
||||||
|
openstack = {
|
||||||
|
source = "terraform-provider-openstack/openstack"
|
||||||
|
version = "~> 1.53.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "ISTI-Cloud"
|
||||||
|
}
|
||||||
|
|
||||||
|
module "labs_common_variables" {
|
||||||
|
source = "../../modules/labs_common_variables"
|
||||||
|
}
|
||||||
|
# Main module
|
||||||
|
module "main_private_net_and_dns_zone" {
|
||||||
|
source = "../../modules/labs_private_net_and_dns_zone"
|
||||||
|
dns_zone = {
|
||||||
|
zone_name = "aimh.cloud.isti.cnr.it."
|
||||||
|
email = "postmaster@isti.cnr.it"
|
||||||
|
description = "DNS primary zone for the AIMH project"
|
||||||
|
ttl = 8600
|
||||||
|
}
|
||||||
|
os_project_data = {
|
||||||
|
name = "aimh-lab-cloud"
|
||||||
|
id = "06348cbac43745af804d0a5ede6b1113"
|
||||||
|
}
|
||||||
|
|
||||||
|
main_private_network = {
|
||||||
|
name = "aimh-cloud-main"
|
||||||
|
description = "AIMH private network (use this as the main network)"
|
||||||
|
}
|
||||||
|
main_private_subnet = {
|
||||||
|
name = "aimh-cloud-main-subnet"
|
||||||
|
description = "AIMH main private subnet"
|
||||||
|
cidr = "10.14.0.0/21"
|
||||||
|
gateway_ip = "10.14.0.1"
|
||||||
|
allocation_start = "10.14.1.1"
|
||||||
|
allocation_end = "10.14.7.254"
|
||||||
|
}
|
||||||
|
external_router = {
|
||||||
|
name = "aimh-lab-cloud-external-router"
|
||||||
|
description = "AIMH main router"
|
||||||
|
}
|
||||||
|
default_firewall_rules_map = {
|
||||||
|
"ssh_from_isti_net" = {
|
||||||
|
description = "SSH from the ISTI network"
|
||||||
|
source = module.labs_common_variables.ssh_sources.isti_net_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_1" = {
|
||||||
|
description = "SSH from the S2I2S VPN 1"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_1_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_2" = {
|
||||||
|
description = "SSH from the S2I2S VPN 2"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_2_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"http_from_everywhere" = {
|
||||||
|
description = "HTTP from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 80
|
||||||
|
port_max = 80
|
||||||
|
},
|
||||||
|
"https_from_everywhere" = {
|
||||||
|
description = "HTTPS from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 443
|
||||||
|
port_max = 443
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "os_project_data" {
|
||||||
|
value = module.main_private_net_and_dns_zone.os_project_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_subnet_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network
|
||||||
|
}
|
||||||
|
output "main_subnet_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_gateway_ip" {
|
||||||
|
value = module.main_private_net_and_dns_zone.external_gateway_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_region" {
|
||||||
|
value = module.labs_common_variables.main_region
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network" {
|
||||||
|
value = module.labs_common_variables.external_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network_id" {
|
||||||
|
value = module.labs_common_variables.external_network.id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "floating_ip_pools" {
|
||||||
|
value = module.labs_common_variables.floating_ip_pools
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "resolvers_ip" {
|
||||||
|
value = module.labs_common_variables.resolvers_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "mtu_size" {
|
||||||
|
value = module.labs_common_variables.mtu_size
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zones_names" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_no_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_no_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_with_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_with_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ssh_sources" {
|
||||||
|
value = module.labs_common_variables.ssh_sources
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu_2204" {
|
||||||
|
value = module.labs_common_variables.ubuntu_2204
|
||||||
|
}
|
||||||
|
|
||||||
|
output "centos_7" {
|
||||||
|
value = module.labs_common_variables.centos_7
|
||||||
|
}
|
||||||
|
|
||||||
|
output "almalinux_9" {
|
||||||
|
value = module.labs_common_variables.almalinux_9
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu2204_data_file" {
|
||||||
|
value = module.labs_common_variables.ubuntu2204_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "el7_data_file" {
|
||||||
|
value = module.labs_common_variables.el7_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "policy_list" {
|
||||||
|
value = module.labs_common_variables.policy_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "flavor_list" {
|
||||||
|
value = module.labs_common_variables.flavor_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "default_security_group_name" {
|
||||||
|
value = module.labs_common_variables.default_security_group_name
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,186 @@
|
||||||
|
# Define required providers
|
||||||
|
terraform {
|
||||||
|
required_version = ">= 0.14.0"
|
||||||
|
required_providers {
|
||||||
|
openstack = {
|
||||||
|
source = "terraform-provider-openstack/openstack"
|
||||||
|
version = "~> 1.53.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "ISTI-Cloud"
|
||||||
|
}
|
||||||
|
|
||||||
|
module "labs_common_variables" {
|
||||||
|
source = "../../modules/labs_common_variables"
|
||||||
|
}
|
||||||
|
# Main module
|
||||||
|
module "main_private_net_and_dns_zone" {
|
||||||
|
source = "../../modules/labs_private_net_and_dns_zone"
|
||||||
|
dns_zone = {
|
||||||
|
zone_name = "mms.cloud.isti.cnr.it."
|
||||||
|
email = "postmaster@isti.cnr.it"
|
||||||
|
description = "DNS primary zone for the MMS project"
|
||||||
|
ttl = 8600
|
||||||
|
}
|
||||||
|
os_project_data = {
|
||||||
|
name = "mms-lab-cloud"
|
||||||
|
id = "a10b7a53a17a4f86a4601cbfeb7d7fdc"
|
||||||
|
}
|
||||||
|
|
||||||
|
main_private_network = {
|
||||||
|
name = "mms-cloud-main"
|
||||||
|
description = "MMS private network (use this as the main network)"
|
||||||
|
}
|
||||||
|
main_private_subnet = {
|
||||||
|
name = "mms-cloud-main-subnet"
|
||||||
|
description = "MMS main private subnet"
|
||||||
|
cidr = "10.21.0.0/21"
|
||||||
|
gateway_ip = "10.21.0.1"
|
||||||
|
allocation_start = "10.21.1.1"
|
||||||
|
allocation_end = "10.21.7.254"
|
||||||
|
}
|
||||||
|
external_router = {
|
||||||
|
name = "mms-lab-cloud-external-router"
|
||||||
|
description = "MMS main router"
|
||||||
|
}
|
||||||
|
default_firewall_rules_map = {
|
||||||
|
"ssh_from_isti_net" = {
|
||||||
|
description = "SSH from the ISTI network"
|
||||||
|
source = module.labs_common_variables.ssh_sources.isti_net_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_1" = {
|
||||||
|
description = "SSH from the S2I2S VPN 1"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_1_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_2" = {
|
||||||
|
description = "SSH from the S2I2S VPN 2"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_2_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"http_from_everywhere" = {
|
||||||
|
description = "HTTP from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 80
|
||||||
|
port_max = 80
|
||||||
|
},
|
||||||
|
"https_from_everywhere" = {
|
||||||
|
description = "HTTPS from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 443
|
||||||
|
port_max = 443
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "os_project_data" {
|
||||||
|
value = module.main_private_net_and_dns_zone.os_project_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_subnet_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network
|
||||||
|
}
|
||||||
|
output "main_subnet_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_gateway_ip" {
|
||||||
|
value = module.main_private_net_and_dns_zone.external_gateway_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_region" {
|
||||||
|
value = module.labs_common_variables.main_region
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network" {
|
||||||
|
value = module.labs_common_variables.external_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network_id" {
|
||||||
|
value = module.labs_common_variables.external_network.id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "floating_ip_pools" {
|
||||||
|
value = module.labs_common_variables.floating_ip_pools
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "resolvers_ip" {
|
||||||
|
value = module.labs_common_variables.resolvers_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "mtu_size" {
|
||||||
|
value = module.labs_common_variables.mtu_size
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zones_names" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_no_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_no_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_with_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_with_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ssh_sources" {
|
||||||
|
value = module.labs_common_variables.ssh_sources
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu_2204" {
|
||||||
|
value = module.labs_common_variables.ubuntu_2204
|
||||||
|
}
|
||||||
|
|
||||||
|
output "centos_7" {
|
||||||
|
value = module.labs_common_variables.centos_7
|
||||||
|
}
|
||||||
|
|
||||||
|
output "almalinux_9" {
|
||||||
|
value = module.labs_common_variables.almalinux_9
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu2204_data_file" {
|
||||||
|
value = module.labs_common_variables.ubuntu2204_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "el7_data_file" {
|
||||||
|
value = module.labs_common_variables.el7_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "policy_list" {
|
||||||
|
value = module.labs_common_variables.policy_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "flavor_list" {
|
||||||
|
value = module.labs_common_variables.flavor_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "default_security_group_name" {
|
||||||
|
value = module.labs_common_variables.default_security_group_name
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,186 @@
|
||||||
|
# Define required providers
|
||||||
|
terraform {
|
||||||
|
required_version = ">= 0.14.0"
|
||||||
|
required_providers {
|
||||||
|
openstack = {
|
||||||
|
source = "terraform-provider-openstack/openstack"
|
||||||
|
version = "~> 1.53.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "ISTI-Cloud"
|
||||||
|
}
|
||||||
|
|
||||||
|
module "labs_common_variables" {
|
||||||
|
source = "../../modules/labs_common_variables"
|
||||||
|
}
|
||||||
|
# Main module
|
||||||
|
module "main_private_net_and_dns_zone" {
|
||||||
|
source = "../../modules/labs_private_net_and_dns_zone"
|
||||||
|
dns_zone = {
|
||||||
|
zone_name = "fmt.cloud.isti.cnr.it."
|
||||||
|
email = "postmaster@isti.cnr.it"
|
||||||
|
description = "DNS primary zone for the FMT project"
|
||||||
|
ttl = 8600
|
||||||
|
}
|
||||||
|
os_project_data = {
|
||||||
|
name = "fmt-lab-cloud"
|
||||||
|
id = "3100ec634ead45ec9301a57c55da1d91"
|
||||||
|
}
|
||||||
|
|
||||||
|
main_private_network = {
|
||||||
|
name = "fmt-cloud-main"
|
||||||
|
description = "FMT private network (use this as the main network)"
|
||||||
|
}
|
||||||
|
main_private_subnet = {
|
||||||
|
name = "fmt-cloud-main-subnet"
|
||||||
|
description = "FMT main private subnet"
|
||||||
|
cidr = "10.15.0.0/21"
|
||||||
|
gateway_ip = "10.15.0.1"
|
||||||
|
allocation_start = "10.15.1.1"
|
||||||
|
allocation_end = "10.15.7.254"
|
||||||
|
}
|
||||||
|
external_router = {
|
||||||
|
name = "fmt-lab-cloud-external-router"
|
||||||
|
description = "FMT main router"
|
||||||
|
}
|
||||||
|
default_firewall_rules_map = {
|
||||||
|
"ssh_from_isti_net" = {
|
||||||
|
description = "SSH from the ISTI network"
|
||||||
|
source = module.labs_common_variables.ssh_sources.isti_net_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_1" = {
|
||||||
|
description = "SSH from the S2I2S VPN 1"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_1_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_2" = {
|
||||||
|
description = "SSH from the S2I2S VPN 2"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_2_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"http_from_everywhere" = {
|
||||||
|
description = "HTTP from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 80
|
||||||
|
port_max = 80
|
||||||
|
},
|
||||||
|
"https_from_everywhere" = {
|
||||||
|
description = "HTTPS from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 443
|
||||||
|
port_max = 443
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "os_project_data" {
|
||||||
|
value = module.main_private_net_and_dns_zone.os_project_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_subnet_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network
|
||||||
|
}
|
||||||
|
output "main_subnet_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_gateway_ip" {
|
||||||
|
value = module.main_private_net_and_dns_zone.external_gateway_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_region" {
|
||||||
|
value = module.labs_common_variables.main_region
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network" {
|
||||||
|
value = module.labs_common_variables.external_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network_id" {
|
||||||
|
value = module.labs_common_variables.external_network.id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "floating_ip_pools" {
|
||||||
|
value = module.labs_common_variables.floating_ip_pools
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "resolvers_ip" {
|
||||||
|
value = module.labs_common_variables.resolvers_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "mtu_size" {
|
||||||
|
value = module.labs_common_variables.mtu_size
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zones_names" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_no_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_no_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_with_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_with_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ssh_sources" {
|
||||||
|
value = module.labs_common_variables.ssh_sources
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu_2204" {
|
||||||
|
value = module.labs_common_variables.ubuntu_2204
|
||||||
|
}
|
||||||
|
|
||||||
|
output "centos_7" {
|
||||||
|
value = module.labs_common_variables.centos_7
|
||||||
|
}
|
||||||
|
|
||||||
|
output "almalinux_9" {
|
||||||
|
value = module.labs_common_variables.almalinux_9
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu2204_data_file" {
|
||||||
|
value = module.labs_common_variables.ubuntu2204_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "el7_data_file" {
|
||||||
|
value = module.labs_common_variables.el7_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "policy_list" {
|
||||||
|
value = module.labs_common_variables.policy_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "flavor_list" {
|
||||||
|
value = module.labs_common_variables.flavor_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "default_security_group_name" {
|
||||||
|
value = module.labs_common_variables.default_security_group_name
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,186 @@
|
||||||
|
# Define required providers
|
||||||
|
terraform {
|
||||||
|
required_version = ">= 0.14.0"
|
||||||
|
required_providers {
|
||||||
|
openstack = {
|
||||||
|
source = "terraform-provider-openstack/openstack"
|
||||||
|
version = "~> 1.53.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "ISTI-Cloud"
|
||||||
|
}
|
||||||
|
|
||||||
|
module "labs_common_variables" {
|
||||||
|
source = "../../modules/labs_common_variables"
|
||||||
|
}
|
||||||
|
# Main module
|
||||||
|
module "main_private_net_and_dns_zone" {
|
||||||
|
source = "../../modules/labs_private_net_and_dns_zone"
|
||||||
|
dns_zone = {
|
||||||
|
zone_name = "hiis.cloud.isti.cnr.it."
|
||||||
|
email = "postmaster@isti.cnr.it"
|
||||||
|
description = "DNS primary zone for the HIIS project"
|
||||||
|
ttl = 8600
|
||||||
|
}
|
||||||
|
os_project_data = {
|
||||||
|
name = "hiis-lab-cloud"
|
||||||
|
id = "8d4049974a4649e8ab5f63636de261d8"
|
||||||
|
}
|
||||||
|
|
||||||
|
main_private_network = {
|
||||||
|
name = "hiis-lab-cloud-main"
|
||||||
|
description = "HIIS private network (use this as the main network)"
|
||||||
|
}
|
||||||
|
main_private_subnet = {
|
||||||
|
name = "hiis-lab-cloud-main-subnet"
|
||||||
|
description = "HIIS main private subnet"
|
||||||
|
cidr = "10.5.0.0/22"
|
||||||
|
gateway_ip = "10.5.0.1"
|
||||||
|
allocation_start = "10.5.1.1"
|
||||||
|
allocation_end = "10.5.7.254"
|
||||||
|
}
|
||||||
|
external_router = {
|
||||||
|
name = "hiis-lab-cloud-external-router"
|
||||||
|
description = "HIIS main router"
|
||||||
|
}
|
||||||
|
default_firewall_rules_map = {
|
||||||
|
"ssh_from_isti_net" = {
|
||||||
|
description = "SSH from the ISTI network"
|
||||||
|
source = module.labs_common_variables.ssh_sources.isti_net_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_1" = {
|
||||||
|
description = "SSH from the S2I2S VPN 1"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_1_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_2" = {
|
||||||
|
description = "SSH from the S2I2S VPN 2"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_2_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"http_from_everywhere" = {
|
||||||
|
description = "HTTP from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 80
|
||||||
|
port_max = 80
|
||||||
|
},
|
||||||
|
"https_from_everywhere" = {
|
||||||
|
description = "HTTPS from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 443
|
||||||
|
port_max = 443
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "os_project_data" {
|
||||||
|
value = module.main_private_net_and_dns_zone.os_project_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_subnet_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network
|
||||||
|
}
|
||||||
|
output "main_subnet_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_gateway_ip" {
|
||||||
|
value = module.main_private_net_and_dns_zone.external_gateway_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_region" {
|
||||||
|
value = module.labs_common_variables.main_region
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network" {
|
||||||
|
value = module.labs_common_variables.external_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network_id" {
|
||||||
|
value = module.labs_common_variables.external_network.id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "floating_ip_pools" {
|
||||||
|
value = module.labs_common_variables.floating_ip_pools
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "resolvers_ip" {
|
||||||
|
value = module.labs_common_variables.resolvers_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "mtu_size" {
|
||||||
|
value = module.labs_common_variables.mtu_size
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zones_names" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_no_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_no_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_with_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_with_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ssh_sources" {
|
||||||
|
value = module.labs_common_variables.ssh_sources
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu_2204" {
|
||||||
|
value = module.labs_common_variables.ubuntu_2204
|
||||||
|
}
|
||||||
|
|
||||||
|
output "centos_7" {
|
||||||
|
value = module.labs_common_variables.centos_7
|
||||||
|
}
|
||||||
|
|
||||||
|
output "almalinux_9" {
|
||||||
|
value = module.labs_common_variables.almalinux_9
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu2204_data_file" {
|
||||||
|
value = module.labs_common_variables.ubuntu2204_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "el7_data_file" {
|
||||||
|
value = module.labs_common_variables.el7_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "policy_list" {
|
||||||
|
value = module.labs_common_variables.policy_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "flavor_list" {
|
||||||
|
value = module.labs_common_variables.flavor_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "default_security_group_name" {
|
||||||
|
value = module.labs_common_variables.default_security_group_name
|
||||||
|
}
|
||||||
|
|
@ -10,7 +10,6 @@ terraform {
|
||||||
}
|
}
|
||||||
|
|
||||||
provider "openstack" {
|
provider "openstack" {
|
||||||
# cloud = "hpc-lab"
|
|
||||||
cloud = "ISTI-Cloud"
|
cloud = "ISTI-Cloud"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -23,28 +22,29 @@ module "main_private_net_and_dns_zone" {
|
||||||
dns_zone = {
|
dns_zone = {
|
||||||
zone_name = "hpc.cloud.isti.cnr.it."
|
zone_name = "hpc.cloud.isti.cnr.it."
|
||||||
email = "postmaster@isti.cnr.it"
|
email = "postmaster@isti.cnr.it"
|
||||||
description = "DNS primary zone for the hpc-lab project"
|
description = "DNS primary zone for the HPC project"
|
||||||
ttl = 8600
|
ttl = 8600
|
||||||
}
|
}
|
||||||
os_project_data = {
|
os_project_data = {
|
||||||
name = "hpc-lab-cloud"
|
name = "hpc-lab-cloud"
|
||||||
id = "adaf7e28a31e465795359fcde26398b7"
|
id = "adaf7e28a31e465795359fcde26398b7"
|
||||||
}
|
}
|
||||||
|
|
||||||
main_private_network = {
|
main_private_network = {
|
||||||
name = "hpc-cloud-main"
|
name = "hpc-cloud-main"
|
||||||
description = "HPC lab private network (use this as the main network)"
|
description = "HPC private network (use this as the main network)"
|
||||||
}
|
}
|
||||||
main_private_subnet = {
|
main_private_subnet = {
|
||||||
name = "hpc-cloud-main-subnet"
|
name = "hpc-cloud-main-subnet"
|
||||||
description = "HPC lab main private subnet"
|
description = "HPC main private subnet"
|
||||||
cidr = "10.13.0.0/21"
|
cidr = "10.13.0.0/21"
|
||||||
gateway_ip = "10.13.0.1"
|
gateway_ip = "10.13.0.1"
|
||||||
allocation_start = "10.13.1.1"
|
allocation_start = "10.13.1.1"
|
||||||
allocation_end = "10.13.7.254"
|
allocation_end = "10.13.7.254"
|
||||||
}
|
}
|
||||||
external_router = {
|
external_router = {
|
||||||
name = "hpc-cloud-external-router"
|
name = "hpc-lab-cloud-external-router"
|
||||||
description = "HPC lab main router"
|
description = "HPC main router"
|
||||||
}
|
}
|
||||||
default_firewall_rules_map = {
|
default_firewall_rules_map = {
|
||||||
"ssh_from_isti_net" = {
|
"ssh_from_isti_net" = {
|
||||||
|
|
@ -104,7 +104,6 @@ output "main_private_network_id" {
|
||||||
output "main_subnet_network" {
|
output "main_subnet_network" {
|
||||||
value = module.main_private_net_and_dns_zone.main_subnet_network
|
value = module.main_private_net_and_dns_zone.main_subnet_network
|
||||||
}
|
}
|
||||||
|
|
||||||
output "main_subnet_network_id" {
|
output "main_subnet_network_id" {
|
||||||
value = module.main_private_net_and_dns_zone.main_subnet_network_id
|
value = module.main_private_net_and_dns_zone.main_subnet_network_id
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,186 @@
|
||||||
|
# Define required providers
|
||||||
|
terraform {
|
||||||
|
required_version = ">= 0.14.0"
|
||||||
|
required_providers {
|
||||||
|
openstack = {
|
||||||
|
source = "terraform-provider-openstack/openstack"
|
||||||
|
version = "~> 1.53.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "ISTI-Cloud"
|
||||||
|
}
|
||||||
|
|
||||||
|
module "labs_common_variables" {
|
||||||
|
source = "../../modules/labs_common_variables"
|
||||||
|
}
|
||||||
|
# Main module
|
||||||
|
module "main_private_net_and_dns_zone" {
|
||||||
|
source = "../../modules/labs_private_net_and_dns_zone"
|
||||||
|
dns_zone = {
|
||||||
|
zone_name = "infrascience.cloud.isti.cnr.it."
|
||||||
|
email = "postmaster@isti.cnr.it"
|
||||||
|
description = "DNS primary zone for the InfraScience project"
|
||||||
|
ttl = 8600
|
||||||
|
}
|
||||||
|
os_project_data = {
|
||||||
|
name = "infrascience-lab-cloud"
|
||||||
|
id = "3511cd5293dc435ea421aeb0edcfab43"
|
||||||
|
}
|
||||||
|
|
||||||
|
main_private_network = {
|
||||||
|
name = "infrascience-cloud-main"
|
||||||
|
description = "InfraScience private network (use this as the main network)"
|
||||||
|
}
|
||||||
|
main_private_subnet = {
|
||||||
|
name = "infrascience-cloud-main-subnet"
|
||||||
|
description = "InfraScience main private subnet"
|
||||||
|
cidr = "10.16.0.0/21"
|
||||||
|
gateway_ip = "10.16.0.1"
|
||||||
|
allocation_start = "10.16.1.1"
|
||||||
|
allocation_end = "10.16.7.254"
|
||||||
|
}
|
||||||
|
external_router = {
|
||||||
|
name = "infrascience-lab-cloud-external-router"
|
||||||
|
description = "InfraScience main router"
|
||||||
|
}
|
||||||
|
default_firewall_rules_map = {
|
||||||
|
"ssh_from_isti_net" = {
|
||||||
|
description = "SSH from the ISTI network"
|
||||||
|
source = module.labs_common_variables.ssh_sources.isti_net_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_1" = {
|
||||||
|
description = "SSH from the S2I2S VPN 1"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_1_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_2" = {
|
||||||
|
description = "SSH from the S2I2S VPN 2"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_2_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"http_from_everywhere" = {
|
||||||
|
description = "HTTP from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 80
|
||||||
|
port_max = 80
|
||||||
|
},
|
||||||
|
"https_from_everywhere" = {
|
||||||
|
description = "HTTPS from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 443
|
||||||
|
port_max = 443
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "os_project_data" {
|
||||||
|
value = module.main_private_net_and_dns_zone.os_project_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_subnet_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network
|
||||||
|
}
|
||||||
|
output "main_subnet_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_gateway_ip" {
|
||||||
|
value = module.main_private_net_and_dns_zone.external_gateway_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_region" {
|
||||||
|
value = module.labs_common_variables.main_region
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network" {
|
||||||
|
value = module.labs_common_variables.external_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network_id" {
|
||||||
|
value = module.labs_common_variables.external_network.id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "floating_ip_pools" {
|
||||||
|
value = module.labs_common_variables.floating_ip_pools
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "resolvers_ip" {
|
||||||
|
value = module.labs_common_variables.resolvers_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "mtu_size" {
|
||||||
|
value = module.labs_common_variables.mtu_size
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zones_names" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_no_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_no_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_with_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_with_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ssh_sources" {
|
||||||
|
value = module.labs_common_variables.ssh_sources
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu_2204" {
|
||||||
|
value = module.labs_common_variables.ubuntu_2204
|
||||||
|
}
|
||||||
|
|
||||||
|
output "centos_7" {
|
||||||
|
value = module.labs_common_variables.centos_7
|
||||||
|
}
|
||||||
|
|
||||||
|
output "almalinux_9" {
|
||||||
|
value = module.labs_common_variables.almalinux_9
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu2204_data_file" {
|
||||||
|
value = module.labs_common_variables.ubuntu2204_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "el7_data_file" {
|
||||||
|
value = module.labs_common_variables.el7_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "policy_list" {
|
||||||
|
value = module.labs_common_variables.policy_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "flavor_list" {
|
||||||
|
value = module.labs_common_variables.flavor_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "default_security_group_name" {
|
||||||
|
value = module.labs_common_variables.default_security_group_name
|
||||||
|
}
|
||||||
|
|
@ -10,7 +10,6 @@ terraform {
|
||||||
}
|
}
|
||||||
|
|
||||||
provider "openstack" {
|
provider "openstack" {
|
||||||
# cloud = "kdd-lab"
|
|
||||||
cloud = "ISTI-Cloud"
|
cloud = "ISTI-Cloud"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -23,7 +22,7 @@ module "main_private_net_and_dns_zone" {
|
||||||
dns_zone = {
|
dns_zone = {
|
||||||
zone_name = "kdd.cloud.isti.cnr.it."
|
zone_name = "kdd.cloud.isti.cnr.it."
|
||||||
email = "postmaster@isti.cnr.it"
|
email = "postmaster@isti.cnr.it"
|
||||||
description = "DNS primary zone for the kdd-lab project"
|
description = "DNS primary zone for the KDD project"
|
||||||
ttl = 8600
|
ttl = 8600
|
||||||
}
|
}
|
||||||
os_project_data = {
|
os_project_data = {
|
||||||
|
|
@ -37,14 +36,14 @@ module "main_private_net_and_dns_zone" {
|
||||||
}
|
}
|
||||||
main_private_subnet = {
|
main_private_subnet = {
|
||||||
name = "kdd-cloud-main-subnet"
|
name = "kdd-cloud-main-subnet"
|
||||||
description = "kdd main private subnet"
|
description = "KDD main private subnet"
|
||||||
cidr = "10.12.0.0/21"
|
cidr = "10.12.0.0/21"
|
||||||
gateway_ip = "10.12.0.1"
|
gateway_ip = "10.12.0.1"
|
||||||
allocation_start = "10.12.1.1"
|
allocation_start = "10.12.1.1"
|
||||||
allocation_end = "10.12.7.254"
|
allocation_end = "10.12.7.254"
|
||||||
}
|
}
|
||||||
external_router = {
|
external_router = {
|
||||||
name = "kdd-cloud-external-router"
|
name = "kdd-lab-cloud-external-router"
|
||||||
description = "KDD main router"
|
description = "KDD main router"
|
||||||
}
|
}
|
||||||
default_firewall_rules_map = {
|
default_firewall_rules_map = {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,186 @@
|
||||||
|
# Define required providers
|
||||||
|
terraform {
|
||||||
|
required_version = ">= 0.14.0"
|
||||||
|
required_providers {
|
||||||
|
openstack = {
|
||||||
|
source = "terraform-provider-openstack/openstack"
|
||||||
|
version = "~> 1.53.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "ISTI-Cloud"
|
||||||
|
}
|
||||||
|
|
||||||
|
module "labs_common_variables" {
|
||||||
|
source = "../../modules/labs_common_variables"
|
||||||
|
}
|
||||||
|
# Main module
|
||||||
|
module "main_private_net_and_dns_zone" {
|
||||||
|
source = "../../modules/labs_private_net_and_dns_zone"
|
||||||
|
dns_zone = {
|
||||||
|
zone_name = "mms.cloud.isti.cnr.it."
|
||||||
|
email = "postmaster@isti.cnr.it"
|
||||||
|
description = "DNS primary zone for the MMS project"
|
||||||
|
ttl = 8600
|
||||||
|
}
|
||||||
|
os_project_data = {
|
||||||
|
name = "mms-lab-cloud"
|
||||||
|
id = "a10b7a53a17a4f86a4601cbfeb7d7fdc"
|
||||||
|
}
|
||||||
|
|
||||||
|
main_private_network = {
|
||||||
|
name = "mms-cloud-main"
|
||||||
|
description = "MMS private network (use this as the main network)"
|
||||||
|
}
|
||||||
|
main_private_subnet = {
|
||||||
|
name = "mms-cloud-main-subnet"
|
||||||
|
description = "MMS main private subnet"
|
||||||
|
cidr = "10.21.0.0/21"
|
||||||
|
gateway_ip = "10.21.0.1"
|
||||||
|
allocation_start = "10.21.1.1"
|
||||||
|
allocation_end = "10.21.7.254"
|
||||||
|
}
|
||||||
|
external_router = {
|
||||||
|
name = "mms-lab-cloud-external-router"
|
||||||
|
description = "MMS main router"
|
||||||
|
}
|
||||||
|
default_firewall_rules_map = {
|
||||||
|
"ssh_from_isti_net" = {
|
||||||
|
description = "SSH from the ISTI network"
|
||||||
|
source = module.labs_common_variables.ssh_sources.isti_net_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_1" = {
|
||||||
|
description = "SSH from the S2I2S VPN 1"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_1_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_2" = {
|
||||||
|
description = "SSH from the S2I2S VPN 2"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_2_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"http_from_everywhere" = {
|
||||||
|
description = "HTTP from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 80
|
||||||
|
port_max = 80
|
||||||
|
},
|
||||||
|
"https_from_everywhere" = {
|
||||||
|
description = "HTTPS from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 443
|
||||||
|
port_max = 443
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "os_project_data" {
|
||||||
|
value = module.main_private_net_and_dns_zone.os_project_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_subnet_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network
|
||||||
|
}
|
||||||
|
output "main_subnet_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_gateway_ip" {
|
||||||
|
value = module.main_private_net_and_dns_zone.external_gateway_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_region" {
|
||||||
|
value = module.labs_common_variables.main_region
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network" {
|
||||||
|
value = module.labs_common_variables.external_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network_id" {
|
||||||
|
value = module.labs_common_variables.external_network.id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "floating_ip_pools" {
|
||||||
|
value = module.labs_common_variables.floating_ip_pools
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "resolvers_ip" {
|
||||||
|
value = module.labs_common_variables.resolvers_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "mtu_size" {
|
||||||
|
value = module.labs_common_variables.mtu_size
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zones_names" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_no_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_no_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_with_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_with_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ssh_sources" {
|
||||||
|
value = module.labs_common_variables.ssh_sources
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu_2204" {
|
||||||
|
value = module.labs_common_variables.ubuntu_2204
|
||||||
|
}
|
||||||
|
|
||||||
|
output "centos_7" {
|
||||||
|
value = module.labs_common_variables.centos_7
|
||||||
|
}
|
||||||
|
|
||||||
|
output "almalinux_9" {
|
||||||
|
value = module.labs_common_variables.almalinux_9
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu2204_data_file" {
|
||||||
|
value = module.labs_common_variables.ubuntu2204_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "el7_data_file" {
|
||||||
|
value = module.labs_common_variables.el7_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "policy_list" {
|
||||||
|
value = module.labs_common_variables.policy_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "flavor_list" {
|
||||||
|
value = module.labs_common_variables.flavor_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "default_security_group_name" {
|
||||||
|
value = module.labs_common_variables.default_security_group_name
|
||||||
|
}
|
||||||
|
|
@ -10,54 +10,100 @@ terraform {
|
||||||
}
|
}
|
||||||
|
|
||||||
provider "openstack" {
|
provider "openstack" {
|
||||||
# cloud = "s2i2s-proj"
|
|
||||||
cloud = "ISTI-Cloud"
|
cloud = "ISTI-Cloud"
|
||||||
}
|
}
|
||||||
|
|
||||||
module "common_variables" {
|
module "labs_common_variables" {
|
||||||
source = "../../modules/common_variables"
|
source = "../../modules/labs_common_variables"
|
||||||
}
|
}
|
||||||
# Main module
|
# Main module
|
||||||
module "main_private_net_and_dns_zone" {
|
module "main_private_net_and_dns_zone" {
|
||||||
source = "../../modules/main_private_net_and_dns_zone"
|
source = "../../modules/labs_private_net_and_dns_zone"
|
||||||
dns_zone = {
|
dns_zone = {
|
||||||
zone_name = "s2i2s.cloud.isti.cnr.it."
|
zone_name = "s2i2s.cloud.isti.cnr.it."
|
||||||
email = "postmaster@isti.cnr.it"
|
email = "postmaster@isti.cnr.it"
|
||||||
description = "DNS primary zone for the d4s-production-cloud project"
|
description = "DNS primary zone for the S2I2S project"
|
||||||
ttl = 8600
|
ttl = 8600
|
||||||
}
|
}
|
||||||
os_project_data = {
|
os_project_data = {
|
||||||
id = "1b45adf388934758b56d0dfdb4bfacf3"
|
name = "s2i2s-proj"
|
||||||
|
id = "d58ff441b31d4d0daf4a3e64d5332082"
|
||||||
}
|
}
|
||||||
|
|
||||||
main_private_network = {
|
main_private_network = {
|
||||||
name = "s2i2s-cloud-main"
|
name = "s2i2s-proj-main"
|
||||||
description = "S2I2S private network (use this as the main network)"
|
description = "S2I2S private network (use this as the main network)"
|
||||||
}
|
}
|
||||||
main_private_subnet = {
|
main_private_subnet = {
|
||||||
name = "s2i2s-production-cloud-main-subnet"
|
name = "s2i2s-proj-main-subnet"
|
||||||
description = "S2I2S main private subnet"
|
description = "S2I2S main private subnet"
|
||||||
cidr = "10.11.0.0/21"
|
cidr = "10.10.0.0/21"
|
||||||
gateway_ip = "10.11.0.1"
|
gateway_ip = "10.10.0.1"
|
||||||
allocation_start = "10.11.1.1"
|
allocation_start = "10.10.1.1"
|
||||||
allocation_end = "10.11.7.254"
|
allocation_end = "10.10.7.254"
|
||||||
}
|
}
|
||||||
external_router = {
|
external_router = {
|
||||||
name = "s2i2s-cloud-external-router"
|
name = "s2i2s-proj-external-router"
|
||||||
description = "S2I2S main router"
|
description = "S2I2S main router"
|
||||||
}
|
}
|
||||||
|
default_firewall_rules_map = {
|
||||||
|
"ssh_from_isti_net" = {
|
||||||
|
description = "SSH from the ISTI network"
|
||||||
|
source = module.labs_common_variables.ssh_sources.isti_net_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_1" = {
|
||||||
|
description = "SSH from the S2I2S VPN 1"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_1_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_2" = {
|
||||||
|
description = "SSH from the S2I2S VPN 2"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_2_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"http_from_everywhere" = {
|
||||||
|
description = "HTTP from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 80
|
||||||
|
port_max = 80
|
||||||
|
},
|
||||||
|
"https_from_everywhere" = {
|
||||||
|
description = "HTTPS from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 443
|
||||||
|
port_max = 443
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
output "os_project_data" {
|
||||||
|
value = module.main_private_net_and_dns_zone.os_project_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone
|
||||||
|
}
|
||||||
|
|
||||||
output "dns_zone_id" {
|
output "dns_zone_id" {
|
||||||
value = module.main_private_net_and_dns_zone.dns_zone_id
|
value = module.main_private_net_and_dns_zone.dns_zone_id
|
||||||
}
|
}
|
||||||
|
|
||||||
|
output "main_private_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network
|
||||||
|
}
|
||||||
|
|
||||||
output "main_private_network_id" {
|
output "main_private_network_id" {
|
||||||
value = module.main_private_net_and_dns_zone.main_private_network_id
|
value = module.main_private_net_and_dns_zone.main_private_network_id
|
||||||
}
|
}
|
||||||
|
|
||||||
|
output "main_subnet_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network
|
||||||
|
}
|
||||||
output "main_subnet_network_id" {
|
output "main_subnet_network_id" {
|
||||||
value = module.main_private_net_and_dns_zone.main_subnet_network_id
|
value = module.main_private_net_and_dns_zone.main_subnet_network_id
|
||||||
}
|
}
|
||||||
|
|
@ -66,125 +112,75 @@ output "external_gateway_ip" {
|
||||||
value = module.main_private_net_and_dns_zone.external_gateway_ip
|
value = module.main_private_net_and_dns_zone.external_gateway_ip
|
||||||
}
|
}
|
||||||
|
|
||||||
# Module used
|
|
||||||
|
|
||||||
output "main_region" {
|
output "main_region" {
|
||||||
value = module.common_variables.main_region
|
value = module.labs_common_variables.main_region
|
||||||
}
|
}
|
||||||
|
|
||||||
output "external_network" {
|
output "external_network" {
|
||||||
value = module.common_variables.external_network
|
value = module.labs_common_variables.external_network
|
||||||
}
|
}
|
||||||
|
|
||||||
output "external_network_id" {
|
output "external_network_id" {
|
||||||
value = module.common_variables.external_network.id
|
value = module.labs_common_variables.external_network.id
|
||||||
}
|
}
|
||||||
|
|
||||||
output "floating_ip_pools" {
|
output "floating_ip_pools" {
|
||||||
value = module.common_variables.floating_ip_pools
|
value = module.labs_common_variables.floating_ip_pools
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
output "resolvers_ip" {
|
output "resolvers_ip" {
|
||||||
value = module.common_variables.resolvers_ip
|
value = module.labs_common_variables.resolvers_ip
|
||||||
}
|
}
|
||||||
|
|
||||||
output "mtu_size" {
|
output "mtu_size" {
|
||||||
value = module.common_variables.mtu_size
|
value = module.labs_common_variables.mtu_size
|
||||||
}
|
}
|
||||||
|
|
||||||
output "availability_zones_names" {
|
output "availability_zones_names" {
|
||||||
value = module.common_variables.availability_zones_names
|
value = module.labs_common_variables.availability_zones_names
|
||||||
}
|
}
|
||||||
|
|
||||||
output "availability_zone_no_gpu_name" {
|
output "availability_zone_no_gpu_name" {
|
||||||
value = module.common_variables.availability_zones_names.availability_zone_no_gpu
|
value = module.labs_common_variables.availability_zones_names.availability_zone_no_gpu
|
||||||
}
|
}
|
||||||
|
|
||||||
output "availability_zone_with_gpu_name" {
|
output "availability_zone_with_gpu_name" {
|
||||||
value = module.common_variables.availability_zones_names.availability_zone_with_gpu
|
value = module.labs_common_variables.availability_zones_names.availability_zone_with_gpu
|
||||||
}
|
}
|
||||||
|
|
||||||
output "ssh_sources" {
|
output "ssh_sources" {
|
||||||
value = module.common_variables.ssh_sources
|
value = module.labs_common_variables.ssh_sources
|
||||||
}
|
|
||||||
|
|
||||||
output "networks_with_d4s_services" {
|
|
||||||
value = module.common_variables.networks_with_d4s_services
|
|
||||||
}
|
|
||||||
|
|
||||||
output "ubuntu_1804" {
|
|
||||||
value = module.common_variables.ubuntu_1804
|
|
||||||
}
|
}
|
||||||
|
|
||||||
output "ubuntu_2204" {
|
output "ubuntu_2204" {
|
||||||
value = module.common_variables.ubuntu_2204
|
value = module.labs_common_variables.ubuntu_2204
|
||||||
}
|
}
|
||||||
|
|
||||||
output "centos_7" {
|
output "centos_7" {
|
||||||
value = module.common_variables.centos_7
|
value = module.labs_common_variables.centos_7
|
||||||
}
|
}
|
||||||
|
|
||||||
output "almalinux_9" {
|
output "almalinux_9" {
|
||||||
value = module.common_variables.almalinux_9
|
value = module.labs_common_variables.almalinux_9
|
||||||
}
|
|
||||||
|
|
||||||
output "ubuntu1804_data_file" {
|
|
||||||
value = module.common_variables.ubuntu1804_data_file
|
|
||||||
}
|
}
|
||||||
|
|
||||||
output "ubuntu2204_data_file" {
|
output "ubuntu2204_data_file" {
|
||||||
value = module.common_variables.ubuntu2204_data_file
|
value = module.labs_common_variables.ubuntu2204_data_file
|
||||||
}
|
}
|
||||||
|
|
||||||
output "el7_data_file" {
|
output "el7_data_file" {
|
||||||
value = module.common_variables.el7_data_file
|
value = module.labs_common_variables.el7_data_file
|
||||||
}
|
}
|
||||||
|
|
||||||
output "ssh_jump_proxy" {
|
|
||||||
value = module.common_variables.ssh_jump_proxy
|
|
||||||
}
|
|
||||||
|
|
||||||
output "internal_ca_data" {
|
|
||||||
value = module.common_variables.internal_ca_data
|
|
||||||
}
|
|
||||||
|
|
||||||
output "prometheus_server_data" {
|
|
||||||
value = module.common_variables.prometheus_server_data
|
|
||||||
}
|
|
||||||
|
|
||||||
output "shared_postgresql_server_data" {
|
|
||||||
value = module.common_variables.shared_postgresql_server_data
|
|
||||||
}
|
|
||||||
|
|
||||||
output "haproxy_l7_data" {
|
|
||||||
value = module.common_variables.haproxy_l7_data
|
|
||||||
}
|
|
||||||
|
|
||||||
output "resource_registry_addresses" {
|
|
||||||
value = module.common_variables.resource_registry_addresses
|
|
||||||
}
|
|
||||||
|
|
||||||
output "smartexecutor_addresses" {
|
|
||||||
value = module.common_variables.smartexecutor_addresses
|
|
||||||
}
|
|
||||||
|
|
||||||
#Added by Francesco
|
|
||||||
output "policy_list" {
|
output "policy_list" {
|
||||||
value = module.common_variables.policy_list
|
value = module.labs_common_variables.policy_list
|
||||||
}
|
}
|
||||||
|
|
||||||
#Added by Francesco
|
|
||||||
output "flavor_list" {
|
output "flavor_list" {
|
||||||
value = module.common_variables.flavor_list
|
value = module.labs_common_variables.flavor_list
|
||||||
}
|
}
|
||||||
|
|
||||||
#Added by Francesco
|
output "default_security_group_name" {
|
||||||
output "security_group_list" {
|
value = module.labs_common_variables.default_security_group_name
|
||||||
value = module.common_variables.security_group_list
|
|
||||||
}
|
|
||||||
|
|
||||||
#Added by Francesco
|
|
||||||
output "networks_list" {
|
|
||||||
value = module.common_variables.networks_list
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,186 @@
|
||||||
|
# Define required providers
|
||||||
|
terraform {
|
||||||
|
required_version = ">= 0.14.0"
|
||||||
|
required_providers {
|
||||||
|
openstack = {
|
||||||
|
source = "terraform-provider-openstack/openstack"
|
||||||
|
version = "~> 1.53.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "ISTI-Cloud"
|
||||||
|
}
|
||||||
|
|
||||||
|
module "labs_common_variables" {
|
||||||
|
source = "../../modules/labs_common_variables"
|
||||||
|
}
|
||||||
|
# Main module
|
||||||
|
module "main_private_net_and_dns_zone" {
|
||||||
|
source = "../../modules/labs_private_net_and_dns_zone"
|
||||||
|
dns_zone = {
|
||||||
|
zone_name = "sedc.cloud.isti.cnr.it."
|
||||||
|
email = "postmaster@isti.cnr.it"
|
||||||
|
description = "DNS primary zone for the SEDC project"
|
||||||
|
ttl = 8600
|
||||||
|
}
|
||||||
|
os_project_data = {
|
||||||
|
name = "sedc-lab-cloud"
|
||||||
|
id = "609a5b292eef43f4853a31066a6264a9"
|
||||||
|
}
|
||||||
|
|
||||||
|
main_private_network = {
|
||||||
|
name = "sedc-cloud-main"
|
||||||
|
description = "SEDC private network (use this as the main network)"
|
||||||
|
}
|
||||||
|
main_private_subnet = {
|
||||||
|
name = "sedc-cloud-main-subnet"
|
||||||
|
description = "SEDC main private subnet"
|
||||||
|
cidr = "10.19.0.0/21"
|
||||||
|
gateway_ip = "10.19.0.1"
|
||||||
|
allocation_start = "10.19.1.1"
|
||||||
|
allocation_end = "10.19.7.254"
|
||||||
|
}
|
||||||
|
external_router = {
|
||||||
|
name = "sedc-lab-cloud-external-router"
|
||||||
|
description = "SEDC main router"
|
||||||
|
}
|
||||||
|
default_firewall_rules_map = {
|
||||||
|
"ssh_from_isti_net" = {
|
||||||
|
description = "SSH from the ISTI network"
|
||||||
|
source = module.labs_common_variables.ssh_sources.isti_net_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_1" = {
|
||||||
|
description = "SSH from the S2I2S VPN 1"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_1_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_2" = {
|
||||||
|
description = "SSH from the S2I2S VPN 2"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_2_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"http_from_everywhere" = {
|
||||||
|
description = "HTTP from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 80
|
||||||
|
port_max = 80
|
||||||
|
},
|
||||||
|
"https_from_everywhere" = {
|
||||||
|
description = "HTTPS from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 443
|
||||||
|
port_max = 443
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "os_project_data" {
|
||||||
|
value = module.main_private_net_and_dns_zone.os_project_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_subnet_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network
|
||||||
|
}
|
||||||
|
output "main_subnet_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_gateway_ip" {
|
||||||
|
value = module.main_private_net_and_dns_zone.external_gateway_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_region" {
|
||||||
|
value = module.labs_common_variables.main_region
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network" {
|
||||||
|
value = module.labs_common_variables.external_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network_id" {
|
||||||
|
value = module.labs_common_variables.external_network.id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "floating_ip_pools" {
|
||||||
|
value = module.labs_common_variables.floating_ip_pools
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "resolvers_ip" {
|
||||||
|
value = module.labs_common_variables.resolvers_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "mtu_size" {
|
||||||
|
value = module.labs_common_variables.mtu_size
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zones_names" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_no_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_no_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_with_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_with_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ssh_sources" {
|
||||||
|
value = module.labs_common_variables.ssh_sources
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu_2204" {
|
||||||
|
value = module.labs_common_variables.ubuntu_2204
|
||||||
|
}
|
||||||
|
|
||||||
|
output "centos_7" {
|
||||||
|
value = module.labs_common_variables.centos_7
|
||||||
|
}
|
||||||
|
|
||||||
|
output "almalinux_9" {
|
||||||
|
value = module.labs_common_variables.almalinux_9
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu2204_data_file" {
|
||||||
|
value = module.labs_common_variables.ubuntu2204_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "el7_data_file" {
|
||||||
|
value = module.labs_common_variables.el7_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "policy_list" {
|
||||||
|
value = module.labs_common_variables.policy_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "flavor_list" {
|
||||||
|
value = module.labs_common_variables.flavor_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "default_security_group_name" {
|
||||||
|
value = module.labs_common_variables.default_security_group_name
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,186 @@
|
||||||
|
# Define required providers
|
||||||
|
terraform {
|
||||||
|
required_version = ">= 0.14.0"
|
||||||
|
required_providers {
|
||||||
|
openstack = {
|
||||||
|
source = "terraform-provider-openstack/openstack"
|
||||||
|
version = "~> 1.53.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "ISTI-Cloud"
|
||||||
|
}
|
||||||
|
|
||||||
|
module "labs_common_variables" {
|
||||||
|
source = "../../modules/labs_common_variables"
|
||||||
|
}
|
||||||
|
# Main module
|
||||||
|
module "main_private_net_and_dns_zone" {
|
||||||
|
source = "../../modules/labs_private_net_and_dns_zone"
|
||||||
|
dns_zone = {
|
||||||
|
zone_name = "sfd.cloud.isti.cnr.it."
|
||||||
|
email = "postmaster@isti.cnr.it"
|
||||||
|
description = "DNS primary zone for the SFD project"
|
||||||
|
ttl = 8600
|
||||||
|
}
|
||||||
|
os_project_data = {
|
||||||
|
name = "sfd-lab-cloud"
|
||||||
|
id = "74694a66501540acaf45dedb0652de8b"
|
||||||
|
}
|
||||||
|
|
||||||
|
main_private_network = {
|
||||||
|
name = "sfd-cloud-main"
|
||||||
|
description = "SFD private network (use this as the main network)"
|
||||||
|
}
|
||||||
|
main_private_subnet = {
|
||||||
|
name = "sfd-cloud-main-subnet"
|
||||||
|
description = "SFD main private subnet"
|
||||||
|
cidr = "10.20.0.0/21"
|
||||||
|
gateway_ip = "10.20.0.1"
|
||||||
|
allocation_start = "10.20.1.1"
|
||||||
|
allocation_end = "10.20.7.254"
|
||||||
|
}
|
||||||
|
external_router = {
|
||||||
|
name = "sfd-lab-cloud-external-router"
|
||||||
|
description = "SFD main router"
|
||||||
|
}
|
||||||
|
default_firewall_rules_map = {
|
||||||
|
"ssh_from_isti_net" = {
|
||||||
|
description = "SSH from the ISTI network"
|
||||||
|
source = module.labs_common_variables.ssh_sources.isti_net_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_1" = {
|
||||||
|
description = "SSH from the S2I2S VPN 1"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_1_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_2" = {
|
||||||
|
description = "SSH from the S2I2S VPN 2"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_2_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"http_from_everywhere" = {
|
||||||
|
description = "HTTP from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 80
|
||||||
|
port_max = 80
|
||||||
|
},
|
||||||
|
"https_from_everywhere" = {
|
||||||
|
description = "HTTPS from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 443
|
||||||
|
port_max = 443
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "os_project_data" {
|
||||||
|
value = module.main_private_net_and_dns_zone.os_project_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_subnet_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network
|
||||||
|
}
|
||||||
|
output "main_subnet_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_gateway_ip" {
|
||||||
|
value = module.main_private_net_and_dns_zone.external_gateway_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_region" {
|
||||||
|
value = module.labs_common_variables.main_region
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network" {
|
||||||
|
value = module.labs_common_variables.external_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network_id" {
|
||||||
|
value = module.labs_common_variables.external_network.id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "floating_ip_pools" {
|
||||||
|
value = module.labs_common_variables.floating_ip_pools
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "resolvers_ip" {
|
||||||
|
value = module.labs_common_variables.resolvers_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "mtu_size" {
|
||||||
|
value = module.labs_common_variables.mtu_size
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zones_names" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_no_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_no_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_with_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_with_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ssh_sources" {
|
||||||
|
value = module.labs_common_variables.ssh_sources
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu_2204" {
|
||||||
|
value = module.labs_common_variables.ubuntu_2204
|
||||||
|
}
|
||||||
|
|
||||||
|
output "centos_7" {
|
||||||
|
value = module.labs_common_variables.centos_7
|
||||||
|
}
|
||||||
|
|
||||||
|
output "almalinux_9" {
|
||||||
|
value = module.labs_common_variables.almalinux_9
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu2204_data_file" {
|
||||||
|
value = module.labs_common_variables.ubuntu2204_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "el7_data_file" {
|
||||||
|
value = module.labs_common_variables.el7_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "policy_list" {
|
||||||
|
value = module.labs_common_variables.policy_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "flavor_list" {
|
||||||
|
value = module.labs_common_variables.flavor_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "default_security_group_name" {
|
||||||
|
value = module.labs_common_variables.default_security_group_name
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,186 @@
|
||||||
|
# Define required providers
|
||||||
|
terraform {
|
||||||
|
required_version = ">= 0.14.0"
|
||||||
|
required_providers {
|
||||||
|
openstack = {
|
||||||
|
source = "terraform-provider-openstack/openstack"
|
||||||
|
version = "~> 1.53.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "ISTI-Cloud"
|
||||||
|
}
|
||||||
|
|
||||||
|
module "labs_common_variables" {
|
||||||
|
source = "../../modules/labs_common_variables"
|
||||||
|
}
|
||||||
|
# Main module
|
||||||
|
module "main_private_net_and_dns_zone" {
|
||||||
|
source = "../../modules/labs_private_net_and_dns_zone"
|
||||||
|
dns_zone = {
|
||||||
|
zone_name = "si.cloud.isti.cnr.it."
|
||||||
|
email = "postmaster@isti.cnr.it"
|
||||||
|
description = "DNS primary zone for the SI project"
|
||||||
|
ttl = 8600
|
||||||
|
}
|
||||||
|
os_project_data = {
|
||||||
|
name = "si-lab-cloud"
|
||||||
|
id = "440ec15cc48f412f8b42438d05a52dc1"
|
||||||
|
}
|
||||||
|
|
||||||
|
main_private_network = {
|
||||||
|
name = "si-cloud-main"
|
||||||
|
description = "SI private network (use this as the main network)"
|
||||||
|
}
|
||||||
|
main_private_subnet = {
|
||||||
|
name = "si-cloud-main-subnet"
|
||||||
|
description = "SI main private subnet"
|
||||||
|
cidr = "10.18.0.0/21"
|
||||||
|
gateway_ip = "10.18.0.1"
|
||||||
|
allocation_start = "10.18.1.1"
|
||||||
|
allocation_end = "10.18.7.254"
|
||||||
|
}
|
||||||
|
external_router = {
|
||||||
|
name = "si-lab-cloud-external-router"
|
||||||
|
description = "SI main router"
|
||||||
|
}
|
||||||
|
default_firewall_rules_map = {
|
||||||
|
"ssh_from_isti_net" = {
|
||||||
|
description = "SSH from the ISTI network"
|
||||||
|
source = module.labs_common_variables.ssh_sources.isti_net_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_1" = {
|
||||||
|
description = "SSH from the S2I2S VPN 1"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_1_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_2" = {
|
||||||
|
description = "SSH from the S2I2S VPN 2"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_2_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"http_from_everywhere" = {
|
||||||
|
description = "HTTP from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 80
|
||||||
|
port_max = 80
|
||||||
|
},
|
||||||
|
"https_from_everywhere" = {
|
||||||
|
description = "HTTPS from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 443
|
||||||
|
port_max = 443
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "os_project_data" {
|
||||||
|
value = module.main_private_net_and_dns_zone.os_project_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_subnet_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network
|
||||||
|
}
|
||||||
|
output "main_subnet_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_gateway_ip" {
|
||||||
|
value = module.main_private_net_and_dns_zone.external_gateway_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_region" {
|
||||||
|
value = module.labs_common_variables.main_region
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network" {
|
||||||
|
value = module.labs_common_variables.external_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network_id" {
|
||||||
|
value = module.labs_common_variables.external_network.id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "floating_ip_pools" {
|
||||||
|
value = module.labs_common_variables.floating_ip_pools
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "resolvers_ip" {
|
||||||
|
value = module.labs_common_variables.resolvers_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "mtu_size" {
|
||||||
|
value = module.labs_common_variables.mtu_size
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zones_names" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_no_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_no_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_with_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_with_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ssh_sources" {
|
||||||
|
value = module.labs_common_variables.ssh_sources
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu_2204" {
|
||||||
|
value = module.labs_common_variables.ubuntu_2204
|
||||||
|
}
|
||||||
|
|
||||||
|
output "centos_7" {
|
||||||
|
value = module.labs_common_variables.centos_7
|
||||||
|
}
|
||||||
|
|
||||||
|
output "almalinux_9" {
|
||||||
|
value = module.labs_common_variables.almalinux_9
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu2204_data_file" {
|
||||||
|
value = module.labs_common_variables.ubuntu2204_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "el7_data_file" {
|
||||||
|
value = module.labs_common_variables.el7_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "policy_list" {
|
||||||
|
value = module.labs_common_variables.policy_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "flavor_list" {
|
||||||
|
value = module.labs_common_variables.flavor_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "default_security_group_name" {
|
||||||
|
value = module.labs_common_variables.default_security_group_name
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,186 @@
|
||||||
|
# Define required providers
|
||||||
|
terraform {
|
||||||
|
required_version = ">= 0.14.0"
|
||||||
|
required_providers {
|
||||||
|
openstack = {
|
||||||
|
source = "terraform-provider-openstack/openstack"
|
||||||
|
version = "~> 1.53.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "ISTI-Cloud"
|
||||||
|
}
|
||||||
|
|
||||||
|
module "labs_common_variables" {
|
||||||
|
source = "../../modules/labs_common_variables"
|
||||||
|
}
|
||||||
|
# Main module
|
||||||
|
module "main_private_net_and_dns_zone" {
|
||||||
|
source = "../../modules/labs_private_net_and_dns_zone"
|
||||||
|
dns_zone = {
|
||||||
|
zone_name = "sse.cloud.isti.cnr.it."
|
||||||
|
email = "postmaster@isti.cnr.it"
|
||||||
|
description = "DNS primary zone for the SSE project"
|
||||||
|
ttl = 8600
|
||||||
|
}
|
||||||
|
os_project_data = {
|
||||||
|
name = "sse-lab-cloud"
|
||||||
|
id = "dcf2a765db574ba4a4a1b307eac8c6ae"
|
||||||
|
}
|
||||||
|
|
||||||
|
main_private_network = {
|
||||||
|
name = "sse-cloud-main"
|
||||||
|
description = "SSE private network (use this as the main network)"
|
||||||
|
}
|
||||||
|
main_private_subnet = {
|
||||||
|
name = "sse-cloud-main-subnet"
|
||||||
|
description = "SSE main private subnet"
|
||||||
|
cidr = "10.22.0.0/21"
|
||||||
|
gateway_ip = "10.22.0.1"
|
||||||
|
allocation_start = "10.22.1.1"
|
||||||
|
allocation_end = "10.22.7.254"
|
||||||
|
}
|
||||||
|
external_router = {
|
||||||
|
name = "sse-lab-cloud-external-router"
|
||||||
|
description = "SSE main router"
|
||||||
|
}
|
||||||
|
default_firewall_rules_map = {
|
||||||
|
"ssh_from_isti_net" = {
|
||||||
|
description = "SSH from the ISTI network"
|
||||||
|
source = module.labs_common_variables.ssh_sources.isti_net_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_1" = {
|
||||||
|
description = "SSH from the S2I2S VPN 1"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_1_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_2" = {
|
||||||
|
description = "SSH from the S2I2S VPN 2"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_2_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"http_from_everywhere" = {
|
||||||
|
description = "HTTP from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 80
|
||||||
|
port_max = 80
|
||||||
|
},
|
||||||
|
"https_from_everywhere" = {
|
||||||
|
description = "HTTPS from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 443
|
||||||
|
port_max = 443
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "os_project_data" {
|
||||||
|
value = module.main_private_net_and_dns_zone.os_project_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_subnet_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network
|
||||||
|
}
|
||||||
|
output "main_subnet_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_gateway_ip" {
|
||||||
|
value = module.main_private_net_and_dns_zone.external_gateway_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_region" {
|
||||||
|
value = module.labs_common_variables.main_region
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network" {
|
||||||
|
value = module.labs_common_variables.external_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network_id" {
|
||||||
|
value = module.labs_common_variables.external_network.id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "floating_ip_pools" {
|
||||||
|
value = module.labs_common_variables.floating_ip_pools
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "resolvers_ip" {
|
||||||
|
value = module.labs_common_variables.resolvers_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "mtu_size" {
|
||||||
|
value = module.labs_common_variables.mtu_size
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zones_names" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_no_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_no_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_with_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_with_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ssh_sources" {
|
||||||
|
value = module.labs_common_variables.ssh_sources
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu_2204" {
|
||||||
|
value = module.labs_common_variables.ubuntu_2204
|
||||||
|
}
|
||||||
|
|
||||||
|
output "centos_7" {
|
||||||
|
value = module.labs_common_variables.centos_7
|
||||||
|
}
|
||||||
|
|
||||||
|
output "almalinux_9" {
|
||||||
|
value = module.labs_common_variables.almalinux_9
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu2204_data_file" {
|
||||||
|
value = module.labs_common_variables.ubuntu2204_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "el7_data_file" {
|
||||||
|
value = module.labs_common_variables.el7_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "policy_list" {
|
||||||
|
value = module.labs_common_variables.policy_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "flavor_list" {
|
||||||
|
value = module.labs_common_variables.flavor_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "default_security_group_name" {
|
||||||
|
value = module.labs_common_variables.default_security_group_name
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,186 @@
|
||||||
|
# Define required providers
|
||||||
|
terraform {
|
||||||
|
required_version = ">= 0.14.0"
|
||||||
|
required_providers {
|
||||||
|
openstack = {
|
||||||
|
source = "terraform-provider-openstack/openstack"
|
||||||
|
version = "~> 1.53.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "ISTI-Cloud"
|
||||||
|
}
|
||||||
|
|
||||||
|
module "labs_common_variables" {
|
||||||
|
source = "../../modules/labs_common_variables"
|
||||||
|
}
|
||||||
|
# Main module
|
||||||
|
module "main_private_net_and_dns_zone" {
|
||||||
|
source = "../../modules/labs_private_net_and_dns_zone"
|
||||||
|
dns_zone = {
|
||||||
|
zone_name = "vc.cloud.isti.cnr.it."
|
||||||
|
email = "postmaster@isti.cnr.it"
|
||||||
|
description = "DNS primary zone for the VC project"
|
||||||
|
ttl = 8600
|
||||||
|
}
|
||||||
|
os_project_data = {
|
||||||
|
name = "vc-lab-cloud"
|
||||||
|
id = "fa2c4f8e02be4a2b90758b60837cd719"
|
||||||
|
}
|
||||||
|
|
||||||
|
main_private_network = {
|
||||||
|
name = "vc-cloud-main"
|
||||||
|
description = "VC private network (use this as the main network)"
|
||||||
|
}
|
||||||
|
main_private_subnet = {
|
||||||
|
name = "vc-cloud-main-subnet"
|
||||||
|
description = "VC main private subnet"
|
||||||
|
cidr = "10.23.0.0/21"
|
||||||
|
gateway_ip = "10.23.0.1"
|
||||||
|
allocation_start = "10.23.1.1"
|
||||||
|
allocation_end = "10.23.7.254"
|
||||||
|
}
|
||||||
|
external_router = {
|
||||||
|
name = "vc-lab-cloud-external-router"
|
||||||
|
description = "VC main router"
|
||||||
|
}
|
||||||
|
default_firewall_rules_map = {
|
||||||
|
"ssh_from_isti_net" = {
|
||||||
|
description = "SSH from the ISTI network"
|
||||||
|
source = module.labs_common_variables.ssh_sources.isti_net_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_1" = {
|
||||||
|
description = "SSH from the S2I2S VPN 1"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_1_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_2" = {
|
||||||
|
description = "SSH from the S2I2S VPN 2"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_2_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"http_from_everywhere" = {
|
||||||
|
description = "HTTP from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 80
|
||||||
|
port_max = 80
|
||||||
|
},
|
||||||
|
"https_from_everywhere" = {
|
||||||
|
description = "HTTPS from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 443
|
||||||
|
port_max = 443
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "os_project_data" {
|
||||||
|
value = module.main_private_net_and_dns_zone.os_project_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_subnet_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network
|
||||||
|
}
|
||||||
|
output "main_subnet_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_gateway_ip" {
|
||||||
|
value = module.main_private_net_and_dns_zone.external_gateway_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_region" {
|
||||||
|
value = module.labs_common_variables.main_region
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network" {
|
||||||
|
value = module.labs_common_variables.external_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network_id" {
|
||||||
|
value = module.labs_common_variables.external_network.id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "floating_ip_pools" {
|
||||||
|
value = module.labs_common_variables.floating_ip_pools
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "resolvers_ip" {
|
||||||
|
value = module.labs_common_variables.resolvers_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "mtu_size" {
|
||||||
|
value = module.labs_common_variables.mtu_size
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zones_names" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_no_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_no_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_with_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_with_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ssh_sources" {
|
||||||
|
value = module.labs_common_variables.ssh_sources
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu_2204" {
|
||||||
|
value = module.labs_common_variables.ubuntu_2204
|
||||||
|
}
|
||||||
|
|
||||||
|
output "centos_7" {
|
||||||
|
value = module.labs_common_variables.centos_7
|
||||||
|
}
|
||||||
|
|
||||||
|
output "almalinux_9" {
|
||||||
|
value = module.labs_common_variables.almalinux_9
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu2204_data_file" {
|
||||||
|
value = module.labs_common_variables.ubuntu2204_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "el7_data_file" {
|
||||||
|
value = module.labs_common_variables.el7_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "policy_list" {
|
||||||
|
value = module.labs_common_variables.policy_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "flavor_list" {
|
||||||
|
value = module.labs_common_variables.flavor_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "default_security_group_name" {
|
||||||
|
value = module.labs_common_variables.default_security_group_name
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,186 @@
|
||||||
|
# Define required providers
|
||||||
|
terraform {
|
||||||
|
required_version = ">= 0.14.0"
|
||||||
|
required_providers {
|
||||||
|
openstack = {
|
||||||
|
source = "terraform-provider-openstack/openstack"
|
||||||
|
version = "~> 1.53.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "ISTI-Cloud"
|
||||||
|
}
|
||||||
|
|
||||||
|
module "labs_common_variables" {
|
||||||
|
source = "../../modules/labs_common_variables"
|
||||||
|
}
|
||||||
|
# Main module
|
||||||
|
module "main_private_net_and_dns_zone" {
|
||||||
|
source = "../../modules/labs_private_net_and_dns_zone"
|
||||||
|
dns_zone = {
|
||||||
|
zone_name = "wn.cloud.isti.cnr.it."
|
||||||
|
email = "postmaster@isti.cnr.it"
|
||||||
|
description = "DNS primary zone for the WN project"
|
||||||
|
ttl = 8600
|
||||||
|
}
|
||||||
|
os_project_data = {
|
||||||
|
name = "wn-lab-cloud"
|
||||||
|
id = "3dbab8216c914cda82e677cde415e36b"
|
||||||
|
}
|
||||||
|
|
||||||
|
main_private_network = {
|
||||||
|
name = "wn-cloud-main"
|
||||||
|
description = "WN private network (use this as the main network)"
|
||||||
|
}
|
||||||
|
main_private_subnet = {
|
||||||
|
name = "wn-cloud-main-subnet"
|
||||||
|
description = "WN main private subnet"
|
||||||
|
cidr = "10.17.0.0/21"
|
||||||
|
gateway_ip = "10.17.0.1"
|
||||||
|
allocation_start = "10.17.1.1"
|
||||||
|
allocation_end = "10.17.7.254"
|
||||||
|
}
|
||||||
|
external_router = {
|
||||||
|
name = "wn-lab-cloud-external-router"
|
||||||
|
description = "WN main router"
|
||||||
|
}
|
||||||
|
default_firewall_rules_map = {
|
||||||
|
"ssh_from_isti_net" = {
|
||||||
|
description = "SSH from the ISTI network"
|
||||||
|
source = module.labs_common_variables.ssh_sources.isti_net_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_1" = {
|
||||||
|
description = "SSH from the S2I2S VPN 1"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_1_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"ssh_from_s2i2s_vpn_2" = {
|
||||||
|
description = "SSH from the S2I2S VPN 2"
|
||||||
|
source = module.labs_common_variables.ssh_sources.s2i2s_vpn_2_cidr
|
||||||
|
port_min = 22
|
||||||
|
port_max = 22
|
||||||
|
},
|
||||||
|
"http_from_everywhere" = {
|
||||||
|
description = "HTTP from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 80
|
||||||
|
port_max = 80
|
||||||
|
},
|
||||||
|
"https_from_everywhere" = {
|
||||||
|
description = "HTTPS from everywhere"
|
||||||
|
source = "0.0.0.0/0"
|
||||||
|
port_min = 443
|
||||||
|
port_max = 443
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "os_project_data" {
|
||||||
|
value = module.main_private_net_and_dns_zone.os_project_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns_zone_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.dns_zone_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_private_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_private_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_subnet_network" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network
|
||||||
|
}
|
||||||
|
output "main_subnet_network_id" {
|
||||||
|
value = module.main_private_net_and_dns_zone.main_subnet_network_id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_gateway_ip" {
|
||||||
|
value = module.main_private_net_and_dns_zone.external_gateway_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "main_region" {
|
||||||
|
value = module.labs_common_variables.main_region
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network" {
|
||||||
|
value = module.labs_common_variables.external_network
|
||||||
|
}
|
||||||
|
|
||||||
|
output "external_network_id" {
|
||||||
|
value = module.labs_common_variables.external_network.id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "floating_ip_pools" {
|
||||||
|
value = module.labs_common_variables.floating_ip_pools
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output "resolvers_ip" {
|
||||||
|
value = module.labs_common_variables.resolvers_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "mtu_size" {
|
||||||
|
value = module.labs_common_variables.mtu_size
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zones_names" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_no_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_no_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "availability_zone_with_gpu_name" {
|
||||||
|
value = module.labs_common_variables.availability_zones_names.availability_zone_with_gpu
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ssh_sources" {
|
||||||
|
value = module.labs_common_variables.ssh_sources
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu_2204" {
|
||||||
|
value = module.labs_common_variables.ubuntu_2204
|
||||||
|
}
|
||||||
|
|
||||||
|
output "centos_7" {
|
||||||
|
value = module.labs_common_variables.centos_7
|
||||||
|
}
|
||||||
|
|
||||||
|
output "almalinux_9" {
|
||||||
|
value = module.labs_common_variables.almalinux_9
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ubuntu2204_data_file" {
|
||||||
|
value = module.labs_common_variables.ubuntu2204_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "el7_data_file" {
|
||||||
|
value = module.labs_common_variables.el7_data_file
|
||||||
|
}
|
||||||
|
|
||||||
|
output "policy_list" {
|
||||||
|
value = module.labs_common_variables.policy_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "flavor_list" {
|
||||||
|
value = module.labs_common_variables.flavor_list
|
||||||
|
}
|
||||||
|
|
||||||
|
output "default_security_group_name" {
|
||||||
|
value = module.labs_common_variables.default_security_group_name
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue