From 53dd0667c6c6d458678178490a49a92c2dc0540b Mon Sep 17 00:00:00 2001 From: Cezar Craciunoiu Date: Thu, 8 Aug 2024 18:00:22 +0300 Subject: [PATCH] fix(oci): Fully enable using config auths Signed-off-by: Cezar Craciunoiu --- oci/init.go | 1 + oci/manager_options.go | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/oci/init.go b/oci/init.go index db6844d6b..e844d7903 100644 --- a/oci/init.go +++ b/oci/init.go @@ -13,6 +13,7 @@ func RegisterPackageManager() func(u *packmanager.UmbrellaManager) error { return u.RegisterPackageManager( OCIFormat, NewOCIManager, + WithDefaultAuth(), WithDefaultRegistries(), WithDetectHandler(), ) diff --git a/oci/manager_options.go b/oci/manager_options.go index 7e877cee2..995fd2f49 100644 --- a/oci/manager_options.go +++ b/oci/manager_options.go @@ -171,3 +171,22 @@ func WithDockerConfig(auth regtypes.AuthConfig) OCIManagerOption { return nil } } + +// WithAuth sets the authentication configuration to use when making calls to +// authenticated registries. +func WithAuth(auths map[string]config.AuthConfig) OCIManagerOption { + return func(ctx context.Context, manager *ociManager) error { + manager.auths = auths + return nil + } +} + +// WithDefaultAuth uses the KraftKit-set configuration for authentication +// against remote registries. +func WithDefaultAuth() OCIManagerOption { + return func(ctx context.Context, manager *ociManager) error { + manager.auths = config.G[config.KraftKit](ctx).Auth + + return nil + } +}