3

I'm trying to authenticate against a private Docker registry, hosted in IBM Cloud (aka Bluemix).

In Octopus, I can connect successfully against the main Docker Hub feed at index.docker.io. And also making a request through the IBM Swagger docs here — https://registry.eu-gb.bluemix.net/api/doc/#/ — returns valid results for me.

But when trying to add the IBM Cloud as an external feed, Octopus returns:

Octopus v2018.5.6    
Unable to retrieve authentication token required to perform operation.    
System.Exception    
   at Octopus.Core.Packages.Docker.DockerRegistryOAuthClient.RetrieveAuthenticationToken    
   at Octopus.Core.Packages.Docker.DockerRegistryOAuthClient.GetAuthRequestHeader    
   at Octopus.Core.Packages.Docker.DockerRegistryOAuthClient.Get

It's not clear from the docs or the labels when configuring the feed what values I should be entering, but have tried with the following:

  • URL: https://registry.eu-gb.bluemix.net
  • Registry path: registry.eu-gb.bluemix.net/api/v1/images
  • Username: Both my email & my user ID
  • Password: Both my password for IBM Bluemix or an auth token directly.

EDIT: Have now also tried following this guide on the IBM Cloud website

  1. I can create an retrieve my token OK using the Bluemix command line tools
  2. I can log in on the command line using the docker via docker login -u token -p <token_value> <registry_url> but configuring Octopus feed in the same way (username: token, password: <token_value>) still gives the same error as above.
Art Berger
  • 37
  • 4
anotherdave
  • 6,656
  • 4
  • 34
  • 65
  • Have you tried leaving the registry path blank? – data_henrik Jul 02 '18 at 10:42
  • @data_henrik Yes, have tried blank and also just `registry.eu-gb.bluemix.net`, `https://registry.eu-gb.bluemix.net` and have tried the global Bluemix registry too (`registry.bluemix.net`) — all giving the same error, unfortunately. – anotherdave Jul 02 '18 at 10:51

1 Answers1

2

Have you clarified with Octopus the requirements around support for private registries?

From the documentation, it is implied that the catalog endpoint is required. If so, then the IBM Cloud Container Registry does not expose this endpoint, as it would list all repositories owned by all accounts.

Note that it looks like Docker Hub has the same restriction (as per Insufficient scope when attempting to get Docker Hub catalog), which might be why the Octopus docs say that searching and listing private repos on Docker Hub is not supported: https://octopus.com/docs/packaging-applications/package-repositories/registries/docker-hub

J Hart
  • 41
  • 2