include: - postgresql-server gnuviechadmin-database: postgres_user.present: - name: {{ salt['pillar.get']('gnuviechadmin-database:owner:user') }} - user: postgres - password: {{ salt['pillar.get']('gnuviechadmin-database:owner:password') }} - login: True - require: - service: postgresql postgres_database.present: - name: {{ salt['pillar.get']('gnuviechadmin-database:database') }} - user: postgres - owner: {{ salt['pillar.get']('gnuviechadmin-database:owner:user') }} - encoding: UTF8 - template: template0 - require: - service: postgresql - postgres_user: {{ salt['pillar.get']('gnuviechadmin-database:owner:user') }} {% for gnuviechadmin_db_role in salt['pillar.get']('gnuviechadmin-database:users') %} gnuviechadmin-dbuser-{{ gnuviechadmin_db_role }}: postgres_user.present: - name: {{ salt['pillar.get']('gnuviechadmin-database:users:' + gnuviechadmin_db_role + ':user') }} - password: {{ salt['pillar.get']('gnuviechadmin-database:users:' + gnuviechadmin_db_role + ':password') }} - login: True - require: - service: postgresql {% endfor %}