jido_bedrock provides Bedrock-backed persistence adapters for Jido runtimes.
jido_bedrock is still alpha-quality and is being published to preserve active
work, not as a production-ready package.
- Do not rely on this code for production systems yet.
- The persistence and recovery stack is still being actively stabilized.
- The upstream Bedrock fixes this project depends on have landed on
main, but they are not yet available in a newer Hex release beyond0.5.0. - For local development and integration verification, point
BEDROCK_PATHat a Bedrock checkout on upstreammain. In:devand:test,jido_bedrockresolves Bedrock in this order:BEDROCK_PATH, then a sibling../bedrockcheckout if present, then Hex0.5.0. - Expect rough edges and breaking changes while the adapter and Bedrock runtime keep maturing together.
Jido.Bedrock.StorageimplementingJido.Storage- Durable checkpoints and thread journals via
Bedrock.Repo - Optimistic concurrency using
expected_revfor thread appends
Add jido_bedrock to your dependencies:
def deps do
[
{:jido_bedrock, "~> 0.1.0"}
]
endThen fetch dependencies:
mix deps.getjido_bedrock v0.1.0 does not yet provide an Igniter installer module.
Define a Bedrock repo:
defmodule MyApp.BedrockRepo do
use Bedrock.Repo, cluster: MyApp.BedrockCluster
endUse the storage adapter in a Jido instance:
defmodule MyApp.Jido do
use Jido,
otp_app: :my_app,
storage: {Jido.Bedrock.Storage, repo: MyApp.BedrockRepo}
endmix setup
mix quality
mix testTo verify against a local Bedrock checkout on upstream main:
BEDROCK_PATH=/path/to/bedrock mix testApache-2.0