Files
fuzzforge_ai/ai/agents/task_agent/DEPLOY.md
Songbird baace0eac4 Add AI module with A2A wrapper and task agent
- Disable FuzzForge MCP connection (no Prefect backend)
- Add a2a_wrapper module for programmatic A2A agent tasks
- Add task_agent (LiteLLM A2A agent) on port 10900
- Create volumes/env/ for centralized Docker config
- Update docker-compose.yml with task-agent service
- Remove workflow_automation_skill from agent card
2025-10-14 13:05:35 +02:00

1.6 KiB

Docker & Kubernetes Deployment

Local Docker

Build from the repository root:

docker build -t litellm-hot-swap:latest agent_with_adk_format

Run the container (port 8000, inject provider keys via env file or flags):

docker run \
  -p 8000:8000 \
  --env-file agent_with_adk_format/.env \
  litellm-hot-swap:latest

The container serves Uvicorn on http://localhost:8000. Update .env (or pass -e KEY=value) before launching if you plan to hot-swap providers.

Kubernetes (example manifest)

Use the same image, optionally pushed to a registry (docker tag + docker push). A simple Deployment/Service pair:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: litellm-hot-swap
spec:
  replicas: 1
  selector:
    matchLabels:
      app: litellm-hot-swap
  template:
    metadata:
      labels:
        app: litellm-hot-swap
    spec:
      containers:
      - name: server
        image: <REGISTRY_URI>/litellm-hot-swap:latest
        ports:
        - containerPort: 8000
        env:
        - name: PORT
          value: "8000"
        - name: LITELLM_MODEL
          value: gemini/gemini-2.0-flash-001
        # Add provider keys as needed
        # - name: OPENAI_API_KEY
        #   valueFrom:
        #     secretKeyRef:
        #       name: litellm-secrets
        #       key: OPENAI_API_KEY
---
apiVersion: v1
kind: Service
metadata:
  name: litellm-hot-swap
spec:
  type: LoadBalancer
  selector:
    app: litellm-hot-swap
  ports:
  - port: 80
    targetPort: 8000

Apply with kubectl apply -f deployment.yaml. Provide secrets via env or Kubernetes Secrets.