{"adoption": {"forks": 2776, "observed_at": "2026-08-28T04:10:42.470487+00:00", "stars": 10583}, "canonical_url": "https://ross.abutalabs.com/products/distribution", "card": {"archived": false, "artifact_type": "service", "description": "The toolkit to pack, ship, store, and deliver container content", "domain": ["cloud-computing", "self-hosted", "infrastructure-as-code"], "enriched": true, "function": ["container-runtime", "http-server", "api-framework", "self-hosted", "developer-tools"], "health_score": 98, "homepage": "https://distribution.github.io/distribution", "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "stable", "member_repos": ["distribution/distribution"], "name": "distribution/distribution", "platform": ["go", "self-hosted", "cross-platform"], "pushed_at": "2026-08-26T22:12:07+00:00", "repo": "distribution/distribution", "stars": 10583, "tags": ["container-registry", "oci-distribution-spec", "image-storage", "docker-registry", "cncf", "containers", "devops", "linux", "docker"], "topics": ["registry", "oci-specification", "cncf", "oci", "containers", "distribution"], "urls": [], "use_cases": ["run a private docker registry on my own server", "self-host container image storage", "store and distribute OCI images behind my firewall", "build a large-scale container registry service", "push and pull images to localhost:5000 for local development", "own my full image distribution pipeline"], "what_it_is": "The CNCF Distribution project provides the open-source Registry, a stateless, scalable server-side application implementing the OCI Distribution Specification for storing and delivering container images and other OCI content. It also ships Go libraries for interacting with registry components and serves as the core for Docker Hub, GitHub Container Registry, GitLab, and Harbor.", "when_to_avoid": ["you want a zero-maintenance hosted solution with support and security scanning (Docker Hub, Quay.io, GitHub Packages, cloud provider registries)", "you need built-in UI, vulnerability scanning, or RBAC out of the box (consider Harbor instead)"], "when_to_choose": ["you want full control and ownership over where images are stored", "you need to integrate image storage tightly into an in-house CI/CD workflow", "you want a simple, secure, scalable base for a private or large-scale registry", "you need an OCI-conformant registry implementation"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/distribution", "repo": "distribution/distribution", "role": "main", "score": 82}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.470487+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:18:30.451012+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dcfa54442f7ed7c001aae3aaa144dd6208022cf6521c4a12cdbb2ecaac3ae79", "fetched_at": "2026-08-28T04:10:42.470487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/distribution/distribution"}, {"content_hash": "e59cc4fc3865564fa505025b1e4a102046fc7f589e9bd0a2e5184aa4731ae5ff", "fetched_at": "2026-08-29T08:17:36.448390+00:00", "kind": "homepage", "missing": false, "url": "https://distribution.github.io/distribution"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.470487+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:18:30.451012+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dcfa54442f7ed7c001aae3aaa144dd6208022cf6521c4a12cdbb2ecaac3ae79", "fetched_at": "2026-08-28T04:10:42.470487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/distribution/distribution"}, {"content_hash": "e59cc4fc3865564fa505025b1e4a102046fc7f589e9bd0a2e5184aa4731ae5ff", "fetched_at": "2026-08-29T08:17:36.448390+00:00", "kind": "homepage", "missing": false, "url": "https://distribution.github.io/distribution"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:18:30.451012+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dcfa54442f7ed7c001aae3aaa144dd6208022cf6521c4a12cdbb2ecaac3ae79", "fetched_at": "2026-08-28T04:10:42.470487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/distribution/distribution"}, {"content_hash": "e59cc4fc3865564fa505025b1e4a102046fc7f589e9bd0a2e5184aa4731ae5ff", "fetched_at": "2026-08-29T08:17:36.448390+00:00", "kind": "homepage", "missing": false, "url": "https://distribution.github.io/distribution"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.470487+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.470487+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.470487+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:18:30.451012+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dcfa54442f7ed7c001aae3aaa144dd6208022cf6521c4a12cdbb2ecaac3ae79", "fetched_at": "2026-08-28T04:10:42.470487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/distribution/distribution"}, {"content_hash": "e59cc4fc3865564fa505025b1e4a102046fc7f589e9bd0a2e5184aa4731ae5ff", "fetched_at": "2026-08-29T08:17:36.448390+00:00", "kind": "homepage", "missing": false, "url": "https://distribution.github.io/distribution"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.470487+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.470487+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:18:30.451012+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dcfa54442f7ed7c001aae3aaa144dd6208022cf6521c4a12cdbb2ecaac3ae79", "fetched_at": "2026-08-28T04:10:42.470487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/distribution/distribution"}, {"content_hash": "e59cc4fc3865564fa505025b1e4a102046fc7f589e9bd0a2e5184aa4731ae5ff", "fetched_at": "2026-08-29T08:17:36.448390+00:00", "kind": "homepage", "missing": false, "url": "https://distribution.github.io/distribution"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.470487+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.470487+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.470487+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:18:30.451012+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dcfa54442f7ed7c001aae3aaa144dd6208022cf6521c4a12cdbb2ecaac3ae79", "fetched_at": "2026-08-28T04:10:42.470487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/distribution/distribution"}, {"content_hash": "e59cc4fc3865564fa505025b1e4a102046fc7f589e9bd0a2e5184aa4731ae5ff", "fetched_at": "2026-08-29T08:17:36.448390+00:00", "kind": "homepage", "missing": false, "url": "https://distribution.github.io/distribution"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.470487+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.470487+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:18:30.451012+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dcfa54442f7ed7c001aae3aaa144dd6208022cf6521c4a12cdbb2ecaac3ae79", "fetched_at": "2026-08-28T04:10:42.470487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/distribution/distribution"}, {"content_hash": "e59cc4fc3865564fa505025b1e4a102046fc7f589e9bd0a2e5184aa4731ae5ff", "fetched_at": "2026-08-29T08:17:36.448390+00:00", "kind": "homepage", "missing": false, "url": "https://distribution.github.io/distribution"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:18:30.451012+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dcfa54442f7ed7c001aae3aaa144dd6208022cf6521c4a12cdbb2ecaac3ae79", "fetched_at": "2026-08-28T04:10:42.470487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/distribution/distribution"}, {"content_hash": "e59cc4fc3865564fa505025b1e4a102046fc7f589e9bd0a2e5184aa4731ae5ff", "fetched_at": "2026-08-29T08:17:36.448390+00:00", "kind": "homepage", "missing": false, "url": "https://distribution.github.io/distribution"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:18:30.451012+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dcfa54442f7ed7c001aae3aaa144dd6208022cf6521c4a12cdbb2ecaac3ae79", "fetched_at": "2026-08-28T04:10:42.470487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/distribution/distribution"}, {"content_hash": "e59cc4fc3865564fa505025b1e4a102046fc7f589e9bd0a2e5184aa4731ae5ff", "fetched_at": "2026-08-29T08:17:36.448390+00:00", "kind": "homepage", "missing": false, "url": "https://distribution.github.io/distribution"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:18:30.451012+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dcfa54442f7ed7c001aae3aaa144dd6208022cf6521c4a12cdbb2ecaac3ae79", "fetched_at": "2026-08-28T04:10:42.470487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/distribution/distribution"}, {"content_hash": "e59cc4fc3865564fa505025b1e4a102046fc7f589e9bd0a2e5184aa4731ae5ff", "fetched_at": "2026-08-29T08:17:36.448390+00:00", "kind": "homepage", "missing": false, "url": "https://distribution.github.io/distribution"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 49}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4272, "days_push": 7, "days_rel": 124, "gap_med": 196.0, "n_releases_24m": 3}, "score": 82, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}