Skip to content

arc.yaml Reference ​

arc.yaml is the workspace manifest read by the arc CLI. It declares the platform tier, optional capability overrides, and environment configuration for the current workspace.

Deprecation Notice ​

DEPRECATED tier IDs — the following tier names were used in early versions of the platform and are no longer valid:

Old IDRenamed to
super-saiyanthink
super-saiyan-bluereason

Workspaces using these old IDs will fail with an error. Update your arc.yaml to use the current tier names listed below. The features map (old-style capability flags) has been replaced by the capabilities list.

Full Example ​

yaml
# arc.yaml — A.R.C. Workspace Manifest
# Documentation: https://github.com/arc-framework/arc-platform/docs/guide/arc-yaml-reference

# Manifest format version — do not change
version: "1.0.0"

# Platform tier — selects the base service set
# Options: think | reason | ultra-instinct
tier: "reason"

# Opt-in capabilities — activate additional service groups on top of the tier
# Each entry here starts the services defined in services/profiles.yaml
capabilities:
  - observe     # SigNoz observability UI at :3301
  # - voice     # STT + TTS + realtime (requires reasoner capability)
  # - security  # OpenBao secrets + Unleash feature flags
  # - storage   # MinIO object storage

# Environment overrides (optional)
# Injected into all services at startup
# environment:
#   LOG_LEVEL: "debug"
#   LLM_PROVIDER: "anthropic"
#   LLM_MODEL: "claude-3-5-sonnet-20241022"
#   LLM_API_KEY: "sk-ant-..."

tier Field ​

The tier selects the base set of services started by arc run. Choose the smallest tier that meets your needs — larger tiers pull more images and require more memory.

TierDescriptionServices activated
thinkCore infrastructure only — fastest to start, no LLM engine. Use for front-end development, infra testing, or when LLM access is not needed.messaging, cache, streaming, cortex, persistence, gateway, friday-collector
observethink + SigNoz observability UI. Dev-only profile — not a product tier. Use via make dev PROFILE=observe for local telemetry debugging.All think services + otel (SigNoz stack at :3301)
reasonCore + reasoning engine — standard development stack. Activates the reasoner capability automatically. Use when you need LLM inference.All think services + reasoner
ultra-instinctFull platform — all capabilities enabled. Activates reasoner, voice, observe, security, and storage. Use for integration testing or production staging.All services

Specify the tier with arc workspace init --tier <name> or edit arc.yaml directly.

Tier → Services Matrix ​

Servicethinkreasonultra-instinctCapability
arc-gatewayyesyesyescore
arc-messagingyesyesyescore
arc-streamingyesyesyescore
arc-cacheyesyesyescore
arc-persistenceyesyesyescore
arc-cortexyesyesyescore
arc-friday-collectoryesyesyescore
arc-reasonernoyesyesreasoner
arc-realtimenonoyesvoice
arc-voice-agentnonoyesvoice
arc-friday (SigNoz)nonoyesobserve
arc-vaultnonoyessecurity
arc-flagsnonoyessecurity
arc-storagenonoyesstorage

capabilities Field ​

capabilities is a list of capability names to activate on top of the selected tier. Each capability starts one or more additional services.

yaml
capabilities:
  - observe
  - security

Valid capability names (sourced from services/profiles.yaml):

CapabilityServices startedNotes
reasonerarc-reasonerLLM reasoning engine — OpenAI-compatible API at :8802. Already included in reason and ultra-instinct tiers.
voicearc-realtime, arc-voice-agentVoice agent (STT + TTS) at :8803. Requires reasoner capability.
observearc-friday (SigNoz stack)Observability UI at :3301. Activates traces, metrics, and logs dashboard.
securityarc-vault, arc-flagsOpenBao secrets management at :8200 + Unleash feature flags at :4242.
storagearc-storageMinIO object storage at :9000/:9001.

Capabilities compose freely. To run the reasoning engine plus observability:

yaml
tier: "think"
capabilities:
  - reasoner
  - observe

version Field ​

Always "1.0.0". This is the manifest schema version, not the platform version. Do not change this field.

environment Field ​

Optional map of environment variables injected into all services. Use this to configure provider API keys and log levels without modifying service Dockerfiles.

yaml
environment:
  LOG_LEVEL: "debug"
  LLM_PROVIDER: "openai"
  LLM_MODEL: "gpt-4o"
  LLM_API_KEY: "sk-..."

Never commit API keys to arc.yaml. Use a .env file or your secrets manager (arc-vault) instead, and add arc.yaml to .gitignore if it contains credentials.

Contributors

Changelog