Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- postgres9_6/map.jinja:
- {% import '_grains/map.jinja' as grain %}
- {% from 'telegraf/map.jinja' import telegraf with context %}
- {% from 'run/map.jinja' import run with context %}
- {% set altname = 'postgresql' %}
- {% set name = 'postgres9_6' %}
- {% set sname = 'postgres' %}
- {% set version = '9.6' %}
- {% load_yaml as defaults %}
- client:
- pkgs:
- - {{ altname }}-client-{{ version }}
- server:
- account:
- fullname: {{ name }}
- group: {{ sname }}
- shell: /bin/false
- user: {{ sname }}
- uid: 900
- config:
- version:
- dir: /etc/{{ altname }}/{{ version }}/main
- dir: /etc/{{ altname }}
- file: {{ altname }}.conf
- data:
- dir: /var/lib/{{ altname }}
- databases:
- - database
- pillars:
- - {{ name }}:{{ grain.cluster }}:server:databases
- - {{ name }}:{{ grain.account }}:{{ grain.region }}:{{ grain.cluster }}:server:users:admin:password
- - {{ name }}:{{ grain.account }}:{{ grain.region }}:{{ grain.cluster }}:server:users:app:password
- pkgs:
- - {{ altname }}-{{ version }}
- - {{ altname }}-server-dev-{{ version }}
- run:
- dir: {{ run.dir }}/{{ altname }}
- telegraf:
- account:
- user: {{ telegraf.account.user }}
- group: {{ telegraf.account.group }}
- config:
- d:
- dir: {{ telegraf.config.d.dir }}
- file: {{ name }}.conf
- users:
- admin:
- username: admin
- password: xPq2PZT2hQHaZkyo5Dkxr8GLHlMaxNF4
- app:
- username: app
- password: E2pxDt1PMjfAQrXxDsxZ12tPkfAyPIHC
- default:
- username: postgres
- service:
- name: {{ altname }}
- state:
- name: {{ name }}
- {% endload %}
- {% set toplevel = salt['pillar.get'](defaults.state.name, default=defaults, merge=True) %}
- {% set cluster = salt['pillar.get'](defaults.state.name ~ ':' ~ grain.cluster, default=toplevel, merge=True) %}
- {% set account_region_cluster = salt['pillar.get'](defaults.state.name ~ ':' ~ grain.account ~ ':' ~ grain.region ~ ':' ~ grain.cluster, default=cluster, merge=True) %}
- {% set postgres9_6 = account_region_cluster %}
- postgres9_6/server/init.sls:
- include:
- - postgres9_6.server.pillars
- postgres9_6/server/pillars.sls:
- {% from '_macros/pillars.sls' import check_pillars with context %}
- {% from 'postgres9_6/map.jinja' import postgres9_6 with context %}
- {{ check_pillars(postgres9_6.server.pillars, postgres9_6.state.name) }}
- _macros/pillars.sls:
- {% macro check_pillars(pillars, formula) %}
- {% for name in pillars -%}
- {% set title = name|replace(':', '_') %}
- {{ formula }}_{{ title }}:
- test.check_pillar:
- - present: {{ name }}
- {% endfor %}
- {% endmacro %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement