This is a simple execution environment definition for cloud deployment testing with hyperscaler content collections and other collections and roles from the Ansible team to help incubate cloud content. It includes the following.
The following collections are included in this execution environment.
Collection | Description |
---|---|
amazon.aws |
Used for AWS automation. |
amazon.cloud |
Newer AWS collection using the cloud control API. |
ansible.windows |
Windows collection for automating Windows servers on Azure. |
awx.awx |
Used for AWX/Automation Controller automation. |
azure.azcollection |
Used for Azure automation. |
cloud.terraform |
Used for automating Terraform with Ansible. |
community.aws |
Used for AWS automation. |
community.general |
Used for Proxmox and other community automation. |
google.cloud |
Used for Google Cloud automation. |
oracle.oci |
Used for OCI automation. |
The following CLI tools are included in this execution environment.
Cloud | CLI Command |
---|---|
Amazon Web Services | aws |
Microsoft Azure | az |
Google Cloud Platform | gcloud |
Oracle Cloud Infrastructure | oci |
Terraform | terraform |
Ansible Builder will function out-of-the-box on amd64
platforms with Podman or Docker.
- Clone this repo.
- Update the included files in this repository with the variables to include in the EE.
requirements.yml
for Ansible collections and roles.requirements.txt
for Python dependencies.
- Run
ansible-builder build -t <YOUR_TAG_HERE>
.
This requires Docker to build EEs. Podman does not function with these steps on an Apple Silicon Mac at this time. This process will build a multi-platform container on an Apple Silicon Mac that will then function on either an amd64
or arm64
platform.
- Clone this repository.
- Run
ansible-builder create
to create thecontext
directory. - Change into the newly created
context
directory. - Run
docker buildx
, which is capable of building multi-architecture containers, to build an image that can be used on bothamd64
andarm64/aarch64
(Apple Silicon and other ARM) CPUs.
In the example below, change the REGISTRY
and VERSION
variables to match your container registry that you intend to push to and a version number to tag the build.
export REGISTRY=quay.io/scottharwell
export VERSION=1.0.0
docker buildx build --platform linux/arm64,linux/amd64 -t $REGISTRY/cloud-ee:$VERSION -t $REGISTRY/cloud-ee:latest --push .
Once the container is deployed to your container registry, then you can pull the EE down to your Apple Silicon Mac to run natively, or to Ansible Controller running on amd64
machines.