Control Plane
The Control Plane is the central service that orchestrates the entire Bunker infrastructure.
Overview
The Control Plane is responsible for:
- Managing the lifecycle of instances
- Coordinating with hypervisors
- Managing infrastructure (datacenters, networks, storage)
- System state synchronization
Architecture
Services
The Control Plane exposes several gRPC services:
| Service | Responsibility |
|---|---|
| Instances | Creation, deletion, starting, stopping VMs |
| Hypervisors | Registration and management of Proxmox clusters |
| Resources | Storage and network management |
| Infrastructure | Datacenter management |
Technologies
| Component | Technology |
|---|---|
| Language | Rust |
| RPC | gRPC (Tonic) |
| Database | PostgreSQL |
| Async Runtime | Tokio |
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 instancesCreateInstance- Create an instanceDeleteInstance- Delete an instanceStartInstance- Start an instanceStopInstance- Stop an instance
Hypervisors:
ListHypervisors- List hypervisorsRegisterHypervisor- Register a hypervisorDetachHypervisor- 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
- Control Plane API - Complete gRPC API documentation
- Instances - Understand virtual machines
- Hypervisors - Understand the virtualization layer