Skip to main content

Control Plane

The Control Plane is the central service that orchestrates the entire Bunker infrastructure.

Overview​

The Control Plane is responsible for:

Architecture​

Services​

The Control Plane exposes several gRPC services:

ServiceResponsibility
InstancesCreation, deletion, starting, stopping VMs
HypervisorsRegistration and management of Proxmox clusters
ResourcesStorage and network management
InfrastructureDatacenter management

Technologies​

ComponentTechnology
LanguageRust
RPCgRPC (Tonic)
DatabasePostgreSQL
Async RuntimeTokio

gRPC API​

The Control Plane exposes a gRPC API compliant with Google Cloud API standards.

Example: List Instances​

grpcurl -plaintext \
console.getbunker.net:443 \
bunker.instances.v1.Instances/ListInstances

Available Operations​

Instances:

  • ListInstances - List instances
  • CreateInstance - Create an instance
  • DeleteInstance - Delete an instance
  • StartInstance - Start an instance
  • StopInstance - Stop an instance

Hypervisors:

  • ListHypervisors - List hypervisors
  • RegisterHypervisor - Register a hypervisor
  • DetachHypervisor - Detach a hypervisor

Synchronizer​

The Synchronizer is a background service that:

  • Maintains consistency between the Control Plane state and hypervisors
  • Detects instance state changes
  • Reconciles divergences

Next Steps​