Repository navigation
refactor: remove Docker-related worker-only files - #64
Merged
Merged
Conversation
- Remove backwards compatibility fields (incusImage, packages) from daniel-francoeur-assistant and sebastian-buza-assistant configs - Packages are now handled by base Incus images instead - Add sandbox configuration to assistant bot (using default Incus type) - Simplify sandbox config to only specify type: 'incus' per new Incus-only worker architecture Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- Create scripts/provision-worker.sh: installs Incus via Zabbly PPA, initializes with `incus admin init --auto`, builds ai-army-base and ai-army-base-docker LXC images with agent user, Node 22, Python3, and build tools - Update scripts/provision-server.sh: now provisions Docker only on master server, workers use provision-worker.sh instead - Add WORKER_SERVERS/WORKER_NAMES arrays to scripts/servers.sh for worker-specific operations Co-Authored-By: Claude <noreply@anthropic.com>
- Split deploy-all.sh into deploy_master (Docker Compose) and deploy_worker (sync code + verify Incus) functions - Workers no longer run docker compose — they only host LXC containers managed remotely by master - Update status-all.sh to check incus list on workers instead of docker compose ps - Update logs.sh to use incus commands for worker log viewing Co-Authored-By: Claude <noreply@anthropic.com>
Deleted: - docker/images/* (all worker-specific Docker images) - scripts/build-images.sh (Docker image build script) - scripts/test-images.sh (Docker image test script) - .github/workflows/build-images.yml (Docker CI workflow) Kept: - Dockerfile (master app container) - docker-compose.yml (master orchestrator stack) - .dockerignore (still needed for master) Workers now use Incus/LXC exclusively, no Docker backend needed. Co-Authored-By: Claude Haiku 4.5 <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
This is part of the final task in the "Update Bot Configs, Deploy Scripts & Provision for Incus" PR group. Removed all Docker-related files that were worker-only, keeping only the master Docker infrastructure (Dockerfile, docker-compose.yml).
Changes
Deleted Files (Worker-Only Docker Infrastructure)
docker/images/*/Dockerfile(all 5 worker-specific Docker images)scripts/build-images.sh(Docker image build script)scripts/test-images.sh(Docker image test script).github/workflows/build-images.yml(Docker CI workflow)Preserved Files (Master Docker Infrastructure)
Dockerfile(master app container)docker-compose.yml(master orchestrator stack).dockerignore(still needed for master)Context
Workers now exclusively use Incus/LXC containers managed via SSH. All Docker worker infrastructure has been removed. The master continues to run in Docker via docker-compose.
Related Tasks Completed
This PR completes tasks 10-13 of the migration plan:
🤖 Generated with Claude Code
Greptile Overview
Greptile Summary
Completed migration from Docker to Incus for worker infrastructure by removing all Docker worker-specific files and updating deployment scripts. Master continues using Docker Compose (
Dockerfile,docker-compose.yml), while workers now exclusively use Incus/LXC containers managed via SSH.Key Changes:
build-images.sh,test-images.sh)provision-worker.shscript that installs Incus and builds base images (ai-army-base,ai-army-base-docker).mcp.jsonwith kubeez MCP server configurationNote: Worker template files in
templates/workers/*.ymlstill reference Docker images likeai-army/backend-developer:lateston line 11, but these templates are independent configuration examples and don't affect the runtime since the actual worker provisioning now creates Incus base images instead.Confidence Score: 5/5
Important Files Changed
Flowchart
flowchart TB subgraph Master["Master Server (Docker)"] DC[docker-compose.yml] DF[Dockerfile] DC --> APP[App Container] DC --> PG[Postgres Container] DF -.builds.-> APP end subgraph Workers["Worker Servers (Incus/LXC)"] PW[provision-worker.sh] PW --> INCUS[Incus Installation] INCUS --> BASE1[ai-army-base image] INCUS --> BASE2[ai-army-base-docker image] BASE1 --> CONT1[LXC Container 1] BASE1 --> CONT2[LXC Container 2] BASE2 --> CONT3[LXC Container 3] end subgraph Deleted["❌ Deleted Worker Files"] DI1[docker/images/backend-developer/] DI2[docker/images/frontend-developer/] DI3[docker/images/data-scientist/] DI4[docker/images/devops-engineer/] DI5[docker/images/qa-engineer/] BS[scripts/build-images.sh] TS[scripts/test-images.sh] GH[.github/workflows/build-images.yml] end DA[deploy-all.sh] -->|Docker Compose| Master DA -->|SSH + Incus| Workers style Deleted fill:#fee,stroke:#c33,stroke-width:2px,stroke-dasharray: 5 5 style Master fill:#e3f2fd,stroke:#1976d2 style Workers fill:#f3e5f5,stroke:#7b1fa2Last reviewed commit: 9ab6ac3