spawn/exoscale
A 6c7ced54dd
fix: replace log_warn with log_step/log_info for non-warning messages (#604)
Agent: ux-engineer

Many shell scripts misused log_warn (yellow) for normal progress/status
messages, making routine operations appear alarming. This fixes 59 files:

- Progress messages -> log_step (cyan): "Injecting environment variables...",
  "Attaching volume...", "Powering on instance...", "Retrieving server IP...",
  "Terminating sandbox/server...", "Creating datacenter...", "Importing SSH key...",
  "Deleting service/app...", "Modal not authenticated. Running setup..."
- Informational notices -> log_info (green): WhatsApp QR code authentication
  notices (30 nanoclaw scripts), codespace delete hints (14 scripts),
  "Appending environment variables to ~/.zshrc..." (6 local scripts),
  credential prompt hints, package update skipped, app reuse notices

Co-authored-by: A <6723574+louisgv@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-12 03:24:30 -08:00
..
lib fix: replace log_warn with log_step/log_info for non-warning messages (#604) 2026-02-12 03:24:30 -08:00
aider.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
amazonq.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
claude.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
cline.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
codex.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
continue.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
gemini.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
goose.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
gptme.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
interpreter.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
kilocode.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
nanoclaw.sh fix: replace log_warn with log_step/log_info for non-warning messages (#604) 2026-02-12 03:24:30 -08:00
openclaw.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
opencode.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
plandex.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
README.md feat: Add Exoscale cloud provider with 3 agent implementations (#338) 2026-02-10 19:24:05 -08:00

Exoscale

Exoscale European cloud compute via CLI with per-second billing. Exoscale

Agents

Claude Code

bash <(curl -fsSL https://openrouter.ai/lab/spawn/exoscale/claude.sh)

Aider

bash <(curl -fsSL https://openrouter.ai/lab/spawn/exoscale/aider.sh)

Goose

bash <(curl -fsSL https://openrouter.ai/lab/spawn/exoscale/goose.sh)

Non-Interactive Mode

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.