diff --git a/config/crd/bases/awx.ansible.com_awxs.yaml b/config/crd/bases/awx.ansible.com_awxs.yaml index ebe61b84c..eb7b4f6a4 100644 --- a/config/crd/bases/awx.ansible.com_awxs.yaml +++ b/config/crd/bases/awx.ansible.com_awxs.yaml @@ -2009,6 +2009,10 @@ spec: description: Enable metrics utility shipping to Red Hat Hybrid Cloud Console type: boolean default: false + public_base_url: + description: Public base URL + type: string + default: '' type: object status: properties: diff --git a/config/manifests/bases/awx-operator.clusterserviceversion.yaml b/config/manifests/bases/awx-operator.clusterserviceversion.yaml index 337d18842..c7f8cc7d4 100644 --- a/config/manifests/bases/awx-operator.clusterserviceversion.yaml +++ b/config/manifests/bases/awx-operator.clusterserviceversion.yaml @@ -173,6 +173,12 @@ spec: path: db_management_pod_node_selector x-descriptors: - urn:alm:descriptor:com.tectonic.ui:advanced + - displayName: Public Base URL + path: public_base_url + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:text + - urn:alm:descriptor:com.tectonic.ui:advanced + - urn:alm:descriptor:com.tectonic.ui:hidden statusDescriptors: - description: Persistent volume claim name used during backup displayName: Backup Claim diff --git a/roles/installer/tasks/install.yml b/roles/installer/tasks/install.yml index e1c44eff6..60b94577a 100644 --- a/roles/installer/tasks/install.yml +++ b/roles/installer/tasks/install.yml @@ -44,6 +44,11 @@ - name: Include secret key configuration tasks include_tasks: secret_key_configuration.yml +- name: Apply Redirect Page Configmap + k8s: + definition: "{{ lookup('template', 'configmaps/redirect-page.configmap.html.j2') }}" + when: public_base_url is defined + - name: Load LDAP CAcert certificate (Deprecated) include_tasks: load_ldap_cacert_secret.yml when: diff --git a/roles/installer/templates/configmaps/redirect-page.configmap.html.j2 b/roles/installer/templates/configmaps/redirect-page.configmap.html.j2 new file mode 100644 index 000000000..bc893b372 --- /dev/null +++ b/roles/installer/templates/configmaps/redirect-page.configmap.html.j2 @@ -0,0 +1,77 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ ansible_operator_meta.name }}-redirect-page + namespace: {{ ansible_operator_meta.namespace }} +data: + redirect-page.html: | + + +
+ + + +If you are not redirected automatically, click here to go to AAP.
++ The API endpoints for this platform service will temporarily remain available at the URL for this service. + Please use the Ansible Automation Platform API endpoints corresponding to this component in the future. + These can be found at {{ public_base_url }}/awx/api/. +
+ + + + + + \ No newline at end of file diff --git a/roles/installer/templates/deployments/web.yaml.j2 b/roles/installer/templates/deployments/web.yaml.j2 index f32020f1b..9d15c97cd 100644 --- a/roles/installer/templates/deployments/web.yaml.j2 +++ b/roles/installer/templates/deployments/web.yaml.j2 @@ -303,6 +303,11 @@ spec: {% endif %} imagePullPolicy: '{{ image_pull_policy }}' volumeMounts: +{% if public_base_url is defined %} + - name: redirect-page + mountPath: '/var/lib/awx/venv/awx/lib/python3.11/site-packages/awx/ui/build/index.html' + subPath: redirect-page.html +{% endif %} - name: "{{ ansible_operator_meta.name }}-application-credentials" mountPath: "/etc/tower/conf.d/credentials.py" subPath: credentials.py @@ -375,6 +380,14 @@ spec: {{ security_context_settings | to_nice_yaml | indent(8) }} {% endif %} volumes: +{% if public_base_url is defined %} + - name: redirect-page + configMap: + name: '{{ ansible_operator_meta.name }}-redirect-page' + items: + - key: redirect-page.html + path: redirect-page.html +{% endif %} - name: "{{ ansible_operator_meta.name }}-receptor-ca" secret: secretName: "{{ ansible_operator_meta.name }}-receptor-ca"