Commit graph

6892 commits

Author SHA1 Message Date
Matt Farina
e8a748d300
Updated per feedback from gjenkins8
Signed-off-by: Matt Farina <matt.farina@suse.com>
2023-07-25 09:52:46 -04:00
Matt Farina
0a5148faff
Fix multiple bugs in values handling
First, some notes about priority and how some code flow works.

For Helm handling values, the expected order of precidence is:
1. User specified values (e.g CLI)
2. Imported values
3. Parent chart values
4. Subchart values

Helm handles dependency values slightly differently. If there are dependencies
in the charts folder that are not marked as dependencies all of the values,
including nil values, are pulled in. If those charts are listed as a
dependency in the Chart.yaml file than they are processed for import handling.
Prior to the changes here, it caused nil values at the top level to NOT remove
values specified.

The changes:

1. The order of priority was chagned from the list above. Parnet chart values
would override specifically imported values. This is due to a change from
just over a year ago that introduced a bug. That was undone by changing the
precidence when maps were merged.

2. To handle merging while retaining the nil values, which was causing
inconsistent behavior, a new set of Merge functions were introduced. These
functions are just like coalesce except that they DO NOT remove nil/null values.
The new functions are used in a backward compatible manner meaning some new
functions were introduced that called them.

Specific issues fixed (that are known):

Closes #9027

Can now delete subkeys from charts when specified in the parent. This behavior
was previously inconsistent. Sometimes they could be deleted and other times
it did not work. Now it is consistent.

Closes #10899

Imported values (from library or other subcharts) are now used following the
order above.

The previous behavior was inconsistent. import-values using just a string
would import them. When named with a child/parent it did not work if the
parent already had a value. If string and named were mixed the imports
worked if the string happened first but just for the string not the named.
If the named parent/child went first then none of them worked for cases
where the parent already had a value. It was inconsistent and the tests
sometimes mirrored the functionality rather than expected behavior.

Tests for this fall into the sub-packages and are in the template tests
to verify it's happening in the output. Including having values passed
at the CLI as the ultimate highest priority to be used.

This relates to a fix that went in for #9940. The expected values there don't
fit the precedence above where the parent value would override the imported
value. That fix/change introduced more bugs.

Closes #10052

This is the case where imported values using the parent/child designation
just didn't work right. That has been fixed and there are tests. The underlying
issue had to do with the precedence order handling.

Note, a lot of tests were added. Hope we got it more right this time.

Signed-off-by: Matt Farina <matt.farina@suse.com>
2023-06-26 11:37:21 -04:00
Matt Farina
4e447d87cd
Merge pull request #11397 from wujunwei/fix-helm-lint-infinite-loop
bugfix: helm lint infinite loop
2023-06-14 10:38:13 -04:00
Matt Farina
ca33fd674a
Merge pull request #12103 from helm/dependabot/go_modules/github.com/opencontainers/runc-1.1.5
chore(deps): bump github.com/opencontainers/runc from 1.1.4 to 1.1.5
2023-06-14 10:37:37 -04:00
dependabot[bot]
2bfc367b32
chore(deps): bump github.com/opencontainers/runc from 1.1.4 to 1.1.5
Bumps [github.com/opencontainers/runc](https://github.com/opencontainers/runc) from 1.1.4 to 1.1.5.
- [Release notes](https://github.com/opencontainers/runc/releases)
- [Changelog](https://github.com/opencontainers/runc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/opencontainers/runc/compare/v1.1.4...v1.1.5)

---
updated-dependencies:
- dependency-name: github.com/opencontainers/runc
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-13 20:35:24 +00:00
Matt Farina
f90d14d9d8
Merge pull request #12073 from helm/dependabot/go_modules/github.com/docker/distribution-2.8.2incompatible
chore(deps): bump github.com/docker/distribution from 2.8.1+incompatible to 2.8.2+incompatible
2023-06-13 16:20:50 -04:00
Matt Farina
c88d8969da
Merge pull request #12056 from kupnu4x/skeleton-helm-release-autoscaling-v2
update autoscaling/v2beta1 to autoscaling/v2 in skeleton chart
2023-06-13 16:06:38 -04:00
Matt Farina
1c4885fce7
Merge pull request #11501 from imanushin/add-test-for-exact-version
Add test for exact version selection
2023-05-30 12:58:14 -04:00
Joe Julian
ad1fd058ad
Merge pull request #10602 from hown3d/lowercase-search
fix(search): print repo search result in original case
2023-05-26 08:32:49 -07:00
Matt Farina
32fc79dc47
Merge pull request #12041 from helm/dependabot/go_modules/github.com/lib/pq-1.10.9
chore(deps): bump github.com/lib/pq from 1.10.7 to 1.10.9
2023-05-26 08:51:36 -04:00
Joe Julian
d7805e68ae
Merge pull request #11455 from ksankeerth/dev-11451
Strict file permissions for repository.yaml
2023-05-25 11:25:19 -07:00
Joe Julian
27cd772913
Merge pull request #12096 from joejulian/client-go
update kubernetes dependencies from v0.27.0 to v0.27.1
2023-05-25 09:34:21 -07:00
Joe Julian
54ca3a82c2
update kubernetes dependencies from v0.27.0 to v0.27.1
Signed-off-by: Joe Julian <me@joejulian.name>
2023-05-22 16:48:20 -07:00
dependabot[bot]
36dee32fa1
chore(deps): bump github.com/docker/distribution
Bumps [github.com/docker/distribution](https://github.com/docker/distribution) from 2.8.1+incompatible to 2.8.2+incompatible.
- [Release notes](https://github.com/docker/distribution/releases)
- [Commits](https://github.com/docker/distribution/compare/v2.8.1...v2.8.2)

---
updated-dependencies:
- dependency-name: github.com/docker/distribution
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-11 20:46:45 +00:00
Joe Julian
49805f09b5
Merge branch 'main' into lowercase-search
Signed-off-by: Joe Julian <me@joejulian.name>
2023-05-10 16:41:11 -07:00
Joe Julian
2398830f18
Merge pull request #12067 from joejulian/fix_TestTemplateCmd_failure
tests: change crd golden file to match after #11870
2023-05-10 07:18:55 -07:00
Joe Julian
126e4f4af8
tests: change crd golden file to match after #11870
Signed-off-by: Joe Julian <me@joejulian.name>
2023-05-09 16:04:32 -07:00
Joe Julian
17beedb49c
Merge pull request #11870 from cbodonnell/main
full source path for CRDs when output-dir is not provided
2023-05-08 17:23:07 -07:00
Matt Farina
e02738c520
Merge pull request #12059 from joejulian/joe_maintainer
move Joe Julian to maintainer
2023-05-05 15:09:19 -04:00
Joe Julian
a8cd2812c0
move Joe Julian to maintainer
Signed-off-by: Joe Julian <me@joejulian.name>
2023-05-05 10:37:22 -07:00
Dmitry Kamenskikh
b4a4c7a9d4 update autoscaling/v2beta1 to autoscaling/v2 in skeleton chart
Signed-off-by: Dmitry Kamenskikh <kupnu4x@gmail.com>
2023-05-05 13:59:11 +08:00
Matt Farina
14047fed6f
Merge pull request #12042 from helm/dependabot/go_modules/github.com/Masterminds/squirrel-1.5.4
chore(deps): bump github.com/Masterminds/squirrel from 1.5.3 to 1.5.4
2023-05-02 12:51:43 -04:00
dependabot[bot]
2098f606aa
chore(deps): bump github.com/Masterminds/squirrel from 1.5.3 to 1.5.4
Bumps [github.com/Masterminds/squirrel](https://github.com/Masterminds/squirrel) from 1.5.3 to 1.5.4.
- [Release notes](https://github.com/Masterminds/squirrel/releases)
- [Commits](https://github.com/Masterminds/squirrel/compare/v1.5.3...v1.5.4)

---
updated-dependencies:
- dependency-name: github.com/Masterminds/squirrel
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-02 15:07:56 +00:00
Matt Farina
2ac29530e0
Merge pull request #12039 from helm/dependabot/go_modules/github.com/Masterminds/semver/v3-3.2.1
chore(deps): bump github.com/Masterminds/semver/v3 from 3.2.0 to 3.2.1
2023-05-02 11:05:59 -04:00
Matt Farina
23bb4b2382
Merge pull request #12034 from mattfarina/update-maintainers
Updating the Helm maintainers
2023-05-02 09:32:38 -04:00
dependabot[bot]
b750ee699e
chore(deps): bump github.com/lib/pq from 1.10.7 to 1.10.9
Bumps [github.com/lib/pq](https://github.com/lib/pq) from 1.10.7 to 1.10.9.
- [Release notes](https://github.com/lib/pq/releases)
- [Commits](https://github.com/lib/pq/compare/v1.10.7...v1.10.9)

---
updated-dependencies:
- dependency-name: github.com/lib/pq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-01 21:58:32 +00:00
dependabot[bot]
1a7981a3ec
chore(deps): bump github.com/Masterminds/semver/v3 from 3.2.0 to 3.2.1
Bumps [github.com/Masterminds/semver/v3](https://github.com/Masterminds/semver) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/Masterminds/semver/releases)
- [Changelog](https://github.com/Masterminds/semver/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Masterminds/semver/compare/v3.2.0...v3.2.1)

---
updated-dependencies:
- dependency-name: github.com/Masterminds/semver/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-01 21:58:20 +00:00
Matt Farina
b4b629c3c2
Merge pull request #11204 from sabre1041/oci-annotations
Attach annotations to OCI artifacts
2023-05-01 10:55:38 -04:00
Matt Farina
b81428919b
Merge pull request #12015 from yann-soubeyrand/bump-k8s-io-deps
chore: bump k8s.io dependencies to v0.27.1
2023-05-01 09:54:14 -04:00
Andrew Block
f900e9f1b1
Attach annotations to OCI artifacts
Signed-off-by: Andrew Block <andy.block@gmail.com>
2023-04-29 08:10:04 -05:00
Matt Farina
01dabe5312
Merge pull request #11948 from wujunwei/fix-failed-testcase-on-windows
fix: failed testcase on windows
2023-04-28 15:20:37 -04:00
Matt Farina
9705369da6
Merge pull request #11973 from joejulian/quiet_lint
fail quiet linting when an error occurs
2023-04-28 14:53:04 -04:00
Matt Farina
0833318b32
Merge pull request #9182 from pscheid92/4030-provide-literal-alternative-for-set-flag
Provide an alternative for --set and/or --set-string to take a value literally
2023-04-28 14:39:41 -04:00
Yann Soubeyrand
bdd56569ea chore: bump k8s.io dependencies to v0.27.1
Signed-off-by: Yann Soubeyrand <yann.soubeyrand@gmx.fr>
2023-04-27 22:36:15 +02:00
Matt Farina
3b74c13768
Merge pull request #11479 from MichaelMorrisEst/cascade
Add option to support foreground cascade deletion
2023-04-27 15:43:14 -04:00
Matt Farina
82e132ca1c
Updating the Helm maintainers
These maintainers have made tremendous contributions but are
currently inactive. I have connected with each of them and they
are focused on other work, at present. They all confirmed moving
to an emeritus status. If they ever want to return to active
development/maintainer-ship of Helm, I would be delighted.

The governance has a process for inactive folks and, as there are
items that need to be voted on, inactive maintainer make decision
making difficult.

These maintainers are and will continue to be missed.

Signed-off-by: Matt Farina <matt.farina@suse.com>
2023-04-27 13:24:09 -04:00
Tom Wieczorek
b9361407a3
Bump k8s.io deps from v0.26.0 to v0.27.0
Adapt to changes in 1.27 client libs:

* The OpenAPIGetter method is now private, but the Validator method does
  what is needed instead.
* The function wait.PollImmediateUntil is deprecated. Switch to the
  recommended new function wait.PollUntilContextCancel.

Related dependency changes:

change k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 => v0.0.0-20230308215209-15aac26d736a

And some transitive version changes:

add github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0
add github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1
remove github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153
github.com/go-errors/errors v1.0.1 => v1.4.2
github.com/go-openapi/jsonpointer v0.19.5 => v0.19.6
github.com/go-openapi/jsonreference v0.20.0 => v0.20.1
github.com/go-openapi/swag v0.19.14 => v0.22.3
github.com/golang/protobuf v1.5.2 => v1.5.3
github.com/mailru/easyjson v0.7.6 => v0.7.7
github.com/onsi/ginkgo/v2 v2.4.0 => v2.9.1
github.com/onsi/gomega v1.23.0 => v1.27.4
github.com/rogpeppe/go-internal v1.9.0 => v1.10.0
golang.org/x/mod v0.8.0 => v0.9.0
golang.org/x/net v0.7.0 => v0.8.0
golang.org/x/term v0.5.0 => v0.6.0
golang.org/x/tools v0.6.0 => v0.7.0
gotest.tools/v3 v3.0.3 => v3.4.0
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 => v0.0.0-20221116044647-bc3834ca7abd
sigs.k8s.io/kustomize/api v0.12.1 => v0.13.2
sigs.k8s.io/kustomize/kyaml v0.13.9 => v0.14.1

Signed-off-by: Tom Wieczorek <twieczorek@mirantis.com>
2023-04-13 10:48:42 +02:00
Matt Farina
e63083492b
Merge pull request #11985 from mattfarina/only-test-once
Only run tests once
2023-04-12 14:40:09 -04:00
Matt Farina
3232493514
Only run tests once
Tests are being run twice in CI. Once with code coverage being
report and once without. Tests only need to be run once.

When Helm previously had testing in CircleCI it was the code
coverage tests so that was retained here.

Signed-off-by: Matt Farina <matt.farina@suse.com>
2023-04-12 13:02:03 -04:00
Andrew Block
0a6d0b8be9
Merge pull request #11980 from helm/dependabot/go_modules/golang.org/x/text-0.9.0
chore(deps): bump golang.org/x/text from 0.7.0 to 0.9.0
2023-04-11 11:47:32 -05:00
Matt Farina
cf3d2531a8
Merge pull request #11898 from willzgli/waitbatchPerform
Fix goroutine leak in perform
2023-04-11 11:21:21 -04:00
Matt Farina
e92509f63e
Merge pull request #11978 from mattfarina/fix-11805
Fix goroutine leak in action install
2023-04-11 11:20:35 -04:00
dependabot[bot]
be14682da5
chore(deps): bump golang.org/x/text from 0.7.0 to 0.9.0
Bumps [golang.org/x/text](https://github.com/golang/text) from 0.7.0 to 0.9.0.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.7.0...v0.9.0)

---
updated-dependencies:
- dependency-name: golang.org/x/text
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 21:58:44 +00:00
Matt Farina
7c9d636f40
Fix goroutine leak in action install
During the install process there was a place where an install
process could be stuck trying to write to a channel. This would
happen when a context had completed prior to performInstall
finishing. In a short running Helm Client this was not a problem.
But, for long running applications that use Helm as an SDK there
are problems where a memory leak ends up happening due to
goroutines never being able to complete.

This fix provides a means for performInstall to write to its
channel using the method already used to fix the upgrade
issue of the same kind.

Fixes #11805

Signed-off-by: Matt Farina <matt.farina@suse.com>
2023-04-10 16:45:41 -04:00
Matt Farina
10587613cf
Merge pull request #11949 from dirkmueller/goarches
Fix 32bit-x86 typo in testsuite
2023-04-10 12:26:19 -04:00
Matt Farina
8c4c635e9e
Merge pull request #11832 from my-git9/chore-httpstatus
chore:Use http constants as http.request parameters
2023-04-10 12:25:10 -04:00
Joe Julian
853c18002f
fix quiet lint does not fail on non-linting errors
Signed-off-by: Joe Julian <me@joejulian.name>
2023-04-10 09:22:24 -07:00
Joe Julian
f13fa07793
create failing test for quietly linting a chart that doesn't exist
Signed-off-by: Joe Julian <me@joejulian.name>
2023-04-10 09:22:24 -07:00
Matt Farina
4b3a1cc665
Merge pull request #11966 from helm/dependabot/go_modules/github.com/docker/docker-20.10.24incompatible
chore(deps): bump github.com/docker/docker from 20.10.21+incompatible to 20.10.24+incompatible
2023-04-10 11:46:55 -04:00
Matt Farina
47b2a85661
Merge pull request #11901 from helm/dependabot/go_modules/github.com/containerd/containerd-1.7.0
chore(deps): bump github.com/containerd/containerd from 1.6.15 to 1.7.0
2023-04-10 11:44:43 -04:00