Advertisement
Guest User

Untitled

a guest
May 24th, 2018
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.67 KB | None | 0 0
  1. postgres9_6/map.jinja:
  2. {% import '_grains/map.jinja' as grain %}
  3. {% from 'telegraf/map.jinja' import telegraf with context %}
  4. {% from 'run/map.jinja' import run with context %}
  5.  
  6. {% set altname = 'postgresql' %}
  7. {% set name = 'postgres9_6' %}
  8. {% set sname = 'postgres' %}
  9. {% set version = '9.6' %}
  10.  
  11. {% load_yaml as defaults %}
  12. client:
  13. pkgs:
  14. - {{ altname }}-client-{{ version }}
  15. server:
  16. account:
  17. fullname: {{ name }}
  18. group: {{ sname }}
  19. shell: /bin/false
  20. user: {{ sname }}
  21. uid: 900
  22. config:
  23. version:
  24. dir: /etc/{{ altname }}/{{ version }}/main
  25. dir: /etc/{{ altname }}
  26. file: {{ altname }}.conf
  27. data:
  28. dir: /var/lib/{{ altname }}
  29. databases:
  30. - database
  31. pillars:
  32. - {{ name }}:{{ grain.cluster }}:server:databases
  33. - {{ name }}:{{ grain.account }}:{{ grain.region }}:{{ grain.cluster }}:server:users:admin:password
  34. - {{ name }}:{{ grain.account }}:{{ grain.region }}:{{ grain.cluster }}:server:users:app:password
  35. pkgs:
  36. - {{ altname }}-{{ version }}
  37. - {{ altname }}-server-dev-{{ version }}
  38. run:
  39. dir: {{ run.dir }}/{{ altname }}
  40. telegraf:
  41. account:
  42. user: {{ telegraf.account.user }}
  43. group: {{ telegraf.account.group }}
  44. config:
  45. d:
  46. dir: {{ telegraf.config.d.dir }}
  47. file: {{ name }}.conf
  48. users:
  49. admin:
  50. username: admin
  51. password: xPq2PZT2hQHaZkyo5Dkxr8GLHlMaxNF4
  52. app:
  53. username: app
  54. password: E2pxDt1PMjfAQrXxDsxZ12tPkfAyPIHC
  55. default:
  56. username: postgres
  57. service:
  58. name: {{ altname }}
  59. state:
  60. name: {{ name }}
  61. {% endload %}
  62.  
  63. {% set toplevel = salt['pillar.get'](defaults.state.name, default=defaults, merge=True) %}
  64. {% set cluster = salt['pillar.get'](defaults.state.name ~ ':' ~ grain.cluster, default=toplevel, merge=True) %}
  65. {% set account_region_cluster = salt['pillar.get'](defaults.state.name ~ ':' ~ grain.account ~ ':' ~ grain.region ~ ':' ~ grain.cluster, default=cluster, merge=True) %}
  66. {% set postgres9_6 = account_region_cluster %}
  67.  
  68. postgres9_6/server/init.sls:
  69. include:
  70. - postgres9_6.server.pillars
  71.  
  72. postgres9_6/server/pillars.sls:
  73. {% from '_macros/pillars.sls' import check_pillars with context %}
  74. {% from 'postgres9_6/map.jinja' import postgres9_6 with context %}
  75.  
  76. {{ check_pillars(postgres9_6.server.pillars, postgres9_6.state.name) }}
  77.  
  78. _macros/pillars.sls:
  79. {% macro check_pillars(pillars, formula) %}
  80. {% for name in pillars -%}
  81. {% set title = name|replace(':', '_') %}
  82. {{ formula }}_{{ title }}:
  83. test.check_pillar:
  84. - present: {{ name }}
  85. {% endfor %}
  86. {% endmacro %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement