From 5b3be06e8d480ff5d8599f679e78b48702b84993 Mon Sep 17 00:00:00 2001 From: Shane McDonald Date: Sat, 5 Mar 2022 11:48:13 -0500 Subject: [PATCH] Allow for customizing postgres init container resources --- README.md | 15 ++++++++------- config/crd/bases/awx.ansible.com_awxs.yaml | 22 ++++++++++++++++++++++ config/manifests/bases/olm-parameters.yaml | 11 +++++++---- roles/installer/defaults/main.yml | 1 + roles/installer/templates/postgres.yaml.j2 | 8 +------- 5 files changed, 39 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index ea9ef201..df8ea34a 100644 --- a/README.md +++ b/README.md @@ -419,13 +419,14 @@ If you don't have access to an external PostgreSQL service, the AWX operator can The following variables are customizable for the managed PostgreSQL service -| Name | Description | Default | -| ------------------------------------ | ------------------------------------------ | --------------------------------- | -| postgres_image | Path of the image to pull | postgres:12 | -| postgres_resource_requirements | PostgreSQL container resource requirements | Empty object | -| postgres_storage_requirements | PostgreSQL container storage requirements | requests: {storage: 8Gi} | -| postgres_storage_class | PostgreSQL PV storage class | Empty string | -| postgres_data_path | PostgreSQL data path | `/var/lib/postgresql/data/pgdata` | +| Name | Description | Default | +| --------------------------------------------- | --------------------------------------------- | --------------------------------- | +| postgres_image | Path of the image to pull | postgres:12 | +| postgres_init_container_resource_requirements | Database init container resource requirements | requests: {} | +| postgres_resource_requirements | PostgreSQL container resource requirements | requests: {} | +| postgres_storage_requirements | PostgreSQL container storage requirements | requests: {storage: 8Gi} | +| postgres_storage_class | PostgreSQL PV storage class | Empty string | +| postgres_data_path | PostgreSQL data path | `/var/lib/postgresql/data/pgdata` | Example of customization could be: diff --git a/config/crd/bases/awx.ansible.com_awxs.yaml b/config/crd/bases/awx.ansible.com_awxs.yaml index 82ff8087..0d7be626 100644 --- a/config/crd/bases/awx.ansible.com_awxs.yaml +++ b/config/crd/bases/awx.ansible.com_awxs.yaml @@ -245,6 +245,28 @@ spec: type: string type: object type: object + postgres_init_container_resource_requirements: + description: Resource requirements for the postgres init container + properties: + requests: + properties: + cpu: + type: string + memory: + type: string + storage: + type: string + type: object + limits: + properties: + cpu: + type: string + memory: + type: string + storage: + type: string + type: object + type: object service_account_annotations: description: ServiceAccount annotations type: string diff --git a/config/manifests/bases/olm-parameters.yaml b/config/manifests/bases/olm-parameters.yaml index e65edf14..ccd784fd 100644 --- a/config/manifests/bases/olm-parameters.yaml +++ b/config/manifests/bases/olm-parameters.yaml @@ -261,14 +261,17 @@ x-descriptors: - urn:alm:descriptor:com.tectonic.ui:advanced - urn:alm:descriptor:com.tectonic.ui:resourceRequirements - - displayName: PostgreSQL container resource requirements (when using a managed - instance) + - displayName: PostgreSQL init container resource requirements (when using a managed instance) + path: postgres_init_container_resource_requirements + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:advanced + - urn:alm:descriptor:com.tectonic.ui:resourceRequirements + - displayName: PostgreSQL container resource requirements (when using a managed instance) path: postgres_resource_requirements x-descriptors: - urn:alm:descriptor:com.tectonic.ui:advanced - urn:alm:descriptor:com.tectonic.ui:resourceRequirements - - displayName: PostgreSQL container storage requirements (when using a managed - instance) + - displayName: PostgreSQL container storage requirements (when using a managed instance) path: postgres_storage_requirements x-descriptors: - urn:alm:descriptor:com.tectonic.ui:advanced diff --git a/roles/installer/defaults/main.yml b/roles/installer/defaults/main.yml index a4bc8874..89c2bac3 100644 --- a/roles/installer/defaults/main.yml +++ b/roles/installer/defaults/main.yml @@ -216,6 +216,7 @@ postgres_tolerations: '' postgres_storage_requirements: requests: storage: 8Gi +postgres_init_container_resource_requirements: {} postgres_resource_requirements: {} postgres_data_path: '/var/lib/postgresql/data/pgdata' diff --git a/roles/installer/templates/postgres.yaml.j2 b/roles/installer/templates/postgres.yaml.j2 index d7f6d4c9..a4db1a0d 100644 --- a/roles/installer/templates/postgres.yaml.j2 +++ b/roles/installer/templates/postgres.yaml.j2 @@ -40,13 +40,7 @@ spec: initContainers: - name: database-check image: '{{ _init_container_image }}' - resources: - requests: - memory: "64Mi" - cpu: "250m" - limits: - memory: "256Mi" - cpu: "1000m" + resources: {{ postgres_init_container_resource_requirements }} imagePullPolicy: '{{ image_pull_policy }}' command: - /bin/sh