Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
AWSSD provider aka AWS CloudMap should remove CloudMap Services when its last Instance de-registered.
aws-sd-service-cleanup
to enable cleanup of stale CM Services, by default it will work as before;Opened for another flag name
submitCreates
to respect Service ownership and update only "owned" ServicesDeleteService
handler to cleanup empty CM Services from CloudMap usingDeleteService
APIAWSSDProvider
struct to includeownerID
andcleanEmptyService
flag;I'm not sure if it could be done without updating provider struct without heavy-lifting.
In current awssd implementation only registry is aware of
TXTOwnerID
and it cannot be easily passed without changingProvider
interface, same time only provider aware when last Instance was Deregistered(Service cannot be deleted until all Instances are gone).Fixes #2509
This feature is critical when external-dns is used with awssd provider on high scale of Endpoints, when no cleanup preformed at some point CM Namespace will contain mostly orphaned empty CM Services and reconciliation will take tens of minutes to run.
Checklist