Ring Promoter
CI/CD Orbit + Lanes — every release earns production
Ring Promoter is TenthMatrix’s production-grade promotion control plane. v1.0.2 puts Orbit (fleet view) and Lanes (APP × INT/TEST/ACC/PROD matrix) side by side while promoting versions through ordered rings — int → test → acc → prod — with live health gates, auto-rollback, and a full audit trail.
What is Ring Promoter?
A small control plane that promotes application versions through shared rings. It runs as a long-lived service (typically on k3s), exposes a JSON REST API and an embedded web UI, and tracks current/previous versions and history per (application, ring). Kubernetes apps and VM/CI apps share one surface — the deployer is chosen per app.
Watch the overview

Watch: CI/CD Orbit + Lanes (v1.0.2)
v1.0.2 walkthrough
Watch on YouTube: Watch: CI/CD Orbit + Lanes (v1.0.2)
Watch: Ring Promoter quick intro (5 min)
5-minute intro
Watch on YouTube: Watch: Ring Promoter quick intro (5 min)
Watch: QA Gates Before Production
QA gates
Watch on YouTube: Watch: QA Gates Before Production
Watch: Ring Promoter demo
TenthMatrix demo
Watch on YouTube: Watch: Ring Promoter demo
How ring promotion works
Every release earns production. One hop at a time — never skip a ring — with health before promote and auto-rollback on failure.
Seed a version into int
Start the pipeline by seeding a version (image tag, branch, or ref) into the Integration ring for an application.
Promote one ring at a time
promote {from_ring} always targets the next ring. You cannot jump int → prod. The source ring must be healthy first.
Deploy with the right deployer
KubectlDeployer (set image + rollout), GitHubActionsDeployer (workflow-dispatch for VM/CI apps), or k8sjob runner Jobs — selected per application.
Health-check with retries
After deploy, HTTP health checks run with configurable retries. Optional version verification requires the endpoint to report the exact version just deployed.
Auto-rollback on failure
If the target stays unhealthy, Ring Promoter rolls back to the previous version automatically and records the failure in history.
Optional auto-promote
Flag a ring so a healthy landing continues onward in the same locked operation — e.g. auto-promote test → acc, but keep humans on the gate to prod.
Integration
int
First landing for new builds and AI agent / API changes.
Test
test
Automated verification and soak before acceptance.
Acceptance
acc
Stakeholder / UAT gate — often the last auto-promote stop.
Production
prod
Live traffic — password-gated for the final ring when configured.
Why teams pick Ring Promoter for AI-era CI/CD
AI products change fast — models, agents, MCP tools, gateways. Ring Promoter keeps promotions disciplined without freezing delivery.
Ordered rings, never skip
Shared pipeline int → test → acc → prod. Adding a ring is a single-place change in the ring package — apps declare where they live per ring in config, not code.
Health-gated promotion
Live health checks before and after promote. Optional health_version_field / header stops the classic false green: old pods answering 200 while the new version never rolled.
Automatic rollback
Failed health after retries restores the previous version. Seed, promote, and rollback are all audited — success or failure.
Kubernetes + VM/CI deployers
One control plane for kubectl rollouts, GitHub Actions workflow-dispatch (e.g. WSL Proxy on VMs), and Kubernetes Job executors with live logs.
Safe concurrency
Per-app serialization via Postgres session advisory locks across replicas. Operations detach from HTTP so LB timeouts cannot abort a rollback mid-flight.
UI + REST API
Embedded Next.js console and bearer-token REST API. Async deployment views stream progress for operators watching AI stack releases.
Config-driven apps
Add an application with YAML: namespaces, Deployments, image repos, health URLs, deployer type — no fork of Ring Promoter required.
Built for AI platforms
Promote agent services, MCP gateways, GPU inference front-doors, and TenthMatrix products through the same rings your platform team already trusts.
Built for AI-powered deployments
Model weights, agent runtimes, and edge gateways ship on different cadences. Ring Promoter keeps every change on the same promotion protocol.
- Promote AI agent APIs and MCP gateways through the same rings as classic services.
- Version-verified health catches silent rollbacks when an old inference sidecar still answers OK.
- Auto-promote early rings so research builds move fast; human gate stays on prod.
- GitHub Actions deployer reuses existing AI/ML CI without rewriting pipelines.
- Full history per (app, ring) for compliance reviews of what reached production.
Solution architecture
Clean interfaces: Deployer, Executor, Health Checker, Store — swap production backends without rewriting promotion rules.
Control plane
Go service + embedded UI + REST API on k3s (or local).
Rings
Ordered pipeline defined once; apps map resources per ring.
Deployers
kubectl, GitHub Actions, or k8sjob executors per app.
Store
Postgres (prod) or memory (dev) with history and locks.
Orbit + Lanes in v1.0.2
Pause on Orbit for the fleet. Flip to Lanes when you need the environment matrix.
Continue on the product site
Visit https://www.ringpromoter.com/ for demos, docs, and the latest Ring Promoter releases.
Get Ring Promoter
Explore the product on ringpromoter.com, read the TenthMatrix deep dive, or talk to us about CI/CD for AI platforms.