Separated deployment into two projects.

This commit is contained in:
Sławek Koszewski 2025-03-28 21:54:01 +01:00
parent d904e572c5
commit 3959d98388

16
main.tf
View File

@ -30,6 +30,7 @@ resource "google_compute_subnetwork" "net_hub" {
resource "google_compute_network" "vpc_spoke" { resource "google_compute_network" "vpc_spoke" {
name = "dom-lab-spoke" name = "dom-lab-spoke"
auto_create_subnetworks = false auto_create_subnetworks = false
project = "spoke-network"
} }
resource "google_compute_subnetwork" "net_spoke" { resource "google_compute_subnetwork" "net_spoke" {
@ -37,6 +38,7 @@ resource "google_compute_subnetwork" "net_spoke" {
region = "europe-central2" region = "europe-central2"
ip_cidr_range = var.spoke_cidr ip_cidr_range = var.spoke_cidr
network = google_compute_network.vpc_spoke.id network = google_compute_network.vpc_spoke.id
project = "spoke-network"
} }
# Peering # Peering
@ -77,6 +79,7 @@ resource "google_compute_router" "spoke_cloud_router" {
name = "spoke-cr" name = "spoke-cr"
network = google_compute_network.vpc_spoke.id network = google_compute_network.vpc_spoke.id
region = "europe-central2" region = "europe-central2"
project = "spoke-network"
} }
resource "google_compute_router_nat" "spoke_nat" { resource "google_compute_router_nat" "spoke_nat" {
@ -85,6 +88,7 @@ resource "google_compute_router_nat" "spoke_nat" {
router = google_compute_router.spoke_cloud_router.name router = google_compute_router.spoke_cloud_router.name
nat_ip_allocate_option = "AUTO_ONLY" nat_ip_allocate_option = "AUTO_ONLY"
source_subnetwork_ip_ranges_to_nat = "ALL_SUBNETWORKS_ALL_IP_RANGES" source_subnetwork_ip_ranges_to_nat = "ALL_SUBNETWORKS_ALL_IP_RANGES"
project = "spoke-network"
} }
# Cloud VPN # Cloud VPN
@ -176,6 +180,8 @@ resource "google_compute_instance" "vm_hub" {
metadata = { metadata = {
ssh-keys = "${var.ssh[0].public_key} ${var.ssh[0].ssh_user}" ssh-keys = "${var.ssh[0].public_key} ${var.ssh[0].ssh_user}"
} }
depends_on = [ google_compute_subnetwork.net_hub ]
} }
output "vm_hub_ip" { output "vm_hub_ip" {
@ -187,7 +193,7 @@ resource "google_compute_instance" "vm_spoke" {
machine_type = "e2-micro" machine_type = "e2-micro"
can_ip_forward = false can_ip_forward = false
description = "A VM in the spoke network" description = "A VM in the spoke network"
# project = "spoke-network" project = "spoke-network"
boot_disk { boot_disk {
initialize_params { initialize_params {
@ -196,14 +202,16 @@ resource "google_compute_instance" "vm_spoke" {
} }
network_interface { network_interface {
network = "dom-lab-spoke" network = "dom-lab-spoke"
subnetwork = "spoke" subnetwork = "spoke"
# subnetwork_project = "spoke-network" subnetwork_project = "spoke-network"
} }
metadata = { metadata = {
ssh-keys = "${var.ssh[0].public_key} ${var.ssh[0].ssh_user}" ssh-keys = "${var.ssh[0].public_key} ${var.ssh[0].ssh_user}"
} }
depends_on = [ google_compute_subnetwork.net_spoke ]
} }
output "vm_spoke_ip" { output "vm_spoke_ip" {