diff --git a/terraform/environments/dev/terraform.tfstate b/terraform/environments/dev/terraform.tfstate index c8e975f..5aec36c 100644 --- a/terraform/environments/dev/terraform.tfstate +++ b/terraform/environments/dev/terraform.tfstate @@ -1,11 +1,11 @@ { "version": 4, "terraform_version": "1.14.1", - "serial": 16, + "serial": 40, "lineage": "39fa9bd0-98c8-1759-7f73-ed127b902d8b", "outputs": { "frontend_public_ip": { - "value": null, + "value": "136.113.249.164", "type": "string" }, "instance_names": { @@ -25,9 +25,9 @@ }, "internal_ips": { "value": { - "backend": null, - "database": null, - "frontend": null + "backend": "10.0.2.2", + "database": "10.0.3.2", + "frontend": "10.0.1.2" }, "type": [ "object", @@ -49,9 +49,9 @@ }, "subnet_ids": { "value": { - "backend": null, - "database": null, - "frontend": null + "backend": "projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-backend-subnet", + "database": "projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-database-subnet", + "frontend": "projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-frontend-subnet" }, "type": [ "object", @@ -68,6 +68,474 @@ } }, "resources": [ + { + "module": "module.compute", + "mode": "managed", + "type": "google_compute_instance", + "name": "backend", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 6, + "attributes": { + "advanced_machine_features": [], + "allow_stopping_for_update": null, + "attached_disk": [], + "boot_disk": [ + { + "auto_delete": true, + "device_name": "persistent-disk-0", + "disk_encryption_key_raw": "", + "disk_encryption_key_sha256": "", + "initialize_params": [ + { + "enable_confidential_compute": false, + "image": "https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-11-bullseye-v20251111", + "labels": {}, + "provisioned_iops": 0, + "provisioned_throughput": 0, + "resource_manager_tags": {}, + "resource_policies": [], + "size": 10, + "storage_pool": "", + "type": "pd-standard" + } + ], + "interface": "", + "kms_key_self_link": "", + "mode": "READ_WRITE", + "source": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/zones/us-central1-a/disks/backend-instance" + } + ], + "can_ip_forward": false, + "confidential_instance_config": [], + "cpu_platform": "Intel Broadwell", + "creation_timestamp": "2025-12-03T23:57:37.697-08:00", + "current_status": "RUNNING", + "deletion_protection": false, + "description": "", + "desired_status": null, + "effective_labels": { + "goog-terraform-provisioned": "true" + }, + "enable_display": false, + "guest_accelerator": [], + "hostname": "", + "id": "projects/western-diorama-374821/zones/us-central1-a/instances/backend-instance", + "instance_id": "1681706787270328350", + "key_revocation_action_type": "", + "label_fingerprint": "vezUS-42LLM=", + "labels": {}, + "machine_type": "e2-small", + "metadata": { + "enable-oslogin": "TRUE" + }, + "metadata_fingerprint": "VIFIa5rN4V4=", + "metadata_startup_script": null, + "min_cpu_platform": "", + "name": "backend-instance", + "network_interface": [ + { + "access_config": [], + "alias_ip_range": [], + "internal_ipv6_prefix_length": 0, + "ipv6_access_config": [], + "ipv6_access_type": "", + "ipv6_address": "", + "name": "nic0", + "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", + "network_ip": "10.0.2.2", + "nic_type": "", + "queue_count": 0, + "stack_type": "IPV4_ONLY", + "subnetwork": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-backend-subnet", + "subnetwork_project": "western-diorama-374821" + } + ], + "network_performance_config": [], + "params": [], + "project": "western-diorama-374821", + "reservation_affinity": [], + "resource_policies": [], + "scheduling": [ + { + "automatic_restart": true, + "instance_termination_action": "", + "local_ssd_recovery_timeout": [], + "max_run_duration": [], + "min_node_cpus": 0, + "node_affinities": [], + "on_host_maintenance": "MIGRATE", + "on_instance_stop_action": [], + "preemptible": false, + "provisioning_model": "STANDARD" + } + ], + "scratch_disk": [], + "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/zones/us-central1-a/instances/backend-instance", + "service_account": [], + "shielded_instance_config": [ + { + "enable_integrity_monitoring": true, + "enable_secure_boot": false, + "enable_vtpm": true + } + ], + "tags": [ + "backend", + "ssh" + ], + "tags_fingerprint": "N2bbCLFli_k=", + "terraform_labels": { + "goog-terraform-provisioned": "true" + }, + "timeouts": null, + "zone": "us-central1-a" + }, + "sensitive_attributes": [ + [ + { + "type": "get_attr", + "value": "boot_disk" + }, + { + "type": "index", + "value": { + "value": 0, + "type": "number" + } + }, + { + "type": "get_attr", + "value": "disk_encryption_key_raw" + } + ] + ], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiNiJ9", + "dependencies": [ + "module.network.google_compute_network.vpc", + "module.network.google_compute_subnetwork.backend", + "module.network.google_compute_subnetwork.database", + "module.network.google_compute_subnetwork.frontend" + ] + } + ] + }, + { + "module": "module.compute", + "mode": "managed", + "type": "google_compute_instance", + "name": "database", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 6, + "attributes": { + "advanced_machine_features": [], + "allow_stopping_for_update": null, + "attached_disk": [], + "boot_disk": [ + { + "auto_delete": true, + "device_name": "persistent-disk-0", + "disk_encryption_key_raw": "", + "disk_encryption_key_sha256": "", + "initialize_params": [ + { + "enable_confidential_compute": false, + "image": "https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-11-bullseye-v20251111", + "labels": {}, + "provisioned_iops": 0, + "provisioned_throughput": 0, + "resource_manager_tags": {}, + "resource_policies": [], + "size": 20, + "storage_pool": "", + "type": "pd-standard" + } + ], + "interface": "", + "kms_key_self_link": "", + "mode": "READ_WRITE", + "source": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/zones/us-central1-a/disks/database-instance" + } + ], + "can_ip_forward": false, + "confidential_instance_config": [], + "cpu_platform": "Intel Broadwell", + "creation_timestamp": "2025-12-03T23:57:37.573-08:00", + "current_status": "RUNNING", + "deletion_protection": false, + "description": "", + "desired_status": null, + "effective_labels": { + "goog-terraform-provisioned": "true" + }, + "enable_display": false, + "guest_accelerator": [], + "hostname": "", + "id": "projects/western-diorama-374821/zones/us-central1-a/instances/database-instance", + "instance_id": "5790632064401047582", + "key_revocation_action_type": "", + "label_fingerprint": "vezUS-42LLM=", + "labels": {}, + "machine_type": "e2-small", + "metadata": { + "enable-oslogin": "TRUE" + }, + "metadata_fingerprint": "VIFIa5rN4V4=", + "metadata_startup_script": null, + "min_cpu_platform": "", + "name": "database-instance", + "network_interface": [ + { + "access_config": [], + "alias_ip_range": [], + "internal_ipv6_prefix_length": 0, + "ipv6_access_config": [], + "ipv6_access_type": "", + "ipv6_address": "", + "name": "nic0", + "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", + "network_ip": "10.0.3.2", + "nic_type": "", + "queue_count": 0, + "stack_type": "IPV4_ONLY", + "subnetwork": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-database-subnet", + "subnetwork_project": "western-diorama-374821" + } + ], + "network_performance_config": [], + "params": [], + "project": "western-diorama-374821", + "reservation_affinity": [], + "resource_policies": [], + "scheduling": [ + { + "automatic_restart": true, + "instance_termination_action": "", + "local_ssd_recovery_timeout": [], + "max_run_duration": [], + "min_node_cpus": 0, + "node_affinities": [], + "on_host_maintenance": "MIGRATE", + "on_instance_stop_action": [], + "preemptible": false, + "provisioning_model": "STANDARD" + } + ], + "scratch_disk": [], + "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/zones/us-central1-a/instances/database-instance", + "service_account": [], + "shielded_instance_config": [ + { + "enable_integrity_monitoring": true, + "enable_secure_boot": false, + "enable_vtpm": true + } + ], + "tags": [ + "database", + "ssh" + ], + "tags_fingerprint": "22sTRfPQYj4=", + "terraform_labels": { + "goog-terraform-provisioned": "true" + }, + "timeouts": null, + "zone": "us-central1-a" + }, + "sensitive_attributes": [ + [ + { + "type": "get_attr", + "value": "boot_disk" + }, + { + "type": "index", + "value": { + "value": 0, + "type": "number" + } + }, + { + "type": "get_attr", + "value": "disk_encryption_key_raw" + } + ] + ], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiNiJ9", + "dependencies": [ + "module.network.google_compute_network.vpc", + "module.network.google_compute_subnetwork.backend", + "module.network.google_compute_subnetwork.database", + "module.network.google_compute_subnetwork.frontend" + ] + } + ] + }, + { + "module": "module.compute", + "mode": "managed", + "type": "google_compute_instance", + "name": "frontend", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 6, + "attributes": { + "advanced_machine_features": [], + "allow_stopping_for_update": null, + "attached_disk": [], + "boot_disk": [ + { + "auto_delete": true, + "device_name": "persistent-disk-0", + "disk_encryption_key_raw": "", + "disk_encryption_key_sha256": "", + "initialize_params": [ + { + "enable_confidential_compute": false, + "image": "https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-11-bullseye-v20251111", + "labels": {}, + "provisioned_iops": 0, + "provisioned_throughput": 0, + "resource_manager_tags": {}, + "resource_policies": [], + "size": 10, + "storage_pool": "", + "type": "pd-standard" + } + ], + "interface": "", + "kms_key_self_link": "", + "mode": "READ_WRITE", + "source": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/zones/us-central1-a/disks/frontend-instance" + } + ], + "can_ip_forward": false, + "confidential_instance_config": [], + "cpu_platform": "Intel Broadwell", + "creation_timestamp": "2025-12-03T23:57:37.694-08:00", + "current_status": "RUNNING", + "deletion_protection": false, + "description": "", + "desired_status": null, + "effective_labels": { + "goog-terraform-provisioned": "true" + }, + "enable_display": false, + "guest_accelerator": [], + "hostname": "", + "id": "projects/western-diorama-374821/zones/us-central1-a/instances/frontend-instance", + "instance_id": "1963198896605528094", + "key_revocation_action_type": "", + "label_fingerprint": "vezUS-42LLM=", + "labels": {}, + "machine_type": "e2-small", + "metadata": { + "enable-oslogin": "TRUE" + }, + "metadata_fingerprint": "VIFIa5rN4V4=", + "metadata_startup_script": null, + "min_cpu_platform": "", + "name": "frontend-instance", + "network_interface": [ + { + "access_config": [ + { + "nat_ip": "136.113.249.164", + "network_tier": "PREMIUM", + "public_ptr_domain_name": "" + } + ], + "alias_ip_range": [], + "internal_ipv6_prefix_length": 0, + "ipv6_access_config": [], + "ipv6_access_type": "", + "ipv6_address": "", + "name": "nic0", + "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", + "network_ip": "10.0.1.2", + "nic_type": "", + "queue_count": 0, + "stack_type": "IPV4_ONLY", + "subnetwork": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-frontend-subnet", + "subnetwork_project": "western-diorama-374821" + } + ], + "network_performance_config": [], + "params": [], + "project": "western-diorama-374821", + "reservation_affinity": [], + "resource_policies": [], + "scheduling": [ + { + "automatic_restart": true, + "instance_termination_action": "", + "local_ssd_recovery_timeout": [], + "max_run_duration": [], + "min_node_cpus": 0, + "node_affinities": [], + "on_host_maintenance": "MIGRATE", + "on_instance_stop_action": [], + "preemptible": false, + "provisioning_model": "STANDARD" + } + ], + "scratch_disk": [], + "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/zones/us-central1-a/instances/frontend-instance", + "service_account": [], + "shielded_instance_config": [ + { + "enable_integrity_monitoring": true, + "enable_secure_boot": false, + "enable_vtpm": true + } + ], + "tags": [ + "frontend", + "ssh" + ], + "tags_fingerprint": "sermMtqzdso=", + "terraform_labels": { + "goog-terraform-provisioned": "true" + }, + "timeouts": null, + "zone": "us-central1-a" + }, + "sensitive_attributes": [ + [ + { + "type": "get_attr", + "value": "boot_disk" + }, + { + "type": "index", + "value": { + "value": 0, + "type": "number" + } + }, + { + "type": "get_attr", + "value": "disk_encryption_key_raw" + } + ] + ], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiNiJ9", + "dependencies": [ + "module.network.google_compute_network.vpc", + "module.network.google_compute_subnetwork.backend", + "module.network.google_compute_subnetwork.database", + "module.network.google_compute_subnetwork.frontend" + ] + } + ] + }, { "module": "module.iam", "mode": "managed", @@ -186,6 +654,213 @@ } ] }, + { + "module": "module.network", + "mode": "managed", + "type": "google_compute_firewall", + "name": "fw_backend_to_database_3306", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 1, + "attributes": { + "allow": [ + { + "ports": [ + "3306" + ], + "protocol": "tcp" + } + ], + "creation_timestamp": "2025-12-03T23:56:06.968-08:00", + "deny": [], + "description": "", + "destination_ranges": [], + "direction": "INGRESS", + "disabled": false, + "enable_logging": null, + "id": "projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-backend-database-3306", + "log_config": [], + "name": "western-diorama-374821-fw-backend-database-3306", + "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", + "priority": 1000, + "project": "western-diorama-374821", + "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-backend-database-3306", + "source_ranges": [ + "10.0.2.0/24" + ], + "source_service_accounts": [], + "source_tags": [], + "target_service_accounts": [], + "target_tags": [ + "database" + ], + "timeouts": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", + "dependencies": [ + "module.network.google_compute_network.vpc" + ] + } + ] + }, + { + "module": "module.network", + "mode": "managed", + "type": "google_compute_firewall", + "name": "fw_frontend_to_backend_8000", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 1, + "attributes": { + "allow": [ + { + "ports": [ + "8000" + ], + "protocol": "tcp" + } + ], + "creation_timestamp": "2025-12-03T23:56:07.033-08:00", + "deny": [], + "description": "", + "destination_ranges": [], + "direction": "INGRESS", + "disabled": false, + "enable_logging": null, + "id": "projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-frontend-backend-8000", + "log_config": [], + "name": "western-diorama-374821-fw-frontend-backend-8000", + "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", + "priority": 1000, + "project": "western-diorama-374821", + "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-frontend-backend-8000", + "source_ranges": [ + "10.0.1.0/24" + ], + "source_service_accounts": [], + "source_tags": [], + "target_service_accounts": [], + "target_tags": [ + "backend" + ], + "timeouts": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", + "dependencies": [ + "module.network.google_compute_network.vpc" + ] + } + ] + }, + { + "module": "module.network", + "mode": "managed", + "type": "google_compute_firewall", + "name": "fw_http_https_frontend", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 1, + "attributes": { + "allow": [ + { + "ports": [ + "80", + "443" + ], + "protocol": "tcp" + } + ], + "creation_timestamp": "2025-12-03T23:56:07.024-08:00", + "deny": [], + "description": "", + "destination_ranges": [], + "direction": "INGRESS", + "disabled": false, + "enable_logging": null, + "id": "projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-http-https-frontend", + "log_config": [], + "name": "western-diorama-374821-fw-http-https-frontend", + "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", + "priority": 1000, + "project": "western-diorama-374821", + "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-http-https-frontend", + "source_ranges": [ + "0.0.0.0/0" + ], + "source_service_accounts": [], + "source_tags": [], + "target_service_accounts": [], + "target_tags": [ + "frontend" + ], + "timeouts": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", + "dependencies": [ + "module.network.google_compute_network.vpc" + ] + } + ] + }, + { + "module": "module.network", + "mode": "managed", + "type": "google_compute_firewall", + "name": "fw_ssh", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 1, + "attributes": { + "allow": [ + { + "ports": [ + "22" + ], + "protocol": "tcp" + } + ], + "creation_timestamp": "2025-12-03T23:56:07.032-08:00", + "deny": [], + "description": "", + "destination_ranges": [], + "direction": "INGRESS", + "disabled": false, + "enable_logging": null, + "id": "projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-ssh", + "log_config": [], + "name": "western-diorama-374821-fw-ssh", + "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", + "priority": 1000, + "project": "western-diorama-374821", + "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-ssh", + "source_ranges": [ + "35.239.249.161/32" + ], + "source_service_accounts": [], + "source_tags": [], + "target_service_accounts": [], + "target_tags": [], + "timeouts": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", + "dependencies": [ + "module.network.google_compute_network.vpc" + ] + } + ] + }, { "module": "module.network", "mode": "managed", @@ -217,6 +892,141 @@ "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMCJ9" } ] + }, + { + "module": "module.network", + "mode": "managed", + "type": "google_compute_subnetwork", + "name": "backend", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "creation_timestamp": "2025-12-03T23:54:07.332-08:00", + "description": "", + "external_ipv6_prefix": "", + "fingerprint": null, + "gateway_address": "10.0.2.1", + "id": "projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-backend-subnet", + "internal_ipv6_prefix": "", + "ip_cidr_range": "10.0.2.0/24", + "ipv6_access_type": "", + "ipv6_cidr_range": "", + "log_config": [], + "name": "western-diorama-374821-backend-subnet", + "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", + "private_ip_google_access": false, + "private_ipv6_google_access": "DISABLE_GOOGLE_ACCESS", + "project": "western-diorama-374821", + "purpose": "PRIVATE", + "region": "us-central1", + "reserved_internal_range": "", + "role": "", + "secondary_ip_range": [], + "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-backend-subnet", + "send_secondary_ip_range_if_empty": null, + "stack_type": "IPV4_ONLY", + "timeouts": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19", + "dependencies": [ + "module.network.google_compute_network.vpc" + ] + } + ] + }, + { + "module": "module.network", + "mode": "managed", + "type": "google_compute_subnetwork", + "name": "database", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "creation_timestamp": "2025-12-03T23:54:07.417-08:00", + "description": "", + "external_ipv6_prefix": "", + "fingerprint": null, + "gateway_address": "10.0.3.1", + "id": "projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-database-subnet", + "internal_ipv6_prefix": "", + "ip_cidr_range": "10.0.3.0/24", + "ipv6_access_type": "", + "ipv6_cidr_range": "", + "log_config": [], + "name": "western-diorama-374821-database-subnet", + "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", + "private_ip_google_access": false, + "private_ipv6_google_access": "DISABLE_GOOGLE_ACCESS", + "project": "western-diorama-374821", + "purpose": "PRIVATE", + "region": "us-central1", + "reserved_internal_range": "", + "role": "", + "secondary_ip_range": [], + "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-database-subnet", + "send_secondary_ip_range_if_empty": null, + "stack_type": "IPV4_ONLY", + "timeouts": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19", + "dependencies": [ + "module.network.google_compute_network.vpc" + ] + } + ] + }, + { + "module": "module.network", + "mode": "managed", + "type": "google_compute_subnetwork", + "name": "frontend", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "creation_timestamp": "2025-12-03T23:54:07.407-08:00", + "description": "", + "external_ipv6_prefix": "", + "fingerprint": null, + "gateway_address": "10.0.1.1", + "id": "projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-frontend-subnet", + "internal_ipv6_prefix": "", + "ip_cidr_range": "10.0.1.0/24", + "ipv6_access_type": "", + "ipv6_cidr_range": "", + "log_config": [], + "name": "western-diorama-374821-frontend-subnet", + "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", + "private_ip_google_access": false, + "private_ipv6_google_access": "DISABLE_GOOGLE_ACCESS", + "project": "western-diorama-374821", + "purpose": "PRIVATE", + "region": "us-central1", + "reserved_internal_range": "", + "role": "", + "secondary_ip_range": [], + "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-frontend-subnet", + "send_secondary_ip_range_if_empty": null, + "stack_type": "IPV4_ONLY", + "timeouts": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19", + "dependencies": [ + "module.network.google_compute_network.vpc" + ] + } + ] } ], "check_results": null diff --git a/terraform/environments/dev/terraform.tfstate.backup b/terraform/environments/dev/terraform.tfstate.backup index 32c9e2e..3ae6c29 100644 --- a/terraform/environments/dev/terraform.tfstate.backup +++ b/terraform/environments/dev/terraform.tfstate.backup @@ -1,18 +1,18 @@ { "version": 4, "terraform_version": "1.14.1", - "serial": 7, + "serial": 39, "lineage": "39fa9bd0-98c8-1759-7f73-ed127b902d8b", "outputs": { "frontend_public_ip": { - "value": null, + "value": "136.113.249.164", "type": "string" }, "instance_names": { "value": { - "backend": null, - "database": null, - "frontend": null + "backend": "backend-instance", + "database": "database-instance", + "frontend": "frontend-instance" }, "type": [ "object", @@ -25,9 +25,9 @@ }, "internal_ips": { "value": { - "backend": null, - "database": null, - "frontend": null + "backend": "10.0.2.2", + "database": "10.0.3.2", + "frontend": "10.0.1.2" }, "type": [ "object", @@ -49,9 +49,9 @@ }, "subnet_ids": { "value": { - "backend": null, - "database": null, - "frontend": null + "backend": "projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-backend-subnet", + "database": "projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-database-subnet", + "frontend": "projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-frontend-subnet" }, "type": [ "object", @@ -68,6 +68,498 @@ } }, "resources": [ + { + "module": "module.compute", + "mode": "managed", + "type": "google_compute_instance", + "name": "backend", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 6, + "attributes": { + "advanced_machine_features": [], + "allow_stopping_for_update": null, + "attached_disk": [], + "boot_disk": [ + { + "auto_delete": true, + "device_name": "persistent-disk-0", + "disk_encryption_key_raw": "", + "disk_encryption_key_sha256": "", + "initialize_params": [ + { + "enable_confidential_compute": false, + "image": "https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-11-bullseye-v20251111", + "labels": {}, + "provisioned_iops": 0, + "provisioned_throughput": 0, + "resource_manager_tags": null, + "resource_policies": [], + "size": 10, + "storage_pool": "", + "type": "pd-standard" + } + ], + "interface": "", + "kms_key_self_link": "", + "mode": "READ_WRITE", + "source": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/zones/us-central1-a/disks/backend-instance" + } + ], + "can_ip_forward": false, + "confidential_instance_config": [], + "cpu_platform": "Intel Broadwell", + "creation_timestamp": "2025-12-03T23:57:37.697-08:00", + "current_status": "RUNNING", + "deletion_protection": false, + "description": "", + "desired_status": null, + "effective_labels": { + "goog-terraform-provisioned": "true" + }, + "enable_display": false, + "guest_accelerator": [], + "hostname": "", + "id": "projects/western-diorama-374821/zones/us-central1-a/instances/backend-instance", + "instance_id": "1681706787270328350", + "key_revocation_action_type": "", + "label_fingerprint": "vezUS-42LLM=", + "labels": null, + "machine_type": "e2-small", + "metadata": { + "enable-oslogin": "TRUE" + }, + "metadata_fingerprint": "VIFIa5rN4V4=", + "metadata_startup_script": null, + "min_cpu_platform": "", + "name": "backend-instance", + "network_interface": [ + { + "access_config": [], + "alias_ip_range": [], + "internal_ipv6_prefix_length": 0, + "ipv6_access_config": [], + "ipv6_access_type": "", + "ipv6_address": "", + "name": "nic0", + "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", + "network_ip": "10.0.2.2", + "nic_type": "", + "queue_count": 0, + "stack_type": "IPV4_ONLY", + "subnetwork": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-backend-subnet", + "subnetwork_project": "western-diorama-374821" + } + ], + "network_performance_config": [], + "params": [], + "project": "western-diorama-374821", + "reservation_affinity": [], + "resource_policies": null, + "scheduling": [ + { + "automatic_restart": true, + "instance_termination_action": "", + "local_ssd_recovery_timeout": [], + "max_run_duration": [], + "min_node_cpus": 0, + "node_affinities": [], + "on_host_maintenance": "MIGRATE", + "on_instance_stop_action": [], + "preemptible": false, + "provisioning_model": "STANDARD" + } + ], + "scratch_disk": [], + "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/zones/us-central1-a/instances/backend-instance", + "service_account": [], + "shielded_instance_config": [ + { + "enable_integrity_monitoring": true, + "enable_secure_boot": false, + "enable_vtpm": true + } + ], + "tags": [ + "backend", + "ssh" + ], + "tags_fingerprint": "N2bbCLFli_k=", + "terraform_labels": { + "goog-terraform-provisioned": "true" + }, + "timeouts": null, + "zone": "us-central1-a" + }, + "sensitive_attributes": [ + [ + { + "type": "get_attr", + "value": "boot_disk" + }, + { + "type": "index", + "value": { + "value": 0, + "type": "number" + } + }, + { + "type": "get_attr", + "value": "disk_encryption_key_raw" + } + ] + ], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiNiJ9", + "dependencies": [ + "module.network.google_compute_network.vpc", + "module.network.google_compute_subnetwork.backend", + "module.network.google_compute_subnetwork.database", + "module.network.google_compute_subnetwork.frontend" + ] + } + ] + }, + { + "module": "module.compute", + "mode": "managed", + "type": "google_compute_instance", + "name": "database", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 6, + "attributes": { + "advanced_machine_features": [], + "allow_stopping_for_update": null, + "attached_disk": [], + "boot_disk": [ + { + "auto_delete": true, + "device_name": "persistent-disk-0", + "disk_encryption_key_raw": "", + "disk_encryption_key_sha256": "", + "initialize_params": [ + { + "enable_confidential_compute": false, + "image": "https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-11-bullseye-v20251111", + "labels": {}, + "provisioned_iops": 0, + "provisioned_throughput": 0, + "resource_manager_tags": null, + "resource_policies": [], + "size": 20, + "storage_pool": "", + "type": "pd-standard" + } + ], + "interface": "", + "kms_key_self_link": "", + "mode": "READ_WRITE", + "source": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/zones/us-central1-a/disks/database-instance" + } + ], + "can_ip_forward": false, + "confidential_instance_config": [], + "cpu_platform": "Intel Broadwell", + "creation_timestamp": "2025-12-03T23:57:37.573-08:00", + "current_status": "RUNNING", + "deletion_protection": false, + "description": "", + "desired_status": null, + "effective_labels": { + "goog-terraform-provisioned": "true" + }, + "enable_display": false, + "guest_accelerator": [], + "hostname": "", + "id": "projects/western-diorama-374821/zones/us-central1-a/instances/database-instance", + "instance_id": "5790632064401047582", + "key_revocation_action_type": "", + "label_fingerprint": "vezUS-42LLM=", + "labels": null, + "machine_type": "e2-small", + "metadata": { + "enable-oslogin": "TRUE" + }, + "metadata_fingerprint": "VIFIa5rN4V4=", + "metadata_startup_script": null, + "min_cpu_platform": "", + "name": "database-instance", + "network_interface": [ + { + "access_config": [], + "alias_ip_range": [], + "internal_ipv6_prefix_length": 0, + "ipv6_access_config": [], + "ipv6_access_type": "", + "ipv6_address": "", + "name": "nic0", + "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", + "network_ip": "10.0.3.2", + "nic_type": "", + "queue_count": 0, + "stack_type": "IPV4_ONLY", + "subnetwork": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-database-subnet", + "subnetwork_project": "western-diorama-374821" + } + ], + "network_performance_config": [], + "params": [], + "project": "western-diorama-374821", + "reservation_affinity": [], + "resource_policies": null, + "scheduling": [ + { + "automatic_restart": true, + "instance_termination_action": "", + "local_ssd_recovery_timeout": [], + "max_run_duration": [], + "min_node_cpus": 0, + "node_affinities": [], + "on_host_maintenance": "MIGRATE", + "on_instance_stop_action": [], + "preemptible": false, + "provisioning_model": "STANDARD" + } + ], + "scratch_disk": [], + "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/zones/us-central1-a/instances/database-instance", + "service_account": [], + "shielded_instance_config": [ + { + "enable_integrity_monitoring": true, + "enable_secure_boot": false, + "enable_vtpm": true + } + ], + "tags": [ + "database", + "ssh" + ], + "tags_fingerprint": "22sTRfPQYj4=", + "terraform_labels": { + "goog-terraform-provisioned": "true" + }, + "timeouts": null, + "zone": "us-central1-a" + }, + "sensitive_attributes": [ + [ + { + "type": "get_attr", + "value": "boot_disk" + }, + { + "type": "index", + "value": { + "value": 0, + "type": "number" + } + }, + { + "type": "get_attr", + "value": "disk_encryption_key_raw" + } + ] + ], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiNiJ9", + "dependencies": [ + "module.network.google_compute_network.vpc", + "module.network.google_compute_subnetwork.backend", + "module.network.google_compute_subnetwork.database", + "module.network.google_compute_subnetwork.frontend" + ] + } + ] + }, + { + "module": "module.compute", + "mode": "managed", + "type": "google_compute_instance", + "name": "frontend", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 6, + "attributes": { + "advanced_machine_features": [], + "allow_stopping_for_update": null, + "attached_disk": [], + "boot_disk": [ + { + "auto_delete": true, + "device_name": "persistent-disk-0", + "disk_encryption_key_raw": "", + "disk_encryption_key_sha256": "", + "initialize_params": [ + { + "enable_confidential_compute": false, + "image": "https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-11-bullseye-v20251111", + "labels": {}, + "provisioned_iops": 0, + "provisioned_throughput": 0, + "resource_manager_tags": null, + "resource_policies": [], + "size": 10, + "storage_pool": "", + "type": "pd-standard" + } + ], + "interface": "", + "kms_key_self_link": "", + "mode": "READ_WRITE", + "source": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/zones/us-central1-a/disks/frontend-instance" + } + ], + "can_ip_forward": false, + "confidential_instance_config": [], + "cpu_platform": "Intel Broadwell", + "creation_timestamp": "2025-12-03T23:57:37.694-08:00", + "current_status": "RUNNING", + "deletion_protection": false, + "description": "", + "desired_status": null, + "effective_labels": { + "goog-terraform-provisioned": "true" + }, + "enable_display": false, + "guest_accelerator": [], + "hostname": "", + "id": "projects/western-diorama-374821/zones/us-central1-a/instances/frontend-instance", + "instance_id": "1963198896605528094", + "key_revocation_action_type": "", + "label_fingerprint": "vezUS-42LLM=", + "labels": null, + "machine_type": "e2-small", + "metadata": { + "enable-oslogin": "TRUE" + }, + "metadata_fingerprint": "VIFIa5rN4V4=", + "metadata_startup_script": null, + "min_cpu_platform": "", + "name": "frontend-instance", + "network_interface": [ + { + "access_config": [ + { + "nat_ip": "136.113.249.164", + "network_tier": "PREMIUM", + "public_ptr_domain_name": "" + } + ], + "alias_ip_range": [], + "internal_ipv6_prefix_length": 0, + "ipv6_access_config": [], + "ipv6_access_type": "", + "ipv6_address": "", + "name": "nic0", + "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", + "network_ip": "10.0.1.2", + "nic_type": "", + "queue_count": 0, + "stack_type": "IPV4_ONLY", + "subnetwork": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-frontend-subnet", + "subnetwork_project": "western-diorama-374821" + } + ], + "network_performance_config": [], + "params": [], + "project": "western-diorama-374821", + "reservation_affinity": [], + "resource_policies": null, + "scheduling": [ + { + "automatic_restart": true, + "instance_termination_action": "", + "local_ssd_recovery_timeout": [], + "max_run_duration": [], + "min_node_cpus": 0, + "node_affinities": [], + "on_host_maintenance": "MIGRATE", + "on_instance_stop_action": [], + "preemptible": false, + "provisioning_model": "STANDARD" + } + ], + "scratch_disk": [], + "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/zones/us-central1-a/instances/frontend-instance", + "service_account": [], + "shielded_instance_config": [ + { + "enable_integrity_monitoring": true, + "enable_secure_boot": false, + "enable_vtpm": true + } + ], + "tags": [ + "frontend", + "ssh" + ], + "tags_fingerprint": "sermMtqzdso=", + "terraform_labels": { + "goog-terraform-provisioned": "true" + }, + "timeouts": null, + "zone": "us-central1-a" + }, + "sensitive_attributes": [ + [ + { + "type": "get_attr", + "value": "boot_disk" + }, + { + "type": "index", + "value": { + "value": 0, + "type": "number" + } + }, + { + "type": "get_attr", + "value": "disk_encryption_key_raw" + } + ] + ], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiNiJ9", + "dependencies": [ + "module.network.google_compute_network.vpc", + "module.network.google_compute_subnetwork.backend", + "module.network.google_compute_subnetwork.database", + "module.network.google_compute_subnetwork.frontend" + ] + } + ] + }, + { + "module": "module.iam", + "mode": "managed", + "type": "google_os_login_ssh_public_key", + "name": "ssh_key", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "expiration_time_usec": "", + "fingerprint": "bae4ee52e570411c8a41d0d46f05dc7f23b515da1276de0abadb928dbc8fade9", + "id": "users/clemenceducreux459@gmail.com/sshPublicKeys/bae4ee52e570411c8a41d0d46f05dc7f23b515da1276de0abadb928dbc8fade9", + "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDqZZpZmHK1MZMQMHfJIbbHtX13eNmUBkjtuP2aoazze6OTRYIUcMPdWhSyuQvgBoell4OiG7qSklbi49rzuTXoB2LsN2e39YHh7/aGisaot5ef0XNePD6/q0Rkpwz4arCrmpuGEX+ukABmp889hYReSHN3jafad0/loHFCbnoL3X+2jkbVjsDvkL78hkvF/SbeEc/C+BCDwSip5ylwmmRG+7eFvG6gwpQOlvcI3zpCXStAe8Tqk8ssE7RhjiVOvS7Wwc3xZ3QcS9dQgPIzcX87JjBE4FJalL3NDUtwV/ikmnvG9aejbpYA2cqckK4sXyrpSWh1C6sF7Ozosf0lhdnaeVRkl3cWcDX1UFTtrVV4oxPykFIj88lNRJEiu2N1UrD2SlWTdo6NYaDKxto9l5nQ3CwaSua3miwx+Nt74ujp2TxWKh4AV+A9qx6jZPjTiZcRtQdsrN50RxTGWjmfZZOuS1+mqYaTpcT5OZhetYtBDtB2BRznNrjMBg9/y21fCI0= clemenceducreux459_gmail_com\n", + "project": "western-diorama-374821", + "timeouts": null, + "user": "clemenceducreux459@gmail.com" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19" + } + ] + }, { "module": "module.iam", "mode": "managed", @@ -162,6 +654,213 @@ } ] }, + { + "module": "module.network", + "mode": "managed", + "type": "google_compute_firewall", + "name": "fw_backend_to_database_3306", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 1, + "attributes": { + "allow": [ + { + "ports": [ + "3306" + ], + "protocol": "tcp" + } + ], + "creation_timestamp": "2025-12-03T23:56:06.968-08:00", + "deny": [], + "description": "", + "destination_ranges": [], + "direction": "INGRESS", + "disabled": false, + "enable_logging": null, + "id": "projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-backend-database-3306", + "log_config": [], + "name": "western-diorama-374821-fw-backend-database-3306", + "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", + "priority": 1000, + "project": "western-diorama-374821", + "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-backend-database-3306", + "source_ranges": [ + "10.0.2.0/24" + ], + "source_service_accounts": [], + "source_tags": [], + "target_service_accounts": [], + "target_tags": [ + "database" + ], + "timeouts": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", + "dependencies": [ + "module.network.google_compute_network.vpc" + ] + } + ] + }, + { + "module": "module.network", + "mode": "managed", + "type": "google_compute_firewall", + "name": "fw_frontend_to_backend_8000", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 1, + "attributes": { + "allow": [ + { + "ports": [ + "8000" + ], + "protocol": "tcp" + } + ], + "creation_timestamp": "2025-12-03T23:56:07.033-08:00", + "deny": [], + "description": "", + "destination_ranges": [], + "direction": "INGRESS", + "disabled": false, + "enable_logging": null, + "id": "projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-frontend-backend-8000", + "log_config": [], + "name": "western-diorama-374821-fw-frontend-backend-8000", + "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", + "priority": 1000, + "project": "western-diorama-374821", + "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-frontend-backend-8000", + "source_ranges": [ + "10.0.1.0/24" + ], + "source_service_accounts": [], + "source_tags": [], + "target_service_accounts": [], + "target_tags": [ + "backend" + ], + "timeouts": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", + "dependencies": [ + "module.network.google_compute_network.vpc" + ] + } + ] + }, + { + "module": "module.network", + "mode": "managed", + "type": "google_compute_firewall", + "name": "fw_http_https_frontend", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 1, + "attributes": { + "allow": [ + { + "ports": [ + "80", + "443" + ], + "protocol": "tcp" + } + ], + "creation_timestamp": "2025-12-03T23:56:07.024-08:00", + "deny": [], + "description": "", + "destination_ranges": [], + "direction": "INGRESS", + "disabled": false, + "enable_logging": null, + "id": "projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-http-https-frontend", + "log_config": [], + "name": "western-diorama-374821-fw-http-https-frontend", + "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", + "priority": 1000, + "project": "western-diorama-374821", + "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-http-https-frontend", + "source_ranges": [ + "0.0.0.0/0" + ], + "source_service_accounts": [], + "source_tags": [], + "target_service_accounts": [], + "target_tags": [ + "frontend" + ], + "timeouts": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", + "dependencies": [ + "module.network.google_compute_network.vpc" + ] + } + ] + }, + { + "module": "module.network", + "mode": "managed", + "type": "google_compute_firewall", + "name": "fw_ssh", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 1, + "attributes": { + "allow": [ + { + "ports": [ + "22" + ], + "protocol": "tcp" + } + ], + "creation_timestamp": "2025-12-03T23:56:07.032-08:00", + "deny": [], + "description": "", + "destination_ranges": [], + "direction": "INGRESS", + "disabled": false, + "enable_logging": null, + "id": "projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-ssh", + "log_config": [], + "name": "western-diorama-374821-fw-ssh", + "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", + "priority": 1000, + "project": "western-diorama-374821", + "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-ssh", + "source_ranges": [ + "35.239.249.161/32" + ], + "source_service_accounts": [], + "source_tags": [], + "target_service_accounts": [], + "target_tags": [], + "timeouts": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", + "dependencies": [ + "module.network.google_compute_network.vpc" + ] + } + ] + }, { "module": "module.network", "mode": "managed", @@ -193,6 +892,141 @@ "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMCJ9" } ] + }, + { + "module": "module.network", + "mode": "managed", + "type": "google_compute_subnetwork", + "name": "backend", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "creation_timestamp": "2025-12-03T23:54:07.332-08:00", + "description": "", + "external_ipv6_prefix": "", + "fingerprint": null, + "gateway_address": "10.0.2.1", + "id": "projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-backend-subnet", + "internal_ipv6_prefix": "", + "ip_cidr_range": "10.0.2.0/24", + "ipv6_access_type": "", + "ipv6_cidr_range": "", + "log_config": [], + "name": "western-diorama-374821-backend-subnet", + "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", + "private_ip_google_access": false, + "private_ipv6_google_access": "DISABLE_GOOGLE_ACCESS", + "project": "western-diorama-374821", + "purpose": "PRIVATE", + "region": "us-central1", + "reserved_internal_range": "", + "role": "", + "secondary_ip_range": [], + "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-backend-subnet", + "send_secondary_ip_range_if_empty": null, + "stack_type": "IPV4_ONLY", + "timeouts": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19", + "dependencies": [ + "module.network.google_compute_network.vpc" + ] + } + ] + }, + { + "module": "module.network", + "mode": "managed", + "type": "google_compute_subnetwork", + "name": "database", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "creation_timestamp": "2025-12-03T23:54:07.417-08:00", + "description": "", + "external_ipv6_prefix": "", + "fingerprint": null, + "gateway_address": "10.0.3.1", + "id": "projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-database-subnet", + "internal_ipv6_prefix": "", + "ip_cidr_range": "10.0.3.0/24", + "ipv6_access_type": "", + "ipv6_cidr_range": "", + "log_config": [], + "name": "western-diorama-374821-database-subnet", + "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", + "private_ip_google_access": false, + "private_ipv6_google_access": "DISABLE_GOOGLE_ACCESS", + "project": "western-diorama-374821", + "purpose": "PRIVATE", + "region": "us-central1", + "reserved_internal_range": "", + "role": "", + "secondary_ip_range": [], + "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-database-subnet", + "send_secondary_ip_range_if_empty": null, + "stack_type": "IPV4_ONLY", + "timeouts": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19", + "dependencies": [ + "module.network.google_compute_network.vpc" + ] + } + ] + }, + { + "module": "module.network", + "mode": "managed", + "type": "google_compute_subnetwork", + "name": "frontend", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "creation_timestamp": "2025-12-03T23:54:07.407-08:00", + "description": "", + "external_ipv6_prefix": "", + "fingerprint": null, + "gateway_address": "10.0.1.1", + "id": "projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-frontend-subnet", + "internal_ipv6_prefix": "", + "ip_cidr_range": "10.0.1.0/24", + "ipv6_access_type": "", + "ipv6_cidr_range": "", + "log_config": [], + "name": "western-diorama-374821-frontend-subnet", + "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", + "private_ip_google_access": false, + "private_ipv6_google_access": "DISABLE_GOOGLE_ACCESS", + "project": "western-diorama-374821", + "purpose": "PRIVATE", + "region": "us-central1", + "reserved_internal_range": "", + "role": "", + "secondary_ip_range": [], + "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-frontend-subnet", + "send_secondary_ip_range_if_empty": null, + "stack_type": "IPV4_ONLY", + "timeouts": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19", + "dependencies": [ + "module.network.google_compute_network.vpc" + ] + } + ] } ], "check_results": null diff --git a/terraform/environments/dev/variables.tf b/terraform/environments/dev/variables.tf index d4da2a8..8be3f87 100644 --- a/terraform/environments/dev/variables.tf +++ b/terraform/environments/dev/variables.tf @@ -14,7 +14,7 @@ variable "region" { variable "zone" { description = "Zone GCP" type = string - default = "us-central1" + default = "us-central1-a" } variable "frontend_cidr" { diff --git a/terraform/modules/compute/.terraform.lock.hcl b/terraform/modules/compute/.terraform.lock.hcl deleted file mode 100644 index 653c702..0000000 --- a/terraform/modules/compute/.terraform.lock.hcl +++ /dev/null @@ -1,21 +0,0 @@ -# This file is maintained automatically by "terraform init". -# Manual edits may be lost in future updates. - -provider "registry.terraform.io/hashicorp/google" { - version = "7.12.0" - hashes = [ - "h1:axUhrDS/FeAEKHRKS57WfT0AkrNDC3d5DkWMMnk+fT4=", - "zh:38722ec7777543c23e22e02695e53dd5c94644022647c3c79e11e587063d4d2b", - "zh:417b12b69c91c12e3fcefee38744b7a37bae73b706e3071c714151a623a6b0e9", - "zh:4902cea92c78b462beaf053de03d0d55fb2241d41ca3379b4568ba247f667fa9", - "zh:50ccce39d403ba477943e6652ccb6913092d9dcce1d55533b00b66062888db3d", - "zh:56dccfe5df28cfe368d93c37ad6c46a16e76da61482fd0bfc83676b1423cecf5", - "zh:7265fca2921e5e300da5d8de7e28b658c0863fdda9da696c5b97dbd3122c17c2", - "zh:8317467e828178a6db9ddabe431bb13935c00bfb5e4b4d9760bd56f7ae596eca", - "zh:84cc9d9277422a0d6c80d2bd204642d8776ddbba23feb94cf2760bb5f15410bc", - "zh:8f79d72e7ed4e36d01560ce5fc944dc7e0387fa0f8272a4345fc6ae896e8f575", - "zh:98c3d756beca036f84e7840e2099ff7359e9a246cd9a35386e03ce65032b3f5f", - "zh:a07e3ca19673d28da9289ca28dfb83204fa6636f642b8cf46de8caaf526b7dde", - "zh:f569b65999264a9416862bca5cd2a6177d94ccb0424f3a4ef424428912b9cb3c", - ] -} diff --git a/terraform/modules/compute/.terraform/providers/registry.terraform.io/hashicorp/google/7.12.0/linux_amd64/LICENSE.txt b/terraform/modules/compute/.terraform/providers/registry.terraform.io/hashicorp/google/7.12.0/linux_amd64/LICENSE.txt deleted file mode 100644 index b9ac071..0000000 --- a/terraform/modules/compute/.terraform/providers/registry.terraform.io/hashicorp/google/7.12.0/linux_amd64/LICENSE.txt +++ /dev/null @@ -1,375 +0,0 @@ -Copyright (c) 2017 HashiCorp, Inc. - -Mozilla Public License Version 2.0 -================================== - -1. Definitions --------------- - -1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. - -1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. - -1.3. "Contribution" - means Covered Software of a particular Contributor. - -1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. - -1.5. "Incompatible With Secondary Licenses" - means - - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or - - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. - -1.6. "Executable Form" - means any form of the work other than Source Code Form. - -1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. - -1.8. "License" - means this document. - -1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. - -1.10. "Modifications" - means any of the following: - - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or - - (b) any new file in Source Code Form that contains any Covered - Software. - -1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. - -1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. - -1.13. "Source Code Form" - means the form of the work preferred for making modifications. - -1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. - -2. License Grants and Conditions --------------------------------- - -2.1. Grants - -Each Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: - -(a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and - -(b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - -2.2. Effective Date - -The licenses granted in Section 2.1 with respect to any Contribution -become effective for each Contribution on the date the Contributor first -distributes such Contribution. - -2.3. Limitations on Grant Scope - -The licenses granted in this Section 2 are the only rights granted under -this License. No additional rights or licenses will be implied from the -distribution or licensing of Covered Software under this License. -Notwithstanding Section 2.1(b) above, no patent license is granted by a -Contributor: - -(a) for any code that a Contributor has removed from Covered Software; - or - -(b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - -(c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. - -This License does not grant any rights in the trademarks, service marks, -or logos of any Contributor (except as may be necessary to comply with -the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - -No Contributor makes additional grants as a result of Your choice to -distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License (if -permitted under the terms of Section 3.3). - -2.5. Representation - -Each Contributor represents that the Contributor believes its -Contributions are its original creation(s) or it has sufficient rights -to grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - -This License is not intended to limit any rights You have under -applicable copyright doctrines of fair use, fair dealing, or other -equivalents. - -2.7. Conditions - -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted -in Section 2.1. - -3. Responsibilities -------------------- - -3.1. Distribution of Source Form - -All distribution of Covered Software in Source Code Form, including any -Modifications that You create or to which You contribute, must be under -the terms of this License. You must inform recipients that the Source -Code Form of the Covered Software is governed by the terms of this -License, and how they can obtain a copy of this License. You may not -attempt to alter or restrict the recipients' rights in the Source Code -Form. - -3.2. Distribution of Executable Form - -If You distribute Covered Software in Executable Form then: - -(a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and - -(b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - -You may create and distribute a Larger Work under terms of Your choice, -provided that You also comply with the requirements of this License for -the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and the -Covered Software is not Incompatible With Secondary Licenses, this -License permits You to additionally distribute such Covered Software -under the terms of such Secondary License(s), so that the recipient of -the Larger Work may, at their option, further distribute the Covered -Software under the terms of either this License or such Secondary -License(s). - -3.4. Notices - -You may not remove or alter the substance of any license notices -(including copyright notices, patent notices, disclaimers of warranty, -or limitations of liability) contained within the Source Code Form of -the Covered Software, except that You may alter any license notices to -the extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - -You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of Covered -Software. However, You may do so only on Your own behalf, and not on -behalf of any Contributor. You must make it absolutely clear that any -such warranty, support, indemnity, or liability obligation is offered by -You alone, and You hereby agree to indemnify every Contributor for any -liability incurred by such Contributor as a result of warranty, support, -indemnity or liability terms You offer. You may include additional -disclaimers of warranty and limitations of liability specific to any -jurisdiction. - -4. Inability to Comply Due to Statute or Regulation ---------------------------------------------------- - -If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Software due to -statute, judicial order, or regulation then You must: (a) comply with -the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description must -be placed in a text file included with all distributions of the Covered -Software under this License. Except to the extent prohibited by statute -or regulation, such description must be sufficiently detailed for a -recipient of ordinary skill to be able to understand it. - -5. Termination --------------- - -5.1. The rights granted under this License will terminate automatically -if You fail to comply with any of its terms. However, if You become -compliant, then the rights granted under this License from a particular -Contributor are reinstated (a) provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and (b) on an -ongoing basis, if such Contributor fails to notify You of the -non-compliance by some reasonable means prior to 60 days after You have -come back into compliance. Moreover, Your grants from a particular -Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is the -first time You have received notice of non-compliance with this License -from such Contributor, and You become compliant prior to 30 days after -Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent -infringement claim (excluding declaratory judgment actions, -counter-claims, and cross-claims) alleging that a Contributor Version -directly or indirectly infringes any patent, then the rights granted to -You by any and all Contributors for the Covered Software under Section -2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) which -have been validly granted by You or Your distributors under this License -prior to termination shall survive termination. - -************************************************************************ -* * -* 6. Disclaimer of Warranty * -* ------------------------- * -* * -* Covered Software is provided under this License on an "as is" * -* basis, without warranty of any kind, either expressed, implied, or * -* statutory, including, without limitation, warranties that the * -* Covered Software is free of defects, merchantable, fit for a * -* particular purpose or non-infringing. The entire risk as to the * -* quality and performance of the Covered Software is with You. * -* Should any Covered Software prove defective in any respect, You * -* (not any Contributor) assume the cost of any necessary servicing, * -* repair, or correction. This disclaimer of warranty constitutes an * -* essential part of this License. No use of any Covered Software is * -* authorized under this License except under this disclaimer. * -* * -************************************************************************ - -************************************************************************ -* * -* 7. Limitation of Liability * -* -------------------------- * -* * -* Under no circumstances and under no legal theory, whether tort * -* (including negligence), contract, or otherwise, shall any * -* Contributor, or anyone who distributes Covered Software as * -* permitted above, be liable to You for any direct, indirect, * -* special, incidental, or consequential damages of any character * -* including, without limitation, damages for lost profits, loss of * -* goodwill, work stoppage, computer failure or malfunction, or any * -* and all other commercial damages or losses, even if such party * -* shall have been informed of the possibility of such damages. This * -* limitation of liability shall not apply to liability for death or * -* personal injury resulting from such party's negligence to the * -* extent applicable law prohibits such limitation. Some * -* jurisdictions do not allow the exclusion or limitation of * -* incidental or consequential damages, so this exclusion and * -* limitation may not apply to You. * -* * -************************************************************************ - -8. Litigation -------------- - -Any litigation relating to this License may be brought only in the -courts of a jurisdiction where the defendant maintains its principal -place of business and such litigation shall be governed by laws of that -jurisdiction, without reference to its conflict-of-law provisions. -Nothing in this Section shall prevent a party's ability to bring -cross-claims or counter-claims. - -9. Miscellaneous ----------------- - -This License represents the complete agreement concerning the subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent -necessary to make it enforceable. Any law or regulation which provides -that the language of a contract shall be construed against the drafter -shall not be used to construe this License against a Contributor. - -10. Versions of the License ---------------------------- - -10.1. New Versions - -Mozilla Foundation is the license steward. Except as provided in Section -10.3, no one other than the license steward has the right to modify or -publish new versions of this License. Each version will be given a -distinguishing version number. - -10.2. Effect of New Versions - -You may distribute the Covered Software under the terms of the version -of the License under which You originally received the Covered Software, -or under the terms of any subsequent version published by the license -steward. - -10.3. Modified Versions - -If you create software not governed by this License, and you want to -create a new license for such software, you may create and use a -modified version of this License if you rename the license and remove -any references to the name of the license steward (except to note that -such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary -Licenses - -If You choose to distribute Source Code Form that is Incompatible With -Secondary Licenses under the terms of this version of the License, the -notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice -------------------------------------------- - - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular -file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to look -for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - "Incompatible With Secondary Licenses" Notice ---------------------------------------------------------- - - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. diff --git a/terraform/modules/compute/.terraform/providers/registry.terraform.io/hashicorp/google/7.12.0/linux_amd64/terraform-provider-google_v7.12.0_x5 b/terraform/modules/compute/.terraform/providers/registry.terraform.io/hashicorp/google/7.12.0/linux_amd64/terraform-provider-google_v7.12.0_x5 deleted file mode 100755 index 1657b42..0000000 Binary files a/terraform/modules/compute/.terraform/providers/registry.terraform.io/hashicorp/google/7.12.0/linux_amd64/terraform-provider-google_v7.12.0_x5 and /dev/null differ diff --git a/terraform/modules/iam/.terraform.lock.hcl b/terraform/modules/iam/.terraform.lock.hcl deleted file mode 100644 index 653c702..0000000 --- a/terraform/modules/iam/.terraform.lock.hcl +++ /dev/null @@ -1,21 +0,0 @@ -# This file is maintained automatically by "terraform init". -# Manual edits may be lost in future updates. - -provider "registry.terraform.io/hashicorp/google" { - version = "7.12.0" - hashes = [ - "h1:axUhrDS/FeAEKHRKS57WfT0AkrNDC3d5DkWMMnk+fT4=", - "zh:38722ec7777543c23e22e02695e53dd5c94644022647c3c79e11e587063d4d2b", - "zh:417b12b69c91c12e3fcefee38744b7a37bae73b706e3071c714151a623a6b0e9", - "zh:4902cea92c78b462beaf053de03d0d55fb2241d41ca3379b4568ba247f667fa9", - "zh:50ccce39d403ba477943e6652ccb6913092d9dcce1d55533b00b66062888db3d", - "zh:56dccfe5df28cfe368d93c37ad6c46a16e76da61482fd0bfc83676b1423cecf5", - "zh:7265fca2921e5e300da5d8de7e28b658c0863fdda9da696c5b97dbd3122c17c2", - "zh:8317467e828178a6db9ddabe431bb13935c00bfb5e4b4d9760bd56f7ae596eca", - "zh:84cc9d9277422a0d6c80d2bd204642d8776ddbba23feb94cf2760bb5f15410bc", - "zh:8f79d72e7ed4e36d01560ce5fc944dc7e0387fa0f8272a4345fc6ae896e8f575", - "zh:98c3d756beca036f84e7840e2099ff7359e9a246cd9a35386e03ce65032b3f5f", - "zh:a07e3ca19673d28da9289ca28dfb83204fa6636f642b8cf46de8caaf526b7dde", - "zh:f569b65999264a9416862bca5cd2a6177d94ccb0424f3a4ef424428912b9cb3c", - ] -} diff --git a/terraform/modules/iam/.terraform/providers/registry.terraform.io/hashicorp/google/7.12.0/linux_amd64/LICENSE.txt b/terraform/modules/iam/.terraform/providers/registry.terraform.io/hashicorp/google/7.12.0/linux_amd64/LICENSE.txt deleted file mode 100644 index b9ac071..0000000 --- a/terraform/modules/iam/.terraform/providers/registry.terraform.io/hashicorp/google/7.12.0/linux_amd64/LICENSE.txt +++ /dev/null @@ -1,375 +0,0 @@ -Copyright (c) 2017 HashiCorp, Inc. - -Mozilla Public License Version 2.0 -================================== - -1. Definitions --------------- - -1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. - -1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. - -1.3. "Contribution" - means Covered Software of a particular Contributor. - -1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. - -1.5. "Incompatible With Secondary Licenses" - means - - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or - - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. - -1.6. "Executable Form" - means any form of the work other than Source Code Form. - -1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. - -1.8. "License" - means this document. - -1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. - -1.10. "Modifications" - means any of the following: - - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or - - (b) any new file in Source Code Form that contains any Covered - Software. - -1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. - -1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. - -1.13. "Source Code Form" - means the form of the work preferred for making modifications. - -1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. - -2. License Grants and Conditions --------------------------------- - -2.1. Grants - -Each Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: - -(a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and - -(b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - -2.2. Effective Date - -The licenses granted in Section 2.1 with respect to any Contribution -become effective for each Contribution on the date the Contributor first -distributes such Contribution. - -2.3. Limitations on Grant Scope - -The licenses granted in this Section 2 are the only rights granted under -this License. No additional rights or licenses will be implied from the -distribution or licensing of Covered Software under this License. -Notwithstanding Section 2.1(b) above, no patent license is granted by a -Contributor: - -(a) for any code that a Contributor has removed from Covered Software; - or - -(b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - -(c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. - -This License does not grant any rights in the trademarks, service marks, -or logos of any Contributor (except as may be necessary to comply with -the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - -No Contributor makes additional grants as a result of Your choice to -distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License (if -permitted under the terms of Section 3.3). - -2.5. Representation - -Each Contributor represents that the Contributor believes its -Contributions are its original creation(s) or it has sufficient rights -to grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - -This License is not intended to limit any rights You have under -applicable copyright doctrines of fair use, fair dealing, or other -equivalents. - -2.7. Conditions - -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted -in Section 2.1. - -3. Responsibilities -------------------- - -3.1. Distribution of Source Form - -All distribution of Covered Software in Source Code Form, including any -Modifications that You create or to which You contribute, must be under -the terms of this License. You must inform recipients that the Source -Code Form of the Covered Software is governed by the terms of this -License, and how they can obtain a copy of this License. You may not -attempt to alter or restrict the recipients' rights in the Source Code -Form. - -3.2. Distribution of Executable Form - -If You distribute Covered Software in Executable Form then: - -(a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and - -(b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - -You may create and distribute a Larger Work under terms of Your choice, -provided that You also comply with the requirements of this License for -the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and the -Covered Software is not Incompatible With Secondary Licenses, this -License permits You to additionally distribute such Covered Software -under the terms of such Secondary License(s), so that the recipient of -the Larger Work may, at their option, further distribute the Covered -Software under the terms of either this License or such Secondary -License(s). - -3.4. Notices - -You may not remove or alter the substance of any license notices -(including copyright notices, patent notices, disclaimers of warranty, -or limitations of liability) contained within the Source Code Form of -the Covered Software, except that You may alter any license notices to -the extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - -You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of Covered -Software. However, You may do so only on Your own behalf, and not on -behalf of any Contributor. You must make it absolutely clear that any -such warranty, support, indemnity, or liability obligation is offered by -You alone, and You hereby agree to indemnify every Contributor for any -liability incurred by such Contributor as a result of warranty, support, -indemnity or liability terms You offer. You may include additional -disclaimers of warranty and limitations of liability specific to any -jurisdiction. - -4. Inability to Comply Due to Statute or Regulation ---------------------------------------------------- - -If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Software due to -statute, judicial order, or regulation then You must: (a) comply with -the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description must -be placed in a text file included with all distributions of the Covered -Software under this License. Except to the extent prohibited by statute -or regulation, such description must be sufficiently detailed for a -recipient of ordinary skill to be able to understand it. - -5. Termination --------------- - -5.1. The rights granted under this License will terminate automatically -if You fail to comply with any of its terms. However, if You become -compliant, then the rights granted under this License from a particular -Contributor are reinstated (a) provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and (b) on an -ongoing basis, if such Contributor fails to notify You of the -non-compliance by some reasonable means prior to 60 days after You have -come back into compliance. Moreover, Your grants from a particular -Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is the -first time You have received notice of non-compliance with this License -from such Contributor, and You become compliant prior to 30 days after -Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent -infringement claim (excluding declaratory judgment actions, -counter-claims, and cross-claims) alleging that a Contributor Version -directly or indirectly infringes any patent, then the rights granted to -You by any and all Contributors for the Covered Software under Section -2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) which -have been validly granted by You or Your distributors under this License -prior to termination shall survive termination. - -************************************************************************ -* * -* 6. Disclaimer of Warranty * -* ------------------------- * -* * -* Covered Software is provided under this License on an "as is" * -* basis, without warranty of any kind, either expressed, implied, or * -* statutory, including, without limitation, warranties that the * -* Covered Software is free of defects, merchantable, fit for a * -* particular purpose or non-infringing. The entire risk as to the * -* quality and performance of the Covered Software is with You. * -* Should any Covered Software prove defective in any respect, You * -* (not any Contributor) assume the cost of any necessary servicing, * -* repair, or correction. This disclaimer of warranty constitutes an * -* essential part of this License. No use of any Covered Software is * -* authorized under this License except under this disclaimer. * -* * -************************************************************************ - -************************************************************************ -* * -* 7. Limitation of Liability * -* -------------------------- * -* * -* Under no circumstances and under no legal theory, whether tort * -* (including negligence), contract, or otherwise, shall any * -* Contributor, or anyone who distributes Covered Software as * -* permitted above, be liable to You for any direct, indirect, * -* special, incidental, or consequential damages of any character * -* including, without limitation, damages for lost profits, loss of * -* goodwill, work stoppage, computer failure or malfunction, or any * -* and all other commercial damages or losses, even if such party * -* shall have been informed of the possibility of such damages. This * -* limitation of liability shall not apply to liability for death or * -* personal injury resulting from such party's negligence to the * -* extent applicable law prohibits such limitation. Some * -* jurisdictions do not allow the exclusion or limitation of * -* incidental or consequential damages, so this exclusion and * -* limitation may not apply to You. * -* * -************************************************************************ - -8. Litigation -------------- - -Any litigation relating to this License may be brought only in the -courts of a jurisdiction where the defendant maintains its principal -place of business and such litigation shall be governed by laws of that -jurisdiction, without reference to its conflict-of-law provisions. -Nothing in this Section shall prevent a party's ability to bring -cross-claims or counter-claims. - -9. Miscellaneous ----------------- - -This License represents the complete agreement concerning the subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent -necessary to make it enforceable. Any law or regulation which provides -that the language of a contract shall be construed against the drafter -shall not be used to construe this License against a Contributor. - -10. Versions of the License ---------------------------- - -10.1. New Versions - -Mozilla Foundation is the license steward. Except as provided in Section -10.3, no one other than the license steward has the right to modify or -publish new versions of this License. Each version will be given a -distinguishing version number. - -10.2. Effect of New Versions - -You may distribute the Covered Software under the terms of the version -of the License under which You originally received the Covered Software, -or under the terms of any subsequent version published by the license -steward. - -10.3. Modified Versions - -If you create software not governed by this License, and you want to -create a new license for such software, you may create and use a -modified version of this License if you rename the license and remove -any references to the name of the license steward (except to note that -such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary -Licenses - -If You choose to distribute Source Code Form that is Incompatible With -Secondary Licenses under the terms of this version of the License, the -notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice -------------------------------------------- - - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular -file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to look -for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - "Incompatible With Secondary Licenses" Notice ---------------------------------------------------------- - - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. diff --git a/terraform/modules/iam/.terraform/providers/registry.terraform.io/hashicorp/google/7.12.0/linux_amd64/terraform-provider-google_v7.12.0_x5 b/terraform/modules/iam/.terraform/providers/registry.terraform.io/hashicorp/google/7.12.0/linux_amd64/terraform-provider-google_v7.12.0_x5 deleted file mode 100755 index 1657b42..0000000 Binary files a/terraform/modules/iam/.terraform/providers/registry.terraform.io/hashicorp/google/7.12.0/linux_amd64/terraform-provider-google_v7.12.0_x5 and /dev/null differ diff --git a/terraform/modules/network/.terraform.lock.hcl b/terraform/modules/network/.terraform.lock.hcl deleted file mode 100644 index 653c702..0000000 --- a/terraform/modules/network/.terraform.lock.hcl +++ /dev/null @@ -1,21 +0,0 @@ -# This file is maintained automatically by "terraform init". -# Manual edits may be lost in future updates. - -provider "registry.terraform.io/hashicorp/google" { - version = "7.12.0" - hashes = [ - "h1:axUhrDS/FeAEKHRKS57WfT0AkrNDC3d5DkWMMnk+fT4=", - "zh:38722ec7777543c23e22e02695e53dd5c94644022647c3c79e11e587063d4d2b", - "zh:417b12b69c91c12e3fcefee38744b7a37bae73b706e3071c714151a623a6b0e9", - "zh:4902cea92c78b462beaf053de03d0d55fb2241d41ca3379b4568ba247f667fa9", - "zh:50ccce39d403ba477943e6652ccb6913092d9dcce1d55533b00b66062888db3d", - "zh:56dccfe5df28cfe368d93c37ad6c46a16e76da61482fd0bfc83676b1423cecf5", - "zh:7265fca2921e5e300da5d8de7e28b658c0863fdda9da696c5b97dbd3122c17c2", - "zh:8317467e828178a6db9ddabe431bb13935c00bfb5e4b4d9760bd56f7ae596eca", - "zh:84cc9d9277422a0d6c80d2bd204642d8776ddbba23feb94cf2760bb5f15410bc", - "zh:8f79d72e7ed4e36d01560ce5fc944dc7e0387fa0f8272a4345fc6ae896e8f575", - "zh:98c3d756beca036f84e7840e2099ff7359e9a246cd9a35386e03ce65032b3f5f", - "zh:a07e3ca19673d28da9289ca28dfb83204fa6636f642b8cf46de8caaf526b7dde", - "zh:f569b65999264a9416862bca5cd2a6177d94ccb0424f3a4ef424428912b9cb3c", - ] -} diff --git a/terraform/modules/network/.terraform/providers/registry.terraform.io/hashicorp/google/7.12.0/linux_amd64/LICENSE.txt b/terraform/modules/network/.terraform/providers/registry.terraform.io/hashicorp/google/7.12.0/linux_amd64/LICENSE.txt deleted file mode 100644 index b9ac071..0000000 --- a/terraform/modules/network/.terraform/providers/registry.terraform.io/hashicorp/google/7.12.0/linux_amd64/LICENSE.txt +++ /dev/null @@ -1,375 +0,0 @@ -Copyright (c) 2017 HashiCorp, Inc. - -Mozilla Public License Version 2.0 -================================== - -1. Definitions --------------- - -1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. - -1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. - -1.3. "Contribution" - means Covered Software of a particular Contributor. - -1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. - -1.5. "Incompatible With Secondary Licenses" - means - - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or - - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. - -1.6. "Executable Form" - means any form of the work other than Source Code Form. - -1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. - -1.8. "License" - means this document. - -1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. - -1.10. "Modifications" - means any of the following: - - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or - - (b) any new file in Source Code Form that contains any Covered - Software. - -1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. - -1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. - -1.13. "Source Code Form" - means the form of the work preferred for making modifications. - -1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. - -2. License Grants and Conditions --------------------------------- - -2.1. Grants - -Each Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: - -(a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and - -(b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - -2.2. Effective Date - -The licenses granted in Section 2.1 with respect to any Contribution -become effective for each Contribution on the date the Contributor first -distributes such Contribution. - -2.3. Limitations on Grant Scope - -The licenses granted in this Section 2 are the only rights granted under -this License. No additional rights or licenses will be implied from the -distribution or licensing of Covered Software under this License. -Notwithstanding Section 2.1(b) above, no patent license is granted by a -Contributor: - -(a) for any code that a Contributor has removed from Covered Software; - or - -(b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - -(c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. - -This License does not grant any rights in the trademarks, service marks, -or logos of any Contributor (except as may be necessary to comply with -the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - -No Contributor makes additional grants as a result of Your choice to -distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License (if -permitted under the terms of Section 3.3). - -2.5. Representation - -Each Contributor represents that the Contributor believes its -Contributions are its original creation(s) or it has sufficient rights -to grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - -This License is not intended to limit any rights You have under -applicable copyright doctrines of fair use, fair dealing, or other -equivalents. - -2.7. Conditions - -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted -in Section 2.1. - -3. Responsibilities -------------------- - -3.1. Distribution of Source Form - -All distribution of Covered Software in Source Code Form, including any -Modifications that You create or to which You contribute, must be under -the terms of this License. You must inform recipients that the Source -Code Form of the Covered Software is governed by the terms of this -License, and how they can obtain a copy of this License. You may not -attempt to alter or restrict the recipients' rights in the Source Code -Form. - -3.2. Distribution of Executable Form - -If You distribute Covered Software in Executable Form then: - -(a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and - -(b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - -You may create and distribute a Larger Work under terms of Your choice, -provided that You also comply with the requirements of this License for -the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and the -Covered Software is not Incompatible With Secondary Licenses, this -License permits You to additionally distribute such Covered Software -under the terms of such Secondary License(s), so that the recipient of -the Larger Work may, at their option, further distribute the Covered -Software under the terms of either this License or such Secondary -License(s). - -3.4. Notices - -You may not remove or alter the substance of any license notices -(including copyright notices, patent notices, disclaimers of warranty, -or limitations of liability) contained within the Source Code Form of -the Covered Software, except that You may alter any license notices to -the extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - -You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of Covered -Software. However, You may do so only on Your own behalf, and not on -behalf of any Contributor. You must make it absolutely clear that any -such warranty, support, indemnity, or liability obligation is offered by -You alone, and You hereby agree to indemnify every Contributor for any -liability incurred by such Contributor as a result of warranty, support, -indemnity or liability terms You offer. You may include additional -disclaimers of warranty and limitations of liability specific to any -jurisdiction. - -4. Inability to Comply Due to Statute or Regulation ---------------------------------------------------- - -If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Software due to -statute, judicial order, or regulation then You must: (a) comply with -the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description must -be placed in a text file included with all distributions of the Covered -Software under this License. Except to the extent prohibited by statute -or regulation, such description must be sufficiently detailed for a -recipient of ordinary skill to be able to understand it. - -5. Termination --------------- - -5.1. The rights granted under this License will terminate automatically -if You fail to comply with any of its terms. However, if You become -compliant, then the rights granted under this License from a particular -Contributor are reinstated (a) provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and (b) on an -ongoing basis, if such Contributor fails to notify You of the -non-compliance by some reasonable means prior to 60 days after You have -come back into compliance. Moreover, Your grants from a particular -Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is the -first time You have received notice of non-compliance with this License -from such Contributor, and You become compliant prior to 30 days after -Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent -infringement claim (excluding declaratory judgment actions, -counter-claims, and cross-claims) alleging that a Contributor Version -directly or indirectly infringes any patent, then the rights granted to -You by any and all Contributors for the Covered Software under Section -2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) which -have been validly granted by You or Your distributors under this License -prior to termination shall survive termination. - -************************************************************************ -* * -* 6. Disclaimer of Warranty * -* ------------------------- * -* * -* Covered Software is provided under this License on an "as is" * -* basis, without warranty of any kind, either expressed, implied, or * -* statutory, including, without limitation, warranties that the * -* Covered Software is free of defects, merchantable, fit for a * -* particular purpose or non-infringing. The entire risk as to the * -* quality and performance of the Covered Software is with You. * -* Should any Covered Software prove defective in any respect, You * -* (not any Contributor) assume the cost of any necessary servicing, * -* repair, or correction. This disclaimer of warranty constitutes an * -* essential part of this License. No use of any Covered Software is * -* authorized under this License except under this disclaimer. * -* * -************************************************************************ - -************************************************************************ -* * -* 7. Limitation of Liability * -* -------------------------- * -* * -* Under no circumstances and under no legal theory, whether tort * -* (including negligence), contract, or otherwise, shall any * -* Contributor, or anyone who distributes Covered Software as * -* permitted above, be liable to You for any direct, indirect, * -* special, incidental, or consequential damages of any character * -* including, without limitation, damages for lost profits, loss of * -* goodwill, work stoppage, computer failure or malfunction, or any * -* and all other commercial damages or losses, even if such party * -* shall have been informed of the possibility of such damages. This * -* limitation of liability shall not apply to liability for death or * -* personal injury resulting from such party's negligence to the * -* extent applicable law prohibits such limitation. Some * -* jurisdictions do not allow the exclusion or limitation of * -* incidental or consequential damages, so this exclusion and * -* limitation may not apply to You. * -* * -************************************************************************ - -8. Litigation -------------- - -Any litigation relating to this License may be brought only in the -courts of a jurisdiction where the defendant maintains its principal -place of business and such litigation shall be governed by laws of that -jurisdiction, without reference to its conflict-of-law provisions. -Nothing in this Section shall prevent a party's ability to bring -cross-claims or counter-claims. - -9. Miscellaneous ----------------- - -This License represents the complete agreement concerning the subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent -necessary to make it enforceable. Any law or regulation which provides -that the language of a contract shall be construed against the drafter -shall not be used to construe this License against a Contributor. - -10. Versions of the License ---------------------------- - -10.1. New Versions - -Mozilla Foundation is the license steward. Except as provided in Section -10.3, no one other than the license steward has the right to modify or -publish new versions of this License. Each version will be given a -distinguishing version number. - -10.2. Effect of New Versions - -You may distribute the Covered Software under the terms of the version -of the License under which You originally received the Covered Software, -or under the terms of any subsequent version published by the license -steward. - -10.3. Modified Versions - -If you create software not governed by this License, and you want to -create a new license for such software, you may create and use a -modified version of this License if you rename the license and remove -any references to the name of the license steward (except to note that -such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary -Licenses - -If You choose to distribute Source Code Form that is Incompatible With -Secondary Licenses under the terms of this version of the License, the -notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice -------------------------------------------- - - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular -file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to look -for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - "Incompatible With Secondary Licenses" Notice ---------------------------------------------------------- - - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. diff --git a/terraform/modules/network/.terraform/providers/registry.terraform.io/hashicorp/google/7.12.0/linux_amd64/terraform-provider-google_v7.12.0_x5 b/terraform/modules/network/.terraform/providers/registry.terraform.io/hashicorp/google/7.12.0/linux_amd64/terraform-provider-google_v7.12.0_x5 deleted file mode 100755 index 1657b42..0000000 Binary files a/terraform/modules/network/.terraform/providers/registry.terraform.io/hashicorp/google/7.12.0/linux_amd64/terraform-provider-google_v7.12.0_x5 and /dev/null differ diff --git a/terraform/modules/network/terraform.tfstate b/terraform/modules/network/terraform.tfstate deleted file mode 100644 index fc7d83e..0000000 --- a/terraform/modules/network/terraform.tfstate +++ /dev/null @@ -1,421 +0,0 @@ -{ - "version": 4, - "terraform_version": "1.14.1", - "serial": 14, - "lineage": "581c03f7-b4c6-db07-b638-4edf9a9f23cc", - "outputs": { - "subnet_ids": { - "value": { - "backend": "projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-backend-subnet", - "database": "projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-database-subnet", - "frontend": "projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-frontend-subnet" - }, - "type": [ - "object", - { - "backend": "string", - "database": "string", - "frontend": "string" - } - ] - }, - "vpc_id": { - "value": "projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", - "type": "string" - } - }, - "resources": [ - { - "mode": "managed", - "type": "google_compute_firewall", - "name": "fw_backend_to_database_3306", - "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "allow": [ - { - "ports": [ - "3306" - ], - "protocol": "tcp" - } - ], - "creation_timestamp": "2025-12-03T07:00:42.443-08:00", - "deny": [], - "description": "", - "destination_ranges": [], - "direction": "INGRESS", - "disabled": false, - "enable_logging": null, - "id": "projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-backend-database-3306", - "log_config": [], - "name": "western-diorama-374821-fw-backend-database-3306", - "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", - "params": [], - "priority": 1000, - "project": "western-diorama-374821", - "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-backend-database-3306", - "source_ranges": [ - "10.0.2.0/24" - ], - "source_service_accounts": [], - "source_tags": [], - "target_service_accounts": [], - "target_tags": [ - "database" - ], - "timeouts": null - }, - "sensitive_attributes": [], - "identity_schema_version": 0, - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", - "dependencies": [ - "google_compute_network.vpc" - ] - } - ] - }, - { - "mode": "managed", - "type": "google_compute_firewall", - "name": "fw_frontend_to_backend_8000", - "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "allow": [ - { - "ports": [ - "8000" - ], - "protocol": "tcp" - } - ], - "creation_timestamp": "2025-12-03T07:00:42.326-08:00", - "deny": [], - "description": "", - "destination_ranges": [], - "direction": "INGRESS", - "disabled": false, - "enable_logging": null, - "id": "projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-frontend-backend-8000", - "log_config": [], - "name": "western-diorama-374821-fw-frontend-backend-8000", - "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", - "params": [], - "priority": 1000, - "project": "western-diorama-374821", - "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-frontend-backend-8000", - "source_ranges": [ - "10.0.1.0/24" - ], - "source_service_accounts": [], - "source_tags": [], - "target_service_accounts": [], - "target_tags": [ - "backend" - ], - "timeouts": null - }, - "sensitive_attributes": [], - "identity_schema_version": 0, - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", - "dependencies": [ - "google_compute_network.vpc" - ] - } - ] - }, - { - "mode": "managed", - "type": "google_compute_firewall", - "name": "fw_http_https_frontend", - "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "allow": [ - { - "ports": [ - "80", - "443" - ], - "protocol": "tcp" - } - ], - "creation_timestamp": "2025-12-03T07:00:42.469-08:00", - "deny": [], - "description": "", - "destination_ranges": [], - "direction": "INGRESS", - "disabled": false, - "enable_logging": null, - "id": "projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-http-https-frontend", - "log_config": [], - "name": "western-diorama-374821-fw-http-https-frontend", - "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", - "params": [], - "priority": 1000, - "project": "western-diorama-374821", - "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-http-https-frontend", - "source_ranges": [ - "0.0.0.0/0" - ], - "source_service_accounts": [], - "source_tags": [], - "target_service_accounts": [], - "target_tags": [ - "frontend" - ], - "timeouts": null - }, - "sensitive_attributes": [], - "identity_schema_version": 0, - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", - "dependencies": [ - "google_compute_network.vpc" - ] - } - ] - }, - { - "mode": "managed", - "type": "google_compute_firewall", - "name": "fw_ssh", - "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "allow": [ - { - "ports": [ - "22" - ], - "protocol": "tcp" - } - ], - "creation_timestamp": "2025-12-03T07:00:41.918-08:00", - "deny": [], - "description": "", - "destination_ranges": [], - "direction": "INGRESS", - "disabled": false, - "enable_logging": null, - "id": "projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-ssh", - "log_config": [], - "name": "western-diorama-374821-fw-ssh", - "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", - "params": [], - "priority": 1000, - "project": "western-diorama-374821", - "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-ssh", - "source_ranges": [ - "35.239.249.161/32" - ], - "source_service_accounts": [], - "source_tags": [], - "target_service_accounts": [], - "target_tags": [], - "timeouts": null - }, - "sensitive_attributes": [], - "identity_schema_version": 0, - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", - "dependencies": [ - "google_compute_network.vpc" - ] - } - ] - }, - { - "mode": "managed", - "type": "google_compute_network", - "name": "vpc", - "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "auto_create_subnetworks": false, - "bgp_always_compare_med": false, - "bgp_best_path_selection_mode": "LEGACY", - "bgp_inter_region_cost": "", - "delete_default_routes_on_create": false, - "description": "", - "enable_ula_internal_ipv6": false, - "gateway_ipv4": "", - "id": "projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", - "internal_ipv6_range": "", - "mtu": 0, - "name": "western-diorama-374821-vpc", - "network_firewall_policy_enforcement_order": "AFTER_CLASSIC_FIREWALL", - "network_id": "4620399097107312235", - "network_profile": "", - "numeric_id": "4620399097107312235", - "params": [], - "project": "western-diorama-374821", - "routing_mode": "REGIONAL", - "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", - "timeouts": null - }, - "sensitive_attributes": [], - "identity_schema_version": 0, - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19" - } - ] - }, - { - "mode": "managed", - "type": "google_compute_subnetwork", - "name": "backend", - "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "creation_timestamp": "2025-12-03T07:01:16.820-08:00", - "description": "", - "external_ipv6_prefix": "", - "fingerprint": null, - "gateway_address": "10.0.2.1", - "id": "projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-backend-subnet", - "internal_ipv6_prefix": "", - "ip_cidr_range": "10.0.2.0/24", - "ip_collection": null, - "ipv6_access_type": "", - "ipv6_cidr_range": "", - "ipv6_gce_endpoint": "", - "log_config": [], - "name": "western-diorama-374821-backend-subnet", - "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", - "params": [], - "private_ip_google_access": false, - "private_ipv6_google_access": "DISABLE_GOOGLE_ACCESS", - "project": "western-diorama-374821", - "purpose": "PRIVATE", - "region": "us-central1", - "reserved_internal_range": "", - "role": "", - "secondary_ip_range": [], - "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-backend-subnet", - "send_secondary_ip_range_if_empty": null, - "stack_type": "IPV4_ONLY", - "state": "", - "subnetwork_id": 2669853550898441811, - "timeouts": null - }, - "sensitive_attributes": [], - "identity_schema_version": 0, - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19", - "dependencies": [ - "google_compute_network.vpc" - ] - } - ] - }, - { - "mode": "managed", - "type": "google_compute_subnetwork", - "name": "database", - "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "creation_timestamp": "2025-12-03T07:01:16.828-08:00", - "description": "", - "external_ipv6_prefix": "", - "fingerprint": null, - "gateway_address": "10.0.3.1", - "id": "projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-database-subnet", - "internal_ipv6_prefix": "", - "ip_cidr_range": "10.0.3.0/24", - "ip_collection": null, - "ipv6_access_type": "", - "ipv6_cidr_range": "", - "ipv6_gce_endpoint": "", - "log_config": [], - "name": "western-diorama-374821-database-subnet", - "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", - "params": [], - "private_ip_google_access": false, - "private_ipv6_google_access": "DISABLE_GOOGLE_ACCESS", - "project": "western-diorama-374821", - "purpose": "PRIVATE", - "region": "us-central1", - "reserved_internal_range": "", - "role": "", - "secondary_ip_range": [], - "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-database-subnet", - "send_secondary_ip_range_if_empty": null, - "stack_type": "IPV4_ONLY", - "state": "", - "subnetwork_id": 6730786180563856979, - "timeouts": null - }, - "sensitive_attributes": [], - "identity_schema_version": 0, - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19", - "dependencies": [ - "google_compute_network.vpc" - ] - } - ] - }, - { - "mode": "managed", - "type": "google_compute_subnetwork", - "name": "frontend", - "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "creation_timestamp": "2025-12-03T07:01:16.765-08:00", - "description": "", - "external_ipv6_prefix": "", - "fingerprint": null, - "gateway_address": "10.0.1.1", - "id": "projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-frontend-subnet", - "internal_ipv6_prefix": "", - "ip_cidr_range": "10.0.1.0/24", - "ip_collection": null, - "ipv6_access_type": "", - "ipv6_cidr_range": "", - "ipv6_gce_endpoint": "", - "log_config": [], - "name": "western-diorama-374821-frontend-subnet", - "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", - "params": [], - "private_ip_google_access": false, - "private_ipv6_google_access": "DISABLE_GOOGLE_ACCESS", - "project": "western-diorama-374821", - "purpose": "PRIVATE", - "region": "us-central1", - "reserved_internal_range": "", - "role": "", - "secondary_ip_range": [], - "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/regions/us-central1/subnetworks/western-diorama-374821-frontend-subnet", - "send_secondary_ip_range_if_empty": null, - "stack_type": "IPV4_ONLY", - "state": "", - "subnetwork_id": 8625767090619280979, - "timeouts": null - }, - "sensitive_attributes": [], - "identity_schema_version": 0, - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19", - "dependencies": [ - "google_compute_network.vpc" - ] - } - ] - } - ], - "check_results": null -} diff --git a/terraform/modules/network/terraform.tfstate.backup b/terraform/modules/network/terraform.tfstate.backup deleted file mode 100644 index a4ad43c..0000000 --- a/terraform/modules/network/terraform.tfstate.backup +++ /dev/null @@ -1,259 +0,0 @@ -{ - "version": 4, - "terraform_version": "1.14.1", - "serial": 10, - "lineage": "581c03f7-b4c6-db07-b638-4edf9a9f23cc", - "outputs": { - "vpc_id": { - "value": "projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", - "type": "string" - } - }, - "resources": [ - { - "mode": "managed", - "type": "google_compute_firewall", - "name": "fw_backend_to_database_3306", - "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "allow": [ - { - "ports": [ - "3306" - ], - "protocol": "tcp" - } - ], - "creation_timestamp": "2025-12-03T07:00:42.443-08:00", - "deny": [], - "description": "", - "destination_ranges": [], - "direction": "INGRESS", - "disabled": false, - "enable_logging": null, - "id": "projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-backend-database-3306", - "log_config": [], - "name": "western-diorama-374821-fw-backend-database-3306", - "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", - "params": [], - "priority": 1000, - "project": "western-diorama-374821", - "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-backend-database-3306", - "source_ranges": [ - "10.0.2.0/24" - ], - "source_service_accounts": null, - "source_tags": null, - "target_service_accounts": null, - "target_tags": [ - "database" - ], - "timeouts": null - }, - "sensitive_attributes": [], - "identity_schema_version": 0, - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", - "dependencies": [ - "google_compute_network.vpc" - ] - } - ] - }, - { - "mode": "managed", - "type": "google_compute_firewall", - "name": "fw_frontend_to_backend_8000", - "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "allow": [ - { - "ports": [ - "8000" - ], - "protocol": "tcp" - } - ], - "creation_timestamp": "2025-12-03T07:00:42.326-08:00", - "deny": [], - "description": "", - "destination_ranges": [], - "direction": "INGRESS", - "disabled": false, - "enable_logging": null, - "id": "projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-frontend-backend-8000", - "log_config": [], - "name": "western-diorama-374821-fw-frontend-backend-8000", - "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", - "params": [], - "priority": 1000, - "project": "western-diorama-374821", - "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-frontend-backend-8000", - "source_ranges": [ - "10.0.1.0/24" - ], - "source_service_accounts": null, - "source_tags": null, - "target_service_accounts": null, - "target_tags": [ - "backend" - ], - "timeouts": null - }, - "sensitive_attributes": [], - "identity_schema_version": 0, - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", - "dependencies": [ - "google_compute_network.vpc" - ] - } - ] - }, - { - "mode": "managed", - "type": "google_compute_firewall", - "name": "fw_http_https_frontend", - "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "allow": [ - { - "ports": [ - "80", - "443" - ], - "protocol": "tcp" - } - ], - "creation_timestamp": "2025-12-03T07:00:42.469-08:00", - "deny": [], - "description": "", - "destination_ranges": [], - "direction": "INGRESS", - "disabled": false, - "enable_logging": null, - "id": "projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-http-https-frontend", - "log_config": [], - "name": "western-diorama-374821-fw-http-https-frontend", - "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", - "params": [], - "priority": 1000, - "project": "western-diorama-374821", - "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-http-https-frontend", - "source_ranges": [ - "0.0.0.0/0" - ], - "source_service_accounts": null, - "source_tags": null, - "target_service_accounts": null, - "target_tags": [ - "frontend" - ], - "timeouts": null - }, - "sensitive_attributes": [], - "identity_schema_version": 0, - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", - "dependencies": [ - "google_compute_network.vpc" - ] - } - ] - }, - { - "mode": "managed", - "type": "google_compute_firewall", - "name": "fw_ssh", - "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "allow": [ - { - "ports": [ - "22" - ], - "protocol": "tcp" - } - ], - "creation_timestamp": "2025-12-03T07:00:41.918-08:00", - "deny": [], - "description": "", - "destination_ranges": [], - "direction": "INGRESS", - "disabled": false, - "enable_logging": null, - "id": "projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-ssh", - "log_config": [], - "name": "western-diorama-374821-fw-ssh", - "network": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", - "params": [], - "priority": 1000, - "project": "western-diorama-374821", - "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/firewalls/western-diorama-374821-fw-ssh", - "source_ranges": [ - "35.239.249.161/32" - ], - "source_service_accounts": null, - "source_tags": null, - "target_service_accounts": null, - "target_tags": null, - "timeouts": null - }, - "sensitive_attributes": [], - "identity_schema_version": 0, - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", - "dependencies": [ - "google_compute_network.vpc" - ] - } - ] - }, - { - "mode": "managed", - "type": "google_compute_network", - "name": "vpc", - "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "auto_create_subnetworks": false, - "bgp_always_compare_med": false, - "bgp_best_path_selection_mode": "LEGACY", - "bgp_inter_region_cost": "", - "delete_default_routes_on_create": false, - "description": "", - "enable_ula_internal_ipv6": false, - "gateway_ipv4": "", - "id": "projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", - "internal_ipv6_range": "", - "mtu": 0, - "name": "western-diorama-374821-vpc", - "network_firewall_policy_enforcement_order": "AFTER_CLASSIC_FIREWALL", - "network_id": "4620399097107312235", - "network_profile": "", - "numeric_id": "4620399097107312235", - "params": [], - "project": "western-diorama-374821", - "routing_mode": "REGIONAL", - "self_link": "https://www.googleapis.com/compute/v1/projects/western-diorama-374821/global/networks/western-diorama-374821-vpc", - "timeouts": null - }, - "sensitive_attributes": [], - "identity_schema_version": 0, - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19" - } - ] - } - ], - "check_results": null -}