George Jenkins
42f78ba60e
Merge pull request #31872 from mmorel-35/perfsprint-pkg-6-5f845e3
...
chore(pkg): fix perfsprint linter issues part 6
2 days ago
George Jenkins
610547b570
Merge pull request #31873 from mmorel-35/perfsprint-pkg-5-3294250
...
chore(pkg): fix perfsprint linter issues part 5
2 days ago
George Jenkins
4f9f18c453
Merge pull request #31875 from mmorel-35/perfsprint-pkg-2-0e1acbc
...
chore(pkg): fix perfsprint linter issues part 2
2 weeks ago
Matthieu MOREL
dc0e3f10c3
chore(pkg): fix perfsprint linter issues part 6
...
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2 weeks ago
Matthieu MOREL
c25c988cfb
chore(pkg): enable perfsprint linter
...
#### Description
enable perfsprint linter in pkg/registry
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2 weeks ago
Matthieu MOREL
0fecfd04c2
chore(pkg): enable perfsprint linter
...
#### Description
enable perfsprint linter in pkg/cmd
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2 weeks ago
Mads Jensen
36cb3a2fe9
Replace unneeded use of t.Fatalf with t.Fatal
...
Signed-off-by: Mads Jensen <atombrella@users.noreply.github.com>
2 weeks ago
George Jenkins
92b64e87ad
chore: fixes
...
Signed-off-by: George Jenkins <gvjenkins@gmail.com>
3 weeks ago
Pedro Tôrres
e8f386b5aa
add image index test
...
Signed-off-by: Pedro Tôrres <pedrotorres@microsoft.com>
1 month ago
Pedro Tôrres
d983696e35
fix pulling charts from OCI indices
...
Signed-off-by: Pedro Tôrres <pedrotorres@microsoft.com>
1 month ago
George Jenkins
dfa1e3c3c5
Merge pull request #31562 from atombrella/feature/modernize
...
Use modernize to use newer Golang features.
4 months ago
Mads Jensen
6cceead399
Use modernize to use newer Golang features.
...
The rangeint suggestion is faster.
The maps.Copy and slices.Contains are just syntatic sugar.
Signed-off-by: Mads Jensen <atombrella@users.noreply.github.com>
4 months ago
Terry Howe
5f3c617940
chore: add warning for registry login with namespace
...
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
4 months ago
Terry Howe
0f6e14dfd3
chore: fix various warnings to reduce noise
...
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
5 months ago
Terry Howe
917822cfca
refactor: remove unused err from pkg/registry/client.go
...
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
5 months ago
Terry Howe
3b2fd17799
chore: rename test registry
...
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
5 months ago
Terry Howe
cf811bb11f
chore: registry utils clean up
...
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
6 months ago
Terry Howe
3e1dd9a5dc
chore: remove pkg/time which is no longer needed
...
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
6 months ago
Scott Rigby
78cf5470d1
Merge pull request #31199 from TerryHowe/fix-flaky-registry-data-race
...
fix: flaky registry data race on mockdns close
6 months ago
Matt Farina
fc22b6df31
Merge pull request #31222 from benoittgt/30987-ghcr-io
...
Prevent failing `helm push` on ghcr.io using standard GET auth token flow
6 months ago
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>
6 months ago
Benoit Tigeot
5595c0d005
Prevent failing helm push on ghcr.io using standard GET auth token flow
...
Fix GHCR auth by not forcing OAuth2 POST but also reset
ForceAttemptOAuth2 after login.
- Remove ForceAttemptOAuth2 in NewClient and only enable during Login
ping and always restore to false.
- Aligns with OCI Distribution auth (token via GET), avoiding GHCR 405
on POST /token.
- Some tests
Failures logs:
```sh
~/p/lifen/test/helm-f/quicktest ❯ ../../../helm/bin/helm push quicktest-0.1.0.tgz oci://ghcr.io/benoittgt/helm-charts --debug
level=DEBUG msg=HEAD id=0 url=https://ghcr.io/v2/benoittgt/helm-charts/quicktest/manifests/sha256:af359fd8fb968ec1097afbd6e8e1dac9ee130861082e54dc2340d0c019407873 header=" \"Accept\": \"application/vnd.docker.distribution.manifest.v2+json, application/vnd.docker.distribution.manifest.list.v2+json, application/vnd.oci.image.manifest.v1+json, application/vnd.oci.image.index.v1+json, application/vnd.oci.artifact.manifest.v1+json\"\n \"User-Agent\": \"Helm/4.0+unreleased\""
level=DEBUG msg=Resp id=0 status="401 Unauthorized" header=" \"Www-Authenticate\": \"Bearer realm=\\\"https://ghcr.io/token \\\",service=\\\"ghcr.io\\\",scope=\\\"repository:benoittgt/helm-charts/quicktest:pull\\\"\"\n \"Date\": \"Mon, 01 Sep 2025 13:56:35 GMT\"\n \"Content-Length\": \"73\"\n \"X-Github-Request-Id\": \"DC73:115F:2B40F2C:2BAB567:68B5A613\"\n \"Content-Type\": \"application/json\"" body=" Response body is empty"
level=DEBUG msg=POST id=1 url=https://ghcr.io/token header=" \"Content-Type\": \"application/x-www-form-urlencoded\"\n \"User-Agent\": \"Helm/4.0+unreleased\""
level=DEBUG msg=Resp id=1 status="405 Method Not Allowed" header=" \"Docker-Distribution-Api-Version\": \"registry/2.0\"\n \"Strict-Transport-Security\": \"max-age=63072000; includeSubDomains; preload\"\n \"Date\": \"Mon, 01 Sep 2025 13:56:35 GMT\"\n \"Content-Length\": \"78\"\n \"X-Github-Request-Id\": \"DC73:115F:2B40F75:2BAB5C2:68B5A613\"\n \"Content-Type\": \"application/json\"" body="{\"errors\":[{\"code\":\"UNSUPPORTED\",\"message\":\"The operation is unsupported.\"}]}\n"
Error: failed to perform "Exists" on destination: HEAD "https://ghcr.io/v2/benoittgt/helm-charts/quicktest/manifests/sha256:af359fd8fb968ec1097afbd6e8e1dac9ee130861082e54dc2340d0c019407873 ": POST "https://ghcr.io/token ": response status code 405: unsupported: The operation is unsupported.
```
Signed-off-by: Benoit Tigeot <benoit.tigeot@lifen.fr>
7 months ago
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>
7 months ago
Terry Howe
ce97a2449e
fix: move mockdns to packge level
...
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
7 months ago
Terry Howe
6273f9b38e
fix: flaky registry data race on mockdns close
...
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
7 months ago
Scott Rigby
fd41fdd9c9
New registry plugin func GetPluginName. Re-use regsitry.reference
...
Signed-off-by: Scott Rigby <scott@r6by.com>
7 months ago
Scott Rigby
7d22bb25fa
Plugin OCI installer
...
Signed-off-by: Scott Rigby <scott@r6by.com>
7 months ago
Matt Farina
0f1b410f14
Merge pull request #31165 from mattfarina/content-cache
...
Initial addition of content based cache
7 months ago
Scott Rigby
29d12ba09e
Merge pull request #31156 from estroz/fix-resolve-client
...
fix: set repo authorizer in registry.Client.Resolve()
7 months ago
cuiweixie
04cb1bad67
pkg/register: refactor to use atomic.Uint64
...
Signed-off-by: cuiweixie <cuiweixie@gmail.com>
7 months ago
Matt Farina
6ac2c34689
Initial addition of content based cache
...
The previous cache was based on chart name and version. If 2 charts
with different content had the same name and version they would collide.
Helm did not trust the cache because of this and always downloaded
content. It was a short lived cache.
This commit introduces a content based cache which is based on the
content rather than file name. Charts with the same name but different
content are no longer an issue.
While the system assumes a file based interface, the cache system
is pluggable. In the future, it should return bytes for the content
instead of paths to it. That would requie a larger change for Helm 5
or later.
Signed-off-by: Matt Farina <matt.farina@suse.com>
7 months ago
Matt Farina
3726d01c5c
Merge pull request #31132 from joemicky/main
...
refactor: replace []byte(fmt.Sprintf) with fmt.Appendf
7 months ago
Eric Stroczynski
e1e23d2af1
fix: set repo authorizer in registry.Client.Resolve()
...
Signed-off-by: Eric Stroczynski <estroczynski@nvidia.com>
7 months ago
Matt Farina
de9ea4d1e3
Merge pull request #30992 from TerryHowe/force-oath-v4
...
fix: force bearer oauth for if registry requests bearer auth
7 months ago
Evans Mungai
0943d032a7
Merge branch 'main' into em/fix-username-password
...
Signed-off-by: Evans Mungai <mbuevans@gmail.com>
7 months ago
joemicky
fab70472af
refactor: replace []byte(fmt.Sprintf) with fmt.Appendf
...
Signed-off-by: joemicky <joemickychang@outlook.com>
7 months ago
Matt Farina
523d0b305e
Merge pull request #31076 from matheuscscp/registry-tls-memory
...
pkg/registry: Login option for passing TLS config in memory
7 months ago
Evans Mungai
9e1cbbebcb
fix linting warning
...
Signed-off-by: Evans Mungai <mbuevans@gmail.com>
7 months ago
Evans Mungai
5e6a411c1f
fix: use username and password if provided
...
Ref: #31114
Signed-off-by: Evans Mungai <mbuevans@gmail.com>
7 months ago
Mikel Olasagasti Uranga
7007d4d485
chore(deps): remove phayes/freeport module
...
Replaces the `phayes/freeport` module with the standard library's
`net.Listen("tcp", "127.0.0.1:0")` idiom. This removes an unnecessary
dependency and simplifies the codebase.
Signed-off-by: Mikel Olasagasti Uranga <mikel@olasagasti.info>
8 months ago
Matheus Pimenta
802e09038c
pkg/registry: Login option for passing TLS config in memory
...
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
8 months ago
Terry Howe
250ce7b5dc
chore: improve OCI debug logging
...
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
8 months ago
Terry Howe
82bc9adcc2
fix: test teardown dns data race
...
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
8 months ago
Terry Howe
f55c462a79
fix: force bearer oauth for everything
...
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
9 months ago
Terry Howe
47980159b3
fix: user username password for login
...
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
9 months ago
Scott Rigby
e8c1acf228
Merge pull request #30809 from mmorel-35/usetesting
...
chore: enable usetesting linter
10 months ago
Scott Rigby
4023c3b5ff
Merge pull request #30917 from TerryHowe/oci-transport-debugging
...
fix: add debug logging to oci transport
10 months ago
Matthieu MOREL
56a2bb4188
chore: enable usetesting linter
...
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
10 months ago
Terry Howe
6ab7aa3612
fix: legacy docker support broken for login
...
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
10 months ago
Terry Howe
5fe7a87138
fix: add debug logging to oci transport
...
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
Co-authored-by: Billy Zha <jinzha1@microsoft.com>
10 months ago