Sign inSign up

bwalia/spectoncr

By bwalia

Updated 8 days ago

Image
0

10K+

bwalia/spectoncr repository overview

SpectonCR

A cloud-native Docker/OCI container registry built in Rust with multi-tenancy, zero-trust authentication, and pull-through caching.

Quick Start

docker run -d -p 5000:5000 specton/spectoncr:latest

Then push an image:

docker tag nginx:latest localhost:5000/myorg/nginx:latest
docker push localhost:5000/myorg/nginx:latest

Key Features

  • OCI Distribution API v2 compliant
  • Pull-through cache for Docker Hub, GHCR, GCR, Quay.io, registry.k8s.io
  • Multi-tenancy with Tenant, Project, and AccessPolicy CRDs
  • Zero-trust auth via OIDC (Google, GitHub Actions, GitLab CI, Azure AD)
  • Multiple storage backends -- filesystem, S3, GCS, Azure Blob
  • High availability -- stateless services, HPA, circuit breakers
  • Multi-region replication with async/semi-sync modes
  • Observability -- Prometheus metrics, JSON logging, OpenTelemetry tracing
  • Multi-architecture -- linux/amd64 and linux/arm64

Image Tags

TagDescription
latestLatest stable release
vX.Y.ZSpecific version
edgeLatest development build from main

Docker Compose

services:
  registry:
    image: specton/spectoncr:latest
    command: ["specton-registry"]
    ports:
      - "5000:5000"
      - "9090:9090"
    environment:
      SPECTONCR_STORAGE__BACKEND: filesystem
      SPECTONCR_STORAGE__ROOT: /var/lib/spectoncr/data
      SPECTONCR_AUTH__VERIFICATION_KEY_PATH: /etc/spectoncr/keys/public.pem
    volumes:
      - registry-data:/var/lib/spectoncr/data

See the full docker-compose.yml for a complete setup with auth and key generation.

Kubernetes (Helm)

helm install spectoncr oci://ghcr.io/bwalia/charts/spectoncr \
  --namespace spectoncr --create-namespace

Ports

PortService
5000OCI Registry API
5001Auth / Token service
9090Prometheus metrics

Environment Variables

VariableDefaultDescription
SPECTONCR_STORAGE__BACKENDfilesystemStorage backend (filesystem, s3, gcs, azure)
SPECTONCR_STORAGE__ROOT/var/lib/spectoncr/dataFilesystem storage root
SPECTONCR_SERVER__LISTEN_ADDR0.0.0.0:5000Registry listen address
SPECTONCR_AUTH__VERIFICATION_KEY_PATH--Path to JWT public key
RUST_LOGinfoLog level

License

Apache-2.0

Tag summary

Content type

Image

Digest

sha256:08be2be63

Size

55.1 MB

Last updated

8 days ago

docker pull bwalia/spectoncr