0838bcbab2b1da8a4437985fabe1fe9ade53b4d5
Update mcdsl from v1.0.0 to the port-env-support branch tip, which adds automatic $PORT environment variable support to the config package. Adapt grpcserver.New call to the updated signature that now accepts an *Options parameter (pass nil for default behavior). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
MCR
Metacircular Container Registry -- an OCI Distribution Spec-compliant container registry for the Metacircular platform. MCR stores and serves container images with authentication delegated to MCIAS and a local policy engine for fine-grained access control. Metadata is stored in SQLite; blobs are stored as content-addressed files on the filesystem.
Quick Start
Build the binaries:
make all
This produces three binaries:
| Binary | Purpose |
|---|---|
mcrsrv |
Registry server (OCI + admin REST + gRPC) |
mcr-web |
Web UI (htmx, communicates with mcrsrv via gRPC) |
mcrctl |
Admin CLI |
Copy and edit the example configuration:
cp deploy/examples/mcr.toml /srv/mcr/mcr.toml
# Edit TLS paths, database path, storage paths, MCIAS URL
Run the server:
./mcrsrv server --config /srv/mcr/mcr.toml
The server starts two listeners:
| Port | Protocol | Purpose |
|---|---|---|
| 8443 | TCP | HTTPS -- OCI Distribution endpoints + admin REST API |
| 9443 | TCP | gRPC admin API (TLS, MCIAS auth) |
Run the web UI:
./mcr-web server --config /srv/mcr/mcr.toml
| Port | Protocol | Purpose |
|---|---|---|
| 8080 | TCP | HTTP -- web UI (repository browsing, policy management) |
Documentation
- ARCHITECTURE.md -- full technical specification, OCI compliance details, database schema, policy engine, and security model.
- RUNBOOK.md -- operational procedures, health checks, backup/restore, incident response, and MCP deployment.
- CLAUDE.md -- context for AI-assisted development.
Description
Languages
Go
95.4%
HTML
2.5%
CSS
1.3%
Shell
0.5%
Makefile
0.2%
Other
0.1%