Hub Config

hub.yaml is your central ElasticClaw configuration file — it defines providers, templates, and global settings.

Overview

The hub config lives at hub.yaml in your project root (or at ~/.elasticclaw/hub.yaml for global config). It tells ElasticClaw where to provision VMs, which templates to use, and how to connect integrations.

Example hub.yaml

yaml
version: "1"

provider:
  type: replicated-cmx
  endpoint: https://api.replicated.com
  token: ${REPLICATED_API_TOKEN}

defaults:
  instance_type: r1.small
  region: us-east-1
  ttl: 24h

templates:
  - name: my-template
    source: ./templates/my-template
    description: "General purpose dev agent"

integrations:
  github:
    app_id: ${GITHUB_APP_ID}
    private_key_path: ./github-app.pem
    installation_id: ${GITHUB_INSTALLATION_ID}
  linear:
    token: ${LINEAR_API_TOKEN}
    team_id: ${LINEAR_TEAM_ID}

web:
  enabled: true
  port: 8080
  auth_token: ${ELASTICCLAW_WEB_TOKEN}

Fields Reference

versionConfig schema version. Currently "1".
providerVM provider config. See Providers docs.
defaultsDefault VM instance type, region, and TTL for all agents.
templatesList of agent templates. Each entry points to a directory with an elasticclaw-config.yaml.
integrations.githubGitHub App credentials for issue/PR integration.
integrations.linearLinear API token and team ID for ticket sync.
webWeb dashboard config — enable, port, and auth token.
All ${...} values are resolved from environment variables. Use a .env file or your secrets manager of choice.