Files
kb/openspec/changes/independent-versioning/specs/docker-deployment/spec.md
T
steve 528a09ca90 Independent client/engine versioning with compatibility check
Split release.sh into release-client.sh and release-engine.sh for
independent release cadences. Client checks engine version on first
API call and hard-fails if engine is below MinEngineVersion.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 15:59:16 +00:00

1.4 KiB

MODIFIED Requirements

Requirement: Compose files for deployment

The project SHALL provide Docker Compose files for single-command deployment. Compose files SHALL use build: context for local development. Release notes SHALL document the versioned image tag for users pulling pre-built images.

Scenario: Start NVIDIA deployment

  • WHEN an admin runs docker compose -f compose.nvidia.yaml up -d
  • THEN the engine SHALL start with GPU access, bind-mount the data directory, and be reachable on the configured port

Scenario: Start ROCm deployment

  • WHEN an admin runs docker compose -f compose.rocm.yaml up -d
  • THEN the engine SHALL start with GPU access via ROCm device passthrough, bind-mount the data directory, and be reachable on the configured port

Scenario: Automatic restart

  • WHEN the engine process crashes or the host reboots
  • THEN Docker SHALL automatically restart the container (restart policy unless-stopped)

Scenario: Configure via environment

  • WHEN an admin sets environment variables in the compose file (KB_MODEL, KB_API_KEY, KB_DEVICE, etc.)
  • THEN the engine SHALL use those values

Scenario: Pre-built image deployment

  • WHEN an admin wants to use a pre-built engine image without building from source
  • THEN the engine release notes SHALL include the exact docker pull command with the versioned tag (e.g. docker.dcglab.co.uk/dcg/kb/engine:engine-v2.1.0-nvidia)