-
Notifications
You must be signed in to change notification settings - Fork 10
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
Implement changes to plan to use soft delete flag to remove records #356
Comments
This was referenced Jan 29, 2025
Closed
github-merge-queue bot
pushed a commit
that referenced
this issue
Feb 13, 2025
update tree with propagate logic and tests
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Why
Currently we can blindly remove endpoints without any real safety check to ensure that we wont deliver an NXDomain. So we currently avoid situations where that might happen (see below)
What
There are several scenarios in which an endpoint should be removed from the DNS response but we do not do it currently.
We need a common piece of logic that will allow us to "remove if not the last one".
How
The following labels will be added to the DNS Operator plan considerations:
A
soft_delete
label indicates that this record should not be present in the zone, unless removing it would also result in the removal of a record with astop_soft_delete
label.The
stop_soft_delete
label would be applied for example to GEO CNAMEs by the kuadrant-operator.The root host is assumed to have a
stop_soft_delete
label, even if it is not present.During the processing of the plan in the dns operator, we need to propagate the
soft_delete
labels through the DNS tree using the following logic.soft_delete
label, add this label to all of it's children.soft_delete
label, check it's parent:soft_delete
label, add it to the parent recursivelysoft_delete
label would be added to a node with thestop_soft_delete
label, do not add it, and remove the label from all of this nodes children and parents recursively.soft_delete
label would be added to the root host of the record, remove it from the entire record.Once propagation by the above rules is completed, if any
soft_delete
labels remain, they are processed as if they are delete requests.The text was updated successfully, but these errors were encountered: