Hey guys, we’re building a new container registry, which would be fully OCI Distribution Specification compliant. This means that OpenRegistry would be completely compatible with any relatively new version of container engines like Docker, Containerd, Podman, etc.
For the longest time Docker has run Docker Hub and it’s been the most popular platform by far. Majority of the people rely on Docker’s Container Registry. Here’s a few reasons why THIS project comes to life:
Docker Hub is run by a corporate, who’s biggest (but not only) goal is to make profit
When Docker Hub goes down, it causes a lot of service degradation for it’s peers, we can show the tech industry how resilient and robust Akash Network is for Fault Tolerant Systems.
Docker’s new Rate Limiting makes if even hard to use Docker. (I’ve worked with Fortune500 Clients in my previous org and we were literally forced to use AWS’ Container registry)
Run by the Open Cloud, powered by Open Technologies. We’re planning to add IPFS support soon after the initial launch.
Initially OpenRegistry would be built on top of Skynet for the storage backend but the OCI Distribution Spec defines the backend to be pluggable simply by satisfying the storage.StorageDriver backend. Once the MVP is ready, we’d go on to add multiple storage backends.
Usage:
Q. How difficult it would be to use this registry?
Answer: OpenRegistry would be fully OCI Distribution Spec compliant, that means your existing workflow would remain exactly how it is.
PS: No offense to Docker Hub. Docker hub is what most of us use and so do I. I absolutely loved what Docker stood for a while ago but now their vision has changed.
I pitched your project to @gosuri and @abozanich and asked for funding for this project. Their initial reaction was positive, and I’ll follow up. Also, I will start a discord chat with Skynet and Akash to discuss OpenRegistry.
hey guys @colin.lowenberg@gosuri I just wanted to share a little update on the progress on the project here, so i recorded a little video, please dont judge me on my video-making skills
Since I can’t embed the image inside the comment here, please go through this vimeo link to check the demo out
@gosuri OpenRegistry is not ready for a release yet, AuthN, Logs, Metrics all are pending. I was able to get push/pull working flawlessly (to the most part) but It’s not a product yet, this week im flooded with work but my partner is working on Authentication this week, and towards the weekend I can add metrics and logging to see how it performs, etc. Would it be okay to make a restricted release like 50-60 GB limitation on storage and then ask people to use it. Then we can collect some metrics and see if all works well?
Some tests are skipped because their corresponding features aren’t developed yet but mostly it just passed test cases. Some of them failed because of invalid http response codes because codes mentioned on the official docker api ref and opencontainers/distribution-spec differ from those of in the conformance tests, i’ll looking into this over the weekend and if we pass all of the tests here, it’ll mean we’re compliant with their spec
Thanks a ton @gosuri for the shoutout. I just saw it on youtube
I can prepare a full fledge demo for OpenRegistry I’ve gotten AuthN/AuthZ, Registration, Push and Pull working but when i ran some load tests on it, it doesn’t scale very well right now (a lot of stuff has to stay in memory), I’d like to get someone from Akash and Skynet on call, discuss the implementation and then soon after that, we’ll be ready for a closed beta program or more like restricted deployment plan
@gosuri@colin.lowenberg deployment was successful on Akash, it lives at Beta OpenRegistry. No frontend yet, only docker push/pull/signup/signin via api and also stuck with some max request body limit I believe from Cloudflare but I haven’t worked on solving it yet. It’s pretty much useless unless we solve this issue but i’ll be sorting all of that out pretty soon
guys i’ve closed the deployment for the time being. I’m trying to resolve the issue of 413 request too large. i’ve asked in the deployment channel for help regarding this.
hey guys, we just posted another update on the progress we’ve made with OpenRegistry. We can now Push, Pull and Authenticate against OpenRegistry using docker cli (or any other container toolchain). Please check the demo out here: