Skip to content

Backend auto-discovery: populate mysql_servers/pgsql_servers from backend operator CRs #22

Description

@renecannao

Problem

Backends must be listed manually in ProxySQLConfig. Watching backend database CRs and feeding mysql_servers/pgsql_servers automatically — including writer-failover updates — is the strongest differentiator for this operator.

Proposal (high level — needs its own design round before implementation)

  • API shape candidate: a backendSource stanza on ProxySQLConfig (alternative: a small dedicated CR) selecting backend kind + name/labels and mapping roles (writer/reader) to hostgroups.
  • Initial backends: CloudNativePG and MariaDB Operator (both already exercised in nightly CI). Percona PXC, Oracle InnoDBCluster, Crunchy PGO follow.
  • Failover: a writer change in the backend CR status must converge the writer hostgroup promptly.

First step

Write the design spec (watch mechanics, RBAC for third-party CRs, behavior when the backend operator is absent, conflict with manually listed servers).

Acceptance (eventual)

  • e2e against the nightly CNPG and MariaDB examples: kill the primary, assert the writer hostgroup converges.

See docs/superpowers/specs/2026-06-10-operator-roadmap-design.md §3.1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions