Skip to content

Runtime Architecture

Every RunWhen Skill Template runs inside a container built from the same layered stack. Understanding the layers helps you know what’s available at runtime and how dev mode differs from production.

The layers

The runtime image stack: rw-base-runtime provides Python, the worker binary, cloud CLIs, and rw-core-keywords; a CodeCollection image is built from it and adds your codebundles. In production the platform runs persistent worker pods; in development you use the devtools image with RW_MODE=dev.

LayerRepoWhat it provides
rw-base-runtimerw-base-runtimePython, the worker binary, all cloud CLIs, rw-core-keywords installed system-wide, robot-runtime helper scripts
rw-core-keywordsrw-core-keywordsRW.Core — the Robot Framework keyword library for secrets, metrics, issues, reports, services
CodeCollection imagee.g. rw-cli-codecollectionFROM rw-base-runtime, adds codebundles + libraries + codecollection-specific pip deps

Dev vs production

DevProduction
Imagecodecollection-devtoolsCodeCollection image (FROM rw-base-runtime)
ModeRW_MODE=devRW_MODE=production (default)
SecretsEnv vars / local filesVault, Kubernetes secrets, cloud providers
MetricsLogged to consolePushed to OpenTelemetry Collector
IssuesLogged to consoleWritten to issues.jsonl
ReportsLogged to consoleWritten to report.jsonl

Both modes use the same RW.Core keyword library — the behavior difference is handled internally by rw-core-keywords based on the RW_MODE environment variable. Your .robot code doesn’t change between dev and production.