Skip to content

Repository files navigation

Angos

Angos Logo

A fully OCI-compliant and Docker-compatible container registry.

Website | Documentation | Quick Start

Key Features

  • Online garbage collection
  • Pull-through cache
  • Immutable tags with configurable exclusions
  • Access control policies (CEL-based)
  • Retention policies
  • Native mTLS support
  • OIDC authentication (GitHub Actions, Google, Okta, and more)
  • Webhook authorization for external policy decisions
  • Web UI for browsing and managing images

Properties

  • Resource efficient: Asynchronous, streaming operations
  • Secure: mTLS, OIDC/JWT authentication, authorization policies (CEL and webhooks)
  • Scalable: Light footprint, S3-compatible storage, distributed locking
  • Easy to operate: Online garbage collection, auto-reload of configuration and certificates
  • Cross-platform: Portable on most mainstream operating systems just by recompiling

Quick Start

# Create a minimal config
cat > config.toml << 'EOF'
[server]
bind_address = "0.0.0.0"
port = 8000

[blob_store.fs]
root_dir = "./registry-data"

[global.access_policy]
default = "allow"

[repository."test"]
EOF

# Run the registry
./angos -c config.toml server

# Push an image
docker tag alpine:latest localhost:8000/test/alpine:latest
docker push localhost:8000/test/alpine:latest

See the Quickstart Tutorial for a complete walkthrough.

Documentation

The complete documentation index lives in doc/index.md.

Tutorials

How-To Guides

Reference

Understanding Angos

Upgrading

Version-specific migration notes are in the Upgrade guide.

Usage

Usage: angos [-c <config>] <command> [<args>]

An OCI-compliant and docker-compatible registry service

Options:
  -c, --config      the path to the configuration file, defaults to
                    `config.toml`
  --help, help      display usage information

Commands:
  argon             Hash a password following the argon2id algorithm
  migrate           Convert pre-JSON bare-digest link metadata to the current
                    JSON format
  prune             Enforce retention policies and reclaim aged upload-lifecycle
                    leftovers
  replicate         Reconcile replicated namespaces with their configured
                    downstreams
  scrub             Walk the store, repair inconsistencies, and quarantine
                    unrecognized objects
  server            Run the registry listeners
  worker            Process durable background jobs

Additional Endpoints

In addition to the standard OCI Distribution endpoints:

  • /healthz: Liveness health check endpoint
  • /readyz: Readiness health check endpoint
  • /metrics: Prometheus metrics endpoint

References

About

An OCI-compliant and Docker-compatible container registry.

Topics

Resources

Stars

53 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages