ansible-postgresql/tasks/extension/PostgREST.yaml
2022-05-26 14:08:42 +02:00

104 lines
3.8 KiB
YAML

- name: postgres | tasks | extension | PostgREST | create userand group | create group for postgrest
ansible.builtin.group:
name: postgrest
state: present
system: yes
- name: postgres | tasks | extension | PostgREST | create userand group | create user for postgrest
ansible.builtin.user:
name: postgrest
group: postgrest
createhome: no
system: yes
state: present
- name: postgres | tasks | extension | PostgREST | get tags | show version selected
debug:
var: postgrest_version
- name: postgres | tasks | extension | PostgREST | install get latest version
block:
- name: postgres | tasks | extension | PostgREST | get tags | get latest restic tags from github API
uri:
url: https://api.github.com/repos/PostgREST/postgrest/releases/latest
method: GET
status_code: 200
register: github_json_response
- name: postgres | tasks | extension | PostgREST | get tags | parsing github api response and set PostgREST version
set_fact:
postgrest_version: "{{ github_json_response.json.tag_name }}"
when: postgrest_version == 'latest'
- name: postgres | tasks | extension | PostgREST | get tags | show version selected
debug:
var: postgrest_version
- name: postgres | tasks | extension | PostgREST | create directory tree | PostgREST/
ansible.builtin.file:
path: /opt/PostgREST/
state: directory
mode: '0755'
- name: postgres | tasks | extension | PostgREST | create directory tree | tar_archive
ansible.builtin.file:
path: /opt/PostgREST/tar_archive
state: directory
mode: '0755'
- name: postgres | tasks | extension | PostgREST | create directory tree | "postgrest-{{postgrest_version}}"
ansible.builtin.file:
path: /opt/PostgREST/postgrest-{{postgrest_version}}/
state: directory
mode: '0755'
- name: postgres | tasks | extension | PostgREST | create directory tree | create /etc/postgrest/ configuration directory
ansible.builtin.file:
path: /etc/postgrest/
state: directory
mode: '0755'
- name: postgres | tasks | extension | PostgREST | check if "postgrest-{{postgrest_version}}-linux-static-x64.tar.xz exist"
stat:
path: /opt/PostgREST/postgrest-{{postgrest_version}}-linux-static-x64.tar.xz
register: postgrest_archive_exist
- name: postgres | tasks | extension | PostgREST | Download binary "postgrest-{{postgrest_version}}-linux-static-x64.tar.xz"
get_url:
url: https://github.com/PostgREST/postgrest/releases/download/{{ postgrest_version }}/postgrest-{{postgrest_version}}-linux-static-x64.tar.xz
dest: /opt/PostgREST/postgrest-{{postgrest_version}}-linux-static-x64.tar.xz
when: not postgrest_archive_exist.stat.exists
- name: postgres | tasks | extension | PostgREST | Unarchive "postgrest-{{postgrest_version}}-linux-static-x64.tar.xz"
ansible.builtin.unarchive:
src: /opt/PostgREST/postgrest-{{postgrest_version}}-linux-static-x64.tar.xz
dest: /opt/PostgREST/postgrest-{{postgrest_version}}/
remote_src: yes
- name: postgres | tasks | extension | PostgREST | create directory tree | create symlink to latest version
ansible.builtin.file:
src: /opt/PostgREST/postgrest-{{postgrest_version}}/postgrest
dest: /opt/PostgREST/postgrest_current
state: link
mode: '0755'
notify:
- restarted postgrest
- name: postgres | tasks | extension | PostgREST | create systemd service
ansible.builtin.template:
dest: /etc/systemd/system/postgrest.service
src: installation/postgrest.service.j2
notify:
- reloaded postgrest
- name: postgres | tasks | extension | PostgREST | create PostgREST configuration file
ansible.builtin.template:
src: installation/postgrest.conf.j2
dest: /etc/postgrest/postgrest.conf
mode: '0644'
owner: postgres
group: postgres
notify:
- restarted postgrest