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.

← Back to home