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

soft delete based on service endpoints #348

Open
maleck13 opened this issue Jan 22, 2025 · 2 comments
Open

soft delete based on service endpoints #348

maleck13 opened this issue Jan 22, 2025 · 2 comments
Labels
enhancement New feature or request

Comments

@maleck13
Copy link
Contributor

maleck13 commented Jan 22, 2025

Blocked by: #356 , #367

What

Currently healthchecks have to be defined and use a HTTP request response model to check the health. This is good for checking the end to end connectivity. However it requires some effort from the developer and the platform engineer in order to get into a good state and it will not work for a wildcard listener. Ideally we would have a default health check that could be performed without the need for additional configuration.

I would like that the DNS operator on a given cluster automatically checked for available endpoints via an endpointslice for a given backend ref if that backend ref was of type Service. If there were no available endpoints across all services associated with a listener, it should label those gateways addresses with soft_delete to attempt removal from the DNS Response.

Additional Context

Each Listener on a gateway that results in a DNSRecord has at least one HTTPRoute attached. We can inspect the attached HTTPRoutes for a given listener and check each of their backend refs for available endpoints. If there are available endpoints for given listener then we publish or keep the record in place. If there are none we remove the the records for that gateway listener host. We can achieve this without need to make http requests to an application and instead just use the k8s API.

If we chose to go with this, it should be on by default but be something that can be disabled explicitly via the policy for a gateway or listener.

Tests
TBD

@maleck13 maleck13 added the enhancement New feature or request label Jan 22, 2025
@maleck13
Copy link
Contributor Author

@philbrookes interested in your thoughts on this

@maleck13
Copy link
Contributor Author

Requires #356

@philbrookes philbrookes mentioned this issue Jan 29, 2025
2 tasks
@philbrookes philbrookes changed the title Default endpoint based health checks soft delete based on service endpoints Jan 29, 2025
@philbrookes philbrookes moved this to Todo in Kuadrant Jan 30, 2025
@philbrookes philbrookes self-assigned this Jan 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Todo
Development

No branches or pull requests

2 participants