Repository navigation
First release of Crossfade: canary releases with automatic rollback for plain Docker hosts.
Highlights
- Envoy in front of your containers, driven by a Sovereign-style REST xDS control plane. Every change renders, validates and stores a content-hashed snapshot in one transaction.
- Each step has three gates: health, convergence (Envoy has acked the step) and an error budget measured from Envoy's own counters. A breach rolls the release back automatically and files an incident card.
- An idempotent
PUT /api/v1/releases/:idAPI for CI, plusscripts/release.sh(exit 0 when promoted, 1 when rolled back) and a GitHub Actions example. - A console with a release board, release pages (crossfader, channel strips, timeline, Inspect, Evidence), manual controls, app and user management, app-scoped API keys and optional four-eyes approval.
- One golden image with four roles. Secrets are generated on first start. Dashboard and API listen on loopback only.
Try it: docker compose --profile demo up -d --build --wait, then follow the quick start.
Before you run it for real, read the limits, the runbook and the threat model.
Full Changelog: https://github.com/NecmiKural/crossfade/commits/v0.1.0