Skip to main content

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:

ServiceResponsibility
Organizations, ProjectsCreating and listing organizations and projects, administration rights on an organization
Invitations, ProfileInviting members, profile of the signed-in user
Managed servicesCatalog, versions and plans of the services; creating, upgrading and deleting instances, connection details
Kubernetes clustersCluster registration, labels, quotas observed per namespace
BillingCheckout session and subscriptions

Technologies​

ComponentTechnology
LanguageRust
RPCgRPC (Tonic)
DatabasePostgreSQL
Async runtimeTokio

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​