2.8 KiB
Guide Board Container Baseline
Status: draft Created: 2026-05-07
Purpose
The first container image packages the local CLI contracts, schemas, bundled profiles, and incubating extensions. It is not a certification appliance and it does not include restricted third-party harnesses unless a downstream image or runtime mount provides them.
Image Roles
Use guide-board-core for dependency-light checks:
- extension discovery,
- profile validation,
- run planning,
- sample/no-op assessments,
- extensions whose runners use only the core Python runtime.
Use extension-specific images when a harness needs additional dependencies such
as Java, Maven, browser engines, vendor tools, or licensed test suites. Those
images should extend guide-board-core or mount the core as a package, but they
must keep restricted assets outside the public core image.
Build
podman build -t guide-board-core:local -f Containerfile .
Docker can be used with the same arguments.
Local Baseline Run
mkdir -p runs
podman run --rm \
-v "$PWD/runs:/runs" \
guide-board-core:local \
--root /opt/guide-board run \
--target /opt/guide-board/profiles/targets/sample-repository.json \
--assessment /opt/guide-board/profiles/assessments/sample-noop.json \
--output-dir /runs/sample-noop
The run output remains on the host under runs/sample-noop.
External Profiles
Mount project-specific profiles read-only:
podman run --rm \
-v "$PWD/profiles:/profiles:ro" \
-v "$PWD/runs:/runs" \
guide-board-core:local \
--root /opt/guide-board run \
--target /profiles/targets/example.json \
--assessment /profiles/assessments/example.json \
--output-dir /runs/example
Credentials And Restricted Assets
Credentials and licensed harness material should be mounted explicitly:
/credentials runtime secrets or references
/assets licensed or locally provided harness assets
/profiles target and assessment profiles
/runs generated outputs
Assessment profiles should declare offline/network expectations. Extension
runners should fail as blocked or infrastructure_error when required mounted
assets are absent.
CMIS Extension Path
The core image includes the incubating open-cmis-tck extension metadata,
preflight runner, command wrapper, and mappings. It does not include the final
Apache Chemistry TCK dependency graph. A future CMIS image should add Java/Maven
and document how the OpenCMIS TCK artifacts are resolved or mounted.
Service Path
A service image should call the same CLI contracts used here:
- validate profiles,
- build run plans,
- execute runs,
- read run metadata, evidence, reports, retention summaries, trends, and gates.
The service layer may add job tracking and HTTP transport, but it should not create separate execution semantics.