Hello
We have been using the docker registry distribution backed up by S3 bucket for our docker images and everything is pushed directly to the root of the registry under this pattern most of the time registry.domain.com/project:tag. I am looking for a way to keep supporting this pattern on while migrating to Harbor.
Even with the library project created a push to harbor.domain.com/project will result to 500 HTTP Error with the logs below in harbor registry:
harbor-registry-758d779d7f-grqvl registry 100.96.15.49 - - [05/Feb/2020:16:10:40 +0000] "GET /v2/ HTTP/1.1" 401 87 "" "docker/19.03.5 go/go1.12.12 git-commit/633a0ea kernel/4.9.184-linuxkit os/linux arch/amd64 UpstreamClient(Docker-Client/19.03.5 \\(darwin\\))"
harbor-registry-758d779d7f-grqvl registry time="2020-02-05T16:10:40.864638741Z" level=warning msg="error authorizing context: authorization token required" go.version=go1.12.12 http.request.host=harbor-core-staging.domain.com http.request.id=23b12029-9f09-42d3-a133-a0f524f28ce5 http.request.method=GET http.request.remoteaddr=195.68.96.226 http.request.uri="/v2/" http.request.useragent="docker/19.03.5 go/go1.12.12 git-commit/633a0ea kernel/4.9.184-linuxkit os/linux arch/amd64 UpstreamClient(Docker-Client/19.03.5 \(darwin\))"
Is there a way to achieve this on Harbor level and while I am on the subject what is the best way to migrate the old registry and even to use the same s3 bucket from the current registry ?
Thanks
currently harbor project need a name, so can't remove the default name library, and it maybe not easy to implement.
@xaleeks How do you think about this requirement?
Hello,
Thank you @bitsf for the comment, please let me know if there is anything that I can help with.
+1
Empty project name, or possibility to specify default project name would be great.
Default project could work like that:
@szimonek
To support that we have to tamper user's request, I wish to suggest not to do that until really have to.
I don't think adding library is much work for the user.
@reasonerjt
I was able to surpass that limitation by using Harbor in tandem with containerd.
CRI plugin for containerd has a lot of great features. User can define custom endpoints to external registires -> https://github.com/containerd/cri/blob/master/docs/registry.md
I have made Harbor my own docker.io , gcr.io and quay.io and have done it in corporate environment, where Harbor and containerd have no access to Internet.
@szimonek I would think it's a hack but I'm happy you figured it out.
Most helpful comment
+1
Empty project name, or possibility to specify default project name would be great.
Default project could work like that: