Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Graceful unpublish DNS Records #1081

Open
philbrookes opened this issue Dec 13, 2024 · 0 comments
Open

Graceful unpublish DNS Records #1081

philbrookes opened this issue Dec 13, 2024 · 0 comments

Comments

@philbrookes
Copy link
Contributor

philbrookes commented Dec 13, 2024

Why

Currently there is no way to ask the DNS Operator to unpublish a DNS Record only when a certain level of redundancy is encountered, this means that gracefully removing a DNS Record requires manual intervention and an understanding of the internal workings of the DNS-Operator.

What

Add an optional unpublishStrategy to the dns policy CRD, which will allow an administrator to define a resiliency requirement which, when met, will instruct the DNS Operator to remove the records from the zone and set a condition in the status that it has been completed.

How

Diagram

Image
https://miro.com/app/board/uXjVL32kOMY=/

Kuadrant operator changes

The DNS Policy and DNS Record CRDs will have a new field added to their spec:

unpublishStrategy:
  resiliency: 0+
  republish: true|false (default false)

This is read by the kuadrant-operator and propagated into any relevant DNS Records, just like the health check information.

When the DNS Operator acts on these instructions it will set a condition in the DNS Record.

This condition will be propagated back into the relevant DNS Policy.

DNS Operator Changes

The DNS Operator will read the unpublishStrategy from the DNS Record on reconcile, based on the values it will then interrogate the zone values - similar to what it will do for health checks in this ticket - to see if the number of leaf records that this controller does not own are greater than or equal to the resiliency requirement in the unpublishStrategy, if so it will unpublish the records and update the condition in the DNS Record status.

If the strategy has defined republish to be true, then while the DNS Record exists, if the count of unowned leaf records ever drops below the resiliency requirement, then the DNS Operator will republish these records.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

1 participant