72 lines
3.1 KiB
HCL
72 lines
3.1 KiB
HCL
# 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"
|
|
}
|