main.yml 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. ---
  2. - name: Package cache updated
  3. shell: pkg update -f
  4. - name: PostgreSQL packages installed
  5. community.general.pkgng:
  6. name: postgresql12-server,postgresql12-client,postgresql12-contrib,py37-psycopg2
  7. state: latest
  8. - name: PostgreSQl db initalized
  9. shell: /usr/local/etc/rc.d/postgresql initdb
  10. ignore_errors: yes
  11. - name: Postgres enabled
  12. shell: sysrc postgresql_enable="YES"
  13. - name: Postgres access file patched
  14. patch:
  15. src: pg_hba.conf.patch
  16. dest: /var/db/postgres/data12/pg_hba.conf
  17. become_user: postgres
  18. notify: PostgreSQL restarted
  19. - name: Postgres config file patched
  20. patch:
  21. src: postgresql.conf.patch
  22. dest: /var/db/postgres/data12/postgresql.conf
  23. become_user: postgres
  24. notify: PostgreSQL restarted
  25. - name: Postgres config file permissions fixed
  26. file:
  27. path: /var/db/postgres/data12/postgresql.conf
  28. owner: postgres
  29. group: postgres
  30. - name: Pg_hba config file permissions fixed
  31. file:
  32. path: /var/db/postgres/data12/pg_hba.conf
  33. owner: postgres
  34. group: postgres
  35. - name: Ensure postgres is running
  36. service:
  37. name: postgresql
  38. state: started
  39. - name: Postgres user password set
  40. postgresql_user:
  41. name: postgres
  42. password: "{{ postgres_db_pass }}"
  43. - name: PBP user exists
  44. postgresql_user:
  45. name: pbp
  46. password: "{{ pbp_db_pass }}"
  47. role_attr_flags: CREATEDB,NOSUPERUSER,LOGIN
  48. - name: PBP database exists
  49. postgresql_db:
  50. name: "pbp"
  51. state: present
  52. owner: pbp
  53. become_user: postgres
  54. - name: 15Five user exists
  55. postgresql_user:
  56. name: fifteenfive
  57. password: "{{ fifteenfive_db_pass }}"
  58. role_attr_flags: CREATEDB,NOSUPERUSER,LOGIN
  59. become_user: postgres
  60. tags:
  61. - create_dbs
  62. - name: 15Five database exists
  63. postgresql_db:
  64. name: "fifteenfive"
  65. state: present
  66. owner: fifteenfive
  67. become_user: postgres
  68. tags:
  69. - create_dbs
  70. - name: 15Five database has btree_gist extension
  71. postgresql_ext:
  72. name: btree_gist
  73. db: fifteenfive
  74. become_user: postgres
  75. tags:
  76. - create_dbs
  77. - name: 15Five database has btree_gin extension
  78. postgresql_ext:
  79. name: btree_gin
  80. db: fifteenfive
  81. become_user: postgres
  82. tags:
  83. - create_dbs
  84. - name: 15Five database has ltree extension
  85. postgresql_ext:
  86. name: ltree
  87. db: fifteenfive
  88. become_user: postgres
  89. tags:
  90. - create_dbs
  91. - name: 15Five database has hstore extension
  92. postgresql_ext:
  93. name: hstore
  94. db: fifteenfive
  95. become_user: postgres
  96. tags:
  97. - create_dbs
  98. - name: gogs user exists
  99. postgresql_user:
  100. name: gogs
  101. password: "{{ gogs_db_pass }}"
  102. role_attr_flags: NOSUPERUSER,LOGIN
  103. tags:
  104. - create_dbs
  105. - name: gogs database exists
  106. postgresql_db:
  107. name: "gogs"
  108. state: present
  109. owner: gogs
  110. become_user: postgres
  111. - name: miniflux user exists
  112. postgresql_user:
  113. name: miniflux
  114. password: "{{ miniflux_db_pass }}"
  115. role_attr_flags: NOSUPERUSER,LOGIN
  116. become_user: postgres
  117. tags:
  118. - create_dbs
  119. - name: miniflux database exists
  120. postgresql_db:
  121. name: "miniflux"
  122. state: present
  123. owner: miniflux
  124. become_user: postgres
  125. tags:
  126. - create_dbs
  127. - name: photoview user exists
  128. postgresql_user:
  129. name: photoview
  130. password: "{{ photoview_db_pass }}"
  131. role_attr_flags: NOSUPERUSER,LOGIN
  132. become_user: postgres
  133. tags:
  134. - create_dbs
  135. - name: photoview database exists
  136. postgresql_db:
  137. name: "photoview"
  138. state: present
  139. owner: photoview
  140. become_user: postgres
  141. tags:
  142. - create_dbs
  143. - name: synapse user exists
  144. postgresql_user:
  145. name: synapse
  146. password: "{{ synapse_db_pass }}"
  147. role_attr_flags: NOSUPERUSER,LOGIN
  148. become_user: postgres
  149. tags:
  150. - create_dbs
  151. - name: synapse database exists
  152. postgresql_db:
  153. name: "synapse"
  154. state: present
  155. owner: synapse
  156. become_user: postgres
  157. tags:
  158. - create_dbs
  159. - name: grafana user exists
  160. postgresql_user:
  161. name: grafana
  162. password: "{{ grafana_db_pass }}"
  163. role_attr_flags: NOSUPERUSER,LOGIN
  164. tags:
  165. - create_dbs
  166. - name: grafana_read_only user exists
  167. postgresql_user:
  168. name: grafana_read_only
  169. password: "{{ grafana_read_only_pass }}"
  170. role_attr_flags: NOSUPERUSER,LOGIN
  171. tags:
  172. - create_dbs
  173. - postgresql_privs:
  174. db: postgres
  175. privs: SELECT
  176. type: schema
  177. objs: public
  178. role: grafana_read_only
  179. - name: grafana database exists
  180. postgresql_db:
  181. name: "grafana"
  182. state: present
  183. owner: grafana
  184. become_user: postgres
  185. tags:
  186. - create_dbs
  187. - name: sentry user exists
  188. postgresql_user:
  189. name: sentry
  190. password: "{{ sentry_db_pass }}"
  191. role_attr_flags: NOSUPERUSER,LOGIN
  192. become_user: postgres
  193. tags:
  194. - create_dbs
  195. - name: sentry database exists
  196. postgresql_db:
  197. name: "sentry"
  198. state: present
  199. owner: sentry
  200. become_user: postgres
  201. tags:
  202. - create_dbs
  203. - name: sentry database has citext extension
  204. postgresql_ext:
  205. name: citext
  206. db: sentry
  207. become_user: postgres
  208. tags:
  209. - create_dbs