162 lines
5.6 KiB
HCL
162 lines
5.6 KiB
HCL
/* ------- project 1 - landingzone ------------ */
|
|
resource "stackit_network" "landingzone_wan" {
|
|
project_id = module.project.project_info["landingzone"].project_id
|
|
name = "landingzone_wan"
|
|
ipv4_nameservers = ["1.1.1.1", "8.8.8.8"]
|
|
ipv4_prefix = "10.220.0.0/24"
|
|
routed = true
|
|
}
|
|
|
|
resource "stackit_network" "landingzone_lan" {
|
|
project_id = module.project.project_info["landingzone"].project_id
|
|
name = "landingzone_lan"
|
|
ipv4_prefix = "10.220.1.0/24"
|
|
routed = true
|
|
}
|
|
|
|
resource "stackit_network_interface" "landingzone_wan" {
|
|
project_id = module.project.project_info["landingzone"].project_id
|
|
network_id = stackit_network.landingzone_wan.network_id
|
|
security = false
|
|
name = "MGMT"
|
|
ipv4 = "10.220.0.254"
|
|
|
|
}
|
|
|
|
resource "stackit_network_interface" "landingzone_lan" {
|
|
project_id = module.project.project_info["landingzone"].project_id
|
|
network_id = stackit_network.landingzone_lan.network_id
|
|
security = false
|
|
name = "LAN1"
|
|
}
|
|
|
|
/* ---------- project 2 core ------------------ */
|
|
resource "stackit_network" "core_lan" {
|
|
project_id = module.project.project_info["core"].project_id
|
|
name = "core_lan"
|
|
ipv4_prefix = "10.220.5.0/24"
|
|
routed = true
|
|
}
|
|
|
|
resource "stackit_network_interface" "core_lan" {
|
|
project_id = module.project.project_info["core"].project_id
|
|
network_id = stackit_network.core_lan.network_id
|
|
security = false
|
|
name = "CORELAN"
|
|
security_group_ids = [ stackit_security_group.example.security_group_id ]
|
|
}
|
|
|
|
/* this is for adding a second network interface to the core project (for WAN access).*/
|
|
resource "stackit_network" "core_wan" {
|
|
project_id = module.project.project_info["core"].project_id
|
|
name = "core_wan"
|
|
ipv4_prefix = "10.220.50.0/24"
|
|
routed = true
|
|
}
|
|
|
|
resource "stackit_network_interface" "core_wan" {
|
|
project_id = module.project.project_info["core"].project_id
|
|
network_id = stackit_network.core_wan.network_id
|
|
security = false
|
|
name = "core_wan_if"
|
|
}
|
|
/**/
|
|
|
|
/* ---------- project 3 backup ------------------ */
|
|
resource "stackit_network" "backup_lan" {
|
|
project_id = module.project.project_info["backup"].project_id
|
|
name = "backup_lan"
|
|
ipv4_prefix = "10.220.6.0/24"
|
|
routed = true
|
|
}
|
|
|
|
resource "stackit_network_interface" "backup_lan" {
|
|
project_id = module.project.project_info["backup"].project_id
|
|
network_id = stackit_network.backup_lan.network_id
|
|
security = false
|
|
name = "BACKUPLAN"
|
|
//security_group_ids = [ stackit_security_group.example.security_group_id ]
|
|
}
|
|
|
|
/* project 4 for SKE, so no configuration necessary here */
|
|
|
|
/* ------- project 5 - vpn ------------ */
|
|
resource "stackit_network" "vpn_wan" {
|
|
project_id = module.project.project_info["vpn"].project_id
|
|
name = "vpn_wan"
|
|
ipv4_nameservers = ["1.1.1.1", "8.8.8.8"]
|
|
ipv4_prefix = "10.230.0.0/24"
|
|
routed = true
|
|
}
|
|
|
|
resource "stackit_network" "vpn_lan" {
|
|
project_id = module.project.project_info["vpn"].project_id
|
|
name = "vpn_lan"
|
|
ipv4_prefix = "10.230.1.0/24"
|
|
routed = true
|
|
}
|
|
|
|
resource "stackit_network_interface" "vpn_wan" {
|
|
project_id = module.project.project_info["vpn"].project_id
|
|
network_id = stackit_network.vpn_wan.network_id
|
|
security = false
|
|
name = "MGMT"
|
|
ipv4 = "10.230.0.254"
|
|
|
|
}
|
|
|
|
resource "stackit_network_interface" "vpn_lan" {
|
|
project_id = module.project.project_info["vpn"].project_id
|
|
network_id = stackit_network.vpn_lan.network_id
|
|
security = false
|
|
name = "VPNLAN"
|
|
}
|
|
|
|
/* ---------- project 6 infra ------------------ */
|
|
resource "stackit_network" "infra_lan" {
|
|
project_id = module.project.project_info["infra"].project_id
|
|
name = "infra_lan"
|
|
ipv4_prefix = "10.230.5.0/24"
|
|
routed = true
|
|
}
|
|
|
|
resource "stackit_network_interface" "infra_lan" {
|
|
project_id = module.project.project_info["infra"].project_id
|
|
network_id = stackit_network.infra_lan.network_id
|
|
security = false
|
|
name = "INFRALAN"
|
|
security_group_ids = [ stackit_security_group.example_beta.security_group_id ]
|
|
}
|
|
|
|
/* ---------- public IP configuration------------- */
|
|
resource "stackit_public_ip" "landingzone_wan" {
|
|
project_id = module.project.project_info["landingzone"].project_id
|
|
network_interface_id = stackit_network_interface.landingzone_wan.network_interface_id
|
|
}
|
|
resource "stackit_public_ip" "vpn_wan" {
|
|
project_id = module.project.project_info["vpn"].project_id
|
|
network_interface_id = stackit_network_interface.vpn_wan.network_interface_id
|
|
}
|
|
|
|
/* this is for adding a public IP to the second project (core) for WAN access. */
|
|
resource "stackit_public_ip" "core_wan" {
|
|
project_id = module.project.project_info["core"].project_id
|
|
network_interface_id = stackit_network_interface.core_wan.network_interface_id
|
|
}
|
|
|
|
/* Output the public IPs for both projects */
|
|
output "public_ips" {
|
|
value = {
|
|
"pfsense-alpha" = stackit_public_ip.landingzone_wan.ip
|
|
"pfsense-beta" = stackit_public_ip.vpn_wan.ip
|
|
"wan_server" = stackit_public_ip.core_wan.ip
|
|
}
|
|
}
|
|
|
|
output "private_ips" {
|
|
value = {
|
|
"linux-alpha" = stackit_network_interface.core_lan.ipv4
|
|
"linux-beta" = stackit_network_interface.infra_lan.ipv4
|
|
}
|
|
}
|
|
|