How to deploy AWX using Gitlab and ArgoCD?

Hi
I’ve been tasked with setting up AWX using Git and ArgoCD. The AWX will be used to manage Windows VMs and servers in our environmen(patching, orchestration).

We have Calico Deny-all rule running in our Cluster.

Using the local/manually created YAML files I was able to set up this deployment with pods : ( see the attached picture ) ( everything was applied via kubectl and in correct order :
kubectl apply -f namespace/

kubectl create secret generic ldap-ca-bundle
–from-file=ldap-ca.crt=.\awx\ldap-ca-bundle.crt
–namespace infra-awx
kubectl apply -k operator/
kubectl apply -f awx/
kubectl apply -f ingress/
kubectl apply -f networkpolicy/

With this order I ended up with working pods. Secret mounted and network policies applied. I was also able to set up the LDAP integration after the pods came up. Worked perfectly.

As the next step I will need to automate this part and include the part that preconfigures the secret, the ldap config and inside the WEB POD i want gitlab credentials and projects synced and mapped..What I mean by this is that when the web pod comes up then I can log in via ldap and I can check the project and it has been synced with our workbooks to the awx web pod from Gitlab.

I would love to deploy the whole shebang using ArgoCD but im having some problems. Do i really need to create 2 separate argocd app of apps ( one for operator and one for instance and the rest of the resources? Can someone share the examples of said app of apps files if possible?

Does anyone of you still have any remains of your similar project? Or better yet how did you resolve the automation part? What versions did you use and what steps?

If I want to use argocd app of apps then I will also need sync waves, correct?

I am using these versions : image: Quay
app.kubernetes.io/operator-version: 2.19.1



Note the second image : the operator part is cloned from the official repo on github and I cloned it so that i could keep a copy of it and use the kustomize fields from the files.

Any info and guidance is more than welcome. I’m very new at this right now (1.5 months)

Let me know if you need more info in order to help me and I will try to serve it for you.

All the best

Kalle

So to summarize… How to proceed from this stage to the fully automated Git-Argo solution? And is it entirely supported in the manner that I’m trying to do it?

This topic can be closed now. Issue has been solved.

Maybe you can share your solution? For the next one stumbling upon this topic? Nothing is more frustrating than finding someone already had the same issue and solved it, but did not share the solution… :slight_smile:

2 Likes