islo.yaml Configuration
The islo.yaml file defines project-level sandbox configuration. Place it in your project root.
Create Configuration
Generate a configuration file with the setup wizard:
This interactive wizard creates islo.yaml and seeds setup scripts for tools it detects in your project.
Full Schema
Or use named, ordered steps instead of setup_script:
Configuration Fields
sandbox
Type: string
Required: No
Unique identifier for the sandbox. If not provided, the server generates a name.
Constraints:
- Alphanumeric characters and hyphens only
- Must be unique across your sandboxes
- Case-sensitive
image
Type: string
Required: No (defaults to ghcr.io/islo-labs/islo-runner:latest)
Docker image to use for the sandbox. Should be a fully qualified image reference.
Pre-pulled images (recommended for fast startup):
cpu
Type: integer
Required: No
Number of virtual CPUs allocated to the sandbox.
memory_mb
Type: integer
Required: No
Memory allocation in megabytes.
disk_gb
Type: integer
Required: No
Disk space allocation in gigabytes.
workdir
Type: string
Required: No
Working directory inside the sandbox. Commands and agent sessions start in this directory.
If not specified, defaults to /workspace or the root of the cloned repository.
sources
Type: array
Required: No
Git repositories to clone into the sandbox. Each entry can be a shorthand string or a structured {url, branch} object.
Shorthand formats:
Repositories are cloned during sandbox creation. Use islo init to detect and add sources from your current directory.
gateway_profile
Type: string
Required: No
Gateway profile name for network policy and authentication. Gateways control how your sandbox connects to external services.
When a gateway profile is configured:
- Network policies control which external endpoints your sandbox can reach
- Authentication is handled transparently at the host level (credentials are never exposed in the sandbox)
- Traffic can be routed through specific endpoints
See Gateways for more details.
env
Type: object
Required: No
Environment variables to set in the sandbox.
user
Type: string
Required: No
Username to run sandbox commands as. Defaults to islo (non-root).
setup_script
Type: string
Required: No
A single shell script that runs inside the sandbox after sources are cloned. Runs as the islo user in /workspace.
Use this for simple projects where one block of setup is enough. For ordered, named steps, use setup_scripts instead.
setup_scripts
Type: array of { name, script }
Required: No
Named setup steps that run in order after sources are cloned. Each step runs as the islo user in /workspace.
islo add writes entries into this list. See Setup Scripts for execution details and recipes.
Example Configurations
Minimal project
Full CI Environment
Web Development
Git-Based Workflow
This configuration clones two repositories, sets the working directory to the backend repo, and runs pip install -e . after the clones complete.
Configuration Precedence
Configuration is resolved in this order (later overrides earlier):
- Default values
islo.yamlin project directory- Environment variables (
ISLO_*) - CLI flags (
--cpu,--memory, etc.)
Environment Variables
These environment variables override islo.yaml settings:
Validation
Islo validates islo.yaml when the CLI loads it. Common problems:
Validate Configuration
Check your configuration with:
This shows your current auth state and configuration from islo.yaml.