islo.yaml configuration
islo.yaml can select the project factory. The settings below configure direct sandbox use and the environment that factory Machines may rely on.
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
factory_id
Type: factory UUID Required: No
islo factory set <key> --project writes this field. The CLI uses it to select the factory for Line, Agent, Machine, Job, and Knowledge commands in this project. Use islo factory current to inspect the selection.
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. Omit this to use your workspace default profile.
With a gateway profile (the workspace default or a custom one):
- 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.
environment
Type: string
Required: No
Named reusable environment to apply when creating a sandbox. Environments can provide sandbox env vars and environment-owned gateway-injected secrets.
Use environment names in config and CLI flows.
env
Type: object
Required: No
Environment variables to set in the sandbox.
Do not commit secrets here.
islo.yamlis checked into git (see sandbox lifecycle). Use non-secret config inenv:— feature flags, URLs without credentials, debug settings. For API keys and passwords, useislo login --tool, or pass values via--env-filepointing at a gitignored.envfile.
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.