Karma is an experimental system that treats infrastructure not just as state — but as consequence.
What Is Karma?
Karma is a new open source project that builds on the ideas behind Adage, extending them into a fully introspectable, graph-based runtime.
At its core, Karma models your infrastructure as a graph of components, each defined by versioned configuration (in Git and AWS Parameter Store) and connected by runtime dependencies. Every component is:
- Declarative
- Testable
- Traceable
And crucially: each deployment is shaped by what came before.
Why Karma?
Modern infrastructure tooling is powerful, but often opaque. Config lives in templates, deployments are one-off executions, and visibility into how things connect is limited.
Karma flips that model by treating configuration and runtime as first-class graph objects. This allows:
- Change propagation across components
- Data science and graph learning on real infrastructure
- Observability that works without digging through Terraform state
- Lightweight automation using just Parameter Store and Git
How It Works
Each Karma-managed component follows a simple pattern:
- Config is defined in Git as a JSON object
- That config is published to Parameter Store (e.g.
/iac/serverless-site/my-site/config
) - Terraform consumes the config and produces runtime output
- That output is written to Parameter Store at a matching
/runtime
path - Karma reads both config and runtime, constructs a graph, and exposes it via API
Under the hood, Karma uses Amazon Neptune to store the system graph.
What Karma Enables
Once Karma has built a live view of your infrastructure, you can:
- Propose a config update and simulate its impact
- Analyze drift between config and runtime
- Query for relationships and dependencies
- Trigger Terraform applies or component reloads
- Integrate with external tools for UI, audit, machine learning, or compliance
Karma gives infrastructure memory — and turns that memory into power.
Early Status, Clear Direction
Karma is in early development, but already supports:
- Config-driven component deployment via Adage
- Parameter Store as a universal config and runtime bus
- Initial Neptune graph building
- API-driven exploration and change requests
You can follow progress at github.com/usekarma or explore the Karma project page for demos and theory.
Built on Adage
Karma would not exist without Adage — a reusable infrastructure framework for AWS that promotes clean config separation, secure IAM practices, and deployment via Terragrunt.
If you’re curious about how Karma fits into a real AWS deployment model, start with the Adage deployment guide.
Try It Yourself
Karma is being developed transparently — and usekarma.dev is deployed using the very system it describes.
If you’re interested in contributing, experimenting, or just seeing what a graph-aware deployment system feels like, you can:
- Fork the Adage repos
- Read the Karma Theory section
- Watch this space for more articles
Infrastructure can be testable, observable, and intelligent.
Karma is one step toward making that real.