From d9fbbf3ae966b739cf701f67494eac5c9856e817 Mon Sep 17 00:00:00 2001 From: Alexander Kukushkin Date: Tue, 2 Jun 2015 12:37:26 +0200 Subject: [PATCH] Make pg_hba section more compact --- helpers/postgresql.py | 4 ++-- postgres0.yml | 12 ++---------- postgres1.yml | 12 ++---------- tests/test_postgresql.py | 4 +--- 4 files changed, 7 insertions(+), 25 deletions(-) diff --git a/helpers/postgresql.py b/helpers/postgresql.py index ad987359..3d2cd183 100644 --- a/helpers/postgresql.py +++ b/helpers/postgresql.py @@ -206,9 +206,9 @@ class Postgresql: 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': + if line.split()[0].strip() == 'hostssl' and self.config['parameters'].get('ssl', 'off').lower() != 'on': continue - f.write('{type} {database} {user} {address} {method}\n'. format(**line)) + f.write(line + '\n') @staticmethod def primary_conninfo(leader_url): diff --git a/postgres0.yml b/postgres0.yml index 7c1c8dbf..9a8e6212 100644 --- a/postgres0.yml +++ b/postgres0.yml @@ -13,16 +13,8 @@ postgresql: 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 + - host all all 0.0.0.0/0 md5 + - hostssl all all 0.0.0.0/0 md5 replication: username: replicator password: rep-pass diff --git a/postgres1.yml b/postgres1.yml index 2e6edf33..2f5f2d0a 100644 --- a/postgres1.yml +++ b/postgres1.yml @@ -13,16 +13,8 @@ postgresql: 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 + - host all all 0.0.0.0/0 md5 + - hostssl all all 0.0.0.0/0 md5 replication: username: replicator password: rep-pass diff --git a/tests/test_postgresql.py b/tests/test_postgresql.py index b7da49aa..9eba294b 100644 --- a/tests/test_postgresql.py +++ b/tests/test_postgresql.py @@ -93,9 +93,7 @@ class TestPostgresql(unittest.TestCase): subprocess.call = subprocess_call self.p = Postgresql({'name': 'test0', 'data_dir': 'data/test0', 'listen': '127.0.0.1, *: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'}], + 'pg_hba': ['hostssl all all 0.0.0.0/0 md5', 'host all all 0.0.0.0/0 md5'], 'replication': {'username': 'replicator', 'password': 'rep-pass', 'network': '127.0.0.1/32'},