Unreleased documentation. These pages follow the main branch and can change before the next release. For supported guidance, use v0.44.0.
A registry manifest is one metadata.yaml file that describes a registry for the systems that
need to find and understand it: its catalogue and publisher, its datasets, entities, and fields,
the public services and forms around it, the codelists it uses, and the Evidence it can offer.
Registry Manifest is the Rust library and the registry-manifest command that check that file
and render it into standards-shaped metadata. It serves no HTTP, reads no database, and handles
no credentials, so it runs anywhere, including CI.
What a manifest holds, and what it refuses
Section titled “What a manifest holds, and what it refuses”A manifest declares schema_version: registry-manifest/v1 and a catalog, then lists what the
registry offers under datasets, public_services, forms, requirements, evidence_types,
and the other top-level collections. Its format is closed: it refuses unknown keys, dangling
references, and runtime bindings such as a source path, a table name, a database scope, a
caller allowlist, a credential, or a signing key. Those belong to the runtime that serves the
registry, so the same manifest stays portable across deployments.
RS-DM-MANIFEST is the normative data model, and the Registry Manifest reference documents every field.
Who writes one
Section titled “Who writes one”A registry publisher or integrator writes metadata.yaml by hand to publish catalogue metadata
for a registry, whatever runs it. A Base Registry Engine (BReg) project does not write one by
hand: bregctl generate manifest projects one from the project’s manifestProjection through
the Registry Manifest library, with a DCAT catalogue. The projection carries only the datasets
within its access profile and classification ceiling, and keeps the labels and identifiers of
every other dataset out of both the manifest and the catalogue, relationship edges included.
The registry-manifest commands
Section titled “The registry-manifest commands”validatechecks one manifest offline and reports every finding at each stage together: first the document’s shape, then the manifest rules. Each finding has its code, line, column, and fix.renderwrites one format to standard output: catalog JSON, DCAT or BRegDCAT-AP, CPSV-AP, SHACL, JSON Schema, form JSON Schema, OGC API Records, ODRL policies, or Evidence offerings. It renders BRegDCAT-AP and CPSV-AP only for a catalogue that lists that profile incatalog.application_profiles.publishwrites every format into a directory: catalog JSON, DCAT, SHACL, JSON Schema, form JSON Schema, OGC API Records, ODRL policies, and Evidence offerings always, plus the files for each profile incatalog.application_profiles:cpsv-ap.jsonldand its extensionless aliascpsv-apforcpsv-ap, anddcat.<profile>.jsonldfordcat-apandbregdcat-ap. Itsindex.jsonrecords the digest of the source manifest and of each file, so an operator can compare or pin a bundle. It does not empty the directory first, so publish into a clean one.validate-profileschecks profile descriptors and their fixture manifests.
Validate and render a manifest walks through the first three, and Validate against profile fixtures covers the last. ITB/SEMIC validation smoke checks runs rendered DCAT and BRegDCAT-AP through the public EU Interoperability Test Bed validators.
What metadata does not do
Section titled “What metadata does not do”Published metadata is descriptive. It grants no access, and naming a service in a manifest does not make it trusted. BReg and Registry Evidence each keep their own access decisions. Host the published directory as static files, and replace the whole directory to publish a new revision.
Registry Manifest is pre-1.0. The registry-manifest/v1 schema version is enforced in code, and
the five example-* profiles under products/manifest/profiles/ are non-normative.
Cookies on Registry Stack
We use optional cookies to understand how you use the main Registry Stack website and this documentation. If you contact us, we may link this activity to your enquiry. You can change your choice at any time. Read the privacy policy.
Your browser asks sites not to track you, so optional tracking stays off.
We could not use or save that choice. Optional tracking remains off.