Control Plane: Overview
StableWhat the Control Plane is, where it sits in the SPG99 chain, and why it now coordinates both lifecycle and the writer autoscaler.
Updated: March 21, 2026
The Control Plane is the central management service of SPG99. Through it, Console and external integrations create accounts, issue API keys, create tenants and databases, retrieve connection credentials, track resource state, and initiate deletion.
Put simply, the Control Plane is the “brain” of the platform:
- it knows which accounts, tenants, and databases exist;
- it stores their current state;
- it decides when a writer must be started;
- it coordinates Gateway, Provisioner, Pageserver, and Safekeeper;
- it returns connection data;
- and now also manages the profile handoff of the new autoscaler.
Where the Control Plane sits in the overall chain
The typical path looks like this:
User / Console / API client
-> Control Plane
-> Gateway
-> Compute
-> Pageserver + Safekeeper
In practice, this means the following:
- The user creates a tenant and a database in Console or through the API.
- The Control Plane creates catalog records and prepares storage entities.
- The new database is created without a permanently running writer.
- On the first connection, the client goes to Gateway.
- Gateway requests a lease from the Control Plane and, if the database is still sleeping, initiates its startup.
- The Control Plane starts the writer through Provisioner.
- Compute receives soft bootstrap parameters, reaches
ready, and Gateway routes the connection to the running backend. - After a period of inactivity, the Control Plane can stop the writer automatically.
The new role of the Control Plane: the autoscaler
The Control Plane now also coordinates safe writer profile changes:
- it decides when a handoff is needed;
- creates the candidate generation;
- enables freeze for new checkouts;
- waits for drain;
- switches the catalog to the new writer;
- completes the transition through
COOLDOWNand then back toSTEADY.
This makes the profile autoscaler not “magic inside a pod,” but part of a transparent managed platform model.
What this gives the user
For the user, the Control Plane solves five practical tasks:
- It gives access to the platform: accounts, API keys, scope, and permissions.
- It forms the logical structure: account -> tenant -> database.
- It returns connection data:
pg_user,pg_password, anddsn_template. - It manages the database lifecycle: create, auto-start, auto-stop, and delete.
- It manages autoscaler state:
current_profile,target_profile,scale_state, and failure reason.
It is important to understand the responsibility boundaries:
- the Control Plane does not execute SQL;
- Gateway accepts client PostgreSQL connections;
- Compute executes the queries themselves;
- Pageserver and Safekeeper are responsible for durable storage.
