Skip to main content

CloudBrew: vendor-neutral cloud orchestration CLI

Project description

CloudBrew

CloudBrew is a next-generation, vendor-neutral cloud orchestration CLI. It abstracts Infrastructure-as-Code behind a unified, intelligent interface that handles routing, policy enforcement, autoscaling, and task offloading.

Stop writing boilerplate HCL or YAML for every resource. Just brew it.


Key Features

  • Intelligent Routing: Automatically decides whether to provision resources via a Hot Pool (L1), Warm Pool (L2), or perform a Cold Build (L3) based on latency and availability.
  • Dynamic Autoscaling: Built-in logic to scale resources based on custom metrics (e.g., 1:5@cpu:70) with cooldown handling.
  • Governance & Policy: Enforce constraints (Allowed Regions, Cost Budgets, Instance Types) via policies.json before infrastructure is touched.
  • Stack Blueprints: Deploy complex architectures (e.g., LAMP, K8s clusters) using Jinja2-templated blueprints.
  • Drift Detection: Detect manual changes in your cloud environment against your local state.
  • async Task Offloading: Heavy provisioning tasks can be offloaded to a background SQLite-backed worker queue.

Installation

Prerequisites

  • Python 3.9+

Install via Pip

pip install cloudbrew

Intelligent Provisioning (Smart Router)

Let the Intelligent Router decide the best way to provision (Hot Cache vs Cold Build) and find the cheapest spot prices.

cloudbrew create-vm worker-node --smart --yes

Dynamic Resource Resolution

CloudBrew uses fuzzy matching to find resources. You don't need to remember exact provider resource names.

# CloudBrew resolves "bucket" to "aws_s3_bucket" or "google_storage_bucket"
cloudbrew bucket my-data-lake --region us-east-1

Deploying Stacks

Deploy multi-resource environments using blueprints.

# List available stacks
cloudbrew stacks

# Deploy a LAMP stack
cloudbrew stack deploy lamp my-web-app --env prod --region us-east-1

Autoscaling

Apply autoscaling policies to your resources using the compact syntax: min:max@metric:threshold.

# Scale 'web-worker' between 1 and 5 instances. 
# Scale up if CPU > 70%, with a 60s cooldown.
cloudbrew create --name web-worker --autoscale "1:5@cpu:70,60" --spec examples/spec.json

Offloading Tasks (Async)

Don't wait for task to finish. Offload the task to a background worker.

# 1. Enqueue the task
cloudbrew create-vm heavy-db --size large --async

# 2. Run the worker (in a separate terminal)
cloudbrew offload run-worker

Drift Detection

Check if your infrastructure has drifted from the known state.

cloudbrew drift web-server-01

Policy Enforcement

CloudBrew checks policies.json before every operation.

{
  "allowed_regions": ["us-east-1", "eu-central-1"],
  "banned_instance_types": ["xlarge", "metal"],
  "max_monthly_cost": 500
}

If you try to create an xlarge instance or deploy to us-west-1, the CLI will block the operation and report a violation

Architecture

CLI Layer (Typer): Parses commands and routes them.

Logic Layer (LCF):

1. Intelligent Router: Optimizes placement.

2. Resource Resolver: Maps intent ("bucket") to implementation.

3. Policy Engine: Validates specs against rules.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cloudbrew-1.0.1.tar.gz (45.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cloudbrew-1.0.1-py3-none-any.whl (52.5 kB view details)

Uploaded Python 3

File details

Details for the file cloudbrew-1.0.1.tar.gz.

File metadata

  • Download URL: cloudbrew-1.0.1.tar.gz
  • Upload date:
  • Size: 45.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for cloudbrew-1.0.1.tar.gz
Algorithm Hash digest
SHA256 5a4e8a2a57836fa81a368c584b8f1ab6a56598cdf3af7d281db1cae6a7d8c654
MD5 6f3c6bb1921333d80d38c8671cb5f353
BLAKE2b-256 59e9d2ce1297388075b72f2d39c4567344fb7a4c121bcdb3b4d7d3e4b158f414

See more details on using hashes here.

File details

Details for the file cloudbrew-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: cloudbrew-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 52.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for cloudbrew-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 50b02b729c6829858ebfc1bf5291bf332e233e76de03d9a53ef442ecdf99df75
MD5 c485d528417fbf5713ad9378a6917757
BLAKE2b-256 459f4520545dad4d0198e6f3166c4af9eb1fa18241e78fcbfb5a8e1e6575f6b8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page