Commit graph

135 commits

Author SHA1 Message Date
Matt Farina
f80cbe43d0 Moved release objects to enable versioning
Signed-off-by: Matt Farina <matt.farina@suse.com>
2025-10-10 11:49:08 -04:00
Matt Farina
2247a0074b Move all the get commands to the new release interface
Signed-off-by: Matt Farina <matt.farina@suse.com>
2025-10-10 11:49:08 -04:00
George Jenkins
4877e2d7e9
Merge pull request #30833 from gjenkins8/gjenkins/refactor_dry_run_flag
Some checks are pending
build-test / build (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
golangci-lint / golangci-lint (push) Waiting to run
release / release (push) Waiting to run
release / canary-release (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Waiting to run
refactor/cleanup: Replace action 'DryRun' string with DryRunStrategy type + deprecations
2025-10-09 13:29:29 -07:00
George Jenkins
0adfe83ff8
Merge pull request #31227 from evankanderson/windows-filepath
Use filepath.Path when handling directory names
2025-10-02 17:41:41 -07:00
George Jenkins
a7a6a5e3b0
Merge pull request #31312 from gjenkins8/gjenkins/rm_plugin_schema_settings
Remove unused 'Settings' from plugin schema
2025-10-01 10:08:40 -07:00
George Jenkins
561a7da61c
Merge pull request #31297 from TerryHowe/fix-hide-notes-in-helm-test
fix: hide notes in helm test command
2025-09-22 16:55:09 -07:00
George Jenkins
f21b143bef refactor: Replace action 'DryRun' string with DryRunStrategy type + deprecations
Signed-off-by: George Jenkins <gvjenkins@gmail.com>
2025-09-21 08:03:02 -07:00
George Jenkins
6bc6231bcc Remove unused 'Settings' from plugin schema
Signed-off-by: George Jenkins <gvjenkins@gmail.com>
2025-09-21 07:53:41 -07:00
Robert Sirchia
5b43b744b8
Merge pull request #31294 from TerryHowe/feature-remove-implicit-directory-from-helm-lint
Remove implicit support for helm lint current directory
2025-09-19 15:32:00 -04:00
Robert Sirchia
fdb5e1a97a
Merge pull request #31301 from TerryHowe/chore-remove-helm-version-client
chore: remove helm version `--client` option
2025-09-19 15:25:37 -04:00
Matt Farina
d2236e95ed
Merge pull request #31303 from mattfarina/unified-loader
Update the action interfaces for chart apiversions
2025-09-18 14:22:31 -06:00
Matt Farina
8dc7c57f50
Update the action interfaces for chart apiversions
This change is about handling the interfaces to public functions for
different chart apiVersions. The internals are still focused on v2.
This enables v3 to be layered in layer.

Signed-off-by: Matt Farina <matt.farina@suse.com>
2025-09-17 15:19:02 -04:00
Terry Howe
469f4b457c
chore: remove helm version client option
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
2025-09-16 20:00:24 -06:00
Terry Howe
dab4fd2909
fix: hide notes in helm test command
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
2025-09-15 19:24:59 -06:00
copilot-swe-agent[bot]
838c36a0f6
Remove implicit support for helm lint current directory
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
2025-09-15 14:15:01 -06:00
Terry Howe
3e1dd9a5dc
chore: remove pkg/time which is no longer needed
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
2025-09-15 12:29:35 -06:00
Robert Sirchia
5534c01cdb
Merge pull request #31277 from benoittgt/31234-fix
Fix deprecation warning for spf13/pflag from 1.0.7 to 1.0.10
2025-09-11 12:32:37 -04:00
Evan Anderson
20f4e1f12d Use filepath.Path when handling directory names
Signed-off-by: Evan Anderson <evan.k.anderson@gmail.com>
2025-09-10 14:30:03 -07:00
Benoit Tigeot
99e5fce71a
Fix deprecation warning for spf13/pflag from 1.0.7 to 1.0.10
Close: #31231

```
Error: cmd/helm/root.go:165:2: SA1019: flags.ParseErrorsWhitelist is deprecated: use [FlagSet.ParseErrorsAllowlist] instead. This field will be removed in a future release. (staticcheck)
```

Signed-off-by: Benoit Tigeot <benoit.tigeot@lifen.fr>
2025-09-10 21:26:02 +02:00
Kamil Swiechowski
38d1a7376f fix: throw warning when chart version is not semverv2
Signed-off-by: Kamil Swiechowski <kamil.swiechowski@iprally.com>
2025-09-03 07:49:41 +02:00
Matt Farina
618b14a772
Merge pull request #31225 from mattfarina/move-lint-to-chart
Move lint pkg to be part of each chart version
2025-09-02 13:18:20 -06:00
George Jenkins
a8151ef4fe Cleanup plugin config
Signed-off-by: George Jenkins <gvjenkins@gmail.com>
2025-09-02 09:53:22 -07:00
Scott Rigby
ed6cab39c6
Merge pull request #31219 from gjenkins8/gjenkins/plugin-integration/rm_setup_plugin_env 2025-09-02 12:31:13 -04:00
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
Matt Farina
52267ee74b Move repo package to versioned directory
The repo package is internally versioned at v1. Repos were designed
to be versioned. This change moves it to a versioned directory the
same way other packages are now being handled.

Signed-off-by: Matt Farina <matt.farina@suse.com>
2025-09-02 10:19:48 -04:00
Matt Farina
6f957f4922 Move the release util to the versioned directory
The release util package is directly related to the v1 of
releases and uses the v1 of releases.

Signed-off-by: Matt Farina <matt.farina@suse.com>
2025-09-02 10:13:55 -04:00
George Jenkins
5926ec83dd Remove SetupPluginEnv
Signed-off-by: George Jenkins <gvjenkins@gmail.com>
2025-09-01 10:49:01 -07:00
George Jenkins
c35755a197 Remove legacy Command/Hooks from v1 Subprocess (#23)
Signed-off-by: George Jenkins <gvjenkins@gmail.com>
2025-08-31 22:24:31 -07:00
Scott Rigby
591d863df5
Move Postrenderer to a plugin type
Fix/add back postrenderer args unit tests

Signed-off-by: Scott Rigby <scott@r6by.com>
2025-08-31 19:03:34 -05:00
Scott Rigby
e814ff3c38
Remove unnecessary file i/o operations from signing and verifying
Signed-off-by: Scott Rigby <scott@r6by.com>
2025-08-30 17:28:16 -05:00
Scott Rigby
9ea35da0d0
[HIP-0026] Plugin packaging, signing, and verification (#31176)
* Plugin packaging, signing and verification

Signed-off-by: Scott Rigby <scott@r6by.com>

* wrap keyring read error with more explicit message

Co-authored-by: Jesse Simpson <jesse.simpson36@gmail.com>
Signed-off-by: Scott Rigby <scott@r6by.com>

* skip unnecessary check

Co-authored-by: Evans Mungai <mbuevans@gmail.com>
Signed-off-by: Scott Rigby <scott@r6by.com>

* Change behavior for installing plugin with missing .prov file (now warns and continues instead of failing)

Signed-off-by: Scott Rigby <scott@r6by.com>

* Add comprehensive plugin verification tests

- Test missing .prov files (warns but continues)
- Test invalid .prov file formats (fails verification)
- Test hash mismatches in .prov files (fails verification)
- Test .prov file access errors (fails appropriately)
- Test directory plugins don't support verification
- Test installation without verification enabled (succeeds)
- Test with valid .prov files (fails on empty keyring as expected)

---------

Signed-off-by: Scott Rigby <scott@r6by.com>
Co-authored-by: Jesse Simpson <jesse.simpson36@gmail.com>
Co-authored-by: Evans Mungai <mbuevans@gmail.com>
2025-08-30 13:25:28 -04:00
George Jenkins
80f659ce8b
Merge pull request #31178 from mattfarina/env-content-cache
Add content cache to helm env
2025-08-28 09:38:48 -07:00
George Jenkins
934f761e08
Merge pull request #30812 from gjenkins8/gjenkins/chartrelease_server_side_apply
HIP-0023: Helm support server-side apply
2025-08-26 18:52:15 -07:00
Scott Rigby
7d22bb25fa Plugin OCI installer
Signed-off-by: Scott Rigby <scott@r6by.com>
2025-08-25 23:04:01 -04:00
Matt Farina
533eddc57d Add content cache to helm env
Signed-off-by: Matt Farina <matt.farina@suse.com>
2025-08-24 17:57:34 -04:00
Scott Rigby
a7578fec74
Plugin types and plugin apiVersion v1
Co-authored-by: George Jenkins <gvjenkins@gmail.com>
Signed-off-by: Scott Rigby <scott@r6by.com>
2025-08-22 17:17:36 -04:00
Scott Rigby
be74ab72a0
[HIP-0026] Plugin runtime interface (#31145)
* Runtime abstraction to encapsulate subprocess code and enable future runtimes

Also fix race condition in TestPrepareCommandExtraArgs by replacing the shared variable modification with a local copy

Co-authored-by: George Jenkins <gvjenkins@gmail.com>
Signed-off-by: Scott Rigby <scott@r6by.com>

* Remove commented out code

Co-authored-by: Joe Julian <me@joejulian.name>
Signed-off-by: Scott Rigby <scott@r6by.com>

* Check test failure string

Co-authored-by: Jesse Simpson <jesse.simpson36@gmail.com>
Signed-off-by: Scott Rigby <scott@r6by.com>

---------

Signed-off-by: Scott Rigby <scott@r6by.com>
Co-authored-by: George Jenkins <gvjenkins@gmail.com>
Co-authored-by: Joe Julian <me@joejulian.name>
Co-authored-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-08-22 16:12:49 -04:00
Matt Farina
0f1b410f14
Merge pull request #31165 from mattfarina/content-cache
Initial addition of content based cache
2025-08-22 15:04:25 -04:00
George Jenkins
a0d6b0d383
Merge pull request #13629 from gjenkins8/rename_atomic_rollbackonfailure
Rename 'atomic' -> 'rollback-on-failure'
2025-08-22 11:20:18 -07:00
Matt Farina
fea6d8eb04
Updating to tested content cache
A few things are added here:
1. The cache is made to be more generic as a content based cache.
   It could be used for other things such as plugins
2. Flags were added to specify the content cache locaiton rather
   than rely on the repository cache. Keeping the 2 the same
   hid bugs and errors.
3. Tests were added and updated to ensure the cache is used and
   tested

Signed-off-by: Matt Farina <matt.farina@suse.com>
2025-08-21 14:33:51 -04:00
George Jenkins
4596c0e062
Merge pull request #31142 from helm/gjenkins/main/mv_plugin_internal
[HIP-0026] Move pkg/plugin -> internal/plugin
2025-08-21 09:06:26 -07:00
George Jenkins
e2dcbe28bf Helm client/SDK support server-side apply
Signed-off-by: George Jenkins <gvjenkins@gmail.com>
2025-08-18 10:05:07 -07:00
Evans Mungai
0943d032a7
Merge branch 'main' into em/fix-username-password
Signed-off-by: Evans Mungai <mbuevans@gmail.com>
2025-08-18 02:16:32 -06:00
George Jenkins
a1c84f9a4c Move pkg/plugin -> internal/plugin
Signed-off-by: George Jenkins <gvjenkins@gmail.com>
2025-08-16 22:58:54 -07:00
Robert Sirchia
47529bbffb
Merge pull request #31133 from joemicky/use_CutPrefix
refactor: replace HasPrefix+TrimPrefix with CutPrefix
2025-08-14 10:38:31 -04:00
joemicky
762ef3ee80 refactor: omit unnecessary reassignment
Signed-off-by: joemicky <joemickychang@outlook.com>
2025-08-14 19:30:33 +08:00
joemicky
a3d2da4d2e refactor: replace HasPrefix+TrimPrefix with CutPrefix
Signed-off-by: joemicky <joemickychang@outlook.com>
2025-08-14 19:27:39 +08:00
Robert Sirchia
c5901abba6
Merge pull request #31050 from spreadshirt/fix-helm-pull-ud-check
Fix `helm pull` untar dir check with repo urls
2025-08-08 13:42:54 -04:00
Evans Mungai
97af5a5e85
Fix linter warning
Signed-off-by: Evans Mungai <mbuevans@gmail.com>
2025-08-07 13:31:18 +01:00
Evans Mungai
5e86e43eda
Add tests for pull command using OCI registry
Signed-off-by: Evans Mungai <mbuevans@gmail.com>
2025-08-07 13:16:07 +01:00