HomeConfigureConfiguration Templates

Engine Config Templates

engine.yaml

# yaml-language-server: $schema=https://raw.githubusercontent.com/ArcadeAI/schemas/main/engine/config/1.0/schema.json
$schema: https://raw.githubusercontent.com/ArcadeAI/schemas/main/engine/config/1.0/schema.json
 
api:
  development: ${env:API_DEVELOPMENT}
  host: ${env:ARCADE_API_HOST}
  port: ${env:ARCADE_API_PORT}
 
 
auth:
  providers:
    - id: default-atlassian
      description: 'The default Atlassian provider'
      enabled: false
      type: oauth2
      provider_id: atlassian
      client_id: ${env:ATLASSIAN_CLIENT_ID}
      client_secret: ${env:ATLASSIAN_CLIENT_SECRET}
 
    - id: default-discord
      description: 'The default Discord provider'
      enabled: false
      type: oauth2
      provider_id: discord
      client_id: ${env:DISCORD_CLIENT_ID}
      client_secret: ${env:DISCORD_CLIENT_SECRET}
 
    - id: default-dropbox
      description: 'The default Dropbox provider'
      enabled: false
      type: oauth2
      provider_id: dropbox
      client_id: ${env:DROPBOX_CLIENT_ID}
      client_secret: ${env:DROPBOX_CLIENT_SECRET}
 
    - id: default-github
      description: 'The default GitHub provider'
      enabled: false
      type: oauth2
      provider_id: github
      client_id: ${env:GITHUB_CLIENT_ID}
      client_secret: ${env:GITHUB_CLIENT_SECRET}
 
    - id: default-google
      description: 'The default Google provider'
      enabled: false
      type: oauth2
      provider_id: google
      client_id: ${env:GOOGLE_CLIENT_ID}
      client_secret: ${env:GOOGLE_CLIENT_SECRET}
 
    - id: default-linkedin
      description: 'The default LinkedIn provider'
      enabled: false
      type: oauth2
      provider_id: linkedin
      client_id: ${env:LINKEDIN_CLIENT_ID}
      client_secret: ${env:LINKEDIN_CLIENT_SECRET}
 
    - id: default-microsoft
      description: 'The default Microsoft provider'
      enabled: false
      type: oauth2
      provider_id: microsoft
      client_id: ${env:MICROSOFT_CLIENT_ID}
      client_secret: ${env:MICROSOFT_CLIENT_SECRET}
 
    - id: default-slack
      description: 'The default Slack provider'
      enabled: false
      type: oauth2
      provider_id: slack
      client_id: ${env:SLACK_CLIENT_ID}
      client_secret: ${env:SLACK_CLIENT_SECRET}
 
    - id: default-spotify
      description: 'The default Spotify provider'
      enabled: false
      type: oauth2
      provider_id: spotify
      client_id: ${env:SPOTIFY_CLIENT_ID}
      client_secret: ${env:SPOTIFY_CLIENT_SECRET}
 
    - id: default-x
      description: 'The default X provider'
      enabled: false
      type: oauth2
      provider_id: x
      client_id: ${env:X_CLIENT_ID}
      client_secret: ${env:X_CLIENT_SECRET}
 
    - id: default-zoom
      description: 'The default Zoom provider'
      enabled: false
      type: oauth2
      provider_id: zoom
      client_id: ${env:ZOOM_CLIENT_ID}
      client_secret: ${env:ZOOM_CLIENT_SECRET}
 
 
llm:
  models:
    - id: my-openai-model-provider
      openai:
        api_key: ${env:OPENAI_API_KEY}
    #- id: my-anthropic-model-provider
    #  anthropic:
    #    api_key: ${env:ANTHROPIC_API_KEY}
    # - id: my-ollama-model-provider
    #   openai:
    #     base_url: http://localhost:11434
    #     chat_endpoint: /v1/chat/completions
    #     model: llama3.2
    #     api_key: ollama
    #- id: my-groq-model-provider
    #  openai:
    #    base_url: 'https://api.groq.com/openai/v1'
    #    api_key: ${env:GROQ_API_KEY}
 
 
security:
  root_keys:
    - id: key1
      default: true
      value: ${env:ROOT_KEY_1}
 
 
storage:
  postgres:
    user: ${env:POSTGRES_USER}
    password: ${env:POSTGRES_PASSWORD}
    host: ${env:POSTGRES_HOST}
    port: ${env:POSTGRES_PORT}
    db: ${env:POSTGRES_DB}
    sslmode: require
 
 
telemetry:
  environment: ${env:TELEMETRY_ENVIRONMENT}
  logging:
    # debug, info, warn, error
    level: ${env:TELEMETRY_LOGGING_LEVEL}
    encoding: ${env:TELEMETRY_LOGGING_ENCODING}
 
 
tools:
  directors:
    - id: default
      enabled: true
      workers:
        - id: worker
          enabled: true
          http:
            uri: ${env:ARCADE_WORKER_URI}
            timeout: 30
            retry: 3
            secret: ${env:ARCADE_WORKER_SECRET}

engine.env

### Engine configuration ###
API_DEVELOPMENT=true
ARCADE_API_HOST=localhost
ARCADE_API_PORT=9099
ANALYTICS_ENABLED=true
 
# Encryption keys (change this when deploying to production)
ROOT_KEY_1=default-key-value
 
### Model Provider API keys ###
# OPENAI_API_KEY=
# ANTHROPIC_API_KEY=
# GROQ_API_KEY=
 
 
### Security configuration ###
ROOT_KEY_1=
 
 
### Storage configuration ###
# POSTGRES_USER=
# POSTGRES_PASSWORD=
# POSTGRES_HOST=
# POSTGRES_PORT=
# POSTGRES_DB=
 
 
### Telemetry (OTEL) configuration ###
TELEMETRY_ENVIRONMENT=local
TELEMETRY_LOGGING_LEVEL=debug
TELEMETRY_LOGGING_ENCODING=console
 
 
### Worker Configuration ###
ARCADE_WORKER_URI=http://localhost:8002
ARCADE_WORKER_SECRET=dev
 
 
# OAuth Providers
ATLASSIAN_CLIENT_ID=""
ATLASSIAN_CLIENT_SECRET=
 
DISCORD_CLIENT_ID=""
DISCORD_CLIENT_SECRET=
 
DROPBOX_CLIENT_ID=""
DROPBOX_CLIENT_SECRET=
 
GITHUB_CLIENT_ID=""
GITHUB_CLIENT_SECRET=
 
GOOGLE_CLIENT_ID=""
GOOGLE_CLIENT_SECRET=
 
LINKEDIN_CLIENT_ID=""
LINKEDIN_CLIENT_SECRET=
 
MICROSOFT_CLIENT_ID=""
MICROSOFT_CLIENT_SECRET=
 
SLACK_CLIENT_ID=""
SLACK_CLIENT_SECRET=
 
SPOTIFY_CLIENT_ID=""
SPOTIFY_CLIENT_SECRET=
 
X_CLIENT_ID=""
X_CLIENT_SECRET=
 
ZOOM_CLIENT_ID=""
ZOOM_CLIENT_SECRET=