Commit graph

57 commits

Author SHA1 Message Date
Terry Howe
429ce93848
Merge pull request #31613 from aslafy-z/feat/getter-env
Some checks failed
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
govulncheck / govulncheck (push) Has been cancelled
fix(getter): pass settings environment variables
2026-01-07 07:41:31 -07:00
Gergely Brautigam
138f730aac
fix: typo in the function names
Signed-off-by: Gergely Brautigam <182850+Skarlso@users.noreply.github.com>
2025-12-31 07:46:52 +01:00
Mads Jensen
a490bb3c20 Use errors.Is to check for io.EOF and gzip.ErrHeader
In GoLang, using the == operator to check for a certain error will not
unwrap the error chain, and therefore may hide the problem.

Signed-off-by: Mads Jensen <atombrella@users.noreply.github.com>
2025-12-14 08:54:11 +01:00
Terry Howe
b52b6615f0
Merge pull request #31207 from zyfy29/delete-unused-var
chore: delete unused var in installer.go
2025-12-13 08:27:37 -07:00
Terry Howe
d28853e206
Merge pull request #31624 from atombrella/feature/sloglint
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
govulncheck / govulncheck (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
Enable the `sloglint` linter
2025-12-12 08:04:45 -07:00
Terry Howe
642462e9fe
Merge pull request #11991 from twz123/no-bash-in-testscripts
Make test scripts run without /bin/bash
2025-12-12 07:57:37 -07:00
Mads Jensen
a18e59e465 Enable the sloglint linter
Signed-off-by: Mads Jensen <atombrella@users.noreply.github.com>
2025-12-09 08:24:36 +01:00
Zadkiel AHARONIAN
119341dca7
fix(getter): pass settings environment variables
Signed-off-by: Zadkiel AHARONIAN <hello@zadkiel.fr>
2025-12-07 17:08:29 +01:00
Scott Rigby
4d54bea5ff
Merge pull request #31491 from benoittgt/31490-plugin-name-helper
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
feat: improve plugin name validation error messages and field name detection (v1)
2025-11-25 11:49:58 -05:00
Benoit Tigeot
71591ee63e
style: linting
Signed-off-by: Benoit Tigeot <benoit.tigeot@lifen.fr>
2025-11-16 12:21:45 +01:00
Benoit Tigeot
b296cbef6c
test: split tests between valid and invalid
Signed-off-by: Benoit Tigeot <benoit.tigeot@lifen.fr>
2025-11-16 11:49:08 +01:00
Benoit Tigeot
9b242dd9ed
test: convert tests to table drive tests
Signed-off-by: Benoit Tigeot <benoit.tigeot@lifen.fr>
2025-11-16 11:44:49 +01:00
Benoit Tigeot
c81a09b89a
test: refactor TestMetadataLegacyValidate to be more generic
Signed-off-by: Benoit Tigeot <benoit.tigeot@lifen.fr>
2025-11-16 11:37:18 +01:00
yxxhero
8c87024860 update tests
Signed-off-by: yxxhero <aiopsclub@163.com>
2025-11-16 10:05:27 +08:00
yxxhero
2d49f0cb4a Refactor environment variable expansion in PrepareCommands and update tests
Signed-off-by: yxxhero <aiopsclub@163.com>
2025-11-15 11:16:08 +08:00
Benoit Tigeot
acf331a005
fix: improve plugin name validation err messages early via unmarshalling
- Add strict YAML unmarshalling for v1 plugins (d.KnownFields)
- Add comprehensive test coverage for validPluginName regex
- Maintain backwards compatibility for legacy plugins

Signed-off-by: Benoit Tigeot <benoit.tigeot@lifen.fr>
2025-11-14 16:21:37 +01:00
Benoit Tigeot
9e1e3d21c5
fix: Make invalid name error message more similar and move tests
Follow Scott comment\
https://github.com/helm/helm/pull/31491/files#r2524933784

Signed-off-by: Benoit Tigeot <benoit.tigeot@lifen.fr>
2025-11-14 16:13:23 +01:00
Benoit Tigeot
cf077ceb27
fix: focus only on plugin name but give more info about what we get
And improve test

Follow Scott comment:
> here I would have a list of valid and invalid names based on pattern, with a check and intended outcome for each one so that we comprehensively cover the rules.

https://github.com/helm/helm/pull/31491/files#r2524820312

Signed-off-by: Benoit Tigeot <benoit.tigeot@lifen.fr>
2025-11-14 16:13:23 +01:00
Benoit Tigeot
f4b139a82c
Make validation error similar and explicit for both metadatas
Signed-off-by: Benoit Tigeot <benoit.tigeot@lifen.fr>
2025-11-14 16:13:23 +01:00
Benoit Tigeot
c04e18e452
fix: improve plugin name validation error messages
Signed-off-by: Benoit Tigeot <benoit.tigeot@lifen.fr>
2025-11-14 16:13:23 +01:00
Matt Farina
a3db5f5667
Merge pull request #31408 from AndiDog/plugin-err-msg
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
Improve error message when plugin source cannot be determined or a non-directory is passed
2025-10-21 15:52:54 -04:00
Matt Farina
97ee09d935
Merge pull request #31365 from reddaisyy/main
refactor: use reflect.TypeFor
2025-10-21 15:43:07 -04:00
Andreas Sommer
b05411506a Improve error message when plugin source cannot be determined or a non-directory is passed
Signed-off-by: Andreas Sommer <andreas.sommer87@googlemail.com>
2025-10-20 15:25:59 +02:00
wyrapeseed
b9eadd3186 chore: fix some comment format
Signed-off-by: wyrapeseed <wyrapeseed@outlook.com>
2025-10-15 11:19:41 +08:00
reddaisyy
e69a12dad3 refactor: use reflect.TypeFor
Signed-off-by: reddaisyy <reddaisy@outlook.jp>
2025-10-08 10:23:30 +08: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
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
zyfy29
b24bfe4168
Merge branch 'main' into delete-unused-var
Signed-off-by: zyfy29 <wasuremono127@gmail.com>
2025-09-17 18:20:12 +09:00
Tom Wieczorek
6181e0a873
Make test scripts run without /bin/bash
The test scripts hardcoded #!/bin/bash while they are not really
requiring bash. Use the more portable #!/usr/bin/env sh instead, so that
they use the default shell.

Signed-off-by: Tom Wieczorek <twieczorek@mirantis.com>
2025-09-12 15:24:29 +02:00
yajianggroup
cfaf30083a refactor: use strings.CutPrefix
Signed-off-by: yajianggroup <yajianggroup@outlook.com>
2025-09-12 19:03:54 +08: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
George Jenkins
a8151ef4fe Cleanup plugin config
Signed-off-by: George Jenkins <gvjenkins@gmail.com>
2025-09-02 09:53:22 -07: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
zyfy29
8068578266 chore: delete unused var in installer.go
Signed-off-by: zyfy29 <wasuremono127@gmail.com>
2025-08-28 09:32:45 +09: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
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