From 893398a9cbfed5d9cf0b9a53f8ee712c34292da7 Mon Sep 17 00:00:00 2001 From: bdchatham Date: Mon, 6 Oct 2025 18:58:38 -0700 Subject: [PATCH 1/4] Adding github actions support for release --- pkg/common/artifact/oci_artifact.go | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/pkg/common/artifact/oci_artifact.go b/pkg/common/artifact/oci_artifact.go index 107e6871..423c84fa 100644 --- a/pkg/common/artifact/oci_artifact.go +++ b/pkg/common/artifact/oci_artifact.go @@ -170,18 +170,28 @@ func (b *OCIArtifactBuilder) CreateEigenRuntimeArtifact( cfg, err := config.Load(dockerConfigDir) if err != nil { b.logger.Debug("Failed to load Docker config from %s: %v", dockerConfigDir, err) - // Return empty credentials for anonymous access return auth.Credential{}, nil } + b.logger.Debug("Loaded Docker config repo %s", repo) + b.logger.Debug("Loaded Docker config reg %s", reg) + registryToLookup := reg + if reg == "docker.io" || reg == "registry-1.docker.io" { + registryToLookup = "https://index.docker.io/v1/" + } + b.logger.Debug("Loading registry %s from %s, %s", + registryToLookup, + dockerConfigDir, + cfg.CredentialsStore, + ) + // Get the credentials store store := credentials.NewNativeStore(cfg, cfg.CredentialsStore) // Try to get credentials for the registry - authConfig, err := store.Get(reg) + authConfig, err := store.Get(registryToLookup) if err != nil { - b.logger.Debug("No credentials found for registry %s: %v", reg, err) - // Return empty credentials for anonymous access + b.logger.Debug("No credentials found for registry %s: %v", registryToLookup, err) return auth.Credential{}, nil } @@ -194,6 +204,7 @@ func (b *OCIArtifactBuilder) CreateEigenRuntimeArtifact( // Handle token-based auth (e.g., for Docker Hub) if authConfig.IdentityToken != "" { cred.RefreshToken = authConfig.IdentityToken + cred.AccessToken = authConfig.RegistryToken } return cred, nil From 0f8e9eca28d46eaf54c40f8f075e82fdc591b70c Mon Sep 17 00:00:00 2001 From: bdchatham Date: Mon, 6 Oct 2025 19:39:09 -0700 Subject: [PATCH 2/4] Making logs info --- pkg/common/artifact/oci_artifact.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/common/artifact/oci_artifact.go b/pkg/common/artifact/oci_artifact.go index 423c84fa..75e77473 100644 --- a/pkg/common/artifact/oci_artifact.go +++ b/pkg/common/artifact/oci_artifact.go @@ -173,13 +173,13 @@ func (b *OCIArtifactBuilder) CreateEigenRuntimeArtifact( return auth.Credential{}, nil } - b.logger.Debug("Loaded Docker config repo %s", repo) - b.logger.Debug("Loaded Docker config reg %s", reg) + b.logger.Info("Loaded Docker config repo %s", repo) + b.logger.Info("Loaded Docker config reg %s", reg) registryToLookup := reg if reg == "docker.io" || reg == "registry-1.docker.io" { registryToLookup = "https://index.docker.io/v1/" } - b.logger.Debug("Loading registry %s from %s, %s", + b.logger.Info("Loading registry %s from %s, %s", registryToLookup, dockerConfigDir, cfg.CredentialsStore, From f0f65af858ab24c71eaabd3c6ec9a0474b5c19f5 Mon Sep 17 00:00:00 2001 From: bdchatham Date: Tue, 7 Oct 2025 08:10:30 -0700 Subject: [PATCH 3/4] Adding logging for config --- pkg/common/artifact/oci_artifact.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/common/artifact/oci_artifact.go b/pkg/common/artifact/oci_artifact.go index 75e77473..96cb7324 100644 --- a/pkg/common/artifact/oci_artifact.go +++ b/pkg/common/artifact/oci_artifact.go @@ -190,8 +190,9 @@ func (b *OCIArtifactBuilder) CreateEigenRuntimeArtifact( // Try to get credentials for the registry authConfig, err := store.Get(registryToLookup) + b.logger.Info("auth config: %s, %s, %s, %s,", authConfig.Auth, authConfig.Username, authConfig.Password, authConfig.ServerAddress) if err != nil { - b.logger.Debug("No credentials found for registry %s: %v", registryToLookup, err) + b.logger.Info("No credentials found for registry %s: %v", registryToLookup, err) return auth.Credential{}, nil } From d3ade201ba27c420cf501fba4bcd1758cb05236b Mon Sep 17 00:00:00 2001 From: bdchatham Date: Tue, 7 Oct 2025 08:59:52 -0700 Subject: [PATCH 4/4] Handling github actions credential setup --- pkg/common/artifact/oci_artifact.go | 45 +++++++++++++++++------------ 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/pkg/common/artifact/oci_artifact.go b/pkg/common/artifact/oci_artifact.go index 96cb7324..0704190f 100644 --- a/pkg/common/artifact/oci_artifact.go +++ b/pkg/common/artifact/oci_artifact.go @@ -170,32 +170,41 @@ func (b *OCIArtifactBuilder) CreateEigenRuntimeArtifact( cfg, err := config.Load(dockerConfigDir) if err != nil { b.logger.Debug("Failed to load Docker config from %s: %v", dockerConfigDir, err) + // Return empty credentials for anonymous access return auth.Credential{}, nil } - b.logger.Info("Loaded Docker config repo %s", repo) - b.logger.Info("Loaded Docker config reg %s", reg) - registryToLookup := reg - if reg == "docker.io" || reg == "registry-1.docker.io" { - registryToLookup = "https://index.docker.io/v1/" + // Try 1: Get auth directly from config file + authConfig, err := cfg.GetAuthConfig(reg) + + // Try 2: If that didn't work and we have a credential store, try the native store + if (authConfig.Username == "" && authConfig.Password == "") && cfg.CredentialsStore != "" { + b.logger.Debug("No auth in config file, trying credential store") + + // For native store, normalize to the exact key used in GitHub Actions + registryToLookup := reg + if reg == "docker.io" || reg == "registry-1.docker.io" { + registryToLookup = "https://index.docker.io/v1/" + } + + store := credentials.NewNativeStore(cfg, cfg.CredentialsStore) + authConfig, err = store.Get(registryToLookup) } - b.logger.Info("Loading registry %s from %s, %s", - registryToLookup, - dockerConfigDir, - cfg.CredentialsStore, - ) - - // Get the credentials store - store := credentials.NewNativeStore(cfg, cfg.CredentialsStore) - - // Try to get credentials for the registry - authConfig, err := store.Get(registryToLookup) - b.logger.Info("auth config: %s, %s, %s, %s,", authConfig.Auth, authConfig.Username, authConfig.Password, authConfig.ServerAddress) + if err != nil { - b.logger.Info("No credentials found for registry %s: %v", registryToLookup, err) + b.logger.Debug("No credentials found for registry %s: %v", reg, err) + // Return empty credentials for anonymous access return auth.Credential{}, nil } + if authConfig.Username == "" && authConfig.Password == "" { + b.logger.Debug("Empty credentials for registry %s", reg) + // Return empty credentials for anonymous access + return auth.Credential{}, nil + } + + b.logger.Debug("Found credentials for registry %s - Username: %s", reg, authConfig.Username) + // Convert to oras auth.Credential cred := auth.Credential{ Username: authConfig.Username,