// Typed, validated infrastructure
resources: {
network: vpc.#VPC & {
metadata: {name: "payments", labels: {}}
spec: {
region: "us-west-2"
cidrBlock: "10.42.0.0/16"
tags: environment: "prod"
}
}
database: rds.#RDSInstance & {
metadata: {name: "payments-db", labels: {}}
spec: subnetGroupName:
"${resources.dbSubnets.outputs.name}"
}
}Desired state for AWS
Your AWS infrastructure, continuously converged.
Declare resources in CUE. Preview changes, deploy with durable execution, import what already exists, and keep desired and actual state aligned without Kubernetes.
praxis plan stack.cue -f dev.vars.json \
--account local --out web-dev.plan.jsonPlan: 3 to create, 0 to update, 0 to delete, 0 unchanged.
Saved plan web-dev.plan.json
praxis deploy --plan web-dev.plan.json \
--key web-dev --waitDeployment web-dev
Status Complete
Declare through reconcile
Use one resource model for every stage.
Praxis owns the path from declaration to durable operation. The same desired state drives planning, provisioning, observation, and reconciliation.
Validate and plan
CUE catches invalid inputs before cloud calls. Praxis builds the dependency graph and shows the exact resource plan.
Execute durably
Restate journals workflow progress, serializes each resource, and resumes work safely after process or network failures.
Observe continuously
Drivers compare the declared state with AWS. Conditions and events keep drift visible, even when correction is disabled.
Converge deliberately
Managed resources return to the user’s desired state. Observed resources stay green while clearly reporting external drift.
Core capabilities
Plan, operate, and inspect the same desired state.
Typed CUE templates
Compose schemas, constraints, defaults, variables, and cross-resource outputs in one declarative language.
Build a template →Dependency-aware deployment
Praxis resolves a resource DAG, hydrates outputs at dispatch time, and runs independent work concurrently.
See the execution model →Plan and apply
Preview changes, save plans for review, target a subgraph, and protect resources from replacement or deletion.
Plan a deployment →Import and observe
Bring existing AWS resources under managed or visibility-only control without recreating them.
Import infrastructure →Drift and conditions
Continuously compare reality with intent, surface what changed, and correct it according to lifecycle policy.
Understand reconciliation →CLI and HTTP API
Use the same operations from an interactive terminal, automation, or an agent. Every command can return JSON.
Explore the interface →Durable by construction
Failures pause work. They do not erase progress.
Praxis models each managed resource as a Restate Virtual Object. Resource mutations are serialized, workflow steps are journaled, and retries preserve the operation’s history.
How durable execution changes infrastructure automation →AWS resource coverage
Model complete AWS stacks with 51 resource kinds.
Start with an inspectable plan