finds.dev← search

// the find

bitpoke/mysql-operator

★ 1,089 · Go · Apache-2.0 · updated Aug 2024

Asynchronous MySQL Replication on Kubernetes using Percona Server and Openark's Orchestrator.

A Kubernetes operator for running MySQL clusters using Percona Server and GitHub's Orchestrator for HA failover. Built by Bitpoke to run their own WordPress hosting platform, then open-sourced. Targets teams that want MySQL replication on Kubernetes without wiring up Orchestrator themselves.

Orchestrator integration is the real differentiator here — automatic failover and topology management is hard to get right, and using the battle-tested GitHub tool is the right call rather than rolling their own. The sidecar pattern for init/clone operations is well-structured, with a dedicated HTTP server in the sidecar handling data cloning between nodes. Backup story is solid: scheduled backups, on-demand backups, and point-in-time recovery are all covered with CRDs, not just documentation promises. Prometheus metrics are baked in via the Helm chart, not bolted on.

Last commit was August 2024 and the roadmap items (SSL support, MySQL 8.0 as default, ProxySQL) have been sitting unchecked for years — SSL in particular is a glaring gap for anything production-facing. Still on v1alpha1 CRDs after years of existence, which means no stability guarantees and migration pain whenever the API changes. The sidecar HTTP server has no authentication — it relies entirely on network policy to prevent unauthorized clone requests, which is a bet most Kubernetes environments won't honor by default. Documentation lives on bitpoke.io, not in the repo, so you're one domain expiration away from losing the docs entirely.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →