diff --git a/terraform/.terraform/modules/modules.json b/terraform/.terraform/modules/modules.json index 16061dc..311659f 100644 --- a/terraform/.terraform/modules/modules.json +++ b/terraform/.terraform/modules/modules.json @@ -1 +1 @@ -{"Modules":[{"Key":"","Source":"","Dir":"."},{"Key":"dns-avii","Source":"./modules/dns/avii","Dir":"modules/dns/avii"},{"Key":"dns-avlabs","Source":"./modules/dns/avlabs","Dir":"modules/dns/avlabs"},{"Key":"dns-zenitho","Source":"./modules/dns/zenitho","Dir":"modules/dns/zenitho"},{"Key":"private-network","Source":"./modules/network","Dir":"modules/network"},{"Key":"prod-firewall","Source":"./modules/firewall","Dir":"modules/firewall"}]} \ No newline at end of file +{"Modules":[{"Key":"","Source":"","Dir":"."},{"Key":"dns-avii","Source":"./modules/dns/avii","Dir":"modules/dns/avii"},{"Key":"dns-avlabs","Source":"./modules/dns/avlabs","Dir":"modules/dns/avlabs"},{"Key":"dns-zenitho","Source":"./modules/dns/zenitho","Dir":"modules/dns/zenitho"},{"Key":"netbox-regions","Source":"./modules/netbox/regions","Dir":"modules/netbox/regions"},{"Key":"netbox-sites","Source":"./modules/netbox/sites","Dir":"modules/netbox/sites"},{"Key":"netbox-sites.netbox-region","Source":"../regions","Dir":"modules/netbox/regions"},{"Key":"netbox-sites.netbox-regions","Source":"../regions","Dir":"modules/netbox/regions"},{"Key":"private-network","Source":"./modules/network","Dir":"modules/network"},{"Key":"prod-firewall","Source":"./modules/firewall","Dir":"modules/firewall"}]} \ No newline at end of file diff --git a/terraform/main.tf b/terraform/main.tf index 7b66ee6..28756ed 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -12,4 +12,10 @@ module "dns-zenitho" { } module "dns-avii" { source = "./modules/dns/avii" +} +module "netbox-sites" { + source = "./modules/netbox/sites" +} +module "netbox-regions" { + source = "./modules/netbox/regions" } \ No newline at end of file diff --git a/terraform/modules/netbox/regions/main.tf b/terraform/modules/netbox/regions/main.tf new file mode 100644 index 0000000..907665a --- /dev/null +++ b/terraform/modules/netbox/regions/main.tf @@ -0,0 +1,33 @@ +terraform { + required_providers { + hcloud = { + source = "hetznercloud/hcloud" + version = "1.57.0" + } + netbox = { + source = "e-breuninger/netbox" + version = "5.0.0" + } + } +} + +resource "netbox_region" "europe" { + name = "Europe" +} + +resource "netbox_region" "northamerica" { + name = "North America" +} + +resource "netbox_region" "asia" { + name = "Asia" +} + +resource "netbox_region" "germany" { + name = "Germany" + parent_region_id = resource.netbox_region.europe.id +} +resource "netbox_region" "bavaria" { + name = "Bavaria" + parent_region_id = resource.netbox_region.germany.id +} \ No newline at end of file diff --git a/terraform/modules/netbox/regions/output.tf b/terraform/modules/netbox/regions/output.tf new file mode 100644 index 0000000..e69de29 diff --git a/terraform/modules/netbox/sites/main.tf b/terraform/modules/netbox/sites/main.tf new file mode 100644 index 0000000..70a2c39 --- /dev/null +++ b/terraform/modules/netbox/sites/main.tf @@ -0,0 +1,48 @@ +terraform { + required_providers { + hcloud = { + source = "hetznercloud/hcloud" + version = "1.57.0" + } + netbox = { + source = "e-breuninger/netbox" + version = "5.0.0" + } + } +} + +resource "netbox_site" "fsn1" { + name = "fsn1" + facility = "DE Falkenstein" + timezone = "Europe/Berlin" +} + +resource "netbox_site" "nbg1" { + name = "nbg1" + facility = "DE Nuremberg" + timezone = "Europe/Berlin" +} + +resource "netbox_site" "hel1" { + name = "hel1" + facility = "FI Helsinki" + timezone = "Europe/Helsinki" +} + +resource "netbox_site" "ash" { + name = "ash" + facility = "US Ashburn, VA" + timezone = "America/New_York" +} + +resource "netbox_site" "hil" { + name = "hil" + facility = "US Hillsboro, OR" + timezone = "America/Los_Angeles" +} + +resource "netbox_site" "sin" { + name = "sin" + facility = "SG Singapore" + timezone = "Asia/Singapore" +} \ No newline at end of file diff --git a/terraform/modules/netbox/sites/output.tf b/terraform/modules/netbox/sites/output.tf new file mode 100644 index 0000000..e69de29 diff --git a/terraform/terraform.tfstate b/terraform/terraform.tfstate index d9bf43c..18d5398 100644 --- a/terraform/terraform.tfstate +++ b/terraform/terraform.tfstate @@ -1,7 +1,7 @@ { "version": 4, "terraform_version": "1.14.3", - "serial": 30, + "serial": 53, "lineage": "7c69e311-e46b-0d39-a679-49d13d742523", "outputs": {}, "resources": [ @@ -410,6 +410,339 @@ } ] }, + { + "module": "module.netbox-regions", + "mode": "managed", + "type": "netbox_region", + "name": "asia", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "description": "", + "id": "2", + "name": "Asia", + "parent_region_id": 0, + "slug": "asia" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + }, + { + "module": "module.netbox-regions", + "mode": "managed", + "type": "netbox_region", + "name": "bavaria", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "description": "", + "id": "5", + "name": "Bavaria", + "parent_region_id": 4, + "slug": "bavaria" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==", + "dependencies": [ + "module.netbox-regions.netbox_region.europe", + "module.netbox-regions.netbox_region.germany" + ] + } + ] + }, + { + "module": "module.netbox-regions", + "mode": "managed", + "type": "netbox_region", + "name": "europe", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "description": "", + "id": "1", + "name": "Europe", + "parent_region_id": 0, + "slug": "europe" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + }, + { + "module": "module.netbox-regions", + "mode": "managed", + "type": "netbox_region", + "name": "germany", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "description": "", + "id": "4", + "name": "Germany", + "parent_region_id": 1, + "slug": "germany" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==", + "dependencies": [ + "module.netbox-regions.netbox_region.europe" + ] + } + ] + }, + { + "module": "module.netbox-regions", + "mode": "managed", + "type": "netbox_region", + "name": "northamerica", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "description": "", + "id": "3", + "name": "North America", + "parent_region_id": 0, + "slug": "north-america" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + }, + { + "module": "module.netbox-sites", + "mode": "managed", + "type": "netbox_site", + "name": "ash", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "asn_ids": [], + "comments": "", + "custom_fields": null, + "description": "", + "facility": "US Ashburn, VA", + "group_id": 0, + "id": "1", + "latitude": 0, + "longitude": 0, + "name": "ash", + "physical_address": "", + "region_id": 0, + "shipping_address": "", + "slug": "us-ashburn-va", + "status": "active", + "tags": [], + "tags_all": [], + "tenant_id": 0, + "timezone": "America/New_York" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + }, + { + "module": "module.netbox-sites", + "mode": "managed", + "type": "netbox_site", + "name": "fsn1", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "asn_ids": [], + "comments": "", + "custom_fields": null, + "description": "", + "facility": "DE Falkenstein", + "group_id": 0, + "id": "4", + "latitude": 0, + "longitude": 0, + "name": "fsn1", + "physical_address": "", + "region_id": 0, + "shipping_address": "", + "slug": "de-falkenstein", + "status": "active", + "tags": [], + "tags_all": [], + "tenant_id": 0, + "timezone": "Europe/Berlin" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + }, + { + "module": "module.netbox-sites", + "mode": "managed", + "type": "netbox_site", + "name": "hel1", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "asn_ids": [], + "comments": "", + "custom_fields": null, + "description": "", + "facility": "FI Helsinki", + "group_id": 0, + "id": "6", + "latitude": 0, + "longitude": 0, + "name": "hel1", + "physical_address": "", + "region_id": 0, + "shipping_address": "", + "slug": "fi-helsinki", + "status": "active", + "tags": [], + "tags_all": [], + "tenant_id": 0, + "timezone": "Europe/Helsinki" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + }, + { + "module": "module.netbox-sites", + "mode": "managed", + "type": "netbox_site", + "name": "hil", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "asn_ids": [], + "comments": "", + "custom_fields": null, + "description": "", + "facility": "US Hillsboro, OR", + "group_id": 0, + "id": "3", + "latitude": 0, + "longitude": 0, + "name": "hil", + "physical_address": "", + "region_id": 0, + "shipping_address": "", + "slug": "us-hillsboro-or", + "status": "active", + "tags": [], + "tags_all": [], + "tenant_id": 0, + "timezone": "America/Los_Angeles" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + }, + { + "module": "module.netbox-sites", + "mode": "managed", + "type": "netbox_site", + "name": "nbg1", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "asn_ids": [], + "comments": "", + "custom_fields": null, + "description": "", + "facility": "DE Nuremberg", + "group_id": 0, + "id": "5", + "latitude": 0, + "longitude": 0, + "name": "nbg1", + "physical_address": "", + "region_id": 0, + "shipping_address": "", + "slug": "de-nuremberg", + "status": "active", + "tags": [], + "tags_all": [], + "tenant_id": 0, + "timezone": "Europe/Berlin" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + }, + { + "module": "module.netbox-sites", + "mode": "managed", + "type": "netbox_site", + "name": "sin", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "asn_ids": [], + "comments": "", + "custom_fields": null, + "description": "", + "facility": "SG Singapore", + "group_id": 0, + "id": "2", + "latitude": 0, + "longitude": 0, + "name": "sin", + "physical_address": "", + "region_id": 0, + "shipping_address": "", + "slug": "sg-singapore", + "status": "active", + "tags": [], + "tags_all": [], + "tenant_id": 0, + "timezone": "Asia/Singapore" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + }, { "module": "module.private-network", "mode": "managed", diff --git a/terraform/terraform.tfstate.backup b/terraform/terraform.tfstate.backup index 9f2ac06..f25bb79 100644 --- a/terraform/terraform.tfstate.backup +++ b/terraform/terraform.tfstate.backup @@ -1,9 +1,763 @@ { "version": 4, "terraform_version": "1.14.3", - "serial": 14, + "serial": 46, "lineage": "7c69e311-e46b-0d39-a679-49d13d742523", "outputs": {}, - "resources": [], + "resources": [ + { + "module": "module.dns-avii", + "mode": "managed", + "type": "hcloud_zone", + "name": "avii", + "provider": "provider[\"registry.terraform.io/hetznercloud/hcloud\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "authoritative_nameservers": { + "assigned": [ + "hydrogen.ns.hetzner.com.", + "oxygen.ns.hetzner.com.", + "helium.ns.hetzner.de." + ] + }, + "delete_protection": false, + "id": 345669, + "labels": {}, + "mode": "primary", + "name": "avii.ovh", + "primary_nameservers": [], + "registrar": "other", + "ttl": 3600 + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "module": "module.dns-avii", + "mode": "managed", + "type": "hcloud_zone_rrset", + "name": "dkim", + "provider": "provider[\"registry.terraform.io/hetznercloud/hcloud\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "change_protection": false, + "id": "sig1._domainkey/CNAME", + "labels": {}, + "name": "sig1._domainkey", + "records": [ + { + "comment": "Apple Mail", + "value": "sig1.dkim.avii.ovh.at.icloudmailadmin.com." + } + ], + "ttl": null, + "type": "CNAME", + "zone": "avii.ovh" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "dependencies": [ + "module.dns-avii.hcloud_zone.avii" + ] + } + ] + }, + { + "module": "module.dns-avii", + "mode": "managed", + "type": "hcloud_zone_rrset", + "name": "mx", + "provider": "provider[\"registry.terraform.io/hetznercloud/hcloud\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "change_protection": false, + "id": "@/MX", + "labels": {}, + "name": "@", + "records": [ + { + "comment": "Apple Mail", + "value": "10 mx01.mail.icloud.com." + }, + { + "comment": "Apple Mail", + "value": "10 mx02.mail.icloud.com." + } + ], + "ttl": null, + "type": "MX", + "zone": "avii.ovh" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "dependencies": [ + "module.dns-avii.hcloud_zone.avii" + ] + } + ] + }, + { + "module": "module.dns-avii", + "mode": "managed", + "type": "hcloud_zone_rrset", + "name": "txt", + "provider": "provider[\"registry.terraform.io/hetznercloud/hcloud\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "change_protection": false, + "id": "@/TXT", + "labels": {}, + "name": "@", + "records": [ + { + "comment": "Apple Mail", + "value": "\"apple-domain=4Y71ffO5sr54SyCR\"" + }, + { + "comment": "Apple Mail", + "value": "\"v=spf1 include:icloud.com ~all\"" + } + ], + "ttl": null, + "type": "TXT", + "zone": "avii.ovh" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "dependencies": [ + "module.dns-avii.hcloud_zone.avii" + ] + } + ] + }, + { + "module": "module.dns-avlabs", + "mode": "managed", + "type": "hcloud_zone", + "name": "avlabs", + "provider": "provider[\"registry.terraform.io/hetznercloud/hcloud\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "authoritative_nameservers": { + "assigned": [ + "hydrogen.ns.hetzner.com.", + "oxygen.ns.hetzner.com.", + "helium.ns.hetzner.de." + ] + }, + "delete_protection": false, + "id": 345670, + "labels": {}, + "mode": "primary", + "name": "avlabs.ovh", + "primary_nameservers": [], + "registrar": "other", + "ttl": 3600 + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "module": "module.dns-avlabs", + "mode": "managed", + "type": "hcloud_zone_rrset", + "name": "dkim", + "provider": "provider[\"registry.terraform.io/hetznercloud/hcloud\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "change_protection": false, + "id": "sig1._domainkey/CNAME", + "labels": {}, + "name": "sig1._domainkey", + "records": [ + { + "comment": "Apple Mail", + "value": "sig1.dkim.avlabs.ovh.at.icloudmailadmin.com." + } + ], + "ttl": null, + "type": "CNAME", + "zone": "avlabs.ovh" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "dependencies": [ + "module.dns-avlabs.hcloud_zone.avlabs" + ] + } + ] + }, + { + "module": "module.dns-avlabs", + "mode": "managed", + "type": "hcloud_zone_rrset", + "name": "mx", + "provider": "provider[\"registry.terraform.io/hetznercloud/hcloud\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "change_protection": false, + "id": "@/MX", + "labels": {}, + "name": "@", + "records": [ + { + "comment": "Apple Mail", + "value": "10 mx01.mail.icloud.com." + }, + { + "comment": "Apple Mail", + "value": "10 mx02.mail.icloud.com." + } + ], + "ttl": null, + "type": "MX", + "zone": "avlabs.ovh" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "dependencies": [ + "module.dns-avlabs.hcloud_zone.avlabs" + ] + } + ] + }, + { + "module": "module.dns-avlabs", + "mode": "managed", + "type": "hcloud_zone_rrset", + "name": "txt", + "provider": "provider[\"registry.terraform.io/hetznercloud/hcloud\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "change_protection": false, + "id": "@/TXT", + "labels": {}, + "name": "@", + "records": [ + { + "comment": "Apple Mail", + "value": "\"apple-domain=vQO4aEkojGqDBf5D\"" + }, + { + "comment": "Apple Mail", + "value": "\"v=spf1 include:icloud.com ~all\"" + } + ], + "ttl": null, + "type": "TXT", + "zone": "avlabs.ovh" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "dependencies": [ + "module.dns-avlabs.hcloud_zone.avlabs" + ] + } + ] + }, + { + "module": "module.dns-zenitho", + "mode": "managed", + "type": "hcloud_zone", + "name": "zenitho", + "provider": "provider[\"registry.terraform.io/hetznercloud/hcloud\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "authoritative_nameservers": { + "assigned": [ + "hydrogen.ns.hetzner.com.", + "oxygen.ns.hetzner.com.", + "helium.ns.hetzner.de." + ] + }, + "delete_protection": false, + "id": 345671, + "labels": {}, + "mode": "primary", + "name": "zenitho.de", + "primary_nameservers": [], + "registrar": "other", + "ttl": 3600 + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "module": "module.dns-zenitho", + "mode": "managed", + "type": "hcloud_zone_rrset", + "name": "dkim", + "provider": "provider[\"registry.terraform.io/hetznercloud/hcloud\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "change_protection": false, + "id": "sig1._domainkey/CNAME", + "labels": {}, + "name": "sig1._domainkey", + "records": [ + { + "comment": "Apple Mail", + "value": "sig1.dkim.zenitho.de.at.icloudmailadmin.com." + } + ], + "ttl": null, + "type": "CNAME", + "zone": "zenitho.de" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "dependencies": [ + "module.dns-zenitho.hcloud_zone.zenitho" + ] + } + ] + }, + { + "module": "module.dns-zenitho", + "mode": "managed", + "type": "hcloud_zone_rrset", + "name": "mx", + "provider": "provider[\"registry.terraform.io/hetznercloud/hcloud\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "change_protection": false, + "id": "@/MX", + "labels": {}, + "name": "@", + "records": [ + { + "comment": "Apple Mail", + "value": "10 mx01.mail.icloud.com." + }, + { + "comment": "Apple Mail", + "value": "10 mx02.mail.icloud.com." + } + ], + "ttl": null, + "type": "MX", + "zone": "zenitho.de" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "dependencies": [ + "module.dns-zenitho.hcloud_zone.zenitho" + ] + } + ] + }, + { + "module": "module.dns-zenitho", + "mode": "managed", + "type": "hcloud_zone_rrset", + "name": "txt", + "provider": "provider[\"registry.terraform.io/hetznercloud/hcloud\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "change_protection": false, + "id": "@/TXT", + "labels": {}, + "name": "@", + "records": [ + { + "comment": "Apple Mail", + "value": "\"apple-domain=DZsJe5U3xyjT6KQp\"" + }, + { + "comment": "Apple Mail", + "value": "\"v=spf1 include:icloud.com ~all\"" + } + ], + "ttl": null, + "type": "TXT", + "zone": "zenitho.de" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "dependencies": [ + "module.dns-zenitho.hcloud_zone.zenitho" + ] + } + ] + }, + { + "module": "module.netbox-sites", + "mode": "managed", + "type": "netbox_site", + "name": "ash", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "asn_ids": [], + "comments": "", + "custom_fields": null, + "description": "", + "facility": "US Ashburn, VA", + "group_id": 0, + "id": "1", + "latitude": 0, + "longitude": 0, + "name": "ash", + "physical_address": "", + "region_id": 0, + "shipping_address": "", + "slug": "us-ashburn-va", + "status": "active", + "tags": [], + "tags_all": [], + "tenant_id": 0, + "timezone": "America/New_York" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + }, + { + "module": "module.netbox-sites", + "mode": "managed", + "type": "netbox_site", + "name": "fsn1", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "asn_ids": [], + "comments": "", + "custom_fields": null, + "description": "", + "facility": "DE Falkenstein", + "group_id": 0, + "id": "4", + "latitude": 0, + "longitude": 0, + "name": "fsn1", + "physical_address": "", + "region_id": 0, + "shipping_address": "", + "slug": "de-falkenstein", + "status": "active", + "tags": [], + "tags_all": [], + "tenant_id": 0, + "timezone": "Europe/Berlin" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + }, + { + "module": "module.netbox-sites", + "mode": "managed", + "type": "netbox_site", + "name": "hel1", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "asn_ids": [], + "comments": "", + "custom_fields": null, + "description": "", + "facility": "FI Helsinki", + "group_id": 0, + "id": "6", + "latitude": 0, + "longitude": 0, + "name": "hel1", + "physical_address": "", + "region_id": 0, + "shipping_address": "", + "slug": "fi-helsinki", + "status": "active", + "tags": [], + "tags_all": [], + "tenant_id": 0, + "timezone": "Europe/Helsinki" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + }, + { + "module": "module.netbox-sites", + "mode": "managed", + "type": "netbox_site", + "name": "hil", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "asn_ids": [], + "comments": "", + "custom_fields": null, + "description": "", + "facility": "US Hillsboro, OR", + "group_id": 0, + "id": "3", + "latitude": 0, + "longitude": 0, + "name": "hil", + "physical_address": "", + "region_id": 0, + "shipping_address": "", + "slug": "us-hillsboro-or", + "status": "active", + "tags": [], + "tags_all": [], + "tenant_id": 0, + "timezone": "America/Los_Angeles" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + }, + { + "module": "module.netbox-sites", + "mode": "managed", + "type": "netbox_site", + "name": "nbg1", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "asn_ids": [], + "comments": "", + "custom_fields": null, + "description": "", + "facility": "DE Nuremberg", + "group_id": 0, + "id": "5", + "latitude": 0, + "longitude": 0, + "name": "nbg1", + "physical_address": "", + "region_id": 0, + "shipping_address": "", + "slug": "de-nuremberg", + "status": "active", + "tags": [], + "tags_all": [], + "tenant_id": 0, + "timezone": "Europe/Berlin" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + }, + { + "module": "module.netbox-sites", + "mode": "managed", + "type": "netbox_site", + "name": "sin", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "asn_ids": [], + "comments": "", + "custom_fields": null, + "description": "", + "facility": "SG Singapore", + "group_id": 0, + "id": "2", + "latitude": 0, + "longitude": 0, + "name": "sin", + "physical_address": "", + "region_id": 0, + "shipping_address": "", + "slug": "sg-singapore", + "status": "active", + "tags": [], + "tags_all": [], + "tenant_id": 0, + "timezone": "Asia/Singapore" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + }, + { + "module": "module.private-network", + "mode": "managed", + "type": "hcloud_network", + "name": "privnet", + "provider": "provider[\"registry.terraform.io/hetznercloud/hcloud\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "delete_protection": false, + "expose_routes_to_vswitch": false, + "id": "11780768", + "ip_range": "10.0.0.0/8", + "labels": { + "environment": "production" + }, + "name": "privnet" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + }, + { + "module": "module.private-network", + "mode": "managed", + "type": "hcloud_network_subnet", + "name": "privsubnet", + "provider": "provider[\"registry.terraform.io/hetznercloud/hcloud\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "gateway": "10.0.0.1", + "id": "11780768-10.0.1.0/24", + "ip_range": "10.0.1.0/24", + "network_id": 11780768, + "network_zone": "eu-central", + "type": "cloud", + "vswitch_id": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==", + "dependencies": [ + "module.private-network.hcloud_network.privnet" + ] + } + ] + }, + { + "module": "module.prod-firewall", + "mode": "managed", + "type": "hcloud_firewall", + "name": "prod-fw", + "provider": "provider[\"registry.terraform.io/hetznercloud/hcloud\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "apply_to": [], + "id": "10332800", + "labels": { + "environment": "production" + }, + "name": "prod-fw", + "rule": [ + { + "description": "Allow HTTP", + "destination_ips": [], + "direction": "in", + "port": "80", + "protocol": "tcp", + "source_ips": [ + "0.0.0.0/0", + "::/0" + ] + }, + { + "description": "Allow HTTP/S", + "destination_ips": [], + "direction": "in", + "port": "443", + "protocol": "tcp", + "source_ips": [ + "0.0.0.0/0", + "::/0" + ] + }, + { + "description": "Allow SSH", + "destination_ips": [], + "direction": "in", + "port": "22", + "protocol": "tcp", + "source_ips": [ + "0.0.0.0/0", + "::/0" + ] + }, + { + "description": "Allow all outbound TCP traffic", + "destination_ips": [ + "0.0.0.0/0", + "::/0" + ], + "direction": "out", + "port": "", + "protocol": "tcp", + "source_ips": [] + }, + { + "description": "Allow all outbound UDP traffic", + "destination_ips": [ + "0.0.0.0/0", + "::/0" + ], + "direction": "out", + "port": "", + "protocol": "udp", + "source_ips": [] + } + ] + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + } + ], "check_results": null }