diff --git a/README.md b/README.md index 970bc6e..0a1eb72 100644 --- a/README.md +++ b/README.md @@ -46,11 +46,10 @@ After a few minutes, your new AWX instance will be accessible at `http://awx.myc ### Deploying a specific version of AWX -You can pass AWX Task and Web Container images to control which version of AWX is to be deployed. To achieve this, please add following to variables under spec within your CR (Custom Resource) file: +To achieve this, please add the following variable under spec within your CR (Custom Resource) file: ```yaml - tower_task_image: ansible/awx:15.0.0 # replace this with desired image - tower_web_image: ansible/awx:15.0.0 # replace this with desired image + tower_image: ansible/awx:15.0.0 # replace this with desired image ``` You may also override any default variables from `roles/awx/defaults/main.yml` using the same process, i.e. by adding those variables within your CR spec. diff --git a/ansible/instantiate-awx-deployment.yml b/ansible/instantiate-awx-deployment.yml index 0ac89e4..b5d0f74 100644 --- a/ansible/instantiate-awx-deployment.yml +++ b/ansible/instantiate-awx-deployment.yml @@ -9,7 +9,7 @@ - name: Deploy AWX k8s: state: "{{ state | default('present') }}" - namespace: awx + namespace: default apply: yes wait: yes definition: @@ -22,4 +22,7 @@ tower_admin_email: test@example.com tower_admin_password: changeme tower_broadcast_websocket_secret: changeme - tower_ingress_type: Route + tower_ingress_type: "{{ tower_ingress_type | default(omit) }}" # Either Route or Ingress + tower_image: "{{ tower_image | default(omit) }}" + development_mode: "{{ development_mode | default(omit) }}" + tower_image_pull_policy: "{{ tower_image_pull_policy | default(omit) }}" diff --git a/deploy/crds/awx_v1beta1_cr.yaml b/deploy/crds/awx_v1beta1_cr.yaml index 973ae2a..c2a16d9 100644 --- a/deploy/crds/awx_v1beta1_cr.yaml +++ b/deploy/crds/awx_v1beta1_cr.yaml @@ -15,8 +15,7 @@ spec: tower_admin_email: test@example.com tower_admin_password: changeme - tower_task_image: ansible/awx:15.0.0 - tower_web_image: ansible/awx:15.0.0 + tower_image: ansible/awx:15.0.0 tower_task_mem_request: 1Gi tower_task_cpu_request: 500m diff --git a/deploy/crds/awx_v1beta1_molecule.yaml b/deploy/crds/awx_v1beta1_molecule.yaml index b004d4f..8387b3b 100644 --- a/deploy/crds/awx_v1beta1_molecule.yaml +++ b/deploy/crds/awx_v1beta1_molecule.yaml @@ -15,8 +15,7 @@ spec: tower_admin_email: test@example.com tower_admin_password: changeme - tower_task_image: ansible/awx:15.0.0 - tower_web_image: ansible/awx:15.0.0 + tower_image: ansible/awx:15.0.0 tower_task_mem_request: 128M tower_task_cpu_request: 500m diff --git a/deploy/olm-catalog/awx-operator/manifests/awx-operator.clusterserviceversion.yaml b/deploy/olm-catalog/awx-operator/manifests/awx-operator.clusterserviceversion.yaml index 53418b0..35a696d 100644 --- a/deploy/olm-catalog/awx-operator/manifests/awx-operator.clusterserviceversion.yaml +++ b/deploy/olm-catalog/awx-operator/manifests/awx-operator.clusterserviceversion.yaml @@ -25,11 +25,10 @@ metadata: "tower_postgres_storage_request": "8Gi", "tower_redis_image": "redis:latest", "tower_task_cpu_request": "500m", - "tower_task_image": "ansible/awx:15.0.0", + "tower_image": "ansible/awx:15.0.0", "tower_task_mem_request": "1Gi", "tower_task_privileged": false, - "tower_web_cpu_request": "1000m", - "tower_web_image": "ansible/awx:15.0.0", + "tower_web_cpu_request": "1000m" "tower_web_mem_request": "2Gi" } }, @@ -55,11 +54,10 @@ metadata: "tower_postgres_storage_request": "8Gi", "tower_redis_image": "redis:latest", "tower_task_cpu_request": "500m", - "tower_task_image": "ansible/awx:15.0.0", + "tower_image": "ansible/awx:15.0.0", "tower_task_mem_request": "128M", "tower_task_privileged": false, "tower_web_cpu_request": "500m", - "tower_web_image": "ansible/awx:15.0.0", "tower_web_mem_request": "128M" } } diff --git a/roles/awx/defaults/main.yml b/roles/awx/defaults/main.yml index c643e10..21ebc5c 100644 --- a/roles/awx/defaults/main.yml +++ b/roles/awx/defaults/main.yml @@ -27,14 +27,9 @@ tower_broadcast_websocket_secret: changeme # emptyDir: {} tower_extra_volumes: '' -# Use these image versions for Ansible Tower. -# tower_task_image: registry.redhat.io/ansible-tower-37/ansible-tower-rhel7:3.7.0 -# tower_web_image: registry.redhat.io/ansible-tower-37/ansible-tower-rhel7:3.7.0 - # Use these image versions for Ansible AWX. -tower_task_image: ansible/awx:15.0.0 -tower_web_image: ansible/awx:15.0.0 +tower_image: ansible/awx:15.0.0 tower_image_pull_policy: IfNotPresent tower_create_preload_data: true @@ -83,3 +78,5 @@ tower_postgres_data_path: '/var/lib/postgresql/data/pgdata' tower_postgres_port: 5432 ca_trust_bundle: "/etc/pki/tls/certs/ca-bundle.crt" + +development_mode: false diff --git a/roles/awx/templates/tower.yaml.j2 b/roles/awx/templates/tower.yaml.j2 index f672a6a..0f46f49 100644 --- a/roles/awx/templates/tower.yaml.j2 +++ b/roles/awx/templates/tower.yaml.j2 @@ -39,7 +39,7 @@ spec: readOnly: true - name: {{ meta.name }}-redis-socket mountPath: "/var/run/redis" - - image: '{{ tower_web_image }}' + - image: '{{ tower_image }}' name: '{{ meta.name }}-web' {% if tower_web_command %} command: {{ tower_web_command }} @@ -74,18 +74,28 @@ spec: mountPath: "/var/run/awx-rsyslog" - name: rsyslog-dir mountPath: "/var/lib/awx/rsyslog" +{% if development_mode | bool %} + - name: awx-devel + mountPath: "/awx_devel" +{% endif %} {% if tower_web_extra_volume_mounts -%} {{ tower_web_extra_volume_mounts | indent(width=12, indentfirst=True) }} {% endif %} -{% if tower_task_extra_env %} +{% if (development_mode | bool) or (tower_task_extra_env | bool) %} env: +{% endif %} +{% if development_mode | bool %} + - name: AWX_KUBE_DEVEL + value: "1" +{% endif %} +{% if tower_task_extra_env %} {{ tower_web_extra_env | indent(width=12, indentfirst=True) }} {% endif %} resources: requests: memory: '{{ tower_web_mem_request }}' cpu: '{{ tower_web_cpu_request }}' - - image: '{{ tower_task_image }}' + - image: '{{ tower_image }}' name: '{{ meta.name }}-task' imagePullPolicy: '{{ tower_image_pull_policy }}' {% if tower_task_privileged == true %} @@ -118,6 +128,10 @@ spec: mountPath: "/var/run/awx-rsyslog" - name: rsyslog-dir mountPath: "/var/lib/awx/rsyslog" +{% if development_mode | bool %} + - name: awx-devel + mountPath: "/awx_devel" +{% endif %} {% if tower_task_extra_volume_mounts -%} {{ tower_task_extra_volume_mounts | indent(width=12, indentfirst=True) }} {% endif %} @@ -134,6 +148,10 @@ spec: valueFrom: fieldRef: fieldPath: status.podIP +{% if development_mode | bool %} + - name: AWX_KUBE_DEVEL + value: "1" +{% endif %} {% if tower_task_extra_env -%} {{ tower_task_extra_env | indent(width=12, indentfirst=True) }} {% endif %} @@ -182,6 +200,11 @@ spec: emptyDir: {} - name: rsyslog-dir emptyDir: {} +{% if development_mode | bool %} + - name: awx-devel + hostPath: + path: /awx_devel +{% endif %} {% if tower_extra_volumes -%} {{ tower_extra_volumes | indent(width=8, indentfirst=True) }} {% endif %}