feat: add network_internal_domain_name variable to allow declaring internal dns resolution for networks

This commit is contained in:
Bertrand Lanson 2024-09-30 19:33:36 +02:00
parent 62807c1f46
commit 2cb6b39cb3
Signed by: lanson
SSH Key Fingerprint: SHA256:/nqc6HGqld/PS208F6FUOvZlUzTS0rGpNNwR5O2bQBw
5 changed files with 17 additions and 0 deletions

View File

@ -70,6 +70,7 @@ No modules.
| <a name="input_database_subnetpool_id"></a> [database_subnetpool_id](#input_database_subnetpool_id) | The id of the subnetpool to create the databse network from.<br>Since this module can route private subnets to the backbone, it needs to make sure it's not creating overlapping subnets. | `string` | `null` | no | | <a name="input_database_subnetpool_id"></a> [database_subnetpool_id](#input_database_subnetpool_id) | The id of the subnetpool to create the databse network from.<br>Since this module can route private subnets to the backbone, it needs to make sure it's not creating overlapping subnets. | `string` | `null` | no |
| <a name="input_external_network_id"></a> [external_network_id](#input_external_network_id) | The id of the external network to connect the frontend router to. | `string` | `null` | no | | <a name="input_external_network_id"></a> [external_network_id](#input_external_network_id) | The id of the external network to connect the frontend router to. | `string` | `null` | no |
| <a name="input_frontend_subnet_prefix_len"></a> [frontend_subnet_prefix_len](#input_frontend_subnet_prefix_len) | The prefix length of the frontend subnet. Must be between 20 and 32. | `number` | `24` | no | | <a name="input_frontend_subnet_prefix_len"></a> [frontend_subnet_prefix_len](#input_frontend_subnet_prefix_len) | The prefix length of the frontend subnet. Must be between 20 and 32. | `number` | `24` | no |
| <a name="input_network_internal_domain_name"></a> [network_internal_domain_name](#input_network_internal_domain_name) | The domain name to use for dns resolution inside the private networks | `string` | `null` | no |
| <a name="input_project_domain"></a> [project_domain](#input_project_domain) | The domain where this project will be created | `string` | `"default"` | no | | <a name="input_project_domain"></a> [project_domain](#input_project_domain) | The domain where this project will be created | `string` | `"default"` | no |
| <a name="input_project_name"></a> [project_name](#input_project_name) | The name of the project | `string` | n/a | yes | | <a name="input_project_name"></a> [project_name](#input_project_name) | The name of the project | `string` | n/a | yes |
| <a name="input_project_tags"></a> [project_tags](#input_project_tags) | The tags to append to this project | `list(string)` | `[]` | no | | <a name="input_project_tags"></a> [project_tags](#input_project_tags) | The tags to append to this project | `list(string)` | `[]` | no |

View File

@ -42,6 +42,7 @@ resource "openstack_networking_subnetpool_v2" "database" {
resource "openstack_networking_network_v2" "frontend" { resource "openstack_networking_network_v2" "frontend" {
count = var.architecture_tiers > 0 ? 1 : 0 count = var.architecture_tiers > 0 ? 1 : 0
name = "${local.resource_prefix}-frontend-network" name = "${local.resource_prefix}-frontend-network"
dns_domain = var.network_internal_domain_name
description = "Terraform managed." description = "Terraform managed."
tenant_id = data.openstack_identity_project_v3.this.id tenant_id = data.openstack_identity_project_v3.this.id
shared = false shared = false
@ -52,6 +53,7 @@ resource "openstack_networking_network_v2" "frontend" {
resource "openstack_networking_network_v2" "backend" { resource "openstack_networking_network_v2" "backend" {
count = var.architecture_tiers > 1 ? 1 : 0 count = var.architecture_tiers > 1 ? 1 : 0
name = "${local.resource_prefix}-backend-network" name = "${local.resource_prefix}-backend-network"
dns_domain = var.network_internal_domain_name
description = "Terraform managed." description = "Terraform managed."
tenant_id = data.openstack_identity_project_v3.this.id tenant_id = data.openstack_identity_project_v3.this.id
shared = false shared = false
@ -62,6 +64,7 @@ resource "openstack_networking_network_v2" "backend" {
resource "openstack_networking_network_v2" "database" { resource "openstack_networking_network_v2" "database" {
count = var.architecture_tiers == 3 ? 1 : 0 count = var.architecture_tiers == 3 ? 1 : 0
name = "${local.resource_prefix}-database-network" name = "${local.resource_prefix}-database-network"
dns_domain = var.network_internal_domain_name
description = "Terraform managed." description = "Terraform managed."
tenant_id = data.openstack_identity_project_v3.this.id tenant_id = data.openstack_identity_project_v3.this.id
shared = false shared = false

View File

@ -47,6 +47,7 @@
| <a name="input_database_subnetpool_cidr_blocks"></a> [database_subnetpool_cidr_blocks](#input_database_subnetpool_cidr_blocks) | The CIDR blocks for the database subnet pool | `list(string)` | <pre>[<br> "192.168.8.0/23"<br>]</pre> | no | | <a name="input_database_subnetpool_cidr_blocks"></a> [database_subnetpool_cidr_blocks](#input_database_subnetpool_cidr_blocks) | The CIDR blocks for the database subnet pool | `list(string)` | <pre>[<br> "192.168.8.0/23"<br>]</pre> | no |
| <a name="input_database_subnetpool_id"></a> [database_subnetpool_id](#input_database_subnetpool_id) | The id of the subnetpool to create the databse network from.<br>Since this module can route private subnets to the backbone, it needs to make sure it's not creating overlapping subnets. | `string` | `null` | no | | <a name="input_database_subnetpool_id"></a> [database_subnetpool_id](#input_database_subnetpool_id) | The id of the subnetpool to create the databse network from.<br>Since this module can route private subnets to the backbone, it needs to make sure it's not creating overlapping subnets. | `string` | `null` | no |
| <a name="input_frontend_subnet_prefix_len"></a> [frontend_subnet_prefix_len](#input_frontend_subnet_prefix_len) | The prefix length of the frontend subnet. Must be between 20 and 32. | `number` | `24` | no | | <a name="input_frontend_subnet_prefix_len"></a> [frontend_subnet_prefix_len](#input_frontend_subnet_prefix_len) | The prefix length of the frontend subnet. Must be between 20 and 32. | `number` | `24` | no |
| <a name="input_network_internal_domain_name"></a> [network_internal_domain_name](#input_network_internal_domain_name) | The domain name to use for dns resolution inside the private networks | `string` | `null` | no |
| <a name="input_project_domain"></a> [project_domain](#input_project_domain) | The domain where this project will be created | `string` | `"default"` | no | | <a name="input_project_domain"></a> [project_domain](#input_project_domain) | The domain where this project will be created | `string` | `"default"` | no |
| <a name="input_project_tags"></a> [project_tags](#input_project_tags) | The tags to append to this project | `list(string)` | `[]` | no | | <a name="input_project_tags"></a> [project_tags](#input_project_tags) | The tags to append to this project | `list(string)` | `[]` | no |
| <a name="input_public_nameservers"></a> [public_nameservers](#input_public_nameservers) | A list of public DNS servers to upstreams requests to in your subnets.<br>This is not necessary if your openstack deployment already has configured default upstreams for neutron. | `list(string)` | `[]` | no | | <a name="input_public_nameservers"></a> [public_nameservers](#input_public_nameservers) | A list of public DNS servers to upstreams requests to in your subnets.<br>This is not necessary if your openstack deployment already has configured default upstreams for neutron. | `list(string)` | `[]` | no |

View File

@ -70,6 +70,12 @@ variable "database_subnetpool_cidr_blocks" {
} }
#! networking variables #! networking variables
variable "network_internal_domain_name" {
type = string
description = "The domain name to use for dns resolution inside the private networks"
default = null
}
variable "frontend_subnet_prefix_len" { variable "frontend_subnet_prefix_len" {
type = number type = number
description = "The prefix length of the frontend subnet. Must be between 20 and 32." description = "The prefix length of the frontend subnet. Must be between 20 and 32."

View File

@ -79,6 +79,12 @@ variable "database_subnetpool_cidr_blocks" {
} }
#! networking variables #! networking variables
variable "network_internal_domain_name" {
type = string
description = "The domain name to use for dns resolution inside the private networks"
default = null
}
variable "frontend_subnet_prefix_len" { variable "frontend_subnet_prefix_len" {
type = number type = number
description = "The prefix length of the frontend subnet. Must be between 20 and 32." description = "The prefix length of the frontend subnet. Must be between 20 and 32."