Commit graph

304 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
Robert Sirchia
600eb487f1
Merge pull request #31349 from TerryHowe/fix-shuffle-lint-test
fix: flakey lint test on shuffle
2025-10-07 16:00:51 -04: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
Terry Howe
ee322a9671
fix: flakey lint test on shuffle
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
2025-10-01 10:24:42 -06:00
George Jenkins
93c02523bb
Merge pull request #31249 from banjoh/em/additional-logging
chore: add additional logging to plugin installer
2025-09-24 18:48:52 -07:00
George Jenkins
900cf2a93d
Merge pull request #31320 from kosiew/sign-31181
provenance: allow RSA signing when ed25519 keys are present (switch to ProtonMail/go-crypto)
2025-09-24 18:31:08 -07:00
juejinyuxitu
69dbd6115e chore: fix some typos in comment
Signed-off-by: juejinyuxitu <juejinyuxitu@outlook.com>
2025-09-23 18:40:56 +08:00
Siew Kam Onn
7c9176ae35 Update dependencies and refactor crypto imports to use ProtonMail's go-crypto package
Signed-off-by: Siew Kam Onn <kosiew@gmail.com>
2025-09-23 16:00:45 +08: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
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
Matt Farina
0befdb90a1
Merge pull request #31287 from miledxz/fileutil-tests-improvements
improve fileutil test coverage
2025-09-16 13:28:20 -06:00
Mile Druzijanic
934b4550d9 improve fileutil test coverage
Signed-off-by: Mile Druzijanic <zedsprogramms@gmail.com>
2025-09-12 20:46:28 +02:00
yajianggroup
cfaf30083a refactor: use strings.CutPrefix
Signed-off-by: yajianggroup <yajianggroup@outlook.com>
2025-09-12 19:03:54 +08:00
Benoit Tigeot
072e2a689a
Extend --skip-schema-validation for lint command
When --skip-schema-validation is enabled, the lint command will now skip
JSON schema validation for values.yaml files, allowing charts with schema
validation errors to pass linting when the flag is used.

This addresses the gap where --skip-schema-validation only applied to
templates but not to values files, providing complete schema validation
bypass when needed.

Fixes: #13413

Signed-off-by: Suleiman Dibirov <idsulik@gmail.com>
Signed-off-by: Benoit Tigeot <benoit.tigeot@lifen.fr>
2025-09-10 15:23:05 +02:00
Evans Mungai
3d23230ef8
chore: add additional logging to plugin installer
Signed-off-by: Evans Mungai <mbuevans@gmail.com>
2025-09-05 10:00:35 +01:00
Kamil Swiechowski
cd76ae1c93 feat:strict compliance with semverv2 for chart/v3/linter
Signed-off-by: Kamil Swiechowski <kamil.swiechowski@iprally.com>
2025-09-03 08:21:59 +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
George Jenkins
5926ec83dd Remove SetupPluginEnv
Signed-off-by: George Jenkins <gvjenkins@gmail.com>
2025-09-01 10:49:01 -07:00
George Jenkins
665c5a1fc9
Merge pull request #31224 from gjenkins8/gjenkins/postrenderer_plugin_message_value
fix: Adjust PostRenderer plugin output to value
2025-09-01 10:40:18 -07:00
George Jenkins
d99d732542 fix: Adjust PostRenderer plugin output to value
Signed-off-by: George Jenkins <gvjenkins@gmail.com>
2025-09-01 09:39:38 -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
2658a00863 fix output message value
Signed-off-by: George Jenkins <gvjenkins@gmail.com>
2025-08-27 10:21:16 -07:00
George Jenkins
e5b612626e fixup slog tmpDirInner
Signed-off-by: George Jenkins <gvjenkins@gmail.com>
2025-08-27 10:13:27 -07:00
George Jenkins
b6545e903a code review + bug fixes
Signed-off-by: George Jenkins <gvjenkins@gmail.com>
2025-08-27 08:31:02 -07:00
George Jenkins
c8e51b40c2 Plugin extism/v1 runtime
Signed-off-by: George Jenkins <gvjenkins@gmail.com>
2025-08-26 17:29:21 -07:00
Matt Farina
4ae80c0399
Merge pull request #31191 from TerryHowe/stderr-logging
fix: send logging to stderr
2025-08-26 14:12:51 -06:00
Terry Howe
389646ffd1
fix: send logging to stderr
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
2025-08-26 08:13:13 -06:00
Scott Rigby
3d30112468 Fix LocalInstaller Path() to strip version from tarball filenames
Override Path() method to use existing stripPluginName function for archives

Signed-off-by: Scott Rigby <scott@r6by.com>
2025-08-25 23:17:42 -04:00
Scott Rigby
16924a51db Fix: Removed unsafe umask manipulation in tests
Problem: Tests used syscall.Umask(0000) which could leave your shell creating
files with 777 permissions if interrupted.

Solution: Instead of changing umask, tests now detect the current umask and
calculate expected permissions after it's applied.

Result: Same test coverage, but safe from system-wide side effects.

Co-authored-by: Jesse Simpson <jesse.simpson36@gmail.com>
Signed-off-by: Scott Rigby <scott@r6by.com>
2025-08-25 23:17:42 -04:00
Scott Rigby
5c663db853 Plugin tarball installer support for HTTP (fix) and local (feat)
Signed-off-by: Scott Rigby <scott@r6by.com>
2025-08-25 23:17:42 -04:00
Scott Rigby
d19130f69e Fix file handle management in tar extractors
Use defer outFile.Close() to avoid multiple close calls and ensure proper resource cleanup

Co-authored-by: Andrew Block <andy.block@gmail.com>
Signed-off-by: Scott Rigby <scott@r6by.com>
2025-08-25 23:04:01 -04:00
Scott Rigby
fd41fdd9c9 New registry plugin func GetPluginName. Re-use regsitry.reference
Signed-off-by: Scott Rigby <scott@r6by.com>
2025-08-25 23:04:01 -04:00
Scott Rigby
7d22bb25fa Plugin OCI installer
Signed-off-by: Scott Rigby <scott@r6by.com>
2025-08-25 23:04:01 -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
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
a1c84f9a4c Move pkg/plugin -> internal/plugin
Signed-off-by: George Jenkins <gvjenkins@gmail.com>
2025-08-16 22:58:54 -07:00
joemicky
fab70472af refactor: replace []byte(fmt.Sprintf) with fmt.Appendf
Signed-off-by: joemicky <joemickychang@outlook.com>
2025-08-14 19:21:52 +08:00
Robert Sirchia
d7d072b7f6
Merge commit from fork
Advisory fix 1
2025-08-13 15:10:00 -04:00
George Jenkins
18b7d45999
Merge pull request #31034 from Mazafard/feat/color-output-and-test-fixes
Feat: Add color output functionality and tests for release statuses
2025-08-05 13:15:22 -07:00