|
4 | 4 | gather_facts: no
|
5 | 5 | become: yes
|
6 | 6 |
|
7 |
| - vars: |
8 |
| - ansible_python_interpreter: /usr/bin/python3 |
9 |
| - repmgr_version: "5.1" |
10 |
| - repmgr_master: pgsql01 |
11 |
| - repmgr_target_group: pgpool |
12 |
| - repmgr_promote_command: /usr/bin/repmgr standby promote -f /etc/repmgr.conf --log-to-file |
13 |
| - repmgr_follow_command: /usr/bin/repmgr standby follow -f /etc/repmgr.conf --log-to-file --upstream-node-id=%n |
14 |
| - repmgr_monitoring_history: "yes" |
15 |
| - repmgr_connection_check_type: query |
16 |
| - repmgr_log_level: INFO |
17 |
| - postgresql_version: 12 |
18 |
| - postgresql_listen_addresses: "*" |
19 |
| - postgresql_port: 5432 |
20 |
| - postgresql_max_connections: 128 |
21 |
| - postgresql_wal_level: "replica" |
22 |
| - postgresql_max_wal_senders: 10 |
23 |
| - postgresql_max_replication_slots: 10 |
24 |
| - postgresql_wal_keep_segments: 100 |
25 |
| - postgresql_hot_standby: on |
26 |
| - postgresql_data_checksums: true |
27 |
| - postgresql_wal_compression: on |
28 |
| - postgresql_wal_log_hints: on |
29 |
| - postgresql_ext_install_repmgr: yes |
30 |
| - postgresql_shared_preload_libraries: |
31 |
| - - repmgr |
32 |
| - postgresql_log_checkpoints: on |
33 |
| - postgresql_log_connections: on |
34 |
| - postgresql_log_disconnections: on |
35 |
| - postgresql_log_temp_files: 0 |
36 |
| - # pg_hba.conf |
37 |
| - postgresql_pg_hba_custom: |
38 |
| - - { type: "host", database: "replication", user: "{{ repmgr_user }}", address: "192.168.30.0/24", method: "trust" } |
39 |
| - - { type: "host", database: "replication", user: "{{ repmgr_user }}", address: "127.0.0.1/32", method: "trust" } |
40 |
| - - { type: "host", database: "{{ repmgr_database }}", user: "{{ repmgr_user }}", address: "127.0.0.1/32", method: "trust" } |
41 |
| - - { type: "host", database: "{{ repmgr_database }}", user: "{{ repmgr_user }}", address: "192.168.30.0/24", method: "trust" } |
42 |
| - - { type: "host", database: "all", user: "postgres", address: "192.168.30.0/24", method: "trust" } |
43 |
| - - { type: "host", database: "testdb", user: "all", address: "192.168.0.0/16", method: "trust" } |
44 |
| - # Databases |
45 |
| - postgresql_databases: |
46 |
| - - name: "{{ repmgr_database }}" |
47 |
| - owner: "{{ repmgr_user }}" |
48 |
| - encoding: "UTF-8" |
49 |
| - - name: testdb |
50 |
| - owner: admin |
51 |
| - encoding: "UTF-8" |
52 |
| - # Users |
53 |
| - postgresql_users: |
54 |
| - - name: "{{ repmgr_user }}" |
55 |
| - pass: "{{ repmgr_password }}" |
56 |
| - - name: admin |
57 |
| - pass: secret # postgresql >=10 does not accept unencrypted passwords |
58 |
| - encrypted: yes |
59 |
| - # Roles |
60 |
| - postgresql_user_privileges: |
61 |
| - - name: "{{ repmgr_user }}" |
62 |
| - db: "{{ repmgr_database }}" |
63 |
| - priv: "ALL" |
64 |
| - role_attr_flags: "SUPERUSER,REPLICATION" |
65 |
| - - name: admin |
66 |
| - db: testdb |
67 |
| - role_attr_flags: "SUPERUSER" |
68 |
| - |
69 | 7 | pre_tasks:
|
70 | 8 | - name: Wait for SSH
|
71 | 9 | wait_for_connection:
|
|
97 | 35 | loop: "{{ groups[repmgr_target_group] }}"
|
98 | 36 |
|
99 | 37 | roles:
|
100 |
| - - name: fidanf.postgresql-ha |
| 38 | + - name: fidanf.postgresql_ha |
| 39 | + vars: |
| 40 | + repmgr_version: 5.2 |
| 41 | + repmgr_version_debian: 5.2.1-1.pgdg100+1 |
| 42 | + repmgr_master: pgsql01 |
| 43 | + repmgr_target_group: pgpool |
| 44 | + repmgr_promote_command: /usr/bin/repmgr standby promote -f /etc/repmgr.conf --log-to-file |
| 45 | + repmgr_follow_command: /usr/bin/repmgr standby follow -f /etc/repmgr.conf --log-to-file --upstream-node-id=%n |
| 46 | + repmgr_monitoring_history: "yes" |
| 47 | + repmgr_connection_check_type: query |
| 48 | + repmgr_log_level: INFO |
| 49 | + postgresql_version: 12 |
| 50 | + postgresql_listen_addresses: "*" |
| 51 | + postgresql_port: 5432 |
| 52 | + postgresql_max_connections: 128 |
| 53 | + postgresql_wal_level: "replica" |
| 54 | + postgresql_max_wal_senders: 10 |
| 55 | + postgresql_max_replication_slots: 10 |
| 56 | + postgresql_wal_keep_segments: 100 |
| 57 | + postgresql_hot_standby: on |
| 58 | + postgresql_data_checksums: true |
| 59 | + postgresql_wal_compression: on |
| 60 | + postgresql_wal_log_hints: on |
| 61 | + postgresql_ext_install_repmgr: yes |
| 62 | + postgresql_shared_preload_libraries: |
| 63 | + - repmgr |
| 64 | + postgresql_log_checkpoints: on |
| 65 | + postgresql_log_connections: on |
| 66 | + postgresql_log_disconnections: on |
| 67 | + postgresql_log_temp_files: 0 |
| 68 | + # pg_hba.conf |
| 69 | + postgresql_pg_hba_custom: |
| 70 | + - { type: "host", database: "replication", user: "{{ repmgr_user }}", address: "192.168.30.0/24", method: "trust" } |
| 71 | + - { type: "host", database: "replication", user: "{{ repmgr_user }}", address: "127.0.0.1/32", method: "trust" } |
| 72 | + - { type: "host", database: "{{ repmgr_database }}", user: "{{ repmgr_user }}", address: "127.0.0.1/32", method: "trust" } |
| 73 | + - { type: "host", database: "{{ repmgr_database }}", user: "{{ repmgr_user }}", address: "192.168.30.0/24", method: "trust" } |
| 74 | + - { type: "host", database: "all", user: "postgres", address: "192.168.30.0/24", method: "trust" } |
| 75 | + - { type: "host", database: "testdb", user: "all", address: "192.168.0.0/16", method: "trust" } |
| 76 | + # Databases |
| 77 | + postgresql_databases: |
| 78 | + - name: "{{ repmgr_database }}" |
| 79 | + owner: "{{ repmgr_user }}" |
| 80 | + encoding: "UTF-8" |
| 81 | + - name: testdb |
| 82 | + owner: admin |
| 83 | + encoding: "UTF-8" |
| 84 | + # Users |
| 85 | + postgresql_users: |
| 86 | + - name: "{{ repmgr_user }}" |
| 87 | + pass: "{{ repmgr_password }}" |
| 88 | + - name: admin |
| 89 | + pass: secret # postgresql >=10 does not accept unencrypted passwords |
| 90 | + encrypted: yes |
| 91 | + # Roles |
| 92 | + postgresql_user_privileges: |
| 93 | + - name: "{{ repmgr_user }}" |
| 94 | + db: "{{ repmgr_database }}" |
| 95 | + priv: "ALL" |
| 96 | + role_attr_flags: "SUPERUSER,REPLICATION" |
| 97 | + - name: admin |
| 98 | + db: testdb |
| 99 | + role_attr_flags: "SUPERUSER" |
0 commit comments