google/go-containerregistry
Go library and CLIs for working with container registries
Build with Backblaze B2
SDKs, agent skills, IDE extensions, and reference pipelines from Backblaze Labs. All open source.
Loading star history...
Where it stands
Rank, growth pace and release cadence relative to everything GStars tracks.
4 releases in the last 90 days, the latest 52 days ago, with 215 contributors on GitHub.
Peaked at #68 in the weekly ranking the week of Mar 15, its best in the past year.
Use Cases & Benefits
- Provides a Go library and CLI tools for interacting with container registries and manipulating container images and indexes.
- Offers immutable resource views with composable functional mutations for efficient, flexible, and lazy or eager image handling.
- Use for automating container image management workflows including pulling, pushing, and copying images between registries and local storage.
- Use for building custom tooling that requires fine-grained control over container image layers, indexes, and authentication with registries.
- Use for integrating Kubernetes workload identity authentication into container registry operations using the k8schain package.
Should you depend on it?
License terms, project hygiene and risks, from GitHub metadata and GStars' snapshots.
License
Apache 2.0
Permissive: commercial use, modification and redistribution are allowed with attribution; includes an explicit patent grant from contributors.
Community files
- README: present
- Contributing guide: present
- Code of conduct: present
Watch-outs
No watch-outs from GStars' checks.
General guidance from repository metadata, not legal advice. How we score
From the README
This is a golang library for working with container registries. It's largely based on the Python library of the same name.
The following diagram shows the main types that this library handles.
The overarching design philosophy of this library is to define interfaces that present an immutable view of resources (e.g.
Image,Layer,ImageIndex), which can be backed by a variety of medium (e.g. registry, tarball, daemon, ...).To complement these immutable views, we support functional mutations that produce new immutable views of the resulting resource (e.g. mutate). The end goal is to provide a set of versatile primitives that can compose to do extraordinarily powerful things efficiently and easily.
Both the resource views and mutations may be lazy, eager, memoizing, etc, and most are optimized for common paths based on the tooling we have seen in the wild (e.g. writing new images from disk to the registry as a compressed tarball).
Over time, we will add new functionality under experimental environment variables listed here.
Daily snapshots
Stars gained per day, and how forks and open issues moved, from GStars' daily snapshots
Forks
700+36
Open issues
150-18
Compared with peers in DevOps
Fastest-growing repositories GStars tracks in this cohort for the week of Nov 1, by 7-day star growth
| Repository | Stars | +7d | Health | Last release |
|---|---|---|---|---|
| milind-soni/OpenMausBot | 13.5K | +6.0K | 45 | today |
| DuarteSantos8/openGym | 19.7K | +2.4K | 60 | 2 days ago |
| AstrBotDevs/AstrBot | 46.2K | +1.4K | 65 | 5 days ago |
| elie222/rakazo | 7.2K | +922 | 59 | 26 days ago |
| superplanehq/superplane | 8.8K | +435 | 60 | 7 days ago |
| google/go-containerregistry | 4.1K | — | 62 | 52 days ago |
| Category median | 13.5K | +1.4K | 60 | — |
Also by google
Other repositories from this maintainer that GStars tracks
- 54.2K stars
material-design-icons
Material Design icons by Google (Material Symbols)
- Java51.9K stars
guava
Google core libraries for Java
- JavaScript45.8K stars
zx
A tool for writing better scripts
- C++39.7K stars
googletest
GoogleTest - Google Testing and Mocking Framework
- Python39.0K stars
langextract
A Python library for extracting structured information from unstructured text using LLMs with precise source grounding and interactive visualization.
Discover Repositories
Search across tracked repositories by name or description