Skip to content

Conversation

@marsadle
Copy link

what

Add dns_gbl_delegated_environment_name (used throughout components) to specify environment of dns-delegated component.

why

This change is necessary when deploying identical environments in multiple regions and using regional dns-delegated components rather than a single global one.

@marsadle marsadle requested review from a team as code owners October 17, 2024 13:08
@Nuru Nuru added the question Further information is requested label Oct 17, 2024
@Nuru
Copy link
Contributor

Nuru commented Oct 17, 2024

@marsadle Why are you using regional dns-delegated components? DNS is not regional in any way, and our architecture is set up for you to use a single dns-delegated component per account.

@marsadle
Copy link
Author

Your dns-delegated component actually describes, that it can be deployed regionally.
Not all components are set up to do so, e.g. aurora-postgres which has no way to point to a regional endpoint. We need postgres-writer.euw1.our-infrastructure.cloud and postgres-writer.use1.our-infrastructure.cloud which are entirely separate environments. The component only provisions postgres-writer.our-infrastructure.cloud when provisioned with a global dns-delegated zone.

This is a change that is non-intrusive and has been made across components (e.g. aurora-postgres), which is much easier to do than to alter components into setting custom DNS names.

@Nuru Nuru added invalid This doesn't seem right wontfix This will not be worked on and removed question Further information is requested labels Oct 18, 2024
@Nuru
Copy link
Contributor

Nuru commented Oct 18, 2024

I apologize for the misleading documentation (will fix). dns-delegated should only be deployed globally. See Why should the dns-delegated component be deployed globally rather than regionally?.

I am rejecting this PR as an anti-pattern.

In your case, you can set the regional designator in var.cluster_dns_name_part and var.reader_dns_name_part. Set var.cluster_dns_name_part to writer.euw1 or writer.use1 as appropriate (and likewise for reader), and continue to use a single global dns-delegated component.

While one could argue that the module could have better support for your use case, this PR is not it.

@marsadle Please know that we are grateful for your effort to improve the module, and in this case you have inspired better documentation, even though this PR itself is not being accepted. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

invalid This doesn't seem right wontfix This will not be worked on

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants