Repository navigation
refactor: Remove dockerode dependency from package.json - #62
Merged
Merged
Conversation
Remove the entire Docker worker backend in favor of the Incus/LXC backend: - Delete src/execution/docker-manager.js (645 lines) and src/execution/docker-backend.js (161 lines) - Remove DOCKER from BACKEND_TYPES enum - Remove all Docker backward compatibility from ContainerPool: dockerManager alias, dockerManagers map, _parseDockerHost(), DockerBackend case in _getBackend(), DockerError handling - Update ContainerPool constructor to require ContainerBackend instance - Update CLI commands (StartCommand, DevCommand) to use IncusBackend - Update ErrorHandler: docker category → container, DockerError → ContainerBackendError - Update src/index.js exports (remove DockerManager) - Remove Docker-specific unit tests (DockerManager, DockerBackend) - Remove Docker-dependent integration tests (ContainerPool, ToolExecutor, BashTool, FileTools) - Update remaining tests to use ContainerBackend mocks All 5637 unit tests pass, lint clean. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Delete LegacyRedirectRouter and its unit tests (672 lines) - Remove all backward-compatibility comments and code in orchestrator - Remove legacy /api/bots -> /api/v1/workers URL rewriting - Update _setupChannelHandlers to use ChannelManager directly - Remove backward-compat channels map mirroring - Update unit and integration tests to use channelManager API Co-Authored-By: Claude <noreply@anthropic.com>
…ults - Change SandboxConfigSchema default from 'docker' to 'incus' - Remove 'docker' from sandbox type enum (only 'incus' and 'just-bash') - Remove Docker-specific fields: `image`, `dockerAccess` - Remove backward-compatible `channel` field from BotConfigSchema - Remove `channel` cross-reference check from _validateCrossReferences - Remove unused `channels` variable in cross-reference validation - Update config.json sandbox defaults to use 'incus' - Update tests to reflect new schema constraints Co-Authored-By: Claude <noreply@anthropic.com>
…nces - Added IncusBackend and IncusClient exports in Execution section - Added JSDoc entries for IncusBackend and IncusClient - No Docker references remain in public API surface Co-Authored-By: Claude <noreply@anthropic.com>
- Removed dockerode ^4.0.2 from dependencies - Updated package-lock.json via npm install - Part of migration to Incus-only worker backend Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This comment has been minimized.
This comment has been minimized.
Additional Comments (1)
Prompt To Fix With AIThis is a comment left during a code review.
Path: src/core/orchestrator.js
Line: 323:323
Comment:
`BACKEND_TYPES.DOCKER` no longer exists after removal from `container-backend.js`
```suggestion
const defaultSandboxType = this.config?.defaults?.sandbox?.type || BACKEND_TYPES.INCUS;
```
How can I resolve this? If you propose a fix, please make it concise. |
- Update all test fixtures from sandbox type 'docker' to 'incus' - Change 'image' property to 'incusImage' in sandbox configs - Update bot configs (daniel, sebastian) to use incus sandbox type - Update demo and template configs to use incus sandbox type - Convert docker↔incus migration tests to incus↔just-bash - All 1203 unit/integration tests pass, lint clean Co-Authored-By: Claude <noreply@anthropic.com>
Additional Comments (1)
Prompt To Fix With AIThis is a comment left during a code review.
Path: src/cli/ProjectInitializer.js
Line: 285:285
Comment:
Docker reference in project template not updated to Incus
```suggestion
sandbox: { type: 'incus' },
```
How can I resolve this? If you propose a fix, please make it concise. |
…mage property - Populate orchestrator.channels Map after ChannelManager initializes channels, restoring backward-compatible access pattern used by E2E tests - Fix WorkerDeployment E2E mock to read sandbox.incusImage (matching actual incus-backend.js) instead of sandbox.image Co-Authored-By: Claude <noreply@anthropic.com>
Additional Comments (1)
Prompt To Fix With AIThis is a comment left during a code review.
Path: src/core/orchestrator.js
Line: 323:323
Comment:
`BACKEND_TYPES.DOCKER` no longer exists after removing Docker support
```suggestion
const defaultSandboxType = this.config?.defaults?.sandbox?.type || BACKEND_TYPES.INCUS;
```
How can I resolve this? If you propose a fix, please make it concise. |
sebyx07
added a commit
that referenced
this pull request
Feb 15, 2026
Task 15 verification - ContainerPool.test.js already cleaned: - ✅ No "backward compatibility" descriptions - ✅ No createMockDockerManager() factory (only createMockBackend()) - ✅ No Docker backward compat test cases - ✅ No backward compatibility describe blocks - ✅ All tests use mock ContainerBackend instances - ✅ All 68 tests passing The file was already cleaned up in previous commits (PR #58, #62). This commit documents verification of Task 15 completion. Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Removed the
dockerodedependency frompackage.jsonas part of the migration to Incus-only worker backend. This completes Task 6 of the Docker removal PR group.dockerode ^4.0.2from dependenciespackage-lock.jsonvianpm install(removed 49 packages)Files Modified
package.json- removeddockerodedependency (line 60)package-lock.json- automatically updated bynpm installTesting
npm run lint)Context
This is the final task of PR1 (Remove Docker Worker Backend & Backward Compatibility Code). Previous tasks have already:
🤖 Generated with Claude Code
Greptile Overview
Greptile Summary
Completes the Docker-to-Incus migration by removing the
dockerodedependency and all Docker-specific code. The PR successfully removes 8,775 lines including DockerManager, DockerBackend, and the legacy redirect router, while updating all references to use IncusBackend instead.Key changes:
dockerodepackage dependency (49 packages cleaned up)/api/botsbackward compatibilitydockertoincusin ConfigValidatordockerAccessfield from sandbox configurationcontainercategory instead ofdockerCritical issue found:
src/core/orchestrator.js:323still referencesBACKEND_TYPES.DOCKERwhich was removed, causing a runtime error on startupConfidence Score: 2/5
BACKEND_TYPES.DOCKERconstant inorchestrator.js:323will cause immediate failure when the orchestrator initializes. This is a blocking issue that must be fixed before merge.src/core/orchestrator.js- the bug on line 323 must be fixed before mergingImportant Files Changed
dockerodedependency (line 60) as part of Docker to Incus migrationBACKEND_TYPES.DOCKERwhich no longer exists; removed legacy router and backward compatibility codedockertype anddockerAccessfield; changed default toincus; removed legacy channel validationFlowchart
flowchart TD A[Application Start] --> B[Orchestrator.init] B --> C{Check sandbox type} C -->|Line 323| D[BACKEND_TYPES.DOCKER ❌] D --> E[Runtime Error: undefined] C -->|Should be| F[BACKEND_TYPES.INCUS ✓] F --> G[Create IncusBackend] G --> H[ContainerPool] H --> I[Bot Execution] style D fill:#ff6b6b style E fill:#ff6b6b style F fill:#51cf66 style G fill:#51cf66Last reviewed commit: 575bb15