907 lines
18 KiB
Markdown
907 lines
18 KiB
Markdown
# 🚀 Deployment Options: Complete Guide
|
|
|
|
**5 deployment strategies • Local to cloud scale • Production-ready**
|
|
|
|
---
|
|
|
|
## 📑 Quick Navigation
|
|
|
|
[← Back to Main README](https://github.com/ruvnet/agentic-flow/blob/main/README.md) | [MCP Tools ←](https://github.com/ruvnet/agentic-flow/blob/main/docs/guides/MCP-TOOLS.md) | [Agent Booster →](https://github.com/ruvnet/agentic-flow/blob/main/docs/guides/AGENT-BOOSTER.md)
|
|
|
|
---
|
|
|
|
## 🎯 Deployment Strategy Overview
|
|
|
|
Choose the right deployment based on your needs:
|
|
|
|
| Deployment | Best For | Setup Time | Cost | Scale |
|
|
|------------|----------|------------|------|-------|
|
|
| **Local (npx)** | Development, testing | 30 seconds | Free | 1-10 agents |
|
|
| **Local (Global)** | Personal projects | 2 minutes | Free | 10-50 agents |
|
|
| **Docker** | CI/CD, production | 10 minutes | Low | 50-500 agents |
|
|
| **Kubernetes** | Enterprise scale | 30 minutes | Medium | 500-10K+ agents |
|
|
| **Flow Nexus Cloud** | Instant scale, managed | 5 minutes | Pay-as-you-go | Unlimited |
|
|
|
|
---
|
|
|
|
## 1️⃣ Local Development (npx)
|
|
|
|
**Perfect for**: Quick experiments, one-off tasks, development
|
|
|
|
### Quick Start
|
|
|
|
```bash
|
|
# No installation needed - run directly
|
|
npx agentic-flow --agent coder --task "Build a REST API"
|
|
|
|
# With specific model
|
|
npx agentic-flow \
|
|
--agent researcher \
|
|
--task "Analyze microservices trends" \
|
|
--model "claude-3-5-sonnet-20241022"
|
|
|
|
# With streaming output
|
|
npx agentic-flow \
|
|
--agent coder \
|
|
--task "Create web scraper" \
|
|
--stream
|
|
```
|
|
|
|
### Configuration
|
|
|
|
Set environment variables:
|
|
|
|
```bash
|
|
# API Keys
|
|
export ANTHROPIC_API_KEY=sk-ant-...
|
|
export OPENROUTER_API_KEY=sk-or-...
|
|
export GOOGLE_GEMINI_API_KEY=...
|
|
|
|
# Optional: Model preferences
|
|
export PROVIDER=anthropic # anthropic, openrouter, gemini, onnx
|
|
export MODEL=claude-3-5-sonnet-20241022
|
|
|
|
# Optional: Cost optimization
|
|
export ROUTER_ENABLED=true
|
|
export ROUTER_PRIORITY=balanced # cost, quality, speed, balanced
|
|
```
|
|
|
|
### Pros & Cons
|
|
|
|
**Pros:**
|
|
- ✅ Zero installation
|
|
- ✅ Perfect for quick tasks
|
|
- ✅ Always latest version
|
|
- ✅ No configuration needed
|
|
|
|
**Cons:**
|
|
- ❌ Slower startup (downloads on each run)
|
|
- ❌ No persistent configuration
|
|
- ❌ Limited to single agent tasks
|
|
|
|
---
|
|
|
|
## 2️⃣ Local Installation (Global)
|
|
|
|
**Perfect for**: Regular use, personal automation, local development
|
|
|
|
### Installation
|
|
|
|
```bash
|
|
# Install globally
|
|
npm install -g agentic-flow
|
|
|
|
# Verify installation
|
|
agentic-flow --version
|
|
agentic-flow --help
|
|
```
|
|
|
|
### Configuration
|
|
|
|
Create `~/.agentic-flow/config.json`:
|
|
|
|
```json
|
|
{
|
|
"defaultProvider": "anthropic",
|
|
"defaultModel": "claude-3-5-sonnet-20241022",
|
|
"router": {
|
|
"enabled": true,
|
|
"priority": "balanced",
|
|
"maxCost": 1.00
|
|
},
|
|
"providers": {
|
|
"anthropic": {
|
|
"apiKey": "${ANTHROPIC_API_KEY}",
|
|
"baseUrl": "https://api.anthropic.com"
|
|
},
|
|
"openrouter": {
|
|
"apiKey": "${OPENROUTER_API_KEY}",
|
|
"baseUrl": "https://openrouter.ai/api/v1"
|
|
},
|
|
"gemini": {
|
|
"apiKey": "${GOOGLE_GEMINI_API_KEY}"
|
|
}
|
|
},
|
|
"reasoningbank": {
|
|
"enabled": true,
|
|
"dbPath": "~/.agentic-flow/memory.db"
|
|
}
|
|
}
|
|
```
|
|
|
|
### Usage
|
|
|
|
```bash
|
|
# Run agents directly
|
|
agentic-flow --agent coder --task "Build API"
|
|
|
|
# List available agents
|
|
agentic-flow --list
|
|
|
|
# MCP server management
|
|
agentic-flow mcp add weather 'npx @modelcontextprotocol/server-weather'
|
|
agentic-flow mcp list
|
|
agentic-flow mcp remove weather
|
|
|
|
# ReasoningBank commands
|
|
agentic-flow reasoningbank init
|
|
agentic-flow reasoningbank status
|
|
```
|
|
|
|
### Advanced Configuration
|
|
|
|
Create `~/.agentic-flow/agents/custom-agent.md`:
|
|
|
|
```markdown
|
|
# Custom Developer Agent
|
|
|
|
## Role
|
|
Full-stack developer specializing in React and Node.js
|
|
|
|
## Capabilities
|
|
- Frontend: React, TypeScript, Tailwind
|
|
- Backend: Node.js, Express, PostgreSQL
|
|
- DevOps: Docker, GitHub Actions
|
|
|
|
## Instructions
|
|
You are an expert full-stack developer. Always:
|
|
1. Write TypeScript with strict types
|
|
2. Include comprehensive tests
|
|
3. Follow clean code principles
|
|
4. Document all public APIs
|
|
```
|
|
|
|
Then use it:
|
|
|
|
```bash
|
|
agentic-flow --agent custom-developer --task "Build dashboard"
|
|
```
|
|
|
|
### Pros & Cons
|
|
|
|
**Pros:**
|
|
- ✅ Fast startup (no downloads)
|
|
- ✅ Persistent configuration
|
|
- ✅ Custom agents support
|
|
- ✅ Full MCP tool access
|
|
|
|
**Cons:**
|
|
- ❌ Manual updates needed
|
|
- ❌ Single machine only
|
|
- ❌ Limited to local resources
|
|
|
|
---
|
|
|
|
## 3️⃣ Docker Deployment
|
|
|
|
**Perfect for**: CI/CD pipelines, reproducible environments, production
|
|
|
|
### Basic Dockerfile
|
|
|
|
Create `Dockerfile`:
|
|
|
|
```dockerfile
|
|
FROM node:18-alpine
|
|
|
|
# Install dependencies
|
|
RUN apk add --no-cache \
|
|
git \
|
|
python3 \
|
|
make \
|
|
g++
|
|
|
|
# Create app directory
|
|
WORKDIR /app
|
|
|
|
# Install agentic-flow
|
|
RUN npm install -g agentic-flow
|
|
|
|
# Copy configuration
|
|
COPY config.json /root/.agentic-flow/config.json
|
|
|
|
# Set environment variables
|
|
ENV ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
|
|
ENV OPENROUTER_API_KEY=${OPENROUTER_API_KEY}
|
|
|
|
# Entry point
|
|
ENTRYPOINT ["agentic-flow"]
|
|
CMD ["--help"]
|
|
```
|
|
|
|
### Build and Run
|
|
|
|
```bash
|
|
# Build image
|
|
docker build -t agentic-flow:latest .
|
|
|
|
# Run single agent
|
|
docker run --rm \
|
|
-e ANTHROPIC_API_KEY=sk-ant-... \
|
|
agentic-flow:latest \
|
|
--agent coder \
|
|
--task "Build REST API"
|
|
|
|
# Run with volume mount (for persistent memory)
|
|
docker run --rm \
|
|
-e ANTHROPIC_API_KEY=sk-ant-... \
|
|
-v $(pwd)/memory:/root/.agentic-flow \
|
|
agentic-flow:latest \
|
|
--agent researcher \
|
|
--task "Analyze trends"
|
|
```
|
|
|
|
### Docker Compose
|
|
|
|
Create `docker-compose.yml`:
|
|
|
|
```yaml
|
|
version: '3.8'
|
|
|
|
services:
|
|
agent:
|
|
build: .
|
|
image: agentic-flow:latest
|
|
environment:
|
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
|
|
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY}
|
|
- ROUTER_ENABLED=true
|
|
- REASONINGBANK_ENABLED=true
|
|
volumes:
|
|
- ./config:/root/.agentic-flow
|
|
- ./data:/data
|
|
command: --agent coder --task "Build API"
|
|
|
|
postgres:
|
|
image: postgres:15-alpine
|
|
environment:
|
|
- POSTGRES_PASSWORD=password
|
|
- POSTGRES_DB=agentic_flow
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
ports:
|
|
- "5432:5432"
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
volumes:
|
|
- redis_data:/data
|
|
ports:
|
|
- "6379:6379"
|
|
|
|
volumes:
|
|
postgres_data:
|
|
redis_data:
|
|
```
|
|
|
|
Run with:
|
|
|
|
```bash
|
|
docker-compose up -d
|
|
docker-compose logs -f agent
|
|
docker-compose down
|
|
```
|
|
|
|
### CI/CD Integration
|
|
|
|
#### GitHub Actions
|
|
|
|
Create `.github/workflows/agent.yml`:
|
|
|
|
```yaml
|
|
name: Run Agentic Flow
|
|
|
|
on:
|
|
pull_request:
|
|
types: [opened, synchronize]
|
|
|
|
jobs:
|
|
code-review:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Run code review agent
|
|
uses: docker://agentic-flow:latest
|
|
env:
|
|
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
with:
|
|
args: --agent reviewer --task "Review PR changes"
|
|
|
|
- name: Run tests
|
|
run: npm test
|
|
```
|
|
|
|
#### GitLab CI
|
|
|
|
Create `.gitlab-ci.yml`:
|
|
|
|
```yaml
|
|
stages:
|
|
- review
|
|
- test
|
|
|
|
code-review:
|
|
stage: review
|
|
image: agentic-flow:latest
|
|
script:
|
|
- agentic-flow --agent reviewer --task "Review MR $CI_MERGE_REQUEST_IID"
|
|
only:
|
|
- merge_requests
|
|
variables:
|
|
ANTHROPIC_API_KEY: $ANTHROPIC_API_KEY
|
|
```
|
|
|
|
### Pros & Cons
|
|
|
|
**Pros:**
|
|
- ✅ Reproducible environments
|
|
- ✅ Easy CI/CD integration
|
|
- ✅ Version control for config
|
|
- ✅ Isolated dependencies
|
|
|
|
**Cons:**
|
|
- ❌ Docker overhead
|
|
- ❌ More complex setup
|
|
- ❌ Resource limits per container
|
|
|
|
---
|
|
|
|
## 4️⃣ Kubernetes Deployment
|
|
|
|
**Perfect for**: Enterprise scale, high availability, auto-scaling
|
|
|
|
### Prerequisites
|
|
|
|
```bash
|
|
# Install kubectl
|
|
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
|
|
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
|
|
|
|
# Install Helm
|
|
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
|
|
```
|
|
|
|
### Kubernetes Manifests
|
|
|
|
#### 1. ConfigMap (`config.yaml`)
|
|
|
|
```yaml
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: agentic-flow-config
|
|
namespace: agentic-flow
|
|
data:
|
|
config.json: |
|
|
{
|
|
"defaultProvider": "anthropic",
|
|
"router": {
|
|
"enabled": true,
|
|
"priority": "balanced"
|
|
}
|
|
}
|
|
```
|
|
|
|
#### 2. Secret (`secrets.yaml`)
|
|
|
|
```yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: agentic-flow-secrets
|
|
namespace: agentic-flow
|
|
type: Opaque
|
|
stringData:
|
|
anthropic-api-key: sk-ant-...
|
|
openrouter-api-key: sk-or-...
|
|
```
|
|
|
|
#### 3. Deployment (`deployment.yaml`)
|
|
|
|
```yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: agentic-flow-agent
|
|
namespace: agentic-flow
|
|
spec:
|
|
replicas: 3
|
|
selector:
|
|
matchLabels:
|
|
app: agentic-flow
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: agentic-flow
|
|
spec:
|
|
containers:
|
|
- name: agent
|
|
image: agentic-flow:latest
|
|
env:
|
|
- name: ANTHROPIC_API_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: agentic-flow-secrets
|
|
key: anthropic-api-key
|
|
- name: OPENROUTER_API_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: agentic-flow-secrets
|
|
key: openrouter-api-key
|
|
- name: ROUTER_ENABLED
|
|
value: "true"
|
|
volumeMounts:
|
|
- name: config
|
|
mountPath: /root/.agentic-flow
|
|
resources:
|
|
requests:
|
|
memory: "512Mi"
|
|
cpu: "500m"
|
|
limits:
|
|
memory: "2Gi"
|
|
cpu: "2000m"
|
|
volumes:
|
|
- name: config
|
|
configMap:
|
|
name: agentic-flow-config
|
|
```
|
|
|
|
#### 4. Service (`service.yaml`)
|
|
|
|
```yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: agentic-flow-service
|
|
namespace: agentic-flow
|
|
spec:
|
|
selector:
|
|
app: agentic-flow
|
|
ports:
|
|
- protocol: TCP
|
|
port: 8080
|
|
targetPort: 8080
|
|
type: LoadBalancer
|
|
```
|
|
|
|
#### 5. HorizontalPodAutoscaler (`hpa.yaml`)
|
|
|
|
```yaml
|
|
apiVersion: autoscaling/v2
|
|
kind: HorizontalPodAutoscaler
|
|
metadata:
|
|
name: agentic-flow-hpa
|
|
namespace: agentic-flow
|
|
spec:
|
|
scaleTargetRef:
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
name: agentic-flow-agent
|
|
minReplicas: 3
|
|
maxReplicas: 100
|
|
metrics:
|
|
- type: Resource
|
|
resource:
|
|
name: cpu
|
|
target:
|
|
type: Utilization
|
|
averageUtilization: 70
|
|
- type: Resource
|
|
resource:
|
|
name: memory
|
|
target:
|
|
type: Utilization
|
|
averageUtilization: 80
|
|
```
|
|
|
|
### Deploy to Kubernetes
|
|
|
|
```bash
|
|
# Create namespace
|
|
kubectl create namespace agentic-flow
|
|
|
|
# Apply manifests
|
|
kubectl apply -f config.yaml
|
|
kubectl apply -f secrets.yaml
|
|
kubectl apply -f deployment.yaml
|
|
kubectl apply -f service.yaml
|
|
kubectl apply -f hpa.yaml
|
|
|
|
# Verify deployment
|
|
kubectl get pods -n agentic-flow
|
|
kubectl get svc -n agentic-flow
|
|
|
|
# View logs
|
|
kubectl logs -f deployment/agentic-flow-agent -n agentic-flow
|
|
|
|
# Scale manually
|
|
kubectl scale deployment/agentic-flow-agent --replicas=10 -n agentic-flow
|
|
```
|
|
|
|
### Helm Chart
|
|
|
|
Create `helm/agentic-flow/values.yaml`:
|
|
|
|
```yaml
|
|
replicaCount: 3
|
|
|
|
image:
|
|
repository: agentic-flow
|
|
tag: latest
|
|
pullPolicy: IfNotPresent
|
|
|
|
resources:
|
|
requests:
|
|
memory: "512Mi"
|
|
cpu: "500m"
|
|
limits:
|
|
memory: "2Gi"
|
|
cpu: "2000m"
|
|
|
|
autoscaling:
|
|
enabled: true
|
|
minReplicas: 3
|
|
maxReplicas: 100
|
|
targetCPUUtilization: 70
|
|
targetMemoryUtilization: 80
|
|
|
|
config:
|
|
defaultProvider: anthropic
|
|
router:
|
|
enabled: true
|
|
priority: balanced
|
|
|
|
secrets:
|
|
anthropicApiKey: "" # Set via --set secrets.anthropicApiKey=sk-ant-...
|
|
openrouterApiKey: ""
|
|
```
|
|
|
|
Install with Helm:
|
|
|
|
```bash
|
|
helm install agentic-flow ./helm/agentic-flow \
|
|
--namespace agentic-flow \
|
|
--create-namespace \
|
|
--set secrets.anthropicApiKey=sk-ant-... \
|
|
--set secrets.openrouterApiKey=sk-or-...
|
|
```
|
|
|
|
### Pros & Cons
|
|
|
|
**Pros:**
|
|
- ✅ Auto-scaling (3-100+ pods)
|
|
- ✅ High availability
|
|
- ✅ Rolling updates
|
|
- ✅ Health checks & self-healing
|
|
- ✅ Enterprise-grade
|
|
|
|
**Cons:**
|
|
- ❌ Complex setup
|
|
- ❌ Higher infrastructure cost
|
|
- ❌ Requires Kubernetes expertise
|
|
|
|
---
|
|
|
|
## 5️⃣ Flow Nexus Cloud
|
|
|
|
**Perfect for**: Instant scale, managed infrastructure, zero DevOps
|
|
|
|
### Quick Start
|
|
|
|
```bash
|
|
# Install Flow Nexus CLI
|
|
npm install -g flow-nexus
|
|
|
|
# Register account
|
|
npx flow-nexus register
|
|
|
|
# Login
|
|
npx flow-nexus login
|
|
|
|
# Deploy swarm
|
|
npx flow-nexus swarm create \
|
|
--topology mesh \
|
|
--max-agents 10 \
|
|
--strategy balanced
|
|
```
|
|
|
|
### Cloud Deployment via MCP
|
|
|
|
```javascript
|
|
// Initialize cloud swarm
|
|
await query({
|
|
mcp: {
|
|
server: 'flow-nexus',
|
|
tool: 'swarm_init',
|
|
params: {
|
|
topology: 'mesh',
|
|
maxAgents: 50,
|
|
strategy: 'adaptive'
|
|
}
|
|
}
|
|
});
|
|
|
|
// Spawn cloud agents
|
|
await query({
|
|
mcp: {
|
|
server: 'flow-nexus',
|
|
tool: 'agent_spawn',
|
|
params: {
|
|
type: 'coder',
|
|
name: 'cloud-backend-dev'
|
|
}
|
|
}
|
|
});
|
|
|
|
// Create cloud sandbox for execution
|
|
await query({
|
|
mcp: {
|
|
server: 'flow-nexus',
|
|
tool: 'sandbox_create',
|
|
params: {
|
|
template: 'node',
|
|
env_vars: {
|
|
DATABASE_URL: '...',
|
|
API_KEY: '...'
|
|
}
|
|
}
|
|
}
|
|
});
|
|
```
|
|
|
|
### Features
|
|
|
|
- **Instant Scale**: 0 to 1000+ agents in seconds
|
|
- **Managed Infrastructure**: No servers to maintain
|
|
- **E2B Sandboxes**: Isolated execution environments
|
|
- **Neural Network Training**: Distributed GPU acceleration
|
|
- **Real-time Monitoring**: Live execution streams
|
|
- **Pay-as-you-go**: Only pay for what you use
|
|
|
|
### Pricing
|
|
|
|
| Tier | Price | Agents | Features |
|
|
|------|-------|--------|----------|
|
|
| **Free** | $0/month | 5 concurrent | Basic features |
|
|
| **Pro** | $29/month | 50 concurrent | Neural networks, sandboxes |
|
|
| **Team** | $99/month | 200 concurrent | Priority support, SLA |
|
|
| **Enterprise** | Custom | Unlimited | Dedicated, custom SLA |
|
|
|
|
### Pros & Cons
|
|
|
|
**Pros:**
|
|
- ✅ Zero infrastructure management
|
|
- ✅ Instant global scale
|
|
- ✅ Built-in neural networks
|
|
- ✅ E2B sandbox integration
|
|
- ✅ Real-time monitoring
|
|
|
|
**Cons:**
|
|
- ❌ Requires internet connection
|
|
- ❌ Monthly cost (after free tier)
|
|
- ❌ Data leaves your infrastructure
|
|
|
|
---
|
|
|
|
## 🔒 Security Best Practices
|
|
|
|
### API Key Management
|
|
|
|
```bash
|
|
# Use environment variables
|
|
export ANTHROPIC_API_KEY=sk-ant-...
|
|
|
|
# Use secrets management (Kubernetes)
|
|
kubectl create secret generic api-keys \
|
|
--from-literal=anthropic=sk-ant-... \
|
|
--from-literal=openrouter=sk-or-...
|
|
|
|
# Use HashiCorp Vault
|
|
vault kv put secret/agentic-flow \
|
|
anthropic_key=sk-ant-... \
|
|
openrouter_key=sk-or-...
|
|
```
|
|
|
|
### Network Security
|
|
|
|
```yaml
|
|
# Kubernetes NetworkPolicy
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: NetworkPolicy
|
|
metadata:
|
|
name: agentic-flow-netpol
|
|
namespace: agentic-flow
|
|
spec:
|
|
podSelector:
|
|
matchLabels:
|
|
app: agentic-flow
|
|
policyTypes:
|
|
- Ingress
|
|
- Egress
|
|
ingress:
|
|
- from:
|
|
- namespaceSelector:
|
|
matchLabels:
|
|
name: agentic-flow
|
|
ports:
|
|
- protocol: TCP
|
|
port: 8080
|
|
egress:
|
|
- to:
|
|
- namespaceSelector: {}
|
|
ports:
|
|
- protocol: TCP
|
|
port: 443 # HTTPS only
|
|
```
|
|
|
|
### Data Protection
|
|
|
|
- **Encrypt at rest**: Use encrypted volumes
|
|
- **Encrypt in transit**: TLS 1.3 for all communications
|
|
- **PII scrubbing**: Enable ReasoningBank PII scrubber
|
|
- **Audit logging**: Track all API calls and agent actions
|
|
|
|
---
|
|
|
|
## 📊 Performance Optimization
|
|
|
|
### Local Optimization
|
|
|
|
```bash
|
|
# Enable caching
|
|
export CACHE_ENABLED=true
|
|
export CACHE_TTL=3600
|
|
|
|
# Limit concurrency
|
|
export MAX_CONCURRENT_AGENTS=5
|
|
|
|
# Use local ONNX models
|
|
export PROVIDER=onnx
|
|
export ONNX_MODEL_PATH=./models/phi-4
|
|
```
|
|
|
|
### Docker Optimization
|
|
|
|
```dockerfile
|
|
# Multi-stage build for smaller images
|
|
FROM node:18-alpine AS builder
|
|
WORKDIR /app
|
|
RUN npm install -g agentic-flow --production
|
|
|
|
FROM node:18-alpine
|
|
COPY --from=builder /usr/local/lib/node_modules /usr/local/lib/node_modules
|
|
COPY --from=builder /usr/local/bin/agentic-flow /usr/local/bin/agentic-flow
|
|
```
|
|
|
|
### Kubernetes Optimization
|
|
|
|
```yaml
|
|
# Resource limits
|
|
resources:
|
|
requests:
|
|
memory: "256Mi" # Start small
|
|
cpu: "250m"
|
|
limits:
|
|
memory: "1Gi" # Allow bursts
|
|
cpu: "1000m"
|
|
|
|
# Pod affinity for better locality
|
|
affinity:
|
|
podAffinity:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
- weight: 100
|
|
podAffinityTerm:
|
|
labelSelector:
|
|
matchLabels:
|
|
app: agentic-flow
|
|
topologyKey: kubernetes.io/hostname
|
|
```
|
|
|
|
---
|
|
|
|
## 📈 Monitoring & Observability
|
|
|
|
### Prometheus Metrics
|
|
|
|
```yaml
|
|
# ServiceMonitor for Prometheus
|
|
apiVersion: monitoring.coreos.com/v1
|
|
kind: ServiceMonitor
|
|
metadata:
|
|
name: agentic-flow
|
|
namespace: agentic-flow
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: agentic-flow
|
|
endpoints:
|
|
- port: metrics
|
|
interval: 30s
|
|
```
|
|
|
|
### Grafana Dashboard
|
|
|
|
Import dashboard JSON:
|
|
- Panel 1: Agent count over time
|
|
- Panel 2: Task success rate
|
|
- Panel 3: Average task duration
|
|
- Panel 4: Token usage
|
|
- Panel 5: Cost tracking
|
|
|
|
### Logging
|
|
|
|
```yaml
|
|
# Fluentd configuration
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: fluentd-config
|
|
data:
|
|
fluent.conf: |
|
|
<source>
|
|
@type tail
|
|
path /var/log/agentic-flow/*.log
|
|
tag agentic-flow.*
|
|
</source>
|
|
<match agentic-flow.**>
|
|
@type elasticsearch
|
|
host elasticsearch.logging.svc
|
|
port 9200
|
|
</match>
|
|
```
|
|
|
|
---
|
|
|
|
## 🔗 Related Documentation
|
|
|
|
### Core Components
|
|
- [← Back to Main README](https://github.com/ruvnet/agentic-flow/blob/main/README.md)
|
|
- [Agent Booster (Code Transformations)](https://github.com/ruvnet/agentic-flow/blob/main/docs/guides/AGENT-BOOSTER.md)
|
|
- [ReasoningBank (Learning Memory)](https://github.com/ruvnet/agentic-flow/blob/main/docs/guides/REASONINGBANK.md)
|
|
- [Multi-Model Router (Cost Optimization)](https://github.com/ruvnet/agentic-flow/blob/main/docs/guides/MULTI-MODEL-ROUTER.md)
|
|
- [MCP Tools Reference](https://github.com/ruvnet/agentic-flow/blob/main/docs/guides/MCP-TOOLS.md)
|
|
|
|
### External Resources
|
|
- [Docker Documentation](https://docs.docker.com)
|
|
- [Kubernetes Documentation](https://kubernetes.io/docs)
|
|
- [Flow Nexus Platform](https://flow-nexus.ruv.io)
|
|
- [E2B Sandboxes](https://e2b.dev)
|
|
|
|
---
|
|
|
|
## 🤝 Contributing
|
|
|
|
Deployment improvements welcome! See [CONTRIBUTING.md](https://github.com/ruvnet/agentic-flow/blob/main/CONTRIBUTING.md).
|
|
|
|
---
|
|
|
|
## 📄 License
|
|
|
|
MIT License - see [LICENSE](https://github.com/ruvnet/agentic-flow/blob/main/LICENSE) for details.
|
|
|
|
---
|
|
|
|
**Deploy anywhere. Local to cloud. Production-ready.** 🚀
|
|
|
|
[← Back to Main README](https://github.com/ruvnet/agentic-flow/blob/main/README.md)
|