Unreleased documentation. These pages follow the main branch and can change before the next release. For supported guidance, use v0.43.0.
If your institution holds a registry, or must create one, Base Registry Engine (BReg) can hold it with your own Record types and your own rules about who may read and change what. Three short tutorials take you from nothing to a registry running on your machine, changed through an Action your project declares, and called from Python or Node.
What you work with
Section titled “What you work with”You describe your registry in a project: a few YAML files you keep in version control. The project declares the Record types the registry holds, the Actions that change them, and the access profiles that say who may read or change which fields and rows. BReg has no built-in business, person, or facility model: a Record type exists because your project declares it.
bregctl checks a project, tests it, and packages it. breg serves the package over HTTP from a
PostgreSQL database it owns. Tokens come from your own OpenID Connect provider; BReg verifies them
and issues none. How a registry works explains
what exists at runtime and how you inspect it.
Start here, whatever your role
Section titled “Start here, whatever your role”- Create your first registry: start a small contact directory on your machine and create a Record in it. To begin from a published data model instead, Derive a registry from PublicSchema does the same with PublicSchema’s people and households.
- Change a registry with an Action: run the two Actions the project declares, one that changes a Record at once and one that creates a Proposal the registry applies afterwards, and read what the registry returns for each.
- Query a registry from Python and Node: read Records, invoke an Action, and take a Proposal through to applied from an application with the client packages.
All three run on your machine with Docker and test data. Tokens, access profiles, and the audit journal stay on, so the local registry checks each request the way a deployed one does.
Then follow your role
Section titled “Then follow your role”- You build applications on a registry. Keep the client reference open, then send registry events to a webhook to connect the registry to the systems around it.
- You run the registry. Deploy a registry takes a project to a package, a provisioned database, and a running service.
- You design the registry. Extend a registry with a module adds a field to the tutorial registry; then Author a registry project covers Record types, fields, access profiles, and Actions for your own data.
Where the product stops
Section titled “Where the product stops”BReg keeps its Records in its own database; it is not a proxy over data held elsewhere. To answer a question from a source you already run, without copying its data, use Registry Evidence.