From 8a4eb569f4155d6d75e1ab9198992f5c6f65612c Mon Sep 17 00:00:00 2001 From: Tim Goodaire Date: Mon, 23 May 2016 12:19:32 -0500 Subject: [PATCH] - Added initdb_user configuration, renamed postgres_user and postgres_group to user and group - Corrected inadvertent changes to postgres_user - Fixed postgres_user - Explicitly list the grain that we're filtering by even though it's default - Place *BSD user and runas into osmap instead of hardcoding --- _modules/postgres_ext.py | 7 ------- postgres/defaults.yaml | 5 +++-- postgres/init.sls | 18 +++++++++--------- postgres/osmap.yaml | 8 ++++++-- 4 files changed, 18 insertions(+), 20 deletions(-) diff --git a/_modules/postgres_ext.py b/_modules/postgres_ext.py index 3165487..6dfaba8 100644 --- a/_modules/postgres_ext.py +++ b/_modules/postgres_ext.py @@ -33,13 +33,6 @@ def _run_psql(cmd, runas=None, password=None, host=None, port=None, user=None): if runas is None: if not host: host = __salt__['config.option']('postgres.host') - if not host or host.startswith('/'): - if 'FreeBSD' in __grains__['os_family']: - runas = 'pgsql' - if 'OpenBSD' in __grains__['os_family']: - runas = '_postgresql' - else: - runas = 'postgres' if user is None: user = runas diff --git a/postgres/defaults.yaml b/postgres/defaults.yaml index 25a32a2..d50f5a3 100644 --- a/postgres/defaults.yaml +++ b/postgres/defaults.yaml @@ -20,5 +20,6 @@ postgres: pg_hba.conf: salt://postgres/pg_hba.conf commands: initdb: service postgresql initdb - postgres_user: postgres - postgres_group: postgres + initdb_user: root + user: postgres + group: postgres diff --git a/postgres/init.sls b/postgres/init.sls index 4831ee1..4fd4e16 100644 --- a/postgres/init.sls +++ b/postgres/init.sls @@ -7,8 +7,8 @@ include: {{ postgres.conf_dir }}: file.directory: - - user: {{ postgres.postgres_user }} - - group: {{ postgres.postgres_group }} + - user: {{ postgres.user }} + - group: {{ postgres.group }} - makedirs: True install-postgresql: @@ -31,7 +31,7 @@ create-postgresql-cluster: postgresql-initdb: cmd.run: - cwd: / - - user: root + - user: {{ postgres.initdb_user }} - name: {{ postgres.commands.initdb }} - unless: test -f {{ postgres.conf_dir }}/postgresql.conf - env: @@ -73,8 +73,8 @@ pg_hba.conf: - name: {{ postgres.conf_dir }}/pg_hba.conf - source: {{ postgres['pg_hba.conf'] }} - template: jinja - - user: {{ postgres.postgres_user }} - - group: {{ postgres.postgres_group }} + - user: {{ postgres.user }} + - group: {{ postgres.group }} - mode: 644 - require: - pkg: install-postgresql @@ -93,14 +93,14 @@ postgres-user-{{ name }}: - inherit: {{ user.get('inherit', True) }} - replication: {{ user.get('replication', False) }} - password: {{ user.get('password', 'changethis') }} - - user: {{ user.get('runas', postgres.postgres_user) }} + - user: {{ user.get('runas', postgres.user) }} - superuser: {{ user.get('superuser', False) }} - require: - service: run-postgresql {% else %} postgres_user.absent: - name: {{ name }} - - user: {{ user.get('runas', postgres.postgres_user) }} + - user: {{ user.get('runas', postgres.user) }} - require: - service: run-postgresql {% endif %} @@ -117,7 +117,7 @@ postgres-db-{{ name }}: {% if db.get('owner') %} - owner: {{ db.get('owner') }} {% endif %} - - user: {{ db.get('runas', postgres.postgres_user) }} + - user: {{ db.get('runas', postgres.user) }} - require: - service: run-postgresql {% if db.get('user') %} @@ -143,7 +143,7 @@ postgres-schema-{{ schema }}-for-db-{{ name }}: postgres-ext-{{ ext }}-for-db-{{ name }}: postgres_extension.present: - name: {{ ext }} - - user: {{ db.get('runas', postgres.postgres_user) }} + - user: {{ db.get('runas', postgres.user) }} - maintenance_db: {{ name }} {% if ext_args is not none %} {% for arg, value in ext_args.items() %} diff --git a/postgres/osmap.yaml b/postgres/osmap.yaml index f6ed69b..15352c2 100644 --- a/postgres/osmap.yaml +++ b/postgres/osmap.yaml @@ -1,7 +1,7 @@ RedHat: init_db: True commands: - initdb: sudo -u postgres initdb /var/lib/pgsql/data + initdb: initdb /var/lib/pgsql/data pkg: postgresql-server pkg_client: postgresql pkg_repo: pgdg94 @@ -12,6 +12,10 @@ Debian: pkg_libpq_dev: libpq-dev Suse: commands: - initdb: sudo -u postgres initdb /var/lib/pgsql/data + initdb: initdb /var/lib/pgsql/data pkg: postgresql-server pkg_client: postgresql +FreeBSD: + user: pgsql +OpenBSD: + user: _postgresql