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

DNS based service discovery #224

Open
luisdavim opened this issue Apr 29, 2023 · 8 comments
Open

DNS based service discovery #224

luisdavim opened this issue Apr 29, 2023 · 8 comments
Labels
good first issue Good for newcomers network Networking releated issues Service Discovery

Comments

@luisdavim
Copy link

Hi, this relates to #195 but it's more of a feature request.

I know tool/library supports different service discovery mechanisms through plugins but it would be nice to have one working out of the box without needing any plugins.

I think DNS would be perfect for that, it can be used with consul, kubernetes and any cloud provider and since the implementation can be done using the standard library, it doesn't require any additional dependencies.

@buraksezer
Copy link
Owner

buraksezer commented May 3, 2023

Hey @luisdavim,

Thank you for reporting this. It would be good having a default implementation based on DNS. Olric already depends on (indirectly) github.com/miekg/dns. I think this task can be a good first issue. Please feel free to provide a design document and create a PR for this feature.

@buraksezer buraksezer added Service Discovery network Networking releated issues good first issue Good for newcomers labels May 3, 2023
@kozlowsqi
Copy link

Is this still relevant?

I am looking for my first issue and this seems easy enough.

@luisdavim
Copy link
Author

Yes, I think this is still relevant.

@buraksezer
Copy link
Owner

Is this still relevant?

I am looking for my first issue and this seems easy enough.

Hello,

Yes, it's still relevant but we should start working on an RFC before implementing the feature.

@kozlowsqi
Copy link

Ok. I am sorry but I am not sure what you mean by an RFC.

If I understood this issue correctly, what you want is something similar to how nginx dns service discovery works.

My initial idea is to implement the ServiceDiscovery interface and simply create a default plugin for service discovery.

However I am quite green and would appreciate some guidance.

@luisdavim
Copy link
Author

luisdavim commented Oct 8, 2023

Plugins for service discovery already exist. The point of this issue is to have a native, default service discovery mechanism.

See also:

@kozlowsqi
Copy link

Plugins for service discovery already exist. The point of this issue is to have a native, default service discovery mechanism.

If I understand it correctly, plugins for service discovery are written in Go, and they implement an interface from here. That package is the common dependency between orlic and service discovery plugin (orlic consumes the interface, the plugin implements it).

All I would need to do is provide a default implementation that is used instead where appropriate. Am I on the right track here?

@luisdavim
Copy link
Author

The idea is that we would have a default service discovery mechanism based on DNS, without having to use plugins.

An RFC (request for comments) is a document where you would explain the proposed implementation so it cabeceiras reviewed and agreed upon before starting the actual implementation.

Repository owner deleted a comment from Tochemey Jan 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers network Networking releated issues Service Discovery
Projects
None yet
Development

No branches or pull requests

3 participants