thanos-io / thanos

Highly available Prometheus setup with long term storage capabilities. A CNCF Incubating project.
https://thanos.io
Apache License 2.0
12.99k stars 2.08k forks source link

Service Discovery: Adding generic HTTP service discovery #4841

Open matej-g opened 2 years ago

matej-g commented 2 years ago

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

Additional context

cc @saswatamcode

saswatamcode commented 2 years ago

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

stale[bot] commented 2 years ago

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[bot] commented 2 years ago

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 commented 2 years ago

Still needed :arrow_up:

stale[bot] commented 2 years ago

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[bot] commented 1 year ago

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.

tohjustin commented 1 year ago

@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 commented 1 year ago

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?