Skip to content

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

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.

  1. Seed a version into int

    Start the pipeline by seeding a version (image tag, branch, or ref) into the Integration ring for an application.

  2. 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.

  3. Deploy with the right deployer

    KubectlDeployer (set image + rollout), GitHubActionsDeployer (workflow-dispatch for VM/CI apps), or k8sjob runner Jobs — selected per application.

  4. 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.

  5. Auto-rollback on failure

    If the target stays unhealthy, Ring Promoter rolls back to the previous version automatically and records the failure in history.

  6. 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.

  1. Control plane

    Go service + embedded UI + REST API on k3s (or local).

  2. Rings

    Ordered pipeline defined once; apps map resources per ring.

  3. Deployers

    kubectl, GitHub Actions, or k8sjob executors per app.

  4. 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.

CI/CD Orbit + Lanes — Orbit fleet view, Lanes matrix, Rings pipeline
Cover — Orbit, Lanes and Rings with object titles
Orbit fleet view beside Lanes APP × environment matrix
Diagram — Orbit (fleet) next to Lanes (matrix)

Continue on the product site

Visit https://www.ringpromoter.com/ for demos, docs, and the latest Ring Promoter releases.

ringpromoter.com

Get Ring Promoter

Explore the product on ringpromoter.com, read the TenthMatrix deep dive, or talk to us about CI/CD for AI platforms.