Local recovery
macOS arm64, Docker 29, PostgreSQL 18, S3-compatible storage, and Redis Streams 8.8.
Recovery after code loss
When a component’s source code, binaries, container images, and replicas are gone, Anasemble can build a replacement for supported service types. It uses signed contracts and request/response records saved separately before the failure.
Prepare first: you must save behaviour records and state snapshots in separate failure domains. The current replacement handles a bounded set of states and operations; it does not generate a general-purpose HTTP server.
How it works
Anasemble tries replacements within limits you set, checks their behaviour, and restores saved state. If records are missing, checks disagree, or a step times out, recovery stops. You approve activation; Anasemble does not switch it on automatically.
Verify the signed contracts, request/response records, and state snapshots saved outside the failed system.
Try programs built from an allowed set of operations, within time, memory, and attempt limits.
Run a separate checker against the contracts and tests reserved for verification. Stop if it cannot establish a single valid replacement.
Restore saved state and run the replacement in an isolated environment before activation.
Sign approval to activate the replacement. Use the recorded recovery details to accept the result or roll it back.
The recovery drill
The demo saves behaviour records and PostgreSQL, object-storage, and Redis snapshots. It then deletes the original component and source state, rebuilds the component, restores the data, and exercises activation and rollback.
The integrated demo is experimental: its replacement is a finite-state program, and its local Kubernetes setup does not prove network isolation. Use disposable infrastructure.
Read the drill and its limits ↗Tested environments
The release candidate supports the exact combinations tested in recovery drills. Check the compatibility guide for versions, configuration requirements, and known limits.
Read the compatibility guide ↗macOS arm64, Docker 29, PostgreSQL 18, S3-compatible storage, and Redis Streams 8.8.
Amazon Linux 2023 on arm64 and x86_64, using the documented configurations and Rust 1.97.0 builds.
RDS PostgreSQL 18.3, S3, ElastiCache Redis 7.1, and EKS 1.36 in eu-west-1.
Other combinations are experimental or rejected. They need their own recovery drill before they can be supported.
Limits
Anasemble rebuilds components that fit its supported operations and data types. Hidden side effects and undeclared state are outside that scope. It still needs saved behaviour records and state snapshots; keep your backups and replicas.
Try it