CloudBroker API endpoint
Cloudburst calls CloudBroker for cost recommendations. One endpoint, one flow.
Flow
flowchart LR
Cluster --> Cloudburst
Cloudburst -->|"POST /api/recommendations"| CloudBroker
CloudBroker -->|"cost recommendation"| Cloudburst
Cloudburst -->|"provision"| ChosenProvider["Chosen provider"]
ChosenProvider --> NodeReady["Node Ready"]
Endpoint
POST /api/recommendations — Cloudburst sends a JSON body with min_vcpu, min_ram_gb, arch, region_constraint, max_price_eur_per_hour, allowed_providers, and other constraints. CloudBroker returns ranked recommendations; Cloudburst provisions the top one.
Request (example)
{
"min_vcpu": 2,
"min_ram_gb": 4,
"arch": "x86_64",
"region_constraint": "EU",
"max_price_eur_per_hour": 0.2,
"allowed_providers": ["gcp", "hetzner", "scaleway", "aruba"],
"limit": 5
}
Response (example)
{
"recommendations": [
{
"instance_type_name": "cx23",
"provider_slug": "hetzner",
"region_slug": "fsn1",
"vcpu": 2,
"ram_gb": 4.0,
"price_eur_per_hour": 0.0048,
"score": 0.9898,
"explain": {
"resource_fit": 1.0,
"normalized_price": 0.9797,
"region_is_eu": true
}
}
]
}
Configuration
Cloudburst reads these environment variables:
CLOUDBROKER_BASEURL— CloudBroker base URL (e.g.http://localhost:8000). Default:http://localhost:8000.CLOUDBROKER_API_KEY— Optional. X-API-Key header when CloudBroker requires auth.CLOUDBROKER_TIMEOUT_SECONDS— Optional. HTTP timeout in seconds.
CloudBroker must be running before Cloudburst can create NodeClaims. See the CloudBroker Quickstart and Cloudburst Quickstart.