528a09ca90
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>
1.4 KiB
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 pullcommand with the versioned tag (e.g.docker.dcglab.co.uk/dcg/kb/engine:engine-v2.1.0-nvidia)