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.

CUE schemasRestate executionAWS APIsCLI + HTTP
praxis · ~/infrastructureCLI
$praxis plan stack.cue -f dev.vars.json \
  --account local --out web-dev.plan.json
+ VPC web-dev-vpc+ SecurityGroup web-dev-sg+ EC2Instance web-dev

Plan: 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 --wait

Deployment web-dev

Status Complete

RESOURCEKINDSTATUSvpcVPCReadywebSGSecurityGroupReadyserverEC2InstanceReady
51AWS resource kinds
1uniform driver lifecycle
0Kubernetes clusters required
24/7desired-state awareness

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.

stack.cueCUE
// 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}"
  }
}
01

Validate and plan

CUE catches invalid inputs before cloud calls. Praxis builds the dependency graph and shows the exact resource plan.

02

Execute durably

Restate journals workflow progress, serializes each resource, and resumes work safely after process or network failures.

03

Observe continuously

Drivers compare the declared state with AWS. Conditions and events keep drift visible, even when correction is disabled.

04

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.

01

Typed CUE templates

Compose schemas, constraints, defaults, variables, and cross-resource outputs in one declarative language.

Build a template →
02

Dependency-aware deployment

Praxis resolves a resource DAG, hydrates outputs at dispatch time, and runs independent work concurrently.

See the execution model →
03

Plan and apply

Preview changes, save plans for review, target a subgraph, and protect resources from replacement or deletion.

Plan a deployment →
04

Import and observe

Bring existing AWS resources under managed or visibility-only control without recreating them.

Import infrastructure →
05

Drift and conditions

Continuously compare reality with intent, surface what changed, and correct it according to lifecycle policy.

Understand reconciliation →
06

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 →
IntentCUE template
ControlPraxis Core
RuntimeRestate
RealityAWS APIs

AWS resource coverage

Model complete AWS stacks with 51 resource kinds.

Browse all resources
NetworkingVPC, Subnet, Security Group, NAT Gateway, Route Table, ALB, NLB
ComputeEC2, AMI, EBS, ECS, EKS, Lambda, layers and event sources
DataS3, DynamoDB, RDS, Aurora, SQS, SNS and Secrets Manager
IdentityIAM roles, policies, users, groups, instance profiles and KMS keys
OperationsCloudWatch dashboards, alarms, logs, Route 53 and ACM certificates

Start with an inspectable plan

Declare a stack. Review the change. Keep it converged.