Skip to content
In development now

Highly available databases on servers you control

ElastiCluster is a self-hosted database cluster manager in development. Run one container, add your Linux servers, and create PostgreSQL, MongoDB, Valkey, MariaDB Galera and S3 clusters that fail over on their own, back themselves up and change only through plans you review.

Servers and agents work in development builds today; PostgreSQL high availability is the first preview. What works today

A three-member PostgreSQL cluster: applications reach the primary through an rw endpoint; when the primary fails, the synchronous standby is promoted and the endpoint follows it. rw rw sync async async async Applications HAProxy endpoint rw :5000 · VIP 10.0.0.50 db-1 Primary Unreachable Replica timeline 3 leader lock expired rejoined · lag 0 B db-2 Sync standby Primary lag 0 B timeline 4 db-3 Replica streams from db-1 streams from db-2
  1. 1. Normal operation

    Applications write through the rw endpoint to the primary, db-1. The synchronous standby, db-2, confirms each commit.

  2. 2. The primary stops responding

    db-1 goes silent. Its leader lock in etcd expires, and Patroni on the remaining members notices.

  3. 3. The standby is promoted

    Patroni promotes db-2. As the synchronous standby it already holds every acknowledged write.

  4. 4. The endpoint follows

    HAProxy health checks send rw to db-2 and writes resume. db-3 replicates from the new primary.

  5. 5. The old primary rejoins

    When db-1 is back, it rejoins as a replica. The control plane was never needed for any of this.

An illustration of automatic failover as ElastiCluster is designed to run it for PostgreSQL (planned for v0.1). Simulate it in the demo

One console for every cluster and server

Health, alerts, approvals, running operations and the upcoming schedule on one page. Every number links to the detail behind it, and every action opens a plan.

ElastiCluster dashboard: 15 clusters on 28 servers, six alerts firing, three approvals waiting, clusters needing attention, a throughput chart, recent operations and the upcoming backup schedule.
The dashboard. Interactive demo, simulated data. Open this screen in the demo

Every change is a plan you can read first

Restarts, upgrades, configuration changes, new members, restores: nothing touches a cluster until it has been planned, checked against the environment’s policy and, where that policy says so, approved by a person. It works the same from the console, the CLI, the API and an AI assistant.

Step 1 of 3

Read the plan before anything runs

A rolling restart of orders-db becomes four ordered actions with an estimated duration, a risk level and the disruption each step causes. The policy line says whether it can run now or needs someone else’s approval.

  • Diff, actions and risk in one sheet
  • Run now or in the next maintenance window
  • The same plan for the console, CLI, API and AI assistants
Plan sheet for a rolling restart of orders-db: high risk, rolling restart, about two minutes, four actions with per-step disruption, and the policy outcome.
Interactive demo, simulated data. Open this screen in the demo

Step 2 of 3

Approvals stay with people

Risky plans wait in the approvals inbox with their reason, consequences and requirements. Four-eyes rules keep the requester, and the owner of an AI token, from approving their own change.

  • Highest risk first, with expiry and requirements
  • Stale approvals ask for a re-plan instead of running
  • Every decision is in the audit log
Approvals inbox with three pending plans, including a high-risk site switch requested by an admin, and the approval requirements for it.
Interactive demo, simulated data. Open this screen in the demo

Step 3 of 3

Watch it run, step by step

An applied plan becomes an operation with live logs per step. If a step fails, the operation pauses and offers retry, skip or abort, and a restarted control plane resumes where it left off.

  • Live step logs and progress
  • Pauses on failure instead of guessing
  • Resumes after a control-plane restart
A running rolling-restart operation on orders-db at step 2 of 6, with timestamped logs for the completed and current steps.
Interactive demo, simulated data. Open this screen in the demo

In development now Plans and approvals are being built now. How plans and approvals work

From bare servers to a running cluster

No Kubernetes, no Ansible inventory, no hand-written Patroni configuration. ElastiCluster puts each piece where it belongs and keeps it there.

  1. Start the control plane

    One container holds the console, the REST API and its own SQLite database, with no separate database or queue to run. The MCP server and built-in monitoring join it in v0.3.

    Working in development builds
  2. Add your servers

    Add a Linux server over SSH from the console, or paste a one-line install command with a join token. The agent dials out, checks the host and waits for an admin to approve it.

    Working in development builds
  3. Create a cluster

    Start from a template, pick servers, review the plan and apply it. For PostgreSQL that sets up Patroni, etcd, PgBouncer and HAProxy endpoints, with TLS on.

    Planned for v0.1
Add server dialog: address, port and user for SSH, stored SSH credential, container or binary agent mode, name, project, zone and server roles.
Adding a server over SSH. Interactive demo, simulated data. Open this screen in the demo
New cluster page: start from a template, from scratch, or import; built-in templates such as PostgreSQL HA, PostgreSQL single, MongoDB replica set and MongoDB single.
Creating a cluster from a template. Interactive demo, simulated data. Open this screen in the demo

See how the control plane and agents fit together

Day-2 operations, built in

All features and their status
Planned for v0.3

Let AI assistants help without handing them the keys

A built-in MCP server lets Claude Code, Cursor, Codex and other assistants inspect clusters, diagnose problems and propose changes. They go through the same plans and policies as people.

  • Limits per environment: full control in development, propose-only in production by default.
  • Approvals are always human, and a token’s owner can never approve its requests.
  • Kill switches stop every AI write at once; every call is in the audit log.

How assistants are kept in check

Connect an assistant, step 2 of 4 for Claude Code: choose read-only, propose changes or operate access, the project and environments, with a summary that says assistants never approve their own changes.
Connecting Claude Code with read-only access. Interactive demo, simulated data. Open this screen in the demo

Your databases never depend on ElastiCluster

Out of the data path

The control plane plans and observes; each engine’s own high-availability tooling does the work. Failover, endpoints and log archiving keep running while the control plane is down.

No lock-in

Remove the agent and the databases keep running as plain containers. Backups use each engine’s standard tools and formats, with documented manual restores.

Native tools keep working

patronictl, mongosh, valkey-cli and docker ps still tell you the truth. Nothing hides behind a proprietary layer.

Built for teams that run their own servers

Already all-in on Kubernetes, or happy with a managed cloud database? See when ElastiCluster is not the right fit.

Where the project stands

Two of thirteen milestones are done and the third is being built. Nothing is released yet, and this site labels every feature with its status.

Read the roadmap

  1. M0, Foundations: done
  2. M1, Servers and agents: done
  3. M2, Plans, approvals, projects and environments: in progress
  4. M3, PostgreSQL high availability: planned for v0.1
  5. M4, Backups and restore: planned for v0.2
  6. M5, Monitoring, alerts and DBA tools: planned for v0.3
  7. M6, MCP and AI operations: planned for v0.3
  8. M7, MongoDB, Valkey and Dragonfly: planned for v0.4
  9. M8, MariaDB Galera: planned for v0.5
  10. M9, Garage S3 object storage: planned for v0.6
  11. M10, PostgreSQL day-2 completeness: planned for v0.7
  12. M11, Platform and fleet operations: planned for v0.8
  13. M12, Hardening and general availability: planned for v1.0
Working in development builds
Setup wizard, two-factor sign-in, roles, audit log; adding, checking and approving servers.
In development now
Plans, approvals, operations, projects and environments.
Planned for v0.1
The first preview: highly available PostgreSQL.

Questions

All questions and answers

Can I use it in production today?

No. ElastiCluster is in development and has no release yet. Development builds already set up the control plane, sign in with two-factor codes, and add, check and approve servers with their agents. Plans and approvals are being built now. The first preview, v0.1, brings PostgreSQL high availability, and creating production clusters stays blocked until backups arrive in v0.2. The roadmap lists what each release adds.

What happens to my databases if the control plane goes down?

They keep running. High availability comes from each engine’s own mechanism (Patroni with etcd, replica-set elections, Sentinel, Galera), so failover, endpoints and log archiving work without the control plane. Scheduled backups and drills wait until it is back, interrupted operations resume where they stopped, and an external heartbeat check can alert you that it is gone.

Do I need Kubernetes?

No. ElastiCluster runs databases as containers on ordinary Linux servers, with one small agent per server; the agent can install Docker for you. If your whole platform already runs on Kubernetes, a Kubernetes operator such as CloudNativePG is likely the better fit. See alternatives.

Can an AI assistant break production?

Assistants use the same plans and policies as people. By default an assistant may only propose changes in production; a person approves them, and the owner of an assistant’s token can never approve that token’s requests. Read-only queries run under database roles that cannot write, instance kill switches stop all AI writes at once, and every call is audited. See AI and MCP.

Try the console before it ships

The interactive demo runs the whole console on simulated data. Trigger a failover, approve an AI assistant’s plan, restore a backup to a point in time. Nothing to install.