We just shipped support for running Arm64 on RWX.
Building Arm containers is 10x faster without emulation.
We built the initial RWX image for Arm64 by running on x86_64
with qemu, and it took 14m 8s
to build the image.
Now that we can build the RWX image for Arm on Arm, it runs in 1m 38s
Configuring RWX to use Arm64
You can specify the architecture in the base configuration.
base:os: ubuntu 24.04tag: 1.2arch: arm64tasks:- key: unamerun: uname -a
Bootstrapping Support for Arm
We built the original Arm64 base images on RWX by running on x64_64
and using QEMU emulation.
Of course, now that we support Arm64, we can remove the emulation and build Arm on Arm.
Removing our bootstrapping and running natively was an easy and satisfying diff.
diff --git a/.rwx/build.yml b/.rwx/build.ymlindex d807965..4312a60 100644--- a/.rwx/build.yml+++ b/.rwx/build.yml@@ -6,6 +6,7 @@base:os: ubuntu 24.04tag: 1.2+ arch: ${{ init.arch }}aliases:aws_sandbox: &aws_sandbox@@ -67,9 +68,7 @@ tasks:DOCKER_ARCH="amd64"fi- docker buildx create --name multiarch --driver docker-container --bootstrap- docker buildx use multiarch- docker buildx build --platform linux/$DOCKER_ARCH --file "$DOCKERFILE" --tag "$docker_tag" . --output type=docker+ docker build --file "$DOCKERFILE" --tag "$docker_tag" . --output type=dockerfullImageDigest=$(docker inspect --format '{{.Id}}' "$docker_tag")echo "$fullImageDigest" | grep '^sha256:'
Demo
Related posts
Read more on updates and advice from the RWX engineering team

Programmatically Setting Secrets with the Vault API
We just shipped an API endpoint to set vault secrets. Programmatically setting secrets is especially useful for automating secret rotation.