mirror of
https://github.com/saltstack-formulas/postgres-formula.git
synced 2025-04-16 01:30:25 +00:00
50 lines
1.4 KiB
Text
50 lines
1.4 KiB
Text
{% from "postgres/map.jinja" import postgres with context %}
|
|
|
|
postgresql:
|
|
pkg:
|
|
- installed
|
|
- name: {{ postgres.pkg }}
|
|
service:
|
|
- running
|
|
- enable: true
|
|
- name: {{ postgres.service }}
|
|
- require:
|
|
- pkg: {{ postgres.pkg }}
|
|
|
|
{% if 'pg_hba.conf' in pillar.get('postgres', {}) %}
|
|
pg_hba.conf:
|
|
file.managed:
|
|
- name: {{ postgres.pg_hba }}
|
|
- source: {{ salt['pillar.get']('postgres:pg_hba.conf', 'salt://postgres/pg_hba.conf') }}
|
|
- template: jinja
|
|
- user: postgres
|
|
- group: postgres
|
|
- mode: 644
|
|
- require:
|
|
- pkg: {{ postgres.pkg }}
|
|
- watch_in:
|
|
- service: postgresql
|
|
{% endif %}
|
|
|
|
{% if 'db' in pillar.get('postgres', {}) %}
|
|
postgres-app-user:
|
|
postgres_user.present:
|
|
- name: {{ salt['pillar.get']('postgres:db:user', 'myuser') }}
|
|
- createdb: {{ salt['pillar.get']('postgres:db:createdb', False) }}
|
|
- password: {{ salt['pillar.get']('postgres:db:password', 'mypass') }}
|
|
- runas: postgres
|
|
- require:
|
|
- service: {{ postgres.service }}
|
|
|
|
postgres-app-db:
|
|
postgres_database.present:
|
|
- name: {{ salt['pillar.get']('postgres:db:name', 'mydb') }}
|
|
- encoding: UTF8
|
|
- lc_ctype: en_US.UTF8
|
|
- lc_collate: en_US.UTF8
|
|
- template: template0
|
|
- owner: {{ salt['pillar.get']('postgres:db:user', 'myuser') }}
|
|
- runas: postgres
|
|
- require:
|
|
- postgres_user: postgres-app-user
|
|
{% endif %}
|