Infrastructure Catalog

Query your infrastructure like a database

MQL gives you SQL power over every Terraform resource. Gap Analysis finds what's running but not managed. Stop grepping JSON. Start asking questions.

SQL Queries Gap Detection Module Browser Dashboards

MQL: SQL for Infrastructure

Every resource attribute is queryable. Find compliance gaps, audit configurations, answer any question about your infrastructure in milliseconds.

The Old Way
$ terraform show -json | jq '.values.root_module.resources[] | select(.type == "aws_s3_bucket") | select(.values.server_side_encryption_configuration == null) | .address'
// 47 seconds later...
// Hope you got the jq syntax right
// Now do it for 12 more state files
MQL Query
SELECT address, state_name
FROM instances
WHERE type = 'aws_s3_bucket'
AND attributes->>'sse' IS NULL;
-- 23ms, all states, done.
mql
-- Find resources missing required tags across all states
SELECT address, type, state_name,
attributes->'tags'->>'owner' AS owner,
attributes->'tags'->>'cost_center' AS cost_center
FROM instances
WHERE type LIKE 'aws_%'
AND (attributes->'tags'->>'owner' IS NULL
OR attributes->'tags'->>'cost_center' IS NULL);
address type state owner cost_center
aws_instance.legacy_api aws_instance production NULL NULL
aws_s3_bucket.logs aws_s3_bucket production platform NULL
aws_rds_instance.analytics aws_rds_instance staging NULL eng-42
aws_lambda_function.cron aws_lambda_function shared NULL NULL
4 rows in 31ms · Scanned 3 states · 2,847 resources

Gap Analysis

Compare Terraform state against what's actually running in your cloud. Find the EC2 instances someone spun up manually. The S3 buckets from that "quick test." The security groups nobody remembers creating.

Terraform State
aws_instance.api-prod-1
aws_instance.api-prod-2
aws_instance.worker-1
aws_s3_bucket.assets
aws_s3_bucket.logs
aws_rds_instance.primary
aws_security_group.api
aws_security_group.rds
Cloud Reality
i-0a1b2c3d4e (api-prod-1)
i-0e5f6g7h8i (api-prod-2)
i-0j9k8l7m6n (worker-1)
i-0mystery1 "test-server"
i-0mystery2 "bobs-debugging"
assets-prod-bucket
backup-march-2024
sg-0temp-fix "allow-all-temp"
IaC Coverage 67% of resources managed
8 managed by Terraform 4 unmanaged
Managed by Terraform
Exists but not in Terraform

Instances

Browse every resource instance across all Terraform states. Filter by type, module, state, or any attribute. Click through to see full configuration and dependencies.

Modules

Navigate your Terraform module hierarchy. See instance counts at each level. Understand how your infrastructure is organized and find what you're looking for.

Resource Types

High-level overview grouped by provider and type. See exactly how many of each resource you have. Drill down to specific instances.

MQL Query Engine

Full SQL power against your infrastructure. Joins across states, aggregations, JSON attribute queries. Save queries as templates for your team.

Gap Analysis

Continuous comparison between Terraform state and cloud reality. Find shadow IT, orphaned resources, and infrastructure that bypassed your IaC workflow.

Dashboards

Build custom views with charts and tables. Track resource counts over time. Create team-specific dashboards for different use cases.

Stop coordinating. Start shipping.

Resource-level locking. Graph-based state. SQL queries on your infra.
Teams work in parallel. No more lock contention.

Start Free Get Updates

// Zero spam. Just progress updates as we build Stategraph.