Skip to content

Conversation

@ribbybibby
Copy link
Contributor

When migrating a Helm chart to Chainguard it's a bit of a chore to figure out:

  1. Which values you need to override
  2. Which images you should replace the values with
  3. Whether there are any tags you need to adjust.

This change adds subcommands that streamline the process.

This involves quite a lot of changes to the existing mapper:

  1. Make it possible to match inactive tags by fetching the full list of tags from data.chaingurd.dev. Helm charts are tightly coupled to specific versions and therefore it isn't reasonable to expect users to bump a given version of a chart to active tags. Therefore, we need to aim to match the closest version possible.
  2. Make it possible to map to a custom repository prefix. Chances are, users are using an internal mirror or proxy when they deploy images via Helm.
  3. Make it possible for the mapper to ignore certain tags. We typically don't want/need to use -dev tags in Helm charts as our non-dev images should drop in nicely.
  4. Nest all the commands under a map command. This has nicer semantics.
  5. Overhaul the docs to account for multiple commands.

I've also had to tweak and fix some tests and other bits that I found while I was testing the Helm feature.

When migrating a Helm chart to Chainguard it's a bit of a chore to
figure out:

1. Which values you need to override
2. Which images you should replace the values with
3. Whether there are any tags you need to adjust.

This change adds subcommands that streamline the process.

This involves quite a lot of changes to the existing mapper:
1. Make it possible to match inactive tags by fetching the full list of
   tags from data.chaingurd.dev. Helm charts are tightly
   coupled to specific versions and therefore it isn't reasonable to
   expect users to bump a given version of a chart to active tags. Therefore,
   we need to aim to match the closest version possible.
2. Make it possible to map to a custom repository prefix. Chances are,
   users are using an internal mirror or proxy when they deploy images
   via Helm.
3. Make it possible for the mapper to ignore certain tags. We
   typically don't want/need to use -dev tags in Helm charts as our
   non-dev images *should* drop in nicely.
4. Nest all the commands under a `map` command. This has nicer
   semantics.
5. Overhaul the docs to account for multiple commands.

I've also had to tweak and fix some tests and other bits that I found
while I was testing the Helm feature.
@ribbybibby ribbybibby merged commit 2b126cf into chainguard-dev:main Jan 5, 2026
11 checks passed
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