Running agents and tasks on ARM architecture
This is an advanced feature that is not required for the vast majority of self-hosted setups.
ARM support is a beta feature, and some details may change before it's generally released. We'd love to hear any feedback or requests at email@example.com.
By default, all Airplane agent binaries and task images are designed for running on AMD64 (alternatively, referred to as
x86-64) CPUs. Some organizations may prefer to use ARM64 infrastructure, however, for cost or performance reasons. Airplane supports these environments for self-hosted agent setups provided that the corresponding agents and tasks are configured for ARM.
The CPU architecture to use is configurable via a parameter in the Airplane Terraform and CloudFormation configs. To switch from AMD64 (the default) to ARM64, set the appropriate parameter for the configuration type you're using:
- Terraform: Set the
cpu_architectureinput variable set to
- CloudFormation: Set the
CPUArchitecturestack parameter to
Then, apply (or re-apply) the updated configs.
If you're running in Kubernetes, no explicit configuration changes are required in the Airplane Kubernetes manifests. Each Kubernetes node should pull an image for the platform it's running on; provided that an ARM64 image is available (see the sections below), this should work without any problems.
Airplane agent and built-ins
The images for the Airplane agent and standard built-ins (used for email, GraphQL, MongoDB, REST, Slack, and SQL tasks) are built for multiple platforms by default. Nothing additional is required to use these on ARM.
pythonsections of your project
airplane.yamlfile to include the extra platform:
You can omit the
linux/amd64lines if your architecture is 100% ARM-based and you don't want to build for AMD64 at all.
Shell tasks can be configured to use multi-platform builds via an extra environment variable in the task config YAML:
Limitations and known issues
- Tasks using the workflow runtime are not yet supported for ARM