Your infrastructure is
    already a database.
    It's time to query it.

    Orbi is a SQL-like DSL for managing infrastructure across Azure, AWS, Cloudflare, GitHub, and Kubernetes — with live queries against real cluster state.

    $ curl -fsSL https://raw.githubusercontent.com/epyphite/orbi/main/install.sh | sh

    The query you can't run anywhere else.

    orbi shell
    $ orbi "SELECT name, namespace, status, restarts FROM k8s_pods WHERE status = 'CrashLoopBackOff';"
    
    ┌─────────────────────┬────────────┬──────────────────┬──────────┐
     namenamespacestatusrestarts 
    ├─────────────────────┼────────────┼──────────────────┼──────────┤
     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;"
    
    ┌──────────────────┬──────────┬─────────────────┐
     namereplicasready_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.

    -- 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%';

    SQL against your cloud.

    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.

    Declarative, not imperative

    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;

    Queryable, not static

    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;

    One language. Six providers.

    Azure, AWS, Cloudflare, GitHub, Kubernetes, Firecracker. 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';

    37 resource types. Growing every week.

    Azure
    16 resources

    VMs, PostgreSQL, AKS, networking, container apps

    AWS
    5 resources

    EC2, RDS, VPC, Security Groups

    Cloudflare
    4 resources

    DNS, firewall, page rules, zones

    GitHub
    6 resources

    Repos, rulesets, secrets, workflow files

    Kubernetes
    6 + live query

    Deployments, services, LIVE pod queries

    Firecracker
    MicroVMs

    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';

    Try it in 30 seconds.

    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.