From afb170734f2cfe566d0a462f0c2fe06aa166a59c Mon Sep 17 00:00:00 2001 From: ionutboangiu Date: Tue, 11 Jul 2023 04:43:34 -0400 Subject: [PATCH] Implement postgresql ansible role --- data/ansible/integration_tests/main.yaml | 6 ++++- .../roles/install_cgrates/defaults/main.yaml | 2 -- .../roles/postgresql/defaults/main.yaml | 6 +++++ data/ansible/roles/postgresql/tasks/main.yaml | 27 +++++++++++++++++++ 4 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 data/ansible/roles/postgresql/defaults/main.yaml create mode 100644 data/ansible/roles/postgresql/tasks/main.yaml diff --git a/data/ansible/integration_tests/main.yaml b/data/ansible/integration_tests/main.yaml index ca38311a5..a7e597030 100644 --- a/data/ansible/integration_tests/main.yaml +++ b/data/ansible/integration_tests/main.yaml @@ -1,5 +1,5 @@ --- -- hosts: local +- hosts: all tasks: - name: Install RabbitMQ import_role: @@ -29,6 +29,10 @@ import_role: name: ../roles/install_mongodb + - name: Install PostgreSQL + import_role: + name: ../roles/postgresql + - name: Install Go import_role: name: ../roles/go diff --git a/data/ansible/roles/install_cgrates/defaults/main.yaml b/data/ansible/roles/install_cgrates/defaults/main.yaml index 5f3bdd2d1..5b5db7aa2 100644 --- a/data/ansible/roles/install_cgrates/defaults/main.yaml +++ b/data/ansible/roles/install_cgrates/defaults/main.yaml @@ -9,7 +9,5 @@ cgrates_dependencies: - git - redis-server - mariadb-server - - postgresql - - postgresql-contrib - make - gcc \ No newline at end of file diff --git a/data/ansible/roles/postgresql/defaults/main.yaml b/data/ansible/roles/postgresql/defaults/main.yaml new file mode 100644 index 000000000..c631e6a1a --- /dev/null +++ b/data/ansible/roles/postgresql/defaults/main.yaml @@ -0,0 +1,6 @@ +--- +postgresql_version: "postgresql" +postgresql_repo: "http://apt.postgresql.org/pub/repos/apt" +postgresql_key_url: "https://www.postgresql.org/media/keys/ACCC4CF8.asc" +postgresql_service_state: "started" +postgresql_service_enabled: "no" diff --git a/data/ansible/roles/postgresql/tasks/main.yaml b/data/ansible/roles/postgresql/tasks/main.yaml new file mode 100644 index 000000000..77f6a5dd9 --- /dev/null +++ b/data/ansible/roles/postgresql/tasks/main.yaml @@ -0,0 +1,27 @@ +--- +- name: Create the PostgreSQL repository configuration + become: yes + ansible.builtin.copy: + content: "deb {{ postgresql_repo }} {{ ansible_distribution_release }}-pgdg main" + dest: /etc/apt/sources.list.d/pgdg.list + when: not (ansible.builtin.stat.exists is defined and ansible.builtin.stat.exists) + +- name: Import the PostgreSQL repository signing key + become: yes + ansible.builtin.apt_key: + url: "{{ postgresql_key_url }}" + state: present + +- name: Update the package lists and ensure PostgreSQL is the latest version + become: yes + ansible.builtin.apt: + name: "{{ postgresql_version }}" + state: latest + update_cache: yes + +- name: Manage the PostgreSQL service + become: yes + ansible.builtin.systemd: + name: postgresql + state: "{{ postgresql_service_state }}" + enabled: "{{ postgresql_service_enabled }}"