## Summary - Create `docs/reference/` section with 24 technical reference cards - Services (16): alloy, argocd, borgmatic, 1password, forgejo, grafana, jellyfin, kiwix, loki, miniflux, navidrome, postgresql, prometheus, teslamate, transmission, zot - Infrastructure (3): hosts, tailscale, routing - Kubernetes (2): cluster, apps - Storage (2): sifaka, backups - Update README to mark Phase 2 as complete - Add towncrier changelog fragment ## Deployment and Testing - [ ] Build docs locally to verify wiki-links resolve - [ ] Deploy via ArgoCD and verify at docs.ops.eblu.me/reference/ 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/88
42 lines
1.1 KiB
Markdown
42 lines
1.1 KiB
Markdown
---
|
|
title: Zot
|
|
tags:
|
|
- service
|
|
- registry
|
|
---
|
|
|
|
# Zot
|
|
|
|
OCI-native container registry providing pull-through cache and private image storage.
|
|
|
|
## Quick Reference
|
|
|
|
| Property | Value |
|
|
|----------|-------|
|
|
| **URL** | https://registry.ops.eblu.me |
|
|
| **Local Port** | 5050 |
|
|
| **Data** | `~/zot` |
|
|
| **Config** | `~/.config/zot/config.json` |
|
|
| **LaunchAgent** | mcquack |
|
|
|
|
## Namespace Convention
|
|
|
|
| Path | Source |
|
|
|------|--------|
|
|
| `registry.ops.eblu.me/docker.io/*` | Cached from Docker Hub |
|
|
| `registry.ops.eblu.me/ghcr.io/*` | Cached from GHCR |
|
|
| `registry.ops.eblu.me/quay.io/*` | Cached from Quay |
|
|
| `registry.ops.eblu.me/blumeops/*` | Private images |
|
|
|
|
## Pull-Through Cache
|
|
|
|
When [[kubernetes/cluster|minikube]] pulls an image, containerd checks zot first. If cached, returns immediately. If not, zot fetches from upstream, caches it, then returns.
|
|
|
|
## Security Model
|
|
|
|
Network access only (no authentication). Defense is the Tailscale ACL boundary.
|
|
|
|
## Related
|
|
|
|
- [[services/forgejo|Forgejo]] - Container build CI
|
|
- [[kubernetes/cluster|Cluster]] - Registry consumer
|