miniature-jewelry-50722
03/06/2024, 12:12 AMchart/templates/service-a
chart/templates/service-b
chart/templates/service-c
And we have a monorepo that is home to all our services, which look something like:
packages/service-a
packages/service-b
packages/service-c
Right now the chart is really only used in production, and for dev we have garden setup using Container Modules for each of our services (rather than Kubernetes or Helm). The plan is to make the helm chart flexible enough for both prod and dev, and Garden could use Helm Modules against it.
I'm trying to steer clear of completely renovating the helm chart and not separate each service into it's own chart, I think that'd be the cleanest solution, but it would be a large lift that I don't think we're ready for, is there possibly an in-between solution that you can think of or have experience with in the past? Or even a public repo I could reference would be awesome!bright-policeman-43626
03/06/2024, 7:53 AMhelm_chart/Chart.yaml
services/{service-a,b,c}.yaml # This is going to be the Garden helm module to deploy the services using the same Helm chart.
project.garden.yaml # This file would have the providers config, and any variables you might need to reuse across the board.
This is just my opinion, there might be better ways to handle thisminiature-jewelry-50722
03/06/2024, 7:49 PMhelmet
- that's a pretty nifty Helm library. However, I think it's outside the scope of this conversion.
Our Helm chart is HUUUUUUGE and complex (lots of conditional templating), and an effort like converting all of our helm files to helmet
would be a big undertaking and could take roughly 2-4 weeks.
I'm trying really only to focus on the "let me get garden running against my existing helm chart without making too many changes to the chart" 😂
I think the question to ask is, is it even possible for Garden to run an individual service against a multi-service helm chart. What I was thinking was, disabling all template files (services) by default, and when garden wants to deploy a service, or multiple, it sets an enable-flag against the values file (services-a.enabled=true
).
This does feel pretty unconventional I will admit, but I'm trying to find a balance between getting garden to utilize our Helm Chart, and not completely rebuilding our Helm architecture.bright-policeman-43626
03/06/2024, 8:45 PMminiature-jewelry-50722
03/06/2024, 10:50 PMbright-policeman-43626
03/07/2024, 5:14 PMminiature-jewelry-50722
03/08/2024, 6:44 PMbright-policeman-43626
03/09/2024, 12:01 AM