Skip to content

ProxySQL/orchestrator

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5,477 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

CI Functional Tests release downloads license

Maintained by ProxySQL. Orchestrator is actively maintained and open to contributions. We believe in orchestrator's potential as the go-to MySQL HA tool, especially when paired with ProxySQL. Bug reports, feature requests, and pull requests are welcome — see CONTRIBUTING.md to get started.

orchestrator [Documentation]

Orchestrator logo

orchestrator is a MySQL and PostgreSQL high availability and replication management tool, runs as a service and provides command line access, HTTP API and Web interface. orchestrator supports:

Discovery

orchestrator actively crawls through your topologies and maps them. It reads basic MySQL info such as replication status and configuration.

It provides you with slick visualization of your topologies, including replication problems, even in the face of failures.

Refactoring

orchestrator understands replication rules. It knows about binlog file:position, GTID, Pseudo GTID, Binlog Servers.

Refactoring replication topologies can be a matter of drag & drop a replica under another master. Moving replicas around is safe: orchestrator will reject an illegal refactoring attempt.

Fine-grained control is achieved by various command line options.

Recovery

orchestrator uses a holistic approach to detect master and intermediate master failures. Based on information gained from the topology itself, it recognizes a variety of failure scenarios.

Configurable, it may choose to perform automated recovery (or allow the user to choose type of manual recovery). Intermediate master recovery achieved internally to orchestrator. Master failover supported by pre/post failure hooks.

Recovery process utilizes orchestrator's understanding of the topology and of its ability to perform refactoring. It is based on state as opposed to configuration: orchestrator picks the best recovery method by investigating/evaluating the topology at the time of recovery itself.

The interface

orchestrator supports:

  • Command line interface (love your debug messages, take control of automated scripting)
  • Web API (HTTP GET access)
  • Web interface, a slick one.

Orcehstrator screenshot

ProxySQL Integration

Built-in failover hooks that update ProxySQL hostgroups automatically — no custom scripts needed:

  • Pre-failover: Drains the old master in ProxySQL (OFFLINE_SOFT)
  • Post-failover: Updates writer/reader hostgroups to route traffic to the new master
  • Topology API: Query ProxySQL server configuration via /api/proxysql/servers
  • CLI tools: proxysql-test and proxysql-servers commands

See ProxySQL hooks documentation.

Observability

  • Prometheus metrics at /metrics — discovery, replication, recovery, and cluster gauges
  • Kubernetes health endpoints/health/live, /health/ready, /health/leader
  • Structured API — versioned /api/v2/ with JSON envelopes and proper HTTP status codes

See Observability documentation and API v2 documentation.

Additional perks

  • Highly available (shared backend or Raft consensus)
  • Controlled master takeovers
  • Manual and automated failovers with full audit trail
  • Pseudo-GTID and Oracle GTID support
  • Datacenter/physical location awareness
  • PostgreSQL support -- discovery, failure detection, and automated failover for PostgreSQL streaming replication topologies
  • Database provider abstraction for multi-database support
  • HTTP security/authentication methods

Read the Orchestrator documentation

Lineage

Authored by Shlomi Noach:

Maintained by Percona as https://github.com/percona/orchestrator

Maintained since 2026 by ProxySQL as https://github.com/proxysql/orchestrator

Community

Related projects

Quick Start

# Build
go build -o bin/orchestrator ./go/cmd/orchestrator

# Start with SQLite backend
bin/orchestrator -config conf/orchestrator-sample.conf.json http

# Discover your MySQL topology
curl http://localhost:3000/api/discover/your-master-host/3306

# Open the web UI
open http://localhost:3000

See the Quick Start Guide for a complete 5-minute walkthrough.

Developers

Get started developing Orchestrator by reading the developer docs. Common commands:

make build      # Build binary
make test       # Run unit tests
make lint       # Run golangci-lint
make fmt        # Format code

License

orchestrator is free and open sourced under the Apache 2.0 license.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Go 70.7%
  • JavaScript 11.7%
  • Python 8.4%
  • Shell 6.4%
  • Go Template 1.7%
  • CSS 0.8%
  • Other 0.3%