From 8063f03d87b316e225296e0c2a65bf2fc14120fa Mon Sep 17 00:00:00 2001 From: tduhamel42 Date: Thu, 16 Oct 2025 12:12:49 +0200 Subject: [PATCH] docs: Update README and fix worker startup instructions README updates: - Update docker compose command (now main docker-compose.yml) - Remove obsolete insecure registries section (MinIO replaces local registry) - Add .env configuration section for AI agent API keys Worker management fixes: - Add worker_service field to API response (backend) - Fix CLI help message to use correct service name with 'docker compose up -d' - Use modern 'docker compose' syntax instead of deprecated 'docker-compose' This ensures users get correct instructions when workers aren't running. --- README.md | 38 +++++-------------- backend/src/api/workflows.py | 1 + .../fuzzforge_cli/commands/workflow_exec.py | 3 +- 3 files changed, 13 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index e518bae..4e6aa9b 100644 --- a/README.md +++ b/README.md @@ -81,38 +81,20 @@ curl -LsSf https://astral.sh/uv/install.sh | sh **Docker** For containerized workflows, see the [Docker Installation Guide](https://docs.docker.com/get-docker/). -#### Configure Docker Daemon +#### Configure AI Agent API Keys (Optional) -Before running `docker compose up`, configure Docker to allow insecure registries (required for the local registry). +For AI-powered workflows, configure your LLM API keys: -Add the following to your Docker daemon configuration: - -```json -{ - "insecure-registries": [ - "localhost:5000", - "host.docker.internal:5001", - "registry:5000" - ] -} +```bash +cp volumes/env/.env.example volumes/env/.env +# Edit volumes/env/.env and add your API keys (OpenAI, Anthropic, Google, etc.) ``` -**macOS (Docker Desktop):** -1. Open Docker Desktop -2. Go to Settings → Docker Engine -3. Add the `insecure-registries` configuration to the JSON -4. Click "Apply & Restart" +This is required for: +- `llm_secret_detection` workflow +- AI agent features (`ff ai agent`) -**Linux:** -1. Edit `/etc/docker/daemon.json` (create if it doesn't exist): - ```bash - sudo nano /etc/docker/daemon.json - ``` -2. Add the configuration above -3. Restart Docker: - ```bash - sudo systemctl restart docker - ``` +Basic security workflows (gitleaks, trufflehog, security_assessment) work without this configuration. ### CLI Installation @@ -139,7 +121,7 @@ git clone https://github.com/fuzzinglabs/fuzzforge_ai.git cd fuzzforge_ai # 2. Start FuzzForge with Temporal -docker-compose -f docker-compose.temporal.yaml up -d +docker compose up -d ``` > The first launch can take 2-3 minutes for services to initialize ☕ diff --git a/backend/src/api/workflows.py b/backend/src/api/workflows.py index 36d65a3..513ffea 100644 --- a/backend/src/api/workflows.py +++ b/backend/src/api/workflows.py @@ -567,6 +567,7 @@ async def get_workflow_worker_info( "workflow": workflow_name, "vertical": vertical, "worker_container": f"fuzzforge-worker-{vertical}", + "worker_service": f"worker-{vertical}", "task_queue": f"{vertical}-queue", "required": True } diff --git a/cli/src/fuzzforge_cli/commands/workflow_exec.py b/cli/src/fuzzforge_cli/commands/workflow_exec.py index 75b9135..959e94f 100644 --- a/cli/src/fuzzforge_cli/commands/workflow_exec.py +++ b/cli/src/fuzzforge_cli/commands/workflow_exec.py @@ -385,13 +385,14 @@ def execute_workflow( # Ensure worker is running worker_container = worker_info["worker_container"] + worker_service = worker_info.get("worker_service", f"worker-{worker_info['vertical']}") if not worker_mgr.ensure_worker_running(worker_info, auto_start=should_auto_start): console.print( f"❌ Worker not available: {worker_info['vertical']}", style="red" ) console.print( - f"💡 Start the worker manually: docker-compose start {worker_container}" + f"💡 Start the worker manually: docker compose up -d {worker_service}" ) raise typer.Exit(1)