π Cluster CI Cache v0.1.0
In-cluster, cache-agnostic CI build cache for Kubernetes.
First production-oriented MVP. Rust workspace, Kubernetes deployment, and end-to-end cache cycle verified on a live 7-node cluster.
β¨ What's Included
Binaries
ci-cacheβ CLI for restore/save/docker commands (6.3 MB)ci-cache-serverβ HTTP API server with manifest/blob management (7.2 MB)ci-cache-agentβ Node-local DaemonSet agent (2.8 MB)
Cache Types
- π¦ Rust/Cargo β
~/.cargo/registry,~/.cargo/git,target/ - π¦ npm β
~/.npm - π¦ pnpm β pnpm store
- π§Ά yarn β yarn cache
- π³ Docker/BuildKit β registry-type cache helpers
Backends
- πΎ Filesystem/PVC β local dev and simple clusters
- βοΈ S3/MinIO β production with shared storage (SigV4 signed)
Security Features
- β Content-addressed storage with sha256 digests
- β Path traversal protection (custom CIC1 archive format)
- β Decompression bomb prevention
- β Digest verification on upload AND restore
- β Namespace isolation
- β Atomic manifest publishing
- β Save sessions preventing partial manifests
Kubernetes
- β Deployment (2x server replicas)
- β DaemonSet (agent on every node)
- β Service, ServiceAccount, RBAC
- β ConfigMap, Secret, PVC, NetworkPolicy
- β Helm chart
- β Health/readiness probes
- β Prometheus metrics
π¦ Install
Quick install (CLI + server + agent)
curl -fsSL https://github.com/rileyseaburg/cluster-ci-cache/releases/download/v0.1.0/install.sh | bashDocker image
docker pull registry.quantum-forge.net/cluster-ci-cache/ci-cache:v0.1.0Build from source
git clone https://github.com/rileyseaburg/cluster-ci-cache.git
cd cluster-ci-cache
cargo build --releaseπ Deploy to Kubernetes
git clone https://github.com/rileyseaburg/cluster-ci-cache.git
cd cluster-ci-cache
kubectl apply -k deploy/k8s/π Verified
- 13 tests passing (11 unit + 2 integration)
- Live on cluster: 2x server replicas + 6x agent DaemonSet pods across 7 nodes
- E2E cycle verified: cache miss β save β cache hit β file restore β
- Metrics confirmed:
ci_cache_hits_total,ci_cache_bytes_uploaded_total, etc.
π Stats
| Metric | Value |
|---|---|
| Rust source | 3,424 lines across 6 crates |
| Docker image | 101 MB (linux/amd64) |
| Test suite | 13 tests |
| Server replicas | 2 |
| Agent pods | 6 (DaemonSet) |
Full docs: README.md