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

Add a Helm Chart for cloudcost-exporter #392

Open
nikimanoledaki opened this issue Jan 7, 2025 · 7 comments
Open

Add a Helm Chart for cloudcost-exporter #392

nikimanoledaki opened this issue Jan 7, 2025 · 7 comments
Assignees

Comments

@nikimanoledaki
Copy link
Contributor

nikimanoledaki commented Jan 7, 2025

Feature Request

Issue to add a Helm Chart for cloudcost-exporter ✨

Acceptance Criteria

  • A user should be able to deploy cloudcost-exporter through a Helm Chart
  • A user should also be able to configure a set of values with sensible defaults

TODO

@Pokom
Copy link
Contributor

Pokom commented Jan 7, 2025

@nikimanoledaki do you think we should create a repo specific to the helm chart? I've seen a mixture of patterns out in the OSS community. We could always start with a helm chart within this repo and expand.

@nikimanoledaki
Copy link
Contributor Author

nikimanoledaki commented Jan 13, 2025

We could use the Helm chart repository that is maintained under the Grafana organization, create a new charts/cloudcost-exporter in this repo, and add @platform-monitoring in the CODEOWNERS: https://github.com/grafana/helm-charts/tree/main/charts

@Pokom
Copy link
Contributor

Pokom commented Jan 13, 2025

I wonder why the k8s-monitoring team opted to create their own repo: https://github.com/grafana/helm-charts/tree/main/charts/k8s-monitoring, https://github.com/grafana/k8s-monitoring-helm?

Do you mind reaching out in #k8s-monitoring to get a bit more context? That should help us make a more informed opinion on sticking with the grafana helm-charts repo vs rolling our own.

@nikimanoledaki
Copy link
Contributor Author

Very good point - I hadn't seen that 👀 Will investigate and report back!

@nikimanoledaki nikimanoledaki assigned nikimanoledaki and Pokom and unassigned Pokom Jan 13, 2025
@nikimanoledaki
Copy link
Contributor Author

nikimanoledaki commented Jan 14, 2025

Helm Chart repository & git repository

Grafana Labs products use the https://grafana.github.io/helm-charts Helm chart repository. This can be validated with the following (which is also where cloudcost-exporter should be added):

helm repo add grafana https://grafana.github.io/helm-charts
helm search repo grafana

Apps that are maintained by both GL and the community are also listed in this helm chart repository, such as prometheus-community/kube-prometheus-stack.

The most common pattern that I found is for the source code of the helm chart to live in the same git repository as the rest of the application's source code. Examples:

It seems that the k8s-monitoring-helm is in a separate git repo because it contains a collection of helm charts, which I see almost as a feature (or collection of features?) in itself: https://github.com/grafana/k8s-monitoring-helm/tree/main/charts/k8s-monitoring/charts. Having a separate dedicated repo makes sense there since that collection of Helm charts is a large project.

For our use case, let's bootstrap the helm chart in this repo. Keeping things in this repo will help with reviews and creating changes in both the app's source code and the Helm chart at the same time if needed which would be faster than two separate repos.

Added a TODO to the description - might turn the TODO list into sub-issues as I go along

@Pokom
Copy link
Contributor

Pokom commented Jan 14, 2025

Thanks @nikimanoledaki for the research!

For our use case, let's bootstrap the helm chart in this repo. Keeping things in this repo will help with reviews and creating changes in both the app's source code and the Helm chart at the same time if needed which would be faster than two separate repos.

That works for me. As always, if we find it problematic, then we can move to helm chart over to a dedicated repository.

@nikimanoledaki
Copy link
Contributor Author

nikimanoledaki commented Jan 27, 2025

The Helm chart lives in this branch: https://github.com/grafana/cloudcost-exporter/tree/nm/add-helm-chart

Next steps:

  1. add instructions to contributing guide on how to test locally in a kind cluster
  2. setup authentication manifests (prioritize AWS, then GCP, then Azure)
  3. test internally in dev
  4. setup releases so that the Helm chart can be fetched through the Grafana Helm repository
  5. merge nm/add-helm-chart to main

Pokom pushed a commit that referenced this issue Jan 27, 2025
ref #392

This PR merges #398 to `main` with an additional warning message that the Helm chart is not functional yet. @Pokom and I decided to keep it simple and not hide the Helm chart WIP behind a feature branch :)
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

2 participants