An Execution Environment for AWX.
Main features:
- CentOS Stream 10
- Python 3.13
- Ansible 2.21
An ansible-core 2.16 line is maintained on the
legacybranch (CentOS Stream 9 / Python 3.12), published as the:legacyimage tag.
amazon.awsansible.posixansible.receptoransible.utilsawx.awxcommunity.awscommunity.dockercommunity.generalcommunity.grafana
- ara
- boto3
- mitogen
- netaddr
- paramiko
- pykerberos
- pywinrm
- receptorctl
- redis
- toml
View the full configuration in the execution-environment.yaml file.
First, install ansible-builder.
Then run the following command from the root of this repo:
$ ansible-builder build -v3 -t quay.io/influxdb/awx-ee --container-runtime=docker # Uses podman by defaultThe GitHub Actions workflow builds and publishes images automatically.
Releases are cut from labeled PRs across two lines:
| Line | Branch | Version scheme | Moving tag |
|---|---|---|---|
| Current | main |
linear semver (e.g. v1.3.0) |
latest |
| Legacy (ansible-core 2.16) | legacy |
v<base>-legacy.N (e.g. v1.2.0-legacy.1) |
legacy |
- Label the PR with
release/patch,release/minor, orrelease/majorto set the version bump. Onlegacy, anyrelease/*label cuts a maintenance release — the bump type is ignored and the-legacy.Ncounter simply increments. - Merge the PR. Two things happen:
- the branch's moving tag is rebuilt and pushed automatically (
main→:latest,legacy→:legacy,devel→:devel); - a matching git tag is created (
v1.3.0,v1.2.0-legacy.1).
- the branch's moving tag is rebuilt and pushed automatically (
- Publish the immutable versioned image (
:v1.3.0,:v1.2.0-legacy.1): create a GitHub Release from that tag — this builds and pushes the version-tagged image.
- Push to
main/legacy/devel: builds and pushes the branch's moving tag (latest/legacy/devel) - Releases: creating a GitHub Release pushes an image tagged with the release name (e.g.
v1.3.0) - Nightly: weekly scheduled builds push a
nightlytag
To build and push an image for any branch on demand:
- Go to Actions > "Build & Release" workflow
- Click "Run workflow"
- Select the target branch
- Check "Push image to registry after build"
- Click "Run workflow"
Image tags:
| Branch | Tag |
|---|---|
main |
latest |
legacy |
legacy |
devel |
devel |
| Branch with open PR | DEV-PR-<number> |
| Other branches | DEV-<commit-sha> |
Pull requests to main/legacy/devel trigger a CI build (Podman) to validate the image
builds successfully, but do not push to the registry.
To use this workflow in your own fork, configure these repository variables/secrets:
IMAGE_REGISTRY_URL: Container registry URL (default:ghcr.io)IMAGE_REPOSITORY: Image repository path (default:github.repository)IMAGE_REGISTRY_USER: Registry username (default:github.actor)IMAGE_REGISTRY_TOKEN(secret): Registry auth token (default:GITHUB_TOKEN)ALWAYS_PUSH_GHCR: Set totrueto also push toghcr.iowhen using an alternate primary registry