Skip to content

feat(helm): Testing possibility of using helm for sentry services #590

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

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

dmajere
Copy link
Contributor

@dmajere dmajere commented May 9, 2025

This is a bit of doodling with helm for sentry services.
Using vroom since its a relatively simple service try it on.

description: A Helm chart for Vroom
type: application

version: 0.1.0
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not real versions

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In a world where things have moved to Helm, I would imagine that we would like to make these helpers available to service teams. Can the helpers be in a separate repository and the services be in its own repository? If so, it would be nice to see an example to that end state.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes. helm supports library charts.
source of inspiration here: https://github.com/bitnami/charts/tree/main/bitnami/common
figuring out permissions for already existing internal repo right now to move some of the code there.

@@ -0,0 +1,102 @@
{{- $service := include "ServiceName" . -}}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it fair to say this file is what we expect service owners to own and modify most of the times?

@@ -0,0 +1,51 @@
{{- $service := include "ServiceName" . -}}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would imagine that we would want to provide hpa, vpa etc. as utility functions for all services. I am still not clear how the flow of including these utility functions for each service would look like.

Ideally, i am imagining this workflow (tell me if I am wrong)

  1. User writes the most minimalistic helm to use kubernetes (this means someone can run their workload on k8s).
  2. There are Sentry infrastructure components which we want to mandate in all services when they want their service to run in production. Things like cogs, hpa/vpa etc.

How does one go from step 1 to step 2.

@@ -0,0 +1,28 @@
project: customer-1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know you mentioned this offline, but we probably want to have an opinion to how value overrides should happen. From initial glance at helm, i did not see any overriding mechanism. Does that mean if we use helm ootb, we need values file for each override?

Or do we still want to leverage the override mechanism sentry kube provides, so build a thin wrapper around helm which can do the values override.

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

Successfully merging this pull request may close these issues.

2 participants