SaaSHub helps you find the best software and product alternatives Learn more →
Top 8 Go container-registry Projects
-
Project mention: Your laptop can run a full devops stack here’s how I set mine up | dev.to | 2025-06-19
Push and pull images without Docker Hub rate limits. Harbor has a slick UI and RBAC. Docker Registry UI is minimal and works well.
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
Project mention: Crane: Tool for interacting with remote images and registries | news.ycombinator.com | 2024-07-29
-
nixery
Container registry which transparently builds images using the Nix package manager. Canonical repository is https://cs.tvl.fyi/depot/-/tree/tools/nixery
-
-
-
-
Source: I have implemented a OCI-compliant registry [1], though for the most part I've been following the behavior of the reference implementation [2] rather than the spec, on account of its convolutedness.
When the client finalizes a blob upload, they need to supply the digest of the full blob. This requirement evidently serves to enable the server side to validate the integrity of the supplied bytes. If the server only started checking the digest as part of the finalize HTTP request, it would have to read back all the blob contents that had already been written into storage in previous HTTP requests. For large layers, this can introduce an unreasonable delay. (Because of specific client requirements, I have verified my implementation to work with blobs as large as 150 GiB.)
Instead, my implementation runs the digest computation throughout the entire sequence of requests. As blob data is taken in chunk by chunk, it is simultaneously streamed into the digest computation and into blob storage. Between each request, the state of the digest computation is serialized in the upload URL that is passed back to the client in the Location header. This is roughly the part where it happens in my code: https://github.com/sapcc/keppel/blob/7e43d1f6e77ca72f0020645...
I believe that this is the same approach that the reference implementation uses. Because digest computation can only work sequentially, therefore the upload has to proceed sequentially.
[1] https://github.com/sapcc/keppel
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Go container-registry discussion
Go container-registry related posts
-
Crane: Tool for interacting with remote images and registries
-
Skip build if "${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHORT_SHA}" exists on container registry
-
Weekly: This Week I Learned (TWIL?) thread
-
Dockerhub to (likely?) delete a lot of organizations.
-
Container registry vs artifact ?
-
Tell HN: Google Cloud suspended our production projects at 1am on Saturday
-
How can I push an Image from my master registry to the root registry?
-
A note from our sponsor - SaaSHub
www.saashub.com | 23 Jun 2025
Index
What are some of the best open-source container-registry projects in Go? This list will help you:
# | Project | Stars |
---|---|---|
1 | Harbor | 25,773 |
2 | go-containerregistry | 3,394 |
3 | nixery | 1,887 |
4 | gcr-cleaner | 810 |
5 | manifest-tool | 801 |
6 | registry-ui | 442 |
7 | keppel | 112 |
8 | gocontainer | 21 |