Base Layer
Runs must be configured with a base, which is an operating system configured to support RWX's functionality.
If you received a warning message about needing to specify the base configuration, see the Initial Base Definition Instructions.
Configuration
Configure the base layer by specifying the base key with os and tag.
The os specifies the operating system, and the tag specifies the RWX configuration of that operating system.
base:
  os: ubuntu 24.04
  tag: 1.2
tasks:
  - key: check-os
    run: cat /etc/os-release
Architecture
You can also specify the CPU architecture as either x86_64 (the default) or arm64
base:
  os: ubuntu 24.04
  tag: 1.2
  arch: arm64
tasks:
  - key: uname
    run: uname --processor
Supported Base Layers
The following base layers are currently supported:
| os | tag | 
|---|---|
| ubuntu 24.04 | 1.2 | 
| ubuntu 24.04 | 1.1 | 
| ubuntu 24.04 | 1.0 | 
| ubuntu 22.04 | 1.1 | 
| ubuntu 22.04 | 1.0 | 
Ubuntu 24.04
The RWX 1.0 tag of Ubuntu 24.04 is configured with Docker 28.0.4
Tag 1.1 installs and configures tzdata
Tag 1.2 sets LANG=C.UTF-8 as the default locale
Ubuntu 22.04
The RWX 1.0 tag of Ubuntu 22.04 is configured with Docker 26.0.1
Tag 1.1 sets LANG=C.UTF-8 as the default locale
CLI
rwx resolve base will automatically insert the default base configuration into all run definitions (requires version 1.4 or greater of the RWX CLI)
Embedded Runs
Embedded runs can use a different base than the runs which embed them.
If a run only contains embedded runs, then the base configuration does not have any effect since the embedded runs must specify their own base.
Tool Caches
Tool caches are unique to each base layer. Specifying the same tool-cache configuration with a different base layer will result in a different cache.