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

Puppet strings and interface cleanup #385

Open
alexjfisher opened this issue Nov 15, 2019 · 3 comments
Open

Puppet strings and interface cleanup #385

alexjfisher opened this issue Nov 15, 2019 · 3 comments

Comments

@alexjfisher
Copy link
Member

At the moment, I think it's very confusing that there are two interfaces to prometheus::server. You can declare that class directly, or declare the base class with manage_prometheus_server => true.

prometheus::server and all the node exporters inherit prometheus for common defaults, (they use to inherit from params.pp), but it's very difficult to see what prometheus parameters are common defaults and which ones are just for wrapping prometheus::server.

I was planning to add puppet strings docs, but don't think we should be doing that in two places.
I'm happy to spend time refactoring, but am looking for ideas for the best way forward.

@alexjfisher
Copy link
Member Author

alexjfisher commented Nov 15, 2019

It's worse than I thought. prometheus::server is actually missing plenty of parameters and prometheus::config mixes getting server specific values from prometheus and prometheus::server :(

@alexjfisher
Copy link
Member Author

How about something like...

Option 1:

  • Move all the parameters inherited and used in several classes out of prometheus and into prometheus::global. Defaults for these options could still come from hiera where they are OS specific. Other than that, it would behave a little bit like how params.pp did before. Users would be expected to declare it (or use their own hiera) if they wanted to change any of these options though.
  • Keep one of prometheus or prometheus::server (maybe the later to signify a clean break from the old structure).

@ekohl
Copy link
Member

ekohl commented Nov 15, 2019

My impression is that you can use exporters on a machine without the server itself so I don't think you can get rid of prometheus::server. Since it does make sense to have some common defaults, I think getting rid of prometheus and introducing prometheus::global makes the most sense.

@TheMeier TheMeier self-assigned this May 25, 2024
@TheMeier TheMeier removed their assignment Dec 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants