Commit graph

20 commits

Author SHA1 Message Date
Benoit Tigeot
c33215d765 Prevent fetching newReference again as we have in calling method
Signed-off-by: Benoit Tigeot <benoit.tigeot@lifen.fr>
2025-05-23 14:25:56 -06:00
Benoit Tigeot
f552b67230 Prevent failure when resolving version tags in oras memory store
- The newReference() function transforms version tags by replacing + with _ for OCI compatibility
- But the code was using the original ref (with +) for TagBytes()
- Then it tries to find the tagged reference using parsedRef.String() (with _)
- This mismatch causes the Resolve method to fail with "not found"
- By using parsedRef.String() consistently in both places, the references will match and the lookup will succeed.

I extracted the TagBytes function to improve testability.
Push() includes several external calls that are hard to mock,
so isolating this logic makes testing more manageable.

Close: #30881
Signed-off-by: Benoit Tigeot <benoit.tigeot@lifen.fr>
2025-05-23 14:18:02 -06:00
Scott Rigby
c0f3ace52d
Fix 3.18.0 regression: registry login with scheme
Helm 3.18.0 released an upgrade of ORAS from v1 to v2.

ORAS v2 correctly does not accept http/https scheme for registry login, while
ORAS v1 previously did. Even if v1 should not have, we want to preserve
backwards compatibility for Helm 3 users who pass the scheme.

This will be removed in Helm 4, where registry login will not accept http/https
scheme.

Co-authored-by: Andrew Block <andy.block@gmail.com>
Co-authored-by: Terry Howe <terrylhowe@gmail.com>

Signed-off-by: Scott Rigby <scott@r6by.com>
2025-05-22 15:07:47 -04:00
Terry Howe
c188441757 chore(oci): upgrade to ORAS v2
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
2025-03-14 08:46:18 -06:00
Sanskar Jaiswal
6defb96dac
oci: add tests for plain HTTP and insecure HTTPS registries
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-06-14 23:53:33 +05:30
Andrew Block
08593c8dd6
Added support for insecure OCI registries
Signed-off-by: Andrew Block <andy.block@gmail.com>
2023-03-03 07:33:17 -06:00
Soule BA
b0ecb21056
Enable custom certificates option for OCI
If implemented, users will be able to use custom certificates and CA to
while interacting with OCI registries.

Signed-off-by: Soule BA <bah.soule@gmail.com>
2023-03-03 07:33:17 -06:00
Soule BA
42a04c76a4
make token caching an opt in feature
If implemented, users have to opt in to cache a token.

Signed-off-by: Soule BA <bah.soule@gmail.com>
2022-06-27 14:23:25 +02:00
David Peraza
9f869c6b21 Removing all the checks for oci experimental flag
Signed-off-by: David Peraza <dperaza@redhat.com>
2022-01-12 21:49:26 -05:00
Thomas Runyon
91a46ad14f move paths for updated directory location
Signed-off-by: Thomas Runyon <runyontr@gmail.com>
2022-01-12 21:49:26 -05:00
Thomas Runyon
353d74e967 refactor internal/experimental/registry to pkg/registry
Signed-off-by: Thomas Runyon <runyontr@gmail.com>
2022-01-12 21:49:26 -05:00
Matthew Fisher
fe952445bd
feat(cmd): put OCI commands behind a feature gate
This adds a new `gates` package used for interacting with feature gates. It also marks the OCI registry work as experimental, signalling to users that it is not a stable feature of Helm.

Signed-off-by: Matthew Fisher <matt.fisher@microsoft.com>
2019-08-08 15:25:17 -07:00
Marc Khouzam
81321532e6 Fix linter issuers
Signed-off-by: Marc Khouzam <marc.khouzam@ville.montreal.qc.ca>
2019-07-05 08:07:03 -04:00
Josh Dolitsky
240dd53e78
Helm 3: set custom manifest config media type on chart push (#5719)
* set custom manifest config media type

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* use v1 for manifest schema

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* remove unneeded debug flag

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* update to new config media type

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>
2019-07-03 15:00:16 -05:00
Josh Dolitsky
5f1128b5f7 pass debug option to registry client
Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>
2019-05-10 10:44:46 -05:00
Josh Dolitsky
a12a396aab
Helm 3: registry login/logout (#5597)
* login/logout placeholders

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* use latest oras

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* use docker auth system

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* working login+push

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* working on tests

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* fix typo in htpasswd

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* rename credsfile to config.json

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* add flags for username/password

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* disable logout test broken on linux

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* upgrade to oras 0.4.0

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* re-enable logout test

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* panic for uncaught errors

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* move login/logout to new registry subcommand

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>
2019-05-06 16:15:34 -05:00
Adam Reese
e458a67f0c
ref(pkg/chart): add validation method to chart
Consolidate validation of Chart.yaml.

Signed-off-by: Adam Reese <adam@reese.io>
2019-04-05 13:40:06 -07:00
Adam Reese
895e9192d4
feat(*): use vanity import helm.sh/helm
Signed-off-by: Adam Reese <adam@reese.io>
2019-03-13 13:43:47 -07:00
Adam Reese
f791421fab
feat(Makefile): add formatting target
Signed-off-by: Adam Reese <adam@reese.io>
2019-02-08 12:24:47 -08:00
Josh Dolitsky
a32f8ebb37
Helm 3: initial registry support (#5243)
* initial registry support

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* fix dependency mess

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* add extra chart command output

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* sanitize registry path (windows fix)

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* store all sha256 blobs in same dir

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* switch to use chartutil.SaveDir

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* populate chart command long descriptions

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* remove test cache dir in teardown

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* add long description of chart export

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>

* clean up table rows code

Signed-off-by: Josh Dolitsky <jdolitsky@gmail.com>
2019-02-06 18:32:56 -06:00