# cloudflare/serverless-registry

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/cloudflare-serverless-registry).**

1,405 stars · 106 forks · TypeScript · Apache-2.0

## Links

- GitHub: https://github.com/cloudflare/serverless-registry
- awesome-repositories: https://awesome-repositories.com/repository/cloudflare-serverless-registry.md

## Topics

`artifacts` `cloudflare` `container` `container-registry` `containers` `docker` `docker-registry` `javascript` `r2` `registry` `typescript` `workers`

## Description

Serverless Registry is a container registry service implemented as a serverless application. It provides a platform for hosting and managing container images by leveraging distributed object storage and edge computing to handle image layers and metadata.

The project distinguishes itself by utilizing edge-side request proxying and lazy pull-through caching to manage external image dependencies. By fetching and persisting remote images on demand, it improves availability and access speeds for container runtimes. The system also employs chunked stream processing to manage large image layers, ensuring reliable data transfer and storage within serverless environments.

The registry includes comprehensive security and access control mechanisms, supporting both basic authentication and token-based validation to protect repositories. It is designed to integrate with standard container runtime commands, allowing users to push and pull images while maintaining consistent access through a globally distributed infrastructure.

## Tags

### DevOps & Infrastructure

- [Container Image Registries](https://awesome-repositories.com/f/devops-infrastructure/container-image-registries.md) — Provides a container registry service for hosting, pushing, and pulling images using standard runtime commands. ([source](https://github.com/cloudflare/serverless-registry#readme))
- [Remote Image Pulling](https://awesome-repositories.com/f/devops-infrastructure/container-image-management/remote-image-pulling.md) — Fetches and persists remote container images on demand to provide a local fallback for external dependencies.
- [Container Registries](https://awesome-repositories.com/f/devops-infrastructure/container-registries.md) — Provides a storage platform for container images using object storage and serverless functions.
- [Container Registry Proxies](https://awesome-repositories.com/f/devops-infrastructure/container-registry-proxies.md) — Acts as a container registry proxy to cache external images and ensure consistent availability.
- [Layer Chunking](https://awesome-repositories.com/f/devops-infrastructure/container-image-layering/layer-chunking.md) — Implements layer chunking to manage large container image layers and ensure reliable data transfer.
- [Upstream Registry Caching](https://awesome-repositories.com/f/devops-infrastructure/container-image-registries/upstream-registry-caching.md) — Caches external images locally to ensure consistent availability and faster access during migrations. ([source](https://github.com/cloudflare/serverless-registry#readme))
- [Container Image Registry Uploads](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-runtimes/runtime-configuration-interfaces/docker-socket-orchestrators/docker-target-configurators/docker-container-deployments/docker-image-building/container-image-registry-uploads.md) — Supports reliable container image uploads by chunking large layers over constrained network connections. ([source](https://github.com/cloudflare/serverless-registry/tree/main/push))
- [Container Image Caching](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/image-management-tools/container-image-caching.md) — Caches remote container images to improve deployment speeds and ensure consistent availability.
- [Cloudflare R2 Object Storages](https://awesome-repositories.com/f/devops-infrastructure/object-storage-providers/cloudflare-r2-object-storages.md) — Uses distributed object storage for hosting container image blobs and manifests with global access.
- [Cloudflare Workers Implementations](https://awesome-repositories.com/f/devops-infrastructure/serverless-architectures/cloudflare-workers-implementations.md) — Implements the container registry protocol as a serverless application using edge computing.

### Data & Databases

- [Object-Storage Persistence](https://awesome-repositories.com/f/data-databases/object-storage-persistence.md) — Stores large binary container layers as immutable blobs within distributed cloud object storage.

### Networking & Communication

- [Edge Proxies](https://awesome-repositories.com/f/networking-communication/request-proxies/edge-proxies.md) — Routes registry traffic through edge servers to handle authentication and request logic at the network edge.

### Security & Cryptography

- [Basic Authentication](https://awesome-repositories.com/f/security-cryptography/basic-authentication.md) — Supports standard username and password authentication for secure interaction with image repositories. ([source](https://github.com/cloudflare/serverless-registry/tree/main/push))
- [Credential-Based Access Controls](https://awesome-repositories.com/f/security-cryptography/identity-based-access-control/credential-based-access-controls.md) — Validates incoming requests against stored credentials or public keys to enforce repository security.
- [Registry Access Controls](https://awesome-repositories.com/f/security-cryptography/registry-access-controls.md) — Secures image repositories by validating user credentials and tokens to prevent unauthorized access.
