konstructio / kubefirst

The Kubefirst Open Source Platform
https://kubefirst.konstruct.io/docs
MIT License
1.8k stars 142 forks source link

GitLab AWS unable to pull metaphor Docker images #2256

Closed mrsimonemms closed 3 months ago

mrsimonemms commented 3 months ago

Which version of kubefirst are you using?

dev - commitId 9f3333d

Which cloud provider?

AWS

Which DNS?

None specific

Which installation type?

CLI

Which distributed Git provider?

GitLab

Did you use a fork of gitops-template?

Yes

Which Operating System?

Linux

What is the issue?

EDIT: Everything below is my original text and is kept for posterity. The issue is not this at all - the dockerconfigjson/dockerconfig secret stored in Vault is actually for registry.gitlab.io when the URL is actually registry.gitlab.com. When changed, this works.


My Metaphor generated image is registry.gitlab.com/sje-kubefirst/metaphor:2d3cfe2f which is definitely registered in the GitLab registry.

The K8s cluster has an ImagePullBackOff error. When running docker pull registry.gitlab.com/sje-kubefirst/metaphor:2d3cfe2f locally, I get the error:

Error response from daemon: manifest for registry.gitlab.com/sje-kubefirst/metaphor:2d3cfe2f not found: manifest unknown: manifest unknown

When running docker manifest inspect registry.gitlab.com/sje-kubefirst/metaphor:2d3cfe2f, I get no such manifest: registry.gitlab.com/sje-kubefirst/metaphor:2d3cfe2f. For comparison, docker manifest inspect alpine returns a valid manifest.

I have confirmed that the access token I'm using is valid by taking the docker-config secret and running echo <secret.auths.registry\.gitlab\.io.auth-value> | base64 -d then echo "<password-from-secret>" | docker login registry.gitlab.com -u <user-from-secret> --password-stdin which successfully logs in. For comparison, changing the username/password denies the login.

image

I found this whilst doing https://github.com/kubefirst/gitops-template/pull/783 - to recreate this issue, check out the "how to test" section to create your own cluster and then look at the Metaphor deployment in the development namespace.

Code of Conduct