universal-crossplane icon indicating copy to clipboard operation
universal-crossplane copied to clipboard

Reconsider UXP chart structure: dependency

Open phisco opened this issue 2 years ago • 2 comments

What problem are you facing?

Merging upstream values with the ones defined here is one of the main issues in the current release process. We need to set some defaults for existing values, and add new ones, as seen here.

How could UXP help solve your problem?

#364 is attempting to reduce the differences in order to make the process less painful, however, another option could be to use the upstream helm chart as a dependency. I created https://github.com/phisco/uxp-chart-deps/tree/main to demonstrate this approach; as explained in the README.md, it should address the upgrade from the upstream chart scenario without any issues.

The only drawback would be that to upgrade users would have to put all the crossplane specific custom settings in their values files belo .crossplane, e.g.:

image:
  tag: my-tag

would become:

crossplane:
  image:
    tag: my-tag

phisco avatar May 03 '23 15:05 phisco

here the same POC directly consuming the upstream helm chart, without vendoring it: https://github.com/phisco/uxp-chart-deps/tree/no-vendor The main drawback is the need to helm dependency build before packaging it, which will have to be added to the release procedure in the makefile

phisco avatar May 03 '23 15:05 phisco

Thanks @phisco, for checking this out.

I agree that this would give us more flexibility and more control on how we are extending the upstream chart.

As you pointed out, the main caveat is the change in the structure for upstream values, e.g. they need to be passed as nested under crossplane. , which is indeed a breaking API change that we need to be careful of.

With its current state, I don't see an immediate reason to undertake this effort though, as we are aiming for minimal divergence from upstream and can live with relatively hacky sed commands for now.

turkenh avatar May 04 '23 09:05 turkenh