Configuration
fob-worker has no config file and stores no credentials. It works on the worker repo in the current directory and follows the template's layout.
Folders#
| Path | What's there |
|---|---|
src/steps/ | Your steps |
.orchestrator/stations/, .orchestrator/lines/ | Station and line files, synced with fob-orc |
.orchestrator/scenarios/<slug>/ | Saved test configs for steps run |
temp/ | Step outputs from local runs (<slug>.json) and attachment copies (work_records/) |
temp/stations/<STATION>/<bin>/ | Bins and workpieces |
temp/ is in the template's .gitignore.
Environment variables#
The worker reads these from .env in the repo root. fob-worker loads the same .env, so a step you run locally sees the same variables as on the worker.
| Variable | Required by the worker | |
|---|---|---|
ORCHESTRATOR_URL | No | The Orchestrator: https://orchestrator.finopsbricks.com. Defaults to http://localhost:3000 |
ORCHESTRATOR_API_KEY, ORCHESTRATOR_API_SECRET | Yes | An API key from Settings → API Keys in the Orchestrator |
WORKER_LOCATION | Yes | Which lines this worker runs: those whose location matches |
POLL_INTERVAL_MS | No | How often the worker asks for work, in milliseconds (default 2000) |
Add your steps' own settings, such as API keys for the systems they call, to the same .env and read them with process.env in your step.
fob-worker itself uses none of the Orchestrator variables except WORKER_LOCATION, which steps run passes to your step as context.org_id.
Check what fob-worker sees#
fob-worker config show
Paths:
stepsDir src/steps/
tempDir temp
Environment Variables:
ORCHESTRATOR_URL https://orchestrator.finopsbricks.com
WORKER_LOCATION acme
ORCHESTRATOR_API_KEY *** (set)
ORCHESTRATOR_API_SECRET *** (set)
Keys and secrets are never printed, only whether they're set. Variables that aren't set are left out.
Debug output#
DEBUG=1 prints the stack trace when a command fails:
DEBUG=1 fob-worker steps run IN1_01_check --empty