# S2I2S Project Setup # This module sets up the core infrastructure components: # - Security groups # - SSH jump proxy VM # - Internal CA VM # - HAProxy L7 VMs (targets for Octavia) # - Prometheus VM # - OVN-based Octavia load balancer # Load common variables module "labs_common_variables" { source = "../../modules/labs_common_variables" } # Load project-specific variables module "project_variables" { source = "../variables" } # Reference the network/DNS state from main_net_dns_router data "terraform_remote_state" "privnet_dns_router" { backend = "local" config = { path = "../main_net_dns_router/terraform.tfstate" } } # SSH key reference module module "ssh_settings" { source = "../../modules/ssh-key-ref" } # Local variables for easier access locals { # From network/DNS state dns_zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id dns_zone = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone main_private_network = data.terraform_remote_state.privnet_dns_router.outputs.main_private_network main_private_network_id = data.terraform_remote_state.privnet_dns_router.outputs.main_private_network_id main_private_subnet = data.terraform_remote_state.privnet_dns_router.outputs.main_subnet_network main_private_subnet_id = data.terraform_remote_state.privnet_dns_router.outputs.main_subnet_network_id os_project_data = data.terraform_remote_state.privnet_dns_router.outputs.os_project_data # From project variables basic_services_ip = module.project_variables.basic_services_ip main_haproxy_l7_ip = module.project_variables.main_haproxy_l7_ip default_security_group_name = module.project_variables.default_security_group_name # From common variables ssh_sources = module.labs_common_variables.ssh_sources floating_ip_pools = module.labs_common_variables.floating_ip_pools ssh_jump_proxy = module.labs_common_variables.ssh_jump_proxy internal_ca_data = module.labs_common_variables.internal_ca_data ubuntu_2204 = module.labs_common_variables.ubuntu_2204 ubuntu_2404 = module.labs_common_variables.ubuntu_2404 availability_zones_names = module.labs_common_variables.availability_zones_names ubuntu2204_data_file = module.labs_common_variables.ubuntu2204_data_file ubuntu2404_data_file = module.labs_common_variables.ubuntu2404_data_file mtu_size = module.labs_common_variables.mtu_size main_region = module.labs_common_variables.main_region resolvers_ip = module.labs_common_variables.resolvers_ip # From project variables - HAProxy and Prometheus haproxy_l7_data = module.project_variables.haproxy_l7_data prometheus_server_data = module.project_variables.prometheus_server_data # Octavia LB settings for OVN driver octavia_lb_name = module.project_variables.main_octavia_lb_name octavia_lb_description = module.project_variables.main_octavia_lb_description octavia_lb_hostname = "octavia-main-lb" }