Free Forever

Terraform state in structured tables

Store your Terraform state in PostgreSQL with complete transaction history. Drop-in HTTP backend compatible with Terraform and OpenTofu. Full audit trail of every change.

HTTP Backend Protocol PostgreSQL Storage Transaction History
1

HTTP Backend Protocol

Implements the Terraform HTTP backend protocol. Drop-in replacement that works with any Terraform or OpenTofu version. No code changes required.

2

PostgreSQL Storage

State stored in PostgreSQL with ACID transactions. Use familiar tooling for backup and replication. Scales to handle large state files efficiently.

3

Transaction History

Every state change recorded with who made it, when, and what changed. Complete audit trail with point-in-time recovery capability.

How It Works

Stategraph sits between Terraform and PostgreSQL, providing a standards-compliant HTTP backend.

┌──────────────┐ ┌─────────────────┐ ┌────────────┐ │ Terraform │ ──────▶ │ Stategraph │ ──────▶ │ PostgreSQL │ │ / OpenTofu │ │ Backend │ │ │ └──────────────┘ └─────────────────┘ └────────────┘ │ │ │ 1. GET state │ 2. Query DB │ 2. POST state │ 3. Parse & index ▼ ▼ 4. Store state
  • Terraform requests state - GET request retrieves current state
  • Terraform pushes state - POST request with updated state
  • Stategraph processes - Parses state, extracts resources, updates indexes
  • PostgreSQL stores - Atomic write of state and metadata

Complete Transaction History

Every state change is recorded. See who made changes, when, and exactly what was modified.

2024-01-15 14:32:18 UTC
terraform apply - 3 resources modified
User: alice@company.com | +1 aws_instance, ~2 aws_security_group
2024-01-15 11:08:42 UTC
terraform apply - 1 resource created
User: bob@company.com | +1 aws_s3_bucket
2024-01-14 16:45:03 UTC
terraform apply - 2 resources destroyed
User: alice@company.com | -2 aws_instance
2024-01-14 09:22:57 UTC
terraform apply - 8 resources created
User: ci-bot | +8 aws_vpc, aws_subnet, aws_route_table

Point-in-time recovery: Restore state to any previous transaction. Debug issues by seeing exactly what changed and when.

Why Use Stategraph Backend

With S3 or cloud storage backends, your state is just a blob. You lose it, you're in trouble. You can't see what changed over time. You can't audit who modified what.

Stategraph stores state in PostgreSQL with full transaction history. Every apply is recorded. Every change is auditable. And you control your own data.

The backend is completely free. Self-host it. Own your state data.

100%
HTTP Compatible
ACID
Transactions
Unlimited
History
$0
Forever

Get Started

terminal
$ terraform init -migrate-state
Initializing the backend...
Migrating state from s3 to http...
Successfully configured the backend "http"!

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.