-# Copyright (c) 2023 Jakub Czajka <jakub@ekhem.eu.org>
+# Copyright (c) 2023-2025 Jakub Czajka <jakub@ekhem.eu.org>
# License: GPL-3.0 or later.
- hosts: servers
vars:
repo: "{{ ansible_local.env.vars.git_home_dir }}/server.git"
+ ver: 17
tasks:
- name: Install postgres
package:
command: git --work-tree=/tmp --git-dir={{ repo }} checkout main \
--force postgres/*
become: true
- - name: Create directory /etc/postgresql/15/main/private
+ - name: Create directory /etc/postgresql/VER/main/private
file:
- path: /etc/postgresql/15/main/private
+ path: /etc/postgresql/{{ ver }}/main/private
state: directory
become: true
- - name: Copy files from /tmp/postgres to /etc/postgresq/15/main
+ - name: Copy files from /tmp/postgres to /etc/postgresq/VER/main
copy:
src: /tmp/postgres/{{ item }}
- dest: /etc/postgresql/15/main
+ dest: /etc/postgresql/{{ ver }}/main
remote_src: true
become: true
with_items:
- pg_hba.conf
- postgresql.conf
- - name: Limit permissions for /etc/postgresql/15/main/private
+ - name: Limit permissions for /etc/postgresql/VER/main/private
file:
- path: /etc/postgresql/15/main/private
+ path: /etc/postgresql/{{ ver }}/main/private
state: directory
mode: 0700
owner: postgres
group: postgres
become: true
- - name: Copy postgres' certificates /etc/postgresql/15/main/private
+ - name: Copy postgres' certificates /etc/postgresql/VER/main/private
copy:
src: "{{ ansible_local.env.vars.postgres_ssl_cert_dir }}/{{ item }}"
- dest: /etc/postgresql/15/main/private
+ dest: /etc/postgresql/{{ ver }}/main/private
mode: 0600
owner: postgres
group: postgres