Commit graph

30 commits

Author SHA1 Message Date
Matt Farina
9dcc49cbd5 Move lint pkg to be part of each chart version
Linting is specific to the chart versions. A v2 and v3 chart will
lint differently.

To accomplish this, packages like engine need to be able to handle
different chart versions. This was accomplished by some changes:

1. The introduction of a Charter interface for charts
2. The ChartAccessor which is able to accept a chart and then
   provide access to its data via an interface. There is an
   interface, factory, and implementation for each version of
   chart.
3. Common packages were moved to a common and util packages.
   Due to some package loops, there are 2 packages which may
   get some consolidation in the future.

The new interfaces provide the foundation to move the actions
and cmd packages to be able to handle multiple apiVersions of
charts.

Signed-off-by: Matt Farina <matt.farina@suse.com>
2025-09-02 12:14:37 -04:00
naving1989
4310b2bc36 Fixed linting issues
Signed-off-by: naving1989 <navinag1989@gmail.com>
2025-07-08 11:04:51 +05:30
naving1989
3b2f9e7d6f test: increase test coverage for pkg/cli/options.go file
Signed-off-by: naving1989 <navinag1989@gmail.com>
2025-07-07 23:43:50 +05:30
Justen Stall
280a9ddbdb
Merge branch 'main' into stdlib-errors-2
Signed-off-by: Justen Stall <39888103+justenstall@users.noreply.github.com>
2025-04-21 12:13:10 -04:00
Matt Farina
61d3eca55c
Move pkg/chart to pkg/chart/v2 to prepare for v3 charts
This change moves the code, updates the import locations, and
adds a doc.go file to document what the v2 package is for.

This is part of HIP 20 for v3 charts

Signed-off-by: Matt Farina <matt.farina@suse.com>
2025-02-25 15:20:44 -05:00
lubingtan
ef5614364b fix: replace mergeMaps call with loader.MergeMaps in MergeValues function
Signed-off-by: lubingtan <bingtanlu@gmail.com>
2025-02-20 08:13:54 +08:00
lubingtan
3d84e00ce7 fix: use Reader interface as the input of LoadValues and enhance UT of LoadValues
Signed-off-by: lubingtan <bingtanlu@gmail.com>
2025-02-20 08:08:18 +08:00
lubingtan
92087f6e33 feat: support multi-document values files for default chart values
Signed-off-by: lubingtan <bingtanlu@gmail.com>
2025-02-20 08:07:46 +08:00
lubingtan
0d36cb664a feat: support multi-document values files
Signed-off-by: lubingtan <bingtanlu@gmail.com>
2025-02-20 08:06:41 +08:00
Matt Farina
8edc3ac024
Merge pull request #13471 from wangjingcun/main
Use a more direct and less error-prone return value
2025-02-19 16:04:02 -05:00
wangjingcun
8b8cc94822 Use a more direct and less error-prone return value
Signed-off-by: wangjingcun <wangjingcun@aliyun.com>
2025-02-11 23:20:27 +08:00
Jonathan
37020c32fa
Update pkg/cli/values/options.go
Co-authored-by: George Jenkins <gvjenkins@gmail.com>
Signed-off-by: Jonathan <zhanweelee@gmail.com>
2025-02-09 11:11:00 +08:00
Zhanwei Li
274d43c10d feat: Enhance JSON value parsing in Helm CLI
- Add support for parsing full JSON objects with `--set-json`
- Update documentation to clarify JSON value input formats
- Improve test coverage for value parsing scenarios
- Modify `MergeValues` to handle both key=value and JSON object formats

Signed-off-by: Zhanwei Li <zhanweelee@gmail.com>
2025-02-08 10:04:14 +08:00
Matt Farina
2236294119 Updating to helm.sh/helm/v4
Since Helm is going through breaking changes with Helm v4, the version path to
Helm needs to be updated.

Signed-off-by: Matt Farina <matt.farina@suse.com>
2024-12-26 16:33:51 -05:00
Justen Stall
63cf42a843
fix: replace "github.com/pkg/errors" with stdlib "errors" package
Signed-off-by: Justen Stall <39888103+justenstall@users.noreply.github.com>
2024-11-18 11:35:59 -05: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
Matt Farina
4e7e939f19
Updating the Go version in go.mod
At this time both Go 1.19 and 1.20 are supported. The version
specified in the go.mod file is the minimum version we expect Helm
to be compiled against. This is the oldest supported version to
support environments where others compile Helm. The Helm project
is using Go 1.20 to build Helm itself.

Updating to Go 1.19 also includes dealing with io/ioutil
deprecation and some additional linting issues around staticcheck.
All the staticcheck issues were in test files so linting was
skipped for those.

Signed-off-by: Matt Farina <matt.farina@suse.com>
2023-03-22 11:52:30 -04:00
Matt Farina
50ec3d4fe4
Fixing indentation
Signed-off-by: Matt Farina <matt.farina@suse.com>
2023-01-03 09:18:13 -05:00
Matt Farina
6611cdcd01
Merge branch 'main' into 4030-provide-literal-alternative-for-set-flag
Signed-off-by: Matt Farina <matt@mattfarina.com>
2023-01-03 09:06:14 -05:00
Zuhair AlSader
0fdfe05844
docs: add docs for cli/values.Options
Signed-off-by: Zuhair AlSader <zuhair@koor.tech>
2022-12-08 01:45:40 -05:00
Patrick Scheid
451603910e feature(helm): add --set-literal flag for literal string interpretation
The current family of '--set' methods interprets some special characters
in values (e.g. commas, square brackets, points, backslashes). With the
typical shell escaping rules, this can increase the difficulty of overwriting
values in some cases.

In contrast to '--set-string' or similar methods, '--set-literal' does
not interpret those special characters. It interprets given values as
literal strings.

Example:

    --set-literal outer.inner='so\me,values'

    outer:
      inner: so\me,values

Closes #4030

Signed-off-by: Patrick Scheid <p.scheid92@gmail.com>
2022-09-23 13:35:48 +02:00
Martin Hickey
8199db309a
Merge pull request #10693 from lucadirocco/feat/--set-json
feat: add --set-json flag to set json values.
2022-08-31 21:40:19 +01:00
d-d-up
ece46c1d3a fix special string in the filename
Signed-off-by: d-d-up <qhr6113@163.com>
2022-08-09 14:12:26 +08:00
Zoran Krleza
06c39c8079 Fixing downloader plugin error handling
Signed-off-by: Zoran Krleza <zoran.krleza@true-north.hr>
2022-04-05 10:17:24 +02:00
Luca Di Rocco
11e7d0cd73 feat: add --set-json flag to set json values.
When used with helm install, helm template, helm upgrade, it enables
to set json values (scalars/objects/arrays) from the command line.

Closes #10428

Signed-off-by: Luca Di Rocco <lucadirocco@gmail.com>
2022-03-07 13:12:18 +00:00
Matt Farina
9bc7934f35
Updating the module for v3 as the major version
Signed-off-by: Matt Farina <matt@mattfarina.com>
2019-10-03 14:27:05 -04:00
Taylor Thomas
7599c5d489 feat(*): Ports --set-file flag to v3
I made a few modifications from the original code to fit in with the new
code layout and to clarify a few things. This is a port of #3758

Signed-off-by: Taylor Thomas <taylor.thomas@microsoft.com>
2019-09-24 12:43:43 -06:00
Adam Reese
b6fdd8783b
feat(cmd/helm): remove need for helm init command
* allow repository config via cli
* make `helm repo add` create repo config file if it does not exist
* squash a ton of bugs

Signed-off-by: Adam Reese <adam@reese.io>
2019-08-22 23:31:50 -07:00
Joe Lanford
45f697b507 pkg/cli/values/options_test.go: re-add MergeValues test with mergeMaps
Signed-off-by: Joe Lanford <joe.lanford@gmail.com>
2019-08-05 23:33:39 -04:00
Joe Lanford
8a4b70b1e3 review: move ValueOptions to SDK
Signed-off-by: Joe Lanford <joe.lanford@gmail.com>
2019-08-01 20:00:47 -04:00