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

Service Discovery: Adding generic HTTP service discovery #4841

Open
matej-g opened this issue Nov 8, 2021 · 8 comments
Open

Service Discovery: Adding generic HTTP service discovery #4841

matej-g opened this issue Nov 8, 2021 · 8 comments
Labels
dont-go-stale Label for important issues which tells the stalebot not to close them feature request/improvement help wanted

Comments

@matej-g
Copy link
Collaborator

matej-g commented Nov 8, 2021

Is your proposal related to a problem?

Currently, there is no generic service discovery mechanism in Thanos, that would function remotely. There is currently file service discovery, which however has some legitimate limitations - if a user wishes to dynamically change the content of the file / services, this requires a sidecar process which updates the configuration file. Such pattern might, however, not be applicable in all environments. Having a mechanism to pull changes from a remote place instead would alleviate the issue in such cases.

Related issues:

Describe the solution you'd like

The proposal is to introduce a generic HTTP service discovery, which could be based on regular polling of an endpoint, which would contain information on available services, in a pre-defined format.

Describe alternatives you've considered

  • One mentioned alternative is to generate SD files dynamically via a sidecar, but this is somewhat cumbersome and might not be possible in all scenarios (requires employing an extra process with access to the underlying file system)
  • Another would be to enhance Thanos each time with particular SD service discovery mechanisms that Thanos users propose. This could however lead to 'opening the flood gates', where the number of SD service discoveries could grow uncontrollably (which has already been discouraged by the maintainers), leading to dependency hell and bloating of the amount of code. Offering a generic remote-based (HTTP) service discovery is a compromise between having to operate on the local file system and allowing for large number of provider-specific service discoveries into the code base.

Additional context

cc @saswatamcode

@saswatamcode
Copy link
Member

Thanks a ton for writing this up! It's a great idea and would fit really well with the SD sidecar. 🙂

@stale
Copy link

stale bot commented Mar 2, 2022

Hello 👋 Looks like there was no activity on this issue for the last two months.
Do you mind updating us on the status? Is this still reproducible or needed? If yes, just comment on this PR or push a commit. Thanks! 🤗
If there will be no activity in the next two weeks, this issue will be closed (we can always reopen an issue if we need!). Alternatively, use remind command if you wish to be reminded at some point in future.

@stale
Copy link

stale bot commented May 2, 2022

Hello 👋 Looks like there was no activity on this issue for the last two months.
Do you mind updating us on the status? Is this still reproducible or needed? If yes, just comment on this PR or push a commit. Thanks! 🤗
If there will be no activity in the next two weeks, this issue will be closed (we can always reopen an issue if we need!). Alternatively, use remind command if you wish to be reminded at some point in future.

@stale stale bot added the stale label May 2, 2022
@matej-g
Copy link
Collaborator Author

matej-g commented May 13, 2022

Still needed ⬆️

@stale stale bot removed the stale label May 13, 2022
@stale
Copy link

stale bot commented Jul 31, 2022

Hello 👋 Looks like there was no activity on this issue for the last two months.
Do you mind updating us on the status? Is this still reproducible or needed? If yes, just comment on this PR or push a commit. Thanks! 🤗
If there will be no activity in the next two weeks, this issue will be closed (we can always reopen an issue if we need!). Alternatively, use remind command if you wish to be reminded at some point in future.

@stale stale bot added the stale label Jul 31, 2022
@matej-g matej-g removed the stale label Aug 4, 2022
@stale
Copy link

stale bot commented Nov 13, 2022

Hello 👋 Looks like there was no activity on this issue for the last two months.
Do you mind updating us on the status? Is this still reproducible or needed? If yes, just comment on this PR or push a commit. Thanks! 🤗
If there will be no activity in the next two weeks, this issue will be closed (we can always reopen an issue if we need!). Alternatively, use remind command if you wish to be reminded at some point in future.

@matej-g matej-g added the dont-go-stale Label for important issues which tells the stalebot not to close them label Nov 14, 2022
@tohjustin
Copy link

@matej-g @saswatamcode I'm interested in implementing HTTP SD on Thanos. Should I proceed with writing a proposal document or that isn't necessary?

@matej-g
Copy link
Collaborator Author

matej-g commented Apr 24, 2023

Hey @tohjustin, thanks for your interest! It would be awesome if you'd like to tackle this.

I believe this issue can serve as a proposal (or at least a base for it). As long as we have clear understanding and agreement, you could go directly into writing an implementation (and we can turn this issue into a formal proposal, if necessary, but that does not block work on the actual feature).

Thoughts @thanos-io/thanos-maintainers?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dont-go-stale Label for important issues which tells the stalebot not to close them feature request/improvement help wanted
Projects
None yet
Development

No branches or pull requests

4 participants