Supported Providers
Harbor supports the following cloud execution environments:- Daytona - Fast container-based sandboxes with Docker-in-Docker support
- Modal - Serverless containers with GPU support
- E2B - Secure sandboxes with fast startup times
- Runloop - Managed evaluation environments
- GKE - Google Kubernetes Engine for large-scale deployments
Daytona
Daytona provides fast, ephemeral development environments perfect for agent evaluation.Setup
Configuration Options
Daytona environments support several configuration options:Docker Compose Support
Daytona automatically detects when your task uses Docker Compose and creates a Docker-in-Docker environment:docker-compose.yaml
When using Docker Compose, Daytona creates a DinD (Docker-in-Docker) sandbox and runs
docker compose inside it. The main service is where agent commands execute.Advanced Configuration
Modal
Modal provides serverless containers with excellent GPU support, ideal for ML-heavy evaluations.Setup
GPU Support
Modal is the recommended provider for GPU-enabled tasks:task.toml
Configuration Options
E2B
E2B provides secure, fast-starting sandboxes with built-in internet isolation.Setup
Network Isolation
E2B supports network isolation by default when specified in task config:task.toml
Runloop
Runloop provides managed environments optimized for agent evaluation.Setup
Google Kubernetes Engine (GKE)
For large-scale enterprise deployments, Harbor supports GKE.Setup
Choosing a Provider
*GKE GPU support requires cluster configuration
Cost Optimization
Use Snapshots
Pre-build environment snapshots to reduce startup time and costs:Optimize Concurrency
Higher concurrency completes faster but may hit rate limits:Use Auto-Delete
Ensure environments are deleted promptly to avoid idle charges:Troubleshooting
Rate Limits
If you hit provider rate limits, reduce concurrency:Build Timeouts
Increase build timeout for complex Docker images:Network Issues
Check if your task requires internet access:task.toml
Best Practices
- Test locally first: Run 1-2 tasks locally before scaling to cloud
- Start with lower concurrency: Gradually increase to find optimal throughput
- Use snapshots: Pre-build images to reduce startup time
- Monitor costs: Track cloud provider spending
- Set timeouts: Configure auto-stop and auto-delete to avoid idle charges
- Choose the right provider: Match provider capabilities to your task requirements
Next Steps
Running Evaluations
Learn the basics of running evaluations
Parallel Execution
Optimize parallel execution strategies
Creating Tasks
Build tasks optimized for cloud execution