spawn/exoscale/README.md
A b7e0c63bfc
feat: Add Exoscale cloud provider with 3 agent implementations (#338)
Add Exoscale as a new cloud provider to Spawn with:
- European cloud with per-second billing across 7 zones
- CLI-based provisioning via exo tool (auto-installed)
- SSH access with ubuntu user
- Implements claude, aider, and goose agents

Technical details:
- exoscale/lib/common.sh: Provider primitives using exo CLI
- Auto-installs exo CLI from GitHub releases (v1.90.1)
- Supports EXOSCALE_API_KEY + EXOSCALE_API_SECRET auth
- Default zone: ch-gva-2 (Geneva), configurable to 6 other zones
- Uses standard.small instance type by default
- Cloud-init support for agent setup
- Full OpenRouter integration for all agents

Matrix: Added 15 missing entries, implemented 3 (claude, aider, goose)

Agent: cloud-scout

Co-authored-by: B <6723574+louisgv@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-10 19:24:05 -08:00

65 lines
1.8 KiB
Markdown

# Exoscale
Exoscale European cloud compute via CLI with per-second billing. [Exoscale](https://www.exoscale.com/)
## Agents
#### Claude Code
```bash
bash <(curl -fsSL https://openrouter.ai/lab/spawn/exoscale/claude.sh)
```
#### Aider
```bash
bash <(curl -fsSL https://openrouter.ai/lab/spawn/exoscale/aider.sh)
```
#### Goose
```bash
bash <(curl -fsSL https://openrouter.ai/lab/spawn/exoscale/goose.sh)
```
## Non-Interactive Mode
```bash
EXOSCALE_SERVER_NAME=dev-mk1 \
EXOSCALE_API_KEY=your-key \
EXOSCALE_API_SECRET=your-secret \
OPENROUTER_API_KEY=sk-or-v1-xxxxx \
bash <(curl -fsSL https://openrouter.ai/lab/spawn/exoscale/claude.sh)
```
## Environment Variables
- `EXOSCALE_SERVER_NAME` - Name for the instance (optional, will prompt if not provided)
- `EXOSCALE_API_KEY` - Exoscale API key (required)
- `EXOSCALE_API_SECRET` - Exoscale API secret (required)
- `EXOSCALE_INSTANCE_TYPE` - Instance type (default: `standard.small`)
- `EXOSCALE_ZONE` - Zone (default: `ch-gva-2`)
- `EXOSCALE_TEMPLATE` - OS template (default: `Linux Ubuntu 24.04 LTS 64-bit`)
- `OPENROUTER_API_KEY` - OpenRouter API key (optional, will use OAuth if not provided)
## Getting Started
1. Create API credentials at https://portal.exoscale.com/iam/api-keys
2. Run one of the agent scripts above
3. The script will auto-install the exo CLI if needed
4. Configure your API credentials when prompted
5. The instance will be provisioned and the agent will start
## Available Zones
- `ch-gva-2` - Geneva, Switzerland (default)
- `ch-dk-2` - Zurich, Switzerland
- `de-fra-1` - Frankfurt, Germany
- `de-muc-1` - Munich, Germany
- `at-vie-1` - Vienna, Austria
- `at-vie-2` - Vienna, Austria
- `bg-sof-1` - Sofia, Bulgaria
## Pricing
Exoscale uses per-second billing with no upfront costs or long-term commitments. Resources are billed by the second at a flat rate across all zones.