feat: disable agents service by default using Docker profiles#506
feat: disable agents service by default using Docker profiles#506
Conversation
- Add 'agents' profile to archon-agents service - Remove archon-agents as dependency from archon-mcp service - Service now only starts with --profile agents flag - Prevents startup issues while agents service is under development - All core functionality continues to work without agents 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
WalkthroughThe docker-compose configuration was updated to remove archon-mcp’s dependency on archon-agents and to gate archon-agents behind a new agents profile. By default, archon-agents no longer starts; it only starts when the agents profile is explicitly enabled. AGENTS_ENABLED and AGENTS_SERVICE_URL env vars were added. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant U as User
participant DC as docker-compose
participant MCP as archon-mcp
participant AG as archon-agents
U->>DC: up
DC->>MCP: Start archon-mcp
Note over MCP: archon-mcp no longer depends_on archon-agents
DC--xAG: archon-agents not started (no agents profile)
sequenceDiagram
autonumber
participant U as User
participant DC as docker-compose
participant MCP as archon-mcp
participant AG as archon-agents
U->>DC: up --profile agents
DC->>MCP: Start archon-mcp
DC->>AG: Start archon-agents (profile=agents)
Note over AG: agents service started due to profile
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
Tip 🔌 Remote MCP (Model Context Protocol) integration is now available!Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats. 📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 💡 Knowledge Base configuration:
You can enable these sources in your CodeRabbit configuration. 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
✨ Finishing Touches🧪 Generate unit tests
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
docker-compose.yml (1)
1-9: Fix misleading profile docs at the top of the fileComments still claim “all services start by default” and reference non-existent profiles (“backend”, “frontend”, “full”). With agents now gated behind an explicit profile, this is inaccurate and will confuse users.
Apply this diff to update the header:
-# Docker Compose Profiles Strategy: -# - No profile: All services start by default when running 'docker compose up' -# - "backend": Starts only backend services (server, mcp, agents) for hybrid development -# - "frontend": Starts only the frontend UI service -# - "full": Starts all services for complete Docker deployment (same as no profile) -# Use --profile flag to control which services start: -# docker compose up # All services (default behavior) -# docker compose --profile backend up # Backend only for hybrid dev -# docker compose --profile full up # Everything in Docker (same as default) +# Docker Compose profiles: +# - Default (no profile): Starts archon-server, archon-mcp, and archon-frontend. +# - Agents are opt-in: archon-agents starts only with the "agents" profile. +# Usage: +# docker compose up # Starts server, mcp, frontend (agents disabled) +# docker compose --profile agents up -d # Also start archon-agents
🧹 Nitpick comments (1)
docker-compose.yml (1)
84-90: Gate agent usage via an explicit flag and make AGENTS_SERVICE_URL optionalarchon-mcp sets AGENTS_SERVICE_URL to archon-agents even when the service isn’t running. If the MCP probes that URL on startup, you’ll see noisy connection errors. Recommend exposing an AGENTS_ENABLED toggle and allowing AGENTS_SERVICE_URL to be empty so the app can skip agent wiring cleanly.
Proposed change:
- TRANSPORT=sse - LOG_LEVEL=${LOG_LEVEL:-INFO} # MCP needs to know where to find other services - - API_SERVICE_URL=http://archon-server:${ARCHON_SERVER_PORT:-8181} - - AGENTS_SERVICE_URL=http://archon-agents:${ARCHON_AGENTS_PORT:-8052} + - API_SERVICE_URL=http://archon-server:${ARCHON_SERVER_PORT:-8181} + - AGENTS_ENABLED=${AGENTS_ENABLED:-false} + - AGENTS_SERVICE_URL=${AGENTS_SERVICE_URL:-http://archon-agents:${ARCHON_AGENTS_PORT:-8052}} - ARCHON_MCP_PORT=${ARCHON_MCP_PORT:-8051} - ARCHON_SERVER_PORT=${ARCHON_SERVER_PORT:-8181} - ARCHON_AGENTS_PORT=${ARCHON_AGENTS_PORT:-8052}Follow-up:
- Ensure MCP ignores AGENTS_SERVICE_URL when AGENTS_ENABLED=false.
- Optionally set AGENTS_ENABLED=true in a .env or an override compose file when using the agents profile.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
docker-compose.yml(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Backend Tests (Python + pytest)
🔇 Additional comments (2)
docker-compose.yml (2)
92-94: Removal of depends_on for archon-agents looks good; confirm MCP’s startup doesn’t assume agents presenceThis keeps agents opt-in. Just verify MCP doesn’t fail if agents come up later (e.g., running “docker compose up” then “docker compose --profile agents up -d”).
111-112: Good use of Compose profiles to gate archon-agentsprofiles: [agents] correctly disables the service by default and enables it explicitly via --profile agents.
- Fix misleading profile documentation at top of docker-compose.yml - Add AGENTS_ENABLED flag for cleaner agent service handling - Make AGENTS_SERVICE_URL configurable via environment variable - Prevent noisy connection errors when agents service isn't running This provides a cleaner way to disable the agents service and allows the application to skip agent wiring when AGENTS_ENABLED=false. 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
…ero (coleam00#506) Bumps [prometheus-client](https://github.com/prometheus/client_python) from 0.20.0 to 0.24.1. - [Release notes](https://github.com/prometheus/client_python/releases) - [Commits](prometheus/client_python@v0.20.0...v0.24.1) --- updated-dependencies: - dependency-name: prometheus-client dependency-version: 0.24.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Pull Request
Summary
Disables the archon-agents service by default to prevent startup issues while it's under development. The service can still be enabled when needed using Docker profiles.
Changes Made
Type of Change
Affected Services
Testing
Test Evidence
Checklist
Breaking Changes
None - This change is backward compatible. The agents service can be re-enabled at any time using:
Additional Notes
Summary by CodeRabbit