AWX Developer Docker Install

I’m following the instructions: for docker compose for development https://github.com/ansible/awx/blob/devel/tools/docker-compose/README.md

I’ve tried the latest branch release and the previous branch release. I successfully ran make docker-compose-build but make docker-compose never completes and keeps throwing this error in console:
tools_awx_1 | ImportError: libldap.so.2: cannot open shared object file: No such file or directory

What if you skip the make docker-compose-build step, and just run “COMPOSE_TAG=devel make docker-compose” to pull the already-built image from the ghcr.io registry

Does it work in that case?

AWX Team

I was able to run it with the production instructions with awx operator. My issue now is trying to figure out how to have operator deploy but substitute the location of the images. The deployment space does not have internet access and we use artifactory. I can put the images there but with operator I don’t know where I would substitute the location to pull necessary images from.

To deploy in an air-gapped or offline environment, you’ll need to mirror the images to your own internal registry, then override the respective image and image_version values via the spec on the AWX CR. There are some other threads about it, I’ll try to summarize here:

---
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
name: awx-demo
spec:
image: xxx
image_version: xxx
init_container_image: xxx
init_container_image_version: xxx
redis_image: xxx
redis_image_version: xxx
control_plane_ee_image: xxx
control_plane_ee_image_version: xxx
postgres_image: xxx
postgres_image_version: xxx
image_pull_secrets: <image-pull-secret-for-private-registry>
# ee_images
# ee_pull_credentials_secret: xxx

The tricky part though is that you need to specify the awx-operator image as well. Which can be done with kustomize. When you deploy the operator, you can have a kustomization.yaml file that looks like this:

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
# Find the latest tag here: https://github.com/ansible/awx-operator/releases
- github.com/ansible/awx-operator/config/default?ref=<tag>

# Set the image tags to match the git version from above
images:
- name: registry.io/private-repo/awx-operator
newTag: <tag>

# Specify a custom namespace in which to install AWX
namespace: awx

I think that should do it.

FYI, the downstream AAP offering handles registry mirroring in a smoother way, more transparent to the user with Openshift. That might be something to look into if that is an option for you.

Thanks,
AWX Team