diff --git a/.ostree/packages-runtime-CentOS-10.txt b/.ostree/packages-runtime-CentOS-10.txt new file mode 100644 index 0000000..dd725ef --- /dev/null +++ b/.ostree/packages-runtime-CentOS-10.txt @@ -0,0 +1 @@ +postgresql-server diff --git a/.ostree/packages-runtime-RedHat-10.txt b/.ostree/packages-runtime-RedHat-10.txt new file mode 100644 index 0000000..dd725ef --- /dev/null +++ b/.ostree/packages-runtime-RedHat-10.txt @@ -0,0 +1 @@ +postgresql-server diff --git a/defaults/main.yml b/defaults/main.yml index 6c585f8..c644382 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -4,7 +4,10 @@ # This file also serves as a documentation for such a variables. # Examples of role input variables: -postgresql_version: "13" +postgresql_version: "{{ '16' if ansible_facts['os_family'] == 'RedHat' + and ansible_facts['distribution'] != 'Fedora' + and ansible_facts['distribution_major_version'] == '10' + else '13' }}" postgresql_password: null postgresql_cert_name: null postgresql_server_tuning: true diff --git a/meta/main.yml b/meta/main.yml index 61d752a..693fdfe 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -14,5 +14,11 @@ galaxy_info: versions: - "8" - "9" - galaxy_tags: [database, postgresql] + galaxy_tags: + - database + - el8 + - el9 + - el10 + - fedora + - postgresql dependencies: [] diff --git a/tasks/main.yml b/tasks/main.yml index d254881..8fda9da 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -24,6 +24,16 @@ - ansible_facts["distribution_major_version"] == "9" - postgresql_version | string not in __postgresql_versions_el9 +- name: Check if requested version is supported in system (RHEL10) + fail: + msg: >- + RHEL 10 supports only Postgresql versions + {{ __postgresql_versions_el10 | join(",") }} + when: + - ansible_facts["os_family"] == "RedHat" + - ansible_facts["distribution_major_version"] == "10" + - postgresql_version | string not in __postgresql_versions_el10 + - name: Check requested and installed version of Postgresql fail: msg: >- diff --git a/tests/tests_versions.yml b/tests/tests_versions.yml index 045faa4..f775c7f 100644 --- a/tests/tests_versions.yml +++ b/tests/tests_versions.yml @@ -7,7 +7,7 @@ - name: Skip test if distro does not support multiple versions meta: end_host when: ansible_facts['distribution'] not in ['CentOS', 'RedHat'] or - ansible_facts['distribution_major_version'] not in ["8", "9"] + ansible_facts['distribution_major_version'] not in ["8", "9", "10"] - name: Install and cleanup default version include_tasks: tasks/install_and_check.yml @@ -33,6 +33,8 @@ if ansible_facts['distribution_major_version'] == '8' else __postgresql_versions_el9 if ansible_facts['distribution_major_version'] == '9' + else __postgresql_versions_el10 + if ansible_facts['distribution_major_version'] == '10' else [] }}" __unsuppported_versions: "{{ ['16'] if ansible_facts['distribution'] == 'RedHat' and diff --git a/vars/CentOS_10.yml b/vars/CentOS_10.yml new file mode 100644 index 0000000..21580a3 --- /dev/null +++ b/vars/CentOS_10.yml @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: MIT +--- +__postgresql_packages: >- + {{ ['@postgresql:' + postgresql_version + + '/server'] if postgresql_version != '16' else + ['postgresql-server'] }} diff --git a/vars/RedHat_10.yml b/vars/RedHat_10.yml new file mode 100644 index 0000000..21580a3 --- /dev/null +++ b/vars/RedHat_10.yml @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: MIT +--- +__postgresql_packages: >- + {{ ['@postgresql:' + postgresql_version + + '/server'] if postgresql_version != '16' else + ['postgresql-server'] }} diff --git a/vars/main.yml b/vars/main.yml index 1967fd5..2a6d0ec 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -8,6 +8,7 @@ __postgresql_packages: [postgresql-server] __postgresql_versions_el8: ["10", "12", "13", "15", "16"] __postgresql_versions_el9: ["13", "15", "16"] +__postgresql_versions_el10: ["16"] __postgresql_data_dir: /var/lib/pgsql/data