diff --git a/ansible/templates/crd.yml.j2 b/ansible/templates/crd.yml.j2 index a678bd9e..ce6054ec 100644 --- a/ansible/templates/crd.yml.j2 +++ b/ansible/templates/crd.yml.j2 @@ -26,6 +26,15 @@ spec: deployment_type: description: Name of the deployment type type: string + default: awx + kind: + description: Kind of the deployment type + type: string + default: AWX + api_version: + description: apiVersion of the deployment type + type: string + default: awx.ansible.com/v1beta1 tower_task_privileged: description: If a privileged security context should be enabled type: boolean diff --git a/deploy/awx-operator.yaml b/deploy/awx-operator.yaml index 98ddd06a..8cef7950 100644 --- a/deploy/awx-operator.yaml +++ b/deploy/awx-operator.yaml @@ -28,6 +28,15 @@ spec: deployment_type: description: Name of the deployment type type: string + default: awx + kind: + description: Kind of the deployment type + type: string + default: AWX + api_version: + description: apiVersion of the deployment type + type: string + default: awx.ansible.com/v1beta1 tower_task_privileged: description: If a privileged security context should be enabled type: boolean diff --git a/deploy/crds/awx_v1beta1_crd.yaml b/deploy/crds/awx_v1beta1_crd.yaml index 42efc911..a922ec6f 100644 --- a/deploy/crds/awx_v1beta1_crd.yaml +++ b/deploy/crds/awx_v1beta1_crd.yaml @@ -26,6 +26,15 @@ spec: deployment_type: description: Name of the deployment type type: string + default: awx + kind: + description: Kind of the deployment type + type: string + default: AWX + api_version: + description: apiVersion of the deployment type + type: string + default: awx.ansible.com/v1beta1 tower_task_privileged: description: If a privileged security context should be enabled type: boolean 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 9fdeab37..8ff5cc73 100644 --- a/deploy/olm-catalog/awx-operator/manifests/awx-operator.clusterserviceversion.yaml +++ b/deploy/olm-catalog/awx-operator/manifests/awx-operator.clusterserviceversion.yaml @@ -204,6 +204,16 @@ spec: x-descriptors: - urn:alm:descriptor:com.tectonic.ui:advanced - urn:alm:descriptor:com.tectonic.ui:hidden + - displayName: Deployment Kind + path: kind + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:advanced + - urn:alm:descriptor:com.tectonic.ui:hidden + - displayName: Deployment apiVersion + path: api_version + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:advanced + - urn:alm:descriptor:com.tectonic.ui:hidden - displayName: Tower Image path: tower_image x-descriptors: diff --git a/deploy/olm-catalog/awx-operator/manifests/awx.ansible.com_awxs_crd.yaml b/deploy/olm-catalog/awx-operator/manifests/awx.ansible.com_awxs_crd.yaml index b03e3b94..6898b450 100644 --- a/deploy/olm-catalog/awx-operator/manifests/awx.ansible.com_awxs_crd.yaml +++ b/deploy/olm-catalog/awx-operator/manifests/awx.ansible.com_awxs_crd.yaml @@ -25,6 +25,15 @@ spec: deployment_type: description: Name of the deployment type type: string + default: awx + kind: + description: Kind of the deployment type + type: string + default: AWX + api_version: + description: apiVersion of the deployment type + type: string + default: awx.ansible.com/v1beta1 development_mode: description: If the deployment should be done in development mode type: boolean diff --git a/roles/installer/defaults/main.yml b/roles/installer/defaults/main.yml index 9f57030b..dcd5acf4 100644 --- a/roles/installer/defaults/main.yml +++ b/roles/installer/defaults/main.yml @@ -1,5 +1,7 @@ --- deployment_type: awx +kind: '{{ deployment_type | upper }}' +api_version: '{{ deployment_type }}.ansible.com/v1beta1' database_name: "{{ deployment_type }}" database_username: "{{ deployment_type }}" diff --git a/roles/installer/tasks/main.yml b/roles/installer/tasks/main.yml index 1b5a13db..b7ff9627 100644 --- a/roles/installer/tasks/main.yml +++ b/roles/installer/tasks/main.yml @@ -3,8 +3,8 @@ k8s: state: present definition: - apiVersion: awx.ansible.com/v1beta1 - kind: AWX + apiVersion: '{{ api_version }}' + kind: '{{ kind }}' name: '{{ meta.name }}' namespace: '{{ meta.namespace }}' metadata: @@ -13,8 +13,8 @@ labels: app.kubernetes.io/name: '{{ meta.name }}' app.kubernetes.io/part-of: '{{ meta.name }}' - app.kubernetes.io/managed-by: awx-operator - app.kubernetes.io/component: awx + app.kubernetes.io/managed-by: '{{ deployment_type }}-operator' + app.kubernetes.io/component: '{{ deployment_type }}' - name: Include secret key configuration tasks include_tasks: secret_key_configuration.yml diff --git a/roles/installer/tasks/resources_configuration.yml b/roles/installer/tasks/resources_configuration.yml index 060b48f9..d4b98995 100644 --- a/roles/installer/tasks/resources_configuration.yml +++ b/roles/installer/tasks/resources_configuration.yml @@ -7,8 +7,8 @@ namespace: '{{ meta.namespace }}' label_selectors: - "app.kubernetes.io/name={{ meta.name }}" - - "app.kubernetes.io/managed-by=awx-operator" - - "app.kubernetes.io/component=awx" + - "app.kubernetes.io/managed-by={{ deployment_type }}-operator" + - "app.kubernetes.io/component={{ deployment_type }}" field_selectors: - status.phase=Running register: tower_pods @@ -57,8 +57,8 @@ namespace: '{{ meta.namespace }}' label_selectors: - "app.kubernetes.io/name={{ meta.name }}" - - "app.kubernetes.io/managed-by=awx-operator" - - "app.kubernetes.io/component=awx" + - "app.kubernetes.io/managed-by={{ deployment_type }}-operator" + - "app.kubernetes.io/component={{ deployment_type }}" field_selectors: - status.phase=Running register: _new_pod diff --git a/roles/installer/tasks/update_status.yml b/roles/installer/tasks/update_status.yml index 473912ee..ec4b3d54 100644 --- a/roles/installer/tasks/update_status.yml +++ b/roles/installer/tasks/update_status.yml @@ -1,9 +1,4 @@ --- -- name: Set apiVersion and kind variables - set_fact: - api_version: '{{ hostvars["localhost"]["inventory_file"].split("/")[4:6] | join("/") }}' - kind: '{{ hostvars["localhost"]["inventory_file"].split("/")[6] }}' - - name: Update admin password status operator_sdk.util.k8s_status: api_version: '{{ api_version }}' diff --git a/roles/installer/templates/tower_admin_password_secret.yaml.j2 b/roles/installer/templates/tower_admin_password_secret.yaml.j2 index cafa1f74..85b08f10 100644 --- a/roles/installer/templates/tower_admin_password_secret.yaml.j2 +++ b/roles/installer/templates/tower_admin_password_secret.yaml.j2 @@ -7,7 +7,7 @@ metadata: labels: app.kubernetes.io/name: '{{ meta.name }}' app.kubernetes.io/part-of: '{{ meta.name }}' - app.kubernetes.io/managed-by: awx-operator - app.kubernetes.io/component: awx + app.kubernetes.io/managed-by: '{{ deployment_type }}-operator' + app.kubernetes.io/component: '{{ deployment_type }}' stringData: password: '{{ lookup('password', '/dev/null length=32 chars=ascii_letters,digits') }}' diff --git a/roles/installer/templates/tower_app_credentials.yaml.j2 b/roles/installer/templates/tower_app_credentials.yaml.j2 index 5993b355..d17dbdfd 100644 --- a/roles/installer/templates/tower_app_credentials.yaml.j2 +++ b/roles/installer/templates/tower_app_credentials.yaml.j2 @@ -8,8 +8,8 @@ metadata: labels: app.kubernetes.io/name: '{{ meta.name }}' app.kubernetes.io/part-of: '{{ meta.name }}' - app.kubernetes.io/managed-by: awx-operator - app.kubernetes.io/component: awx + app.kubernetes.io/managed-by: '{{ deployment_type }}-operator' + app.kubernetes.io/component: '{{ deployment_type }}' data: credentials.py: "{{ lookup('template', 'credentials.py.j2') | b64encode }}" ldap.py: "{{ lookup('template', 'ldap.py.j2') | b64encode }}" diff --git a/roles/installer/templates/tower_broadcast_websocket_secret.yaml.j2 b/roles/installer/templates/tower_broadcast_websocket_secret.yaml.j2 index 29619021..9b45d9cd 100644 --- a/roles/installer/templates/tower_broadcast_websocket_secret.yaml.j2 +++ b/roles/installer/templates/tower_broadcast_websocket_secret.yaml.j2 @@ -7,7 +7,7 @@ metadata: labels: app.kubernetes.io/name: '{{ meta.name }}' app.kubernetes.io/part-of: '{{ meta.name }}' - app.kubernetes.io/managed-by: awx-operator - app.kubernetes.io/component: awx + app.kubernetes.io/managed-by: '{{ deployment_type }}-operator' + app.kubernetes.io/component: '{{ deployment_type }}' stringData: secret: '{{ lookup('password', '/dev/null length=32 chars=ascii_letters,digits') }}' diff --git a/roles/installer/templates/tower_config.yaml.j2 b/roles/installer/templates/tower_config.yaml.j2 index c1676949..8cb90a32 100644 --- a/roles/installer/templates/tower_config.yaml.j2 +++ b/roles/installer/templates/tower_config.yaml.j2 @@ -8,8 +8,8 @@ metadata: labels: app.kubernetes.io/name: '{{ meta.name }}' app.kubernetes.io/part-of: '{{ meta.name }}' - app.kubernetes.io/managed-by: awx-operator - app.kubernetes.io/component: awx + app.kubernetes.io/managed-by: '{{ deployment_type }}-operator' + app.kubernetes.io/component: '{{ deployment_type }}' data: environment: | AWX_SKIP_MIGRATIONS=true diff --git a/roles/installer/templates/tower_deployment.yaml.j2 b/roles/installer/templates/tower_deployment.yaml.j2 index 23370018..98eb17be 100644 --- a/roles/installer/templates/tower_deployment.yaml.j2 +++ b/roles/installer/templates/tower_deployment.yaml.j2 @@ -9,23 +9,23 @@ metadata: app.kubernetes.io/name: '{{ meta.name }}' app.kubernetes.io/version: '{{ tower_image_version }}' app.kubernetes.io/part-of: '{{ meta.name }}' - app.kubernetes.io/managed-by: awx-operator - app.kubernetes.io/component: awx + app.kubernetes.io/managed-by: '{{ deployment_type }}-operator' + app.kubernetes.io/component: '{{ deployment_type }}' spec: replicas: {{ tower_replicas }} selector: matchLabels: app.kubernetes.io/name: '{{ meta.name }}' - app.kubernetes.io/managed-by: awx-operator - app.kubernetes.io/component: awx + app.kubernetes.io/managed-by: '{{ deployment_type }}-operator' + app.kubernetes.io/component: '{{ deployment_type }}' template: metadata: labels: app.kubernetes.io/name: '{{ meta.name }}' app.kubernetes.io/version: '{{ tower_image_version }}' app.kubernetes.io/part-of: '{{ meta.name }}' - app.kubernetes.io/managed-by: awx-operator - app.kubernetes.io/component: awx + app.kubernetes.io/managed-by: '{{ deployment_type }}-operator' + app.kubernetes.io/component: '{{ deployment_type }}' spec: serviceAccountName: '{{ meta.name }}' {% if tower_image_pull_secret %} diff --git a/roles/installer/templates/tower_ingress.yaml.j2 b/roles/installer/templates/tower_ingress.yaml.j2 index 6db8dc8a..1a4c7515 100644 --- a/roles/installer/templates/tower_ingress.yaml.j2 +++ b/roles/installer/templates/tower_ingress.yaml.j2 @@ -8,8 +8,8 @@ metadata: labels: app.kubernetes.io/name: '{{ meta.name }}' app.kubernetes.io/part-of: '{{ meta.name }}' - app.kubernetes.io/managed-by: awx-operator - app.kubernetes.io/component: awx + app.kubernetes.io/managed-by: '{{ deployment_type }}-operator' + app.kubernetes.io/component: '{{ deployment_type }}' {% if tower_ingress_annotations %} annotations: {{ tower_ingress_annotations | indent(width=4) }} @@ -41,8 +41,8 @@ metadata: labels: app.kubernetes.io/name: '{{ meta.name }}' app.kubernetes.io/part-of: '{{ meta.name }}' - app.kubernetes.io/managed-by: awx-operator - app.kubernetes.io/component: awx + app.kubernetes.io/managed-by: '{{ deployment_type }}-operator' + app.kubernetes.io/component: '{{ deployment_type }}' spec: {% if tower_route_host != '' %} host: {{ tower_route_host }} diff --git a/roles/installer/templates/tower_persistent.yaml.j2 b/roles/installer/templates/tower_persistent.yaml.j2 index d5edcf8b..d2242368 100644 --- a/roles/installer/templates/tower_persistent.yaml.j2 +++ b/roles/installer/templates/tower_persistent.yaml.j2 @@ -7,8 +7,8 @@ metadata: labels: app.kubernetes.io/name: '{{ meta.name }}' app.kubernetes.io/part-of: '{{ meta.name }}' - app.kubernetes.io/managed-by: awx-operator - app.kubernetes.io/component: awx + app.kubernetes.io/managed-by: '{{ deployment_type }}-operator' + app.kubernetes.io/component: '{{ deployment_type }}' spec: accessModes: - {{ tower_projects_storage_access_mode }} diff --git a/roles/installer/templates/tower_postgres.yaml.j2 b/roles/installer/templates/tower_postgres.yaml.j2 index a4255992..000837df 100644 --- a/roles/installer/templates/tower_postgres.yaml.j2 +++ b/roles/installer/templates/tower_postgres.yaml.j2 @@ -8,13 +8,13 @@ metadata: labels: app.kubernetes.io/name: '{{ meta.name }}-postgres' app.kubernetes.io/part-of: '{{ meta.name }}' - app.kubernetes.io/managed-by: awx-operator + app.kubernetes.io/managed-by: '{{ deployment_type }}-operator' app.kubernetes.io/component: database spec: selector: matchLabels: app.kubernetes.io/name: '{{ meta.name }}-postgres' - app.kubernetes.io/managed-by: awx-operator + app.kubernetes.io/managed-by: '{{ deployment_type }}-operator' app.kubernetes.io/component: database serviceName: '{{ meta.name }}' replicas: 1 @@ -25,7 +25,7 @@ spec: labels: app.kubernetes.io/name: '{{ meta.name }}-postgres' app.kubernetes.io/part-of: '{{ meta.name }}' - app.kubernetes.io/managed-by: awx-operator + app.kubernetes.io/managed-by: '{{ deployment_type }}-operator' app.kubernetes.io/component: database spec: containers: @@ -90,7 +90,7 @@ metadata: labels: app.kubernetes.io/name: '{{ meta.name }}-postgres' app.kubernetes.io/part-of: '{{ meta.name }}' - app.kubernetes.io/managed-by: awx-operator + app.kubernetes.io/managed-by: '{{ deployment_type }}-operator' app.kubernetes.io/component: database spec: ports: @@ -98,5 +98,5 @@ spec: clusterIP: None selector: app.kubernetes.io/name: '{{ meta.name }}-postgres' - app.kubernetes.io/managed-by: awx-operator + app.kubernetes.io/managed-by: '{{ deployment_type }}-operator' app.kubernetes.io/component: database diff --git a/roles/installer/templates/tower_postgres_secret.yaml.j2 b/roles/installer/templates/tower_postgres_secret.yaml.j2 index cd563162..9c0a65f2 100644 --- a/roles/installer/templates/tower_postgres_secret.yaml.j2 +++ b/roles/installer/templates/tower_postgres_secret.yaml.j2 @@ -8,8 +8,8 @@ metadata: labels: app.kubernetes.io/name: '{{ meta.name }}' app.kubernetes.io/part-of: '{{ meta.name }}' - app.kubernetes.io/managed-by: awx-operator - app.kubernetes.io/component: awx + app.kubernetes.io/managed-by: '{{ deployment_type }}-operator' + app.kubernetes.io/component: '{{ deployment_type }}' stringData: password: '{{ lookup('password', '/dev/null length=32 chars=ascii_letters,digits') }}' username: '{{ database_username }}' diff --git a/roles/installer/templates/tower_secret_key.yaml.j2 b/roles/installer/templates/tower_secret_key.yaml.j2 index 76c0bfad..504b0685 100644 --- a/roles/installer/templates/tower_secret_key.yaml.j2 +++ b/roles/installer/templates/tower_secret_key.yaml.j2 @@ -7,7 +7,7 @@ metadata: labels: app.kubernetes.io/name: '{{ meta.name }}' app.kubernetes.io/part-of: '{{ meta.name }}' - app.kubernetes.io/managed-by: awx-operator - app.kubernetes.io/component: awx + app.kubernetes.io/managed-by: '{{ deployment_type }}-operator' + app.kubernetes.io/component: '{{ deployment_type }}' stringData: secret_key: '{{ lookup('password', '/dev/null length=32 chars=ascii_letters,digits') }}' diff --git a/roles/installer/templates/tower_service.yaml.j2 b/roles/installer/templates/tower_service.yaml.j2 index c08c3454..5f8a1582 100644 --- a/roles/installer/templates/tower_service.yaml.j2 +++ b/roles/installer/templates/tower_service.yaml.j2 @@ -7,8 +7,8 @@ metadata: labels: app.kubernetes.io/name: '{{ meta.name }}' app.kubernetes.io/part-of: '{{ meta.name }}' - app.kubernetes.io/managed-by: awx-operator - app.kubernetes.io/component: awx + app.kubernetes.io/managed-by: '{{ deployment_type }}-operator' + app.kubernetes.io/component: '{{ deployment_type }}' {% if tower_ingress_type | lower == 'loadbalancer' and tower_loadbalancer_annotations %} annotations: {{ tower_loadbalancer_annotations | indent(width=4) }} @@ -40,8 +40,8 @@ spec: {% endif %} selector: app.kubernetes.io/name: '{{ meta.name }}' - app.kubernetes.io/managed-by: awx-operator - app.kubernetes.io/component: awx + app.kubernetes.io/managed-by: '{{ deployment_type }}-operator' + app.kubernetes.io/component: '{{ deployment_type }}' {% if tower_ingress_type | lower == "loadbalancer" %} type: LoadBalancer {% elif tower_ingress_type != "none" %} diff --git a/roles/installer/templates/tower_service_account.yaml.j2 b/roles/installer/templates/tower_service_account.yaml.j2 index 57624fb1..2df56841 100644 --- a/roles/installer/templates/tower_service_account.yaml.j2 +++ b/roles/installer/templates/tower_service_account.yaml.j2 @@ -7,8 +7,8 @@ metadata: labels: app.kubernetes.io/name: '{{ meta.name }}' app.kubernetes.io/part-of: '{{ meta.name }}' - app.kubernetes.io/managed-by: awx-operator - app.kubernetes.io/component: awx + app.kubernetes.io/managed-by: '{{ deployment_type }}-operator' + app.kubernetes.io/component: '{{ deployment_type }}' --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role