Skip to content

Commit

Permalink
Update HIP and dependency handling
Browse files Browse the repository at this point in the history
  • Loading branch information
mladedav committed Apr 28, 2021
1 parent cd733b3 commit 6daeefe
Showing 1 changed file with 21 additions and 11 deletions.
32 changes: 21 additions & 11 deletions hips/hip-9999.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ installation. A possible workaround in current version would be to fetch the
chart, change the Chart.yaml file, run `helm dependency update` and install
it.

This allows developers to change dependencies of charts without the need to download them and edit them as well as allowing operation where some kind of proxy needsd to be used for repositories.
This allows developers to change dependencies of charts without the need to download them and edit them as well as allowing operation where some kind of proxy needs to be used for repositories.

Some use cases can be found in the [original issue](https://github.com/helm/helm/issues/2205).

Expand All @@ -32,10 +32,8 @@ for dependencies declared in Chart.yaml. The usage would be for example:
dep-name2.version=2.0.0,dep-name3.repository=helm.sh/repo`
where dependencies `dep-name`, `dep-name2`, and `dep-name3` were already declared in Chart.yaml. Currently only version and repository can be changed.

This option would also imply the option `--dependency-update` as if it were
called explicitly for the overriden versions to be downloaded.
This specification does not mandate how the `--dependency-update` option
should behave.
This option would also imply the option to fetch missing subcharts based on
Chart.yaml as if the option was called explicitly.

The updated charts/ directory must not overwrite dependencies that were
present in the umbrella chart's charts/ folder before the opration as that
Expand All @@ -48,9 +46,18 @@ wrong versions without changing the declared dependencies and then explicitly
calling `helm dependency update`. This behaviour would be dangerous because
helm does not check versions of present dependencies.

This command would also fetch missing subcharts based on Chart.yaml so that
the implementation can just change the dependencies in memory and resolve
them. Another option would be to always update based on Chart.yaml, but if
the user already has a version present and does not explicitly call for
updates, using their current versions should be ok. This can be overriden
with the option to update dependencies (see notes about the new options
planned for v4 concerning this).

## Backwards compatibility

This HIP would not change any current functionality.
This HIP would not change any current functionality. The implementation
depends on options planned for v4 and therefore is also planned for v4.

## Security implications

Expand All @@ -71,11 +78,14 @@ Not ready yet.

Should the dependencies be saved or discarded after use?

Should dependencies already present in charts/ directory be used by default or should versions specified in Chart.yaml be located each time?
Should dependencies already present in charts/ directory be used by default
or should versions specified in Chart.yaml be located each time (and
therefore update)?

## Notes

The `--dependency-update` flag currently does not match documentation and
further steps are currently taking place to decide if the feature will
change. If it does not change in v3, this HIP would probably apply only to v4
and later.
Originally this HIP expected to use `--dependency-update` flag internally,
but there seem to be some bugs with it and it is planned to be changed in v4.
Therefore the newer version will be used pushing this feature to v4 also.
See https://github.com/helm/helm/issues/9545#issuecomment-812045805
Implementation of this HIP would then depend on this feature.

0 comments on commit 6daeefe

Please sign in to comment.