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>
26 lines
1.4 KiB
Markdown
26 lines
1.4 KiB
Markdown
## 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`)
|