Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -101,11 +101,11 @@ workspaces:

- id: openspp-exact
label: OpenSPP exact lookup
summary: Offline fixture evidence only, pending the owner-run holdout in GH#357.
summary: Offline fixture, configuration validation, and build coverage for a synthetic OpenSPP exact lookup.
Comment thread
jeremi marked this conversation as resolved.
source: crates/registryctl/tests/fixtures/project-authoring/openspp-exact
classification: maintained
topology: combined
evidence: offline-fixture-only-pending-357
evidence: offline-fixture-validation
project_dir: crates/registryctl/tests/fixtures/project-authoring/openspp-exact
focused_fixture_file: match.yaml
steps: [trace, watch, test, check, build]
Expand Down
2 changes: 1 addition & 1 deletion crates/registryctl/tests/project_authoring.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1088,7 +1088,7 @@ fn project_authoring_catalog_classifies_every_golden_and_only_five_starters() {
.expect("OpenSPP catalog entry");
assert_eq!(
openspp.evidence.as_deref(),
Some("offline-fixture-only-pending-357")
Some("offline-fixture-validation")
);
}

Expand Down
2 changes: 1 addition & 1 deletion docs/site/scripts/generate-project-starters.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ test('keeps country, snapshot-records, OpenSPP, and conformance decisions explic
source: 'crates/registryctl/tests/fixtures/project-authoring/snapshot-with-records',
},
);
assert.equal(byId['openspp-exact'].evidence, 'offline-fixture-only-pending-357');
assert.equal(byId['openspp-exact'].evidence, 'offline-fixture-validation');
assert.equal(byId['dhis2-script'].classification, 'conformance-only');
assert.equal(byId['dhis2-script'].starter, undefined);
assert.deepEqual(byId['dhis2-script'].capabilities, ['test', 'check', 'build']);
Expand Down
5 changes: 0 additions & 5 deletions docs/site/src/content/docs/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,6 @@ The data never leaves the source system.
Start with [your first registry API](tutorials/publish-spreadsheet-secured-registry-api/), then
[evaluate a claim](tutorials/verify-claim-registry-api/) against that local API.

The hosted Relay quickstart passed its latest check, but the hosted credential continuation is not
the promoted first-run route while [GH#330](https://github.com/registrystack/registry-stack/issues/330)
remains open and the complete [GH#198](https://github.com/registrystack/registry-stack/issues/198)
fresh-reader run is unfinished.

## Two products

Registry Relay protects what an institution already holds. Registry Notary certifies answers drawn
Expand Down
4 changes: 3 additions & 1 deletion docs/site/src/content/docs/reference/registryctl.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,9 @@ documentation copy.

The following workspaces are checked-in authoring evidence, not additional public starters.
Their command lists contain only the workflow steps supported by each workspace.
OpenSPP remains offline-fixture-only pending the owner-run holdout in GH#357.
The OpenSPP workspace uses a synthetic wire shape.
Its offline tests, configuration checks, and build do not establish compatibility with a live
OpenSPP release.

<ProjectWorkspaceJourneys />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,7 @@ Do not use the generated local keys in production.
For a standalone local project generated from your own data, use the `registryctl` tutorials:
[run a protected registry API](../publish-spreadsheet-secured-registry-api/) or
[evaluate a claim with Registry Notary](../verify-claim-registry-api/). Clone Solmara Lab when you
want the full multi-service country demo. The planned final 1.0 release-candidate reader run in
[GH#198](https://github.com/registrystack/registry-stack/issues/198) requires a tagged Registry
Stack candidate and a Solmara Lab release that atomically pins the matching `registryctl`, Registry
Relay, Registry Notary, and image digests. Where Registry Notary applies, the run must also prove
one Registry Notary instance and one Notary-owned PostgreSQL database per Registry Relay authority,
including restart persistence.
{/* TODO[evidence]: Replace this issue-tracked plan with a stable public run artifact and
immutable Solmara Lab release link before presenting the gate as completed evidence. */}
want the full multi-service country demo.

## Prerequisites

Expand Down Expand Up @@ -249,7 +242,6 @@ so you can confirm what you ran by hand against what the lab publishes.
smaller local Relay project from a sample workbook.
- [Evaluate a claim with Registry Notary](../verify-claim-registry-api/): add Notary to that local
project.
- [Hosted Relay demo (held)](../../start/quickstart/): inspect the zero-install Relay path.
- [When to use Registry Stack](../../start/when-to-use/): decide whether Relay, Notary, or both fit
your integration.
- [Registry Relay](../../products/registry-relay/): route reference, auth scopes, and configuration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,6 @@ identity reads, and inspect the contract Registry Stack generated.
This tutorial uses synthetic data and local demo credentials.
Do not use the generated local keys in production.

:::note[Current first-run route]
The v0.13.0 source beta and this local tutorial can be used while hosted credential publication is
held by [GH#330](https://github.com/registrystack/registry-stack/issues/330) and the incomplete
[GH#198](https://github.com/registrystack/registry-stack/issues/198) fresh-reader run.
:::

## Install registryctl

Install `registryctl` without cloning the repository:
Expand Down Expand Up @@ -485,7 +479,6 @@ Relay refused to start when the floor dropped under 2 on personal data.
| `registryctl start` cannot find Docker | Docker or another Compose provider is not installed or running. | Start Docker Desktop, OrbStack, Colima, Podman, or your supported provider, then run `registryctl start` again. |
| Docker reports no `linux/arm64` manifest for a Registry Stack image | The v0.13.0 Relay and Notary images are published for `linux/amd64` only. | Start with `DOCKER_DEFAULT_PLATFORM=linux/amd64 registryctl start`. |
| `registryctl start` fails and the container log shows `failed to parse config YAML ... unknown field` | The locally cached container image does not match the digest-pinned image in the generated `compose.yaml`. | Run `docker compose pull` in the project directory (on Apple silicon, prefix it with `DOCKER_DEFAULT_PLATFORM=linux/amd64`), then `registryctl start` again. |
| `registryctl start` times out and the container log shows `missing field \`commitment\`` | registryctl v0.8.4 pins a service image older than its own generated config format ([GH#278](https://github.com/registrystack/registry-stack/issues/278)). | Pin the project's `compose.yaml` to the published v0.8.4 release digests: `ghcr.io/registrystack/registry-relay@sha256:93e194500a3500ba3f6331d5a0a9a3069127c48a709beccb083a5fcbdbc3ec61` and, when present, `ghcr.io/registrystack/registry-notary@sha256:0cf05184885d7ed17dd9889e20f3797eb2a9ad07517f4ac7c05c03b774a00b8f`. Then run `docker compose pull`; reapply the pins after a generation command rewrites `compose.yaml`. |
| `registryctl init` reports that its image lock is missing or invalid | The binary was moved or built without the strict image lock from the same release, or the file failed its release, source, platform, or digest checks. | Rerun the installer from the same pinned target tag so it checksum-verifies and installs both files. For an operator-managed or source-test location, set `REGISTRYCTL_IMAGE_LOCK` to the checksum-verified lock from that exact release. Do not substitute a lock from another version or a mutable image tag. |
| `registryctl start` fails with `Relay did not become healthy and ready before timeout` after a config edit | The edited `relay/config.yaml` fails validation, so the container exits at startup. | Run `registryctl logs`, fix the field named in the `ERROR` line, then run `registryctl stop` and `registryctl start` again. |
| A row read returns `403 Forbidden` | The key is valid but lacks the row-read scope. | Use `ROW_READER_RAW` for row reads. |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -209,11 +209,11 @@
{
"id": "openspp-exact",
"label": "OpenSPP exact lookup",
"summary": "Offline fixture evidence only, pending the owner-run holdout in GH#357.",
"summary": "Offline fixture, configuration validation, and build coverage for a synthetic OpenSPP exact lookup.",
"source": "crates/registryctl/tests/fixtures/project-authoring/openspp-exact",
"classification": "maintained",
"topology": "combined",
"evidence": "offline-fixture-only-pending-357",
"evidence": "offline-fixture-validation",
"project_dir": "crates/registryctl/tests/fixtures/project-authoring/openspp-exact",
"capabilities": [
"trace",
Expand Down
Loading