aboutsummaryrefslogtreecommitdiffstats
path: root/ansible/roles/postgres/vars/main/main.yml
blob: b7de19232d1d66638d5144788f2dc4117ec0fb25 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
postgres_version: "15"
postgres_daemon: "postgresql@{{ postgres_version }}-main"
postgres_user: "postgres"

postgres_users:
  - name: site
    password: "{{ vault_postgres_user_passwords.site }}"
    roles:

  - name: pixels
    password: "{{ vault_postgres_user_passwords.pixels }}"
    roles:

  - name: pinnwand
    password: "{{ vault_postgres_user_passwords.pinnwand }}"
    roles:

  - name: blackbox
    password: "{{ vault_postgres_user_passwords.blackbox }}"
    roles:
      - pg_read_all_data

  - name: metabase
    password: "{{ vault_postgres_user_passwords.metabase }}"
    roles:
      - pg_read_all_data

  - name: bitwarden
    password: "{{ vault_postgres_user_passwords.bitwarden }}"
    roles:

  - name: blackknight
    password: "{{ vault_postgres_user_passwords.blackknight }}"
    roles:

  - name: codejam_management
    password: "{{ vault_postgres_user_passwords.codejam_management }}"
    roles:

  - name: metricity
    password: "{{ vault_postgres_user_passwords.metricity }}"
    roles:

  - name: metabase
    password: "{{ vault_postgres_user_passwords.metabase }}"
    roles:
      - pg_read_all_data

  - name: grafana
    password: "{{ vault_postgres_user_passwords.grafana }}"
    roles:
      - pg_read_all_data

  - name: devops
    password: "{{ vault_postgres_user_passwords.devops }}"
    roles:
    role_attr_flags: SUPERUSER


postgres_hba_rules:
  #
  # Service HBA rules
  #
  - conn_type: hostssl
    database: pinnwand
    user: pinnwand
    address: all
    method: scram-sha-256

  - conn_type: hostssl
    database: site
    user: grafana
    address: all
    method: scram-sha-256

  - conn_type: hostssl
    database: site
    user: site
    address: all
    method: scram-sha-256

  - conn_type: hostssl
    database: bitwarden
    user: bitwarden
    address: all
    method: scram-sha-256

  - conn_type: hostssl
    database: blackknight
    user: blackknight
    address: all
    method: scram-sha-256

  - conn_type: hostssl
    database: codejam_management
    user: codejam_management
    address: all
    method: scram-sha-256

  - conn_type: hostssl
    database: pixels
    user: pixels
    address: all
    method: scram-sha-256

  - conn_type: hostssl
    database: metricity
    user: metricity
    address: all
    method: scram-sha-256

  - conn_type: hostssl
    database: metabase
    user: metabase
    address: all
    method: scram-sha-256

  #
  # Backup service HBA rules
  #
  - conn_type: hostssl
    database: all
    user: blackbox
    address: all
    method: scram-sha-256

  #
  # Analytics HBA rules
  #
  - conn_type: hostssl
    database: metricity
    user: metabase
    address: all
    method: scram-sha-256

  - conn_type: hostssl
    database: site
    user: metabase
    address: all
    method: scram-sha-256

  - conn_type: hostssl
    database: metricity
    user: grafana
    address: all
    method: scram-sha-256

  - conn_type: hostssl
    database: pixels
    user: metabase
    address: all
    method: scram-sha-256

  #
  # DevOps Administration rules
  #
  - conn_type: hostssl
    database: all
    user: devops
    address: 127.0.0.1/32
    method: cert
    options: map=mtls_cn_map

  - conn_type: hostssl
    database: all
    user: devops
    address: "::1/128"
    method: cert
    options: map=mtls_cn_map

postgres_databases:
  - name: pinnwand
    owner: pinnwand
  - name: bitwarden
    owner: bitwarden
  - name: blackknight
    owner: blackknight
  - name: codejam_management
    owner: codejam_management
  - name: metricity
    owner: metricity
  - name: site
    owner: site
  - name: metabase
    owner: metabase
  - name: pixels
    owner: pixels
  - name: devops
    owner: devops


postgres_grants:
  - objs: api_nomination,api_infraction,api_user,api_nominationentry,pg_stat_statements,pg_stat_statements_info
    privs: SELECT
    state: present
    roles: grafana
    database: site
    type: table

  - objs: site
    privs: CONNECT
    state: present
    roles: grafana
    database: site
    type: database