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

Idea: move mimir go client into own package #10315

Open
Syndlex opened this issue Dec 28, 2024 · 3 comments
Open

Idea: move mimir go client into own package #10315

Syndlex opened this issue Dec 28, 2024 · 3 comments
Labels
enhancement New feature or request

Comments

@Syndlex
Copy link

Syndlex commented Dec 28, 2024

What is the problem you are trying to solve?

help opensource community use mimir's api to build IaC tools

Which solution do you envision (roughly)?

Extract everything that is in: https://github.com/grafana/mimir/tree/main/pkg/mimirtool/client into its on go package.

Have you considered any alternatives?

writing everything by myself

Any additional context to share?

I think it's interesting that you have this code in multiple repositories yourself.
You can find it in Grizzly, Mimir Tools, and Alloy.

How long do you think this would take to be developed?

Small (<= 1 month dev)

What are the documentation dependencies?

No response

Proposer?

No response

@Syndlex Syndlex added the enhancement New feature or request label Dec 28, 2024
@pracucci
Copy link
Collaborator

I'm not against the proposal, but what's the problem directly importing pkg/mimirtool/client? Why does moving it to a different package will solve the issue?

@56quarters
Copy link
Contributor

I am not a fan of moving the client outside this repository and introducing another package with APIs and the obligations that come with that. Something like this was proposed before here #6677. There shouldn't be anything preventing the client from being imported as-is like Marco mentioned besides the number of dependencies that Mimir pulls in.

@Syndlex
Copy link
Author

Syndlex commented Dec 30, 2024

I think moving it out off this repo would be a bad idea too.
Moving it into its own path/package would have some benefits.
Something like PKG/client or something.

These are the benefits I see:

  • Clearer communication that there is a implementation for a client.
    • For me this is the main benefit. Enable the community to build stuff for the mimir system without implementing boilerplate API code.
  • When I loaded the mimirtools package it was very bloated (maybe a mistake on my side).
  • There is also the dry argument but I always think this is not the best argument.
    • Currently it feels like grizzly alloy don't know that there could use this client.

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
None yet
Development

No branches or pull requests

3 participants