063a839790
- Add clone_mode and branch fields to tool_instances - Add ssh_key_id to git_repositories for per-repo SSH key assignment - Implement host-side git cloning with branch selection (default: main) - Mount SSH keys into containers for git operations in clone mode - Add dirty state check on clone-mode instance deletion with confirmation - Update SessionsPage with mount/clone selector, branch input, SSH key display - Add SSH key selector to repository creation form - Add dirty delete confirmation modal with changed files list - Update API schemas and endpoints for new fields - Sync delta specs to main specs (git-repo, tool-instances, repo-clone-mode) - Archive completed OpenSpec change: repo-clone-mode-with-ssh - Document git requirement for custom tool types Quality gates: Frontend typecheck and build passed OpenSpec: repo-clone-mode-with-ssh archived with all tasks complete
1.8 KiB
1.8 KiB
ADDED Requirements
Requirement: Readiness probe configuration
The system SHALL use tool type readiness probe configuration during instance startup.
Scenario: Web tool with custom probe
- GIVEN a tool type with
readiness_probeconfigured as:command: "curl -f http://localhost:8080/api/health"timeout: 60interval: 5
- WHEN an instance of this type starts
- THEN the system executes the probe command inside the container
- AND retries every 5 seconds for up to 60 seconds
- AND the instance remains in "starting" status until probe succeeds
Scenario: Web tool with default probe
- GIVEN a web-enabled tool type with no
readiness_probeconfigured - WHEN an instance of this type starts
- THEN the system uses the default probe:
curl -f http://localhost:{port} - AND retries every 2 seconds for up to 30 seconds
Scenario: Probe command execution
- GIVEN a readiness probe command
- WHEN the system executes it inside the container
- THEN it runs via
docker exec {container_id} sh -c "{command}" - AND stdout/stderr are captured for diagnostics
- AND exit code 0 indicates success
Requirement: Probe result storage
The system SHALL store readiness probe results for diagnostics.
Scenario: Successful probe logged
- GIVEN a readiness probe that succeeds
- WHEN the probe returns exit code 0
- THEN the success is logged with timestamp
- AND the instance status changes to "running"
Scenario: Failed probe logged
- GIVEN a readiness probe that fails or times out
- WHEN the probe reaches timeout
- THEN the failure is logged with last stdout/stderr output
- AND the instance status changes to "unhealthy"
- AND the probe output is available via the health endpoint
MODIFIED Requirements
None.
REMOVED Requirements
None.