I have been reading documentation -
[Trusting a custom certificate authority - Ansible AWX Operator Documentation]
[Add private CAs to the containers · Issue #376 · ansible/awx-operator · GitHub]
I have not been able to get this to work. I exec into the container and run:
openssl s_client -connect gsil-domain-server:636 -showcert
The error message I get is:
Verify return code: 21 (unable to verify the first certificate)
My environment is air gapped. I am using a helm chart and the chart is modified to pull from my private repo. I used this set of instructions to modify my helm chart:
local registry helm chart
All images are running without issue and I can login to the web GUI. I need to add certs to AWX for LDAP authentication and jobs that connect to our Gitlab server for source code.
#1 I have created my certs. Certs are listed as:
cat chain.crt
root ca cert
…base64 something…
intermediate cert
…base64 something…
#2 I created a secret in the awx namespace.
kubectl create secret generic awx-custom-certs \
--from-file=ldap-ca.crt=chain.crt \
--from-file=bundle-ca.crt=chain.crt -n awx
Note: for this purpose ldap-ca.crt and bundle ca.crt are the same as our environment uses a common (and private) root-ca.
#3 My spec file/myvalues.yaml is getting deployed with the helm chart
helm install -n awx --create-namespace gsil-awx /tmp/awx-operator/ -f myvalues.yam
l
This is the contents of myvalues.yaml:
AWX:
# enable use of awx-deploy template
enabled: true
name: awx
spec:
admin_user: admin
hostname: awx.idm.gsil.org
image: gsil-docker1.idm.gsil.org:5001/quay.io/ansible/awx:23.7.0
image_version: 23.7.0
init_container_image: gsil-docker1.idm.gsil.org:5001/quay.io/ansible/awx-ee
init_container_image_version: latest
ee_images:
- name: AWX EE (latest)
image: gsil-docker1.idm.gsil.org:5001/quay.io/ansible/awx-ee:latest
redis_image: gsil-docker1.idm.gsil.org:5001/redis
redis_image_version: "7"
control_plane_ee_image: gsil-docker1.idm.gsil.org:5001/quay.io/ansible/awx-ee:latest
postgres_image: gsil-docker1.idm.gsil.org:5001/postgres
postgres_image_version: "13"
customVolumes:
postgres:
enabled: true
hostPath: /var/lib/postgresql/data
size: 2Gi
storageClassName: local-storage
projects:
enabled: true
hostPath: /opt/projects/data
size: 5Gi
customSecrets:
enabled: true
ldap_cacert_secret: awx-custom-certs
bundle_cacert_secret: awx-custom-certs
ldap_password_secret: awx-ldap-password
I am hoping @kurokobo or another developer can chime in.
Issue #376 from Github seems like it won’t readily work for this situation:
#1 tchellomello solution relies on pulling a custom container and presumes you have internet access if you follow the code.
#2 abcmiller solution is basically the same as mine AFAIK
Can anyone spot what I am doing wrong?