Skip to content

Conversation

yarikoptic
Copy link

In my case I was trying with such a minimal usecase

import oras.client
from oras.container import Container

client = oras.client.OrasClient()
container = Container("neurodebian:sid")
client.get_manifest(container)

and I had

❯ docker-credential-secretservice list
{"https://index.docker.io/v1/":"repronimservices","workshop.dev.flywheel.io":"yarikoptic@gmail.com"}

Running the script resulted in hard to digest and not very informative traceback which started with

❯ uv run try_oras.py
Credential helper 'docker-credential-secretservice' failed:

NB it then continued with not directly related traceback on JSONDecodeError because was returned HTML I guess instead of json... not clear why continued to start with.

Not yet sure how the "input" should be fixed up (but seems need to be a url not just hostname), but this PR fixes at least the error to become informative. With it we get:

Credential helper 'docker-credential-secretservice' for 'docker.io' failed: credentials not found in native keychain

FTR:

❯ dlocate docker-credential-secretservice
golang-docker-credential-helpers: /usr/bin/docker-credential-secretservice
❯ apt-cache policy golang-docker-credential-helpers | cat
golang-docker-credential-helpers:
  Installed: 0.6.4+ds1-1+b18
  Candidate: 0.6.4+ds1-1+b18
  Version table:
 *** 0.6.4+ds1-1+b18 900
		600 https://deb.debian.org/debian sid/main amd64 Packages
		900 https://deb.debian.org/debian forky/main amd64 Packages
		100 https://deb.debian.org/debian trixie/main amd64 Packages
		100 /var/lib/dpkg/status

… no stderr output

In my case I was trying with such a minimal usecase

    import oras.client
    from oras.container import Container

    client = oras.client.OrasClient()
    container = Container("neurodebian:sid")
    client.get_manifest(container)

and I had

    ❯ docker-credential-secretservice list
    {"https://index.docker.io/v1/":"repronimservices","workshop.dev.flywheel.io":"yarikoptic@gmail.com"}

Running the script resulted in hard to digest and not very informative
traceback which started with

    ❯ uv run try_oras.py
    Credential helper 'docker-credential-secretservice' failed:

NB it then continued with not directly related traceback on
JSONDecodeError because was returned HTML I guess instead of json... not clear
why continued to start with.

Not yet sure how the "input" should be fixed up (but seems need to be a url not
just hostname), but this PR fixes at least the error to become
informative. With it we get:

    Credential helper 'docker-credential-secretservice' for 'docker.io' failed: credentials not found in native keychain

FTR:

	❯ dlocate docker-credential-secretservice
	golang-docker-credential-helpers: /usr/bin/docker-credential-secretservice
	❯ apt-cache policy golang-docker-credential-helpers | cat
	golang-docker-credential-helpers:
	  Installed: 0.6.4+ds1-1+b18
	  Candidate: 0.6.4+ds1-1+b18
	  Version table:
	 *** 0.6.4+ds1-1+b18 900
			600 https://deb.debian.org/debian sid/main amd64 Packages
			900 https://deb.debian.org/debian forky/main amd64 Packages
			100 https://deb.debian.org/debian trixie/main amd64 Packages
			100 /var/lib/dpkg/status

Signed-off-by: Yaroslav Halchenko <debian@onerussian.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant