Skip to main content

Cross-platform deployment orchestration for CrewAI agents

Project description

CrewAI Agent Deployment Orchestrator

Python 3.9+ License: MIT

Cross-platform deployment orchestration for CrewAI agents. Analyze agent codebases and generate optimized Docker configurations with one command.

Quick Start

# Install
pip install crewai-deploy-orchestrator

# Analyze an agent and generate deployment configs
crewai-deploy /path/to/agent --output ./deployment

# Or use directly with Python
python -m orchestrator /path/to/agent --output ./deployment

Installation

From PyPI

pip install crewai-deploy-orchestrator

From Source

git clone https://github.com/yourorg/crewai-deploy-orchestrator.git
cd crewai-deploy-orchestrator
pip install -r requirements.txt

Development Installation

pip install -e ".[dev]"

Features

  • Agent Analysis: Parse CrewAI agent definitions to extract dependencies
  • Dependency Detection: Identify Python packages and system requirements
  • Docker Generation: Create optimized Dockerfile and docker-compose.yml
  • Health Monitoring: Built-in health checks and monitoring setup
  • Multi-Platform: Ready for cloud deployment (AWS, GCP, Azure, etc.)

Usage Examples

Basic Usage

# Analyze an agent and generate deployment configs
crewai-deploy /path/to/agent --output ./deployment

# With custom agent name
crewai-deploy /path/to/agent --output ./deployment --agent-name my-agent

Example with Included Examples

# Test with included examples
crewai-deploy examples/simple_agent --output simple_deployment

# Deploy
cd simple_deployment
docker-compose up -d

Output Structure

The tool generates the following files:

deployment/
├── Dockerfile           # Optimized container definition
├── docker-compose.yml   # Multi-service orchestration
├── requirements.txt     # Python dependencies
├── health_check.py      # Health monitoring endpoint
├── prometheus.yml       # Monitoring configuration
└── logs/                # Log directory (mounted volume)

How It Works

1. Agent Analysis

The tool scans your CrewAI agent codebase for:

  • Python imports and dependencies
  • Agent class definitions (Agent, CrewAI patterns)
  • Requirements files (requirements.txt, setup.py, pyproject.toml)
  • System package requirements (apt-get install patterns)

2. Dependency Resolution

  • Extracts all Python package dependencies
  • Identifies system-level requirements
  • Creates optimized installation order

3. Docker Configuration

  • Generates optimized Dockerfile with caching
  • Creates docker-compose.yml with health checks
  • Includes monitoring setup (Prometheus)
  • Sets up volume mounts for persistence

4. Health Monitoring

  • Built-in FastAPI health endpoint
  • Resource usage monitoring (CPU, memory)
  • Agent status reporting
  • Ready for integration with monitoring stacks

Testing

Run the test suite:

python test_orchestrator.py

The test suite includes:

  • Simple agent analysis
  • Web research agent analysis
  • CLI interface testing
  • Docker config generation

Example Agents

The repository includes two example agents:

1. Simple Agent (examples/simple_agent/)

  • Basic data analysis agent
  • Report generation workflow
  • Minimal dependencies

2. Web Research Agent (examples/web_research_agent/)

  • Multi-agent research system
  • Web scraping capabilities
  • Async processing
  • Comprehensive reporting

Deployment Options

Local Development

docker-compose up -d

Production Considerations

  • Set environment variables for API keys
  • Configure resource limits in docker-compose.yml
  • Add SSL/TLS termination
  • Set up proper logging and monitoring
  • Implement backup strategies

Cloud Deployment

  • AWS: Deploy to ECS/EKS with Load Balancer
  • GCP: Deploy to Cloud Run or GKE
  • Azure: Deploy to Container Apps or AKS
  • Kubernetes: Use generated manifests with kompose convert

Configuration

Environment Variables

# Agent configuration
OPENAI_API_KEY=your_key_here
LOG_LEVEL=INFO
PYTHONPATH=/app

# Docker configuration
MEMORY_LIMIT=2g
CPU_LIMIT=1.0

Customizing Deployment

Edit generated files:

  • Dockerfile: Add custom build steps
  • docker-compose.yml: Adjust resource limits, add services
  • prometheus.yml: Configure monitoring targets
  • health_check.py: Add custom health checks

Limitations (MVP)

  • Currently supports Python/CrewAI agents only
  • Basic dependency resolution (no conflict handling)
  • Assumes FastAPI for health endpoints
  • Limited system package detection
  • No automatic cloud deployment integration

Roadmap

  • Advanced dependency conflict resolution
  • Cloud provider templates (AWS, GCP, Azure)
  • Kubernetes manifests generation
  • Database and cache integration
  • Secret management
  • CI/CD pipeline templates
  • Multi-language agent support
  • Performance optimization recommendations

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Add tests for new functionality
  4. Submit a pull request

License

MIT License - See LICENSE file for details.

Community

  • GitHub Issues: Report bugs and feature requests
  • Discussions: Share ideas and ask questions
  • CrewAI Discord: Join the CrewAI community

Built for the CrewAI ecosystem • Deploy agents anywhere with confidence

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crewai_deploy_orchestrator-0.1.0.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

crewai_deploy_orchestrator-0.1.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file crewai_deploy_orchestrator-0.1.0.tar.gz.

File metadata

File hashes

Hashes for crewai_deploy_orchestrator-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e7564d5457447abe9179c7908ccba2dcda8efcd10785ae11c9c26ae10bf974d9
MD5 5ee58d629cd68719f590662adb61a9e7
BLAKE2b-256 29a52e466df634af36ea1d7c13fe0ded4ef0dbde6206e2e2af54fbaf1115ce3a

See more details on using hashes here.

File details

Details for the file crewai_deploy_orchestrator-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for crewai_deploy_orchestrator-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 971188da835984b28cd01a40a18632010d9cbb2a9bbb4f397d6e480286b2e395
MD5 0845226b675d9304874cbdb6716fdf04
BLAKE2b-256 e668b614715091bb37879f80fc17938f4665666128e8d6aee4c22a5f28355587

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page