Orbi is a SQL-like DSL for managing infrastructure across 10 providers — Azure, AWS, Cloudflare, GitHub, Kubernetes, Docker, VMware, and more — with live queries against real cluster state.
$ curl -fsSL https://raw.githubusercontent.com/epyphite/orbi/main/install.sh | sh$ orbi "SELECT name, namespace, status, restarts FROM k8s_pods WHERE status = 'CrashLoopBackOff';" ┌─────────────────────┬────────────┬──────────────────┬──────────┐ │ name │ namespace │ status │ restarts │ ├─────────────────────┼────────────┼──────────────────┼──────────┤ │ api-worker-7f9b6 │ prod │ CrashLoopBackOff │ 14 │ │ billing-sync-2d1c │ prod │ CrashLoopBackOff │ 8 │ │ notif-dispatcher-xy │ staging │ CrashLoopBackOff │ 3 │ └─────────────────────┴────────────┴──────────────────┴──────────┘ 3 rows $ orbi "SELECT name, replicas, ready_replicas FROM k8s_deployments WHERE ready_replicas < replicas;" ┌──────────────────┬──────────┬─────────────────┐ │ name │ replicas │ ready_replicas │ ├──────────────────┼──────────┼─────────────────┤ │ api-worker │ 5 │ 2 │ │ billing-sync │ 3 │ 0 │ └──────────────────┴──────────┴─────────────────┘ 2 rows $ orbi "CREATE RESOURCE 'cf_dns_record' id='api' zone='example.com' type='A' content='1.2.3.4';" ✓ Created cf_dns_record 'api' in zone example.com → 1.2.3.4 $
This is orbi querying a live Kubernetes cluster.
Not a static snapshot. Not a Terraform state file. The actual pods, right now.
Real terminal recordings — no scripts, no mocks, no edits.
Orbi discovers and queries live infrastructure across providers — every resource as a row.
Query infrastructure costs across providers — spot waste, compare environments, track spend.
-- Which pods are crashing across all namespaces? SELECT name, namespace, restarts FROM k8s_pods WHERE status = 'CrashLoopBackOff'; -- Which deployments haven't caught up to their desired replica count? SELECT name, replicas, ready_replicas FROM k8s_deployments WHERE ready_replicas < replicas; -- Which firewall rules block traffic from Tor exit nodes? SELECT id, expression, action FROM resources WHERE resource_type = 'cf_firewall_rule' AND expression LIKE '%tor%';
kubectl get pods | grep CrashLoopBackOff works, until you need to sort by restart count, filter by namespace, and join against deployment names.
Orbi treats every resource — Kubernetes pods, Azure databases, AWS VPCs, Cloudflare DNS records — as rows in a table.
Query them with WHERE clauses. Filter by tags. Sort by status.
No other tool does this.
# why
We built Orbi after the 400th time we wrote a bash script to find drift between our Terraform state and reality. If infrastructure is data, we thought, why can't we query it? Turns out you can — and once you can, everything else about managing infrastructure gets easier.
Describe what you want. Orbi figures out how. IF NOT EXISTS makes every statement idempotent. Re-running a file is safe.
CREATE IF NOT EXISTS RESOURCE 'postgres' id = 'prod-db' version = '16' storage_gb = 64;
Your registry is SQLite. Your cloud state is a view. SELECT anything. Join anything. Export anything.
SELECT resource_type, COUNT(*) FROM resources WHERE status = 'pending' GROUP BY resource_type;
Azure, AWS, Cloudflare, GitHub, Kubernetes, Docker, VMware, GCP, Firecracker, and SSH. Same CREATE/SELECT/DESTROY. Different ON PROVIDER.
CREATE RESOURCE 'postgres' id = 'db' ON PROVIDER 'azure-prod'; CREATE RESOURCE 'rds_postgres' id = 'dr' ON PROVIDER 'aws-dr';
PostgreSQL, AKS, networking, container apps, DNS, ACR
RDS, EKS, VPC, S3, MSK, ElastiCache, IAM, SES, Backup
DNS, firewall, page rules, zones
Repos, rulesets, secrets, workflow files
Deployments, services, LIVE pod queries
Containers, networks, volumes, Compose stacks
VMs, snapshots — vSphere and Workstation/Fusion
Local dev + prod edge compute
Plus 9 credential backends: env, file, HashiCorp Vault, AWS Secrets Manager, GCP Secret Manager, Azure Key Vault, 1Password, SOPS, Kubernetes Secrets.
-- Kubernetes deployment from zero ADD IF NOT EXISTS PROVIDER id = 'prod' type = 'kubernetes' auth = 'env:KUBECONTEXT'; CREATE RESOURCE 'k8s_namespace' id = 'api'; CREATE RESOURCE 'k8s_deployment' id = 'api' namespace = 'api' image = 'myregistry.azurecr.io/api:v1.2.3' replicas = 3 port = 8080 ON PROVIDER 'prod'; CREATE RESOURCE 'k8s_service' id = 'api' namespace = 'api' type = 'LoadBalancer' port = 80 target_port = 8080 ON PROVIDER 'prod';
No credentials required. Simulate mode runs the full DSL against realistic fake clouds. Point it at real infrastructure when you're ready.
# Install curl -fsSL https://raw.githubusercontent.com/epyphite/orbi/main/install.sh | sh # Try it — no credentials needed orbi --simulate "CREATE RESOURCE 'postgres' id = 'test-db' version = '16';" # Interactive shell orbi shell
No spam. Unsubscribe anytime. We'll email you when new providers ship.