added: overriding postgresql configuration

This commit is contained in:
Dan Anglin 2019-10-08 18:25:24 +01:00
parent 53648b4a22
commit f293d06c78
No known key found for this signature in database
GPG key ID: 7AC2B18EC1D09F27
4 changed files with 73 additions and 11 deletions

View file

@ -1,6 +1,8 @@
--- ---
- name: Combining Pleroma config details - name: Combining Pleroma config details
set_fact: pleroma="{{ pleroma_defaults | combine(pleroma, recursive=true) }}" set_fact: pleroma="{{ pleroma_defaults | combine(pleroma, recursive=true) }}"
tags:
- always
- name: Installing and configuring PostgreSQL. - name: Installing and configuring PostgreSQL.
include_tasks: include_tasks:

View file

@ -11,25 +11,52 @@
- setup - setup
creates: /var/lib/postgresql/11/data/postgresql.conf creates: /var/lib/postgresql/11/data/postgresql.conf
# ----------------------------------- - name: Postgres -- Ensuring that the additional directories exist.
# TODO: Take a look at the postgres file:
# configuration file before going name: "{{ item }}"
# into production. state: directory
# ----------------------------------- mode: '0700'
- name: Postgres -- Ensure that pg_hba.conf is configured. owner: postgres
group: postgres
loop:
- "{{ pleroma_postgres_log_dir }}"
- "{{ pleroma_postgres_confd }}"
- name: Postgres -- Ensuring that PostgreSQL is configured.
template: template:
src: etc_postgresql_pg_hba.conf.j2 src: "{{ item.src }}"
dest: /etc/postgresql/pg_hba.conf dest: "{{ item.dest }}"
owner: postgres owner: postgres
group: postgres group: postgres
mode: '0400' mode: '0400'
notify: restart postgres loop:
- { src: etc_postgresql_pg_hba.conf.j2, dest: "{{ pleroma_postgres_base_conf }}/pg_hba.conf" }
- { src: etc_postgresql_confd_postgresql_override.conf, dest: "{{ pleroma_postgres_confd }}/postgresql_override.conf" }
- name: Postgres -- Ensure that PostgreSQL is enabled and started. - name: Postgres -- Ensuring that the symlink to the override config is present.
file:
group: postgres
mode: '0700'
owner: postgres
path: "{{ pleroma_postgres_confd_symlink }}"
src: "{{ pleroma_postgres_confd }}"
state: link
- name: Postgres -- Ensuring that the override config is included in the main config.
lineinfile:
group: postgres
line: "include = '{{ pleroma_postgres_confd_symlink }}/postgresql_override.conf'"
mode: '0400'
owner: postgres
path: "{{ pleroma_postgres_base_conf }}/postgresql.conf"
regexp: ^.*include\s=\s'.*'.*$
state: present
- name: Postgres -- Ensuring that PostgreSQL is enabled and started.
service: service:
name: postgresql name: postgresql
enabled: yes enabled: yes
state: started state: restarted
- name: Postgres -- Ensuring that Postgres is available before continuing. - name: Postgres -- Ensuring that Postgres is available before continuing.
wait_for: wait_for:
@ -44,6 +71,7 @@
postgresql_user: postgresql_user:
db: postgres db: postgres
encrypted: yes encrypted: yes
login_unix_socket: "{{ pleroma_postgres_unix_socket_dir }}"
name: "{{ pleroma.config.db.user }}" name: "{{ pleroma.config.db.user }}"
password: "{{ pleroma.config.db.password }}" password: "{{ pleroma.config.db.password }}"
state: present state: present
@ -55,6 +83,7 @@
postgresql_db: postgresql_db:
conn_limit: "20" conn_limit: "20"
encoding: UTF-8 encoding: UTF-8
login_unix_socket: "{{ pleroma_postgres_unix_socket_dir }}"
name: "{{ pleroma.config.db.name }}" name: "{{ pleroma.config.db.name }}"
owner: "{{ pleroma.config.db.user }}" owner: "{{ pleroma.config.db.user }}"
state: present state: present
@ -66,6 +95,7 @@
postgresql_ext: postgresql_ext:
name: "{{ item }}" name: "{{ item }}"
db: "{{ pleroma.config.db.name }}" db: "{{ pleroma.config.db.name }}"
login_unix_socket: "{{ pleroma_postgres_unix_socket_dir }}"
state: present state: present
loop: loop:
- citext - citext

View file

@ -0,0 +1,24 @@
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
listen_addresses = 'localhost'
port = 5432
unix_socket_directories = '{{ pleroma_postgres_unix_socket_dir }}'
#------------------------------------------------------------------------------
# REPORTING AND LOGGING
#------------------------------------------------------------------------------
log_destination = 'stderr'
logging_collector = on
log_directory = '{{ pleroma_postgres_log_dir }}'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_file_mode = 0600
log_truncate_on_rotation = off
log_rotation_age = 1d
log_rotation_size = 5MB
log_min_messages = info
log_min_error_statement = error
log_min_duration_statement = 1000
log_timezone = 'UTC'

View file

@ -3,3 +3,9 @@ pleroma_ssl_folder: /etc/ssl/pleroma
pleroma_ssl_privateKeyPath: "{{ pleroma_ssl_folder }}/pleroma.key" pleroma_ssl_privateKeyPath: "{{ pleroma_ssl_folder }}/pleroma.key"
pleroma_ssl_csrPath: "{{ pleroma_ssl_folder }}/pleroma.csr" pleroma_ssl_csrPath: "{{ pleroma_ssl_folder }}/pleroma.csr"
pleroma_ssl_selfSignedCertPath: "{{ pleroma_ssl_folder }}/pleroma.crt" pleroma_ssl_selfSignedCertPath: "{{ pleroma_ssl_folder }}/pleroma.crt"
pleroma_postgres_log_dir: /var/log/postgresql
pleroma_postgres_base_conf: /etc/postgresql
pleroma_postgres_confd: "{{ pleroma_postgres_base_conf }}/conf.d"
pleroma_postgres_confd_symlink: /var/lib/postgresql/11/data/pg_conf.d
pleroma_postgres_unix_socket_dir: /var/run/postgresql