Extend postgres?.yml with pg_hba section to give possibility to customize pg_hba.conf

This commit is contained in:
Alexander Kukushkin
2015-06-01 16:05:35 +02:00
parent adcc7ac256
commit 1bcc2b5fa6
4 changed files with 29 additions and 0 deletions
+4
View File
@@ -199,6 +199,10 @@ class Postgresql:
def write_pg_hba(self):
with open(os.path.join(self.data_dir, 'pg_hba.conf'), 'a') as f:
f.write('\nhost replication {username} {network} md5\n'.format(**self.replication))
for line in self.config.get('pg_hba', []):
if line['type'] == 'hostssl' and self.config['parameters'].get('ssl', 'off').lower() != 'on':
continue
f.write('{type} {database} {user} {address} {method}\n'. format(**line))
@staticmethod
def primary_conninfo(leader_url):
+11
View File
@@ -12,6 +12,17 @@ postgresql:
connect_address: 127.0.0.1:5432
data_dir: data/postgresql0
maximum_lag_on_failover: 1048576 # 1 megabyte in bytes
pg_hba:
- type: host
database: all
user: all
address: 0.0.0.0/0
method: md5
- type: hostssl
database: all
user: all
address: 0.0.0.0/0
method: md5
replication:
username: replicator
password: rep-pass
+11
View File
@@ -12,6 +12,17 @@ postgresql:
connect_address: 127.0.0.1:5433
data_dir: data/postgresql1
maximum_lag_on_failover: 1048576 # 1 megabyte in bytes
pg_hba:
- type: host
database: all
user: all
address: 0.0.0.0/0
method: md5
- type: hostssl
database: all
user: all
address: 0.0.0.0/0
method: md5
replication:
username: replicator
password: rep-pass
+3
View File
@@ -93,6 +93,9 @@ class TestPostgresql(unittest.TestCase):
subprocess.call = subprocess_call
self.p = Postgresql({'name': 'test0', 'data_dir': 'data/test0', 'listen': '127.0.0.1, 127.0.0.2:5432',
'connect_address': '127.0.0.2:5432',
'pg_hba': [{'type': 'hostssl', 'database': 'all', 'user': 'all', 'address': '0.0.0.0/0',
'method': 'md5'}, {'type': 'host', 'database': 'all', 'user': 'all',
'address': '0.0.0.0/0', 'method': 'md5'}],
'replication': {'username': 'replicator',
'password': 'rep-pass',
'network': '127.0.0.1/32'},