Control Plane
The Control Plane is the central service of the Bunker platform. The Console relies on it for everything it shows and triggers.
Overview
The Control Plane is responsible for:
- organizing your resources into organizations and projects;
- inviting the members of an organization;
- the catalog of managed services and the lifecycle of their instances;
- registering the Kubernetes clusters that host those instances and observing their quotas;
- subscriptions and billing.
Architecture
Services
The Control Plane exposes several gRPC services:
| Service | Responsibility |
|---|---|
| Organizations, Projects | Creating and listing organizations and projects, administration rights on an organization |
| Invitations, Profile | Inviting members, profile of the signed-in user |
| Managed services | Catalog, versions and plans of the services; creating, upgrading and deleting instances, connection details |
| Kubernetes clusters | Cluster registration, labels, quotas observed per namespace |
| Billing | Checkout session and subscriptions |
Technologies
| Component | Technology |
|---|---|
| Language | Rust |
| RPC | gRPC (Tonic) |
| Database | PostgreSQL |
| Async runtime | Tokio |
gRPC API
The API reference details the gRPC messages of the Control Plane's Organizations, Projects and Invitations services.
Synchronizer
The Synchronizer is a background service that, at a regular interval:
- records, on every registered Kubernetes cluster, the namespaces under a quota, their usage and the tenant they belong to;
- records the resource creations refused for exceeding a quota.
It never writes to the clusters. An unreachable cluster keeps its last observation. This collection is not yet in service in production.
Next Steps
- Control Plane API - gRPC API documentation
- Console - The interface built on the Control Plane
- Infrastructure - Understand the physical infrastructure