main.yml 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302
  1. ---
  2. - name: Package cache updated
  3. shell: pkg update -f
  4. - name: PostgreSQL packages installed
  5. community.general.pkgng:
  6. name: postgresql13-server,postgresql13-client,postgresql13-contrib,py38-pip,rsync
  7. state: latest
  8. - name: Psycopg2 installed
  9. pip: name=psycopg2 executable=pip
  10. - name: Postgres enabled
  11. shell: sysrc postgresql_enable="YES"
  12. - name: Postgres initialized
  13. shell: initdb --pgdata=/var/db/postgres/data13
  14. become: yes
  15. become_method: su
  16. become_user: postgres
  17. ignore_errors: yes
  18. - name: Postgres access file patched
  19. patch:
  20. src: pg_hba.conf.patch
  21. dest: /var/db/postgres/data13/pg_hba.conf
  22. become: yes
  23. become_method: su
  24. become_user: postgres
  25. notify: PostgreSQL restarted
  26. - name: Postgres config file patched
  27. patch:
  28. src: postgresql.conf.patch
  29. dest: /var/db/postgres/data13/postgresql.conf
  30. become: yes
  31. become_method: su
  32. become_user: postgres
  33. notify: PostgreSQL restarted
  34. - name: Postgres config file permissions fixed
  35. file:
  36. path: /var/db/postgres/data13/postgresql.conf
  37. owner: postgres
  38. group: postgres
  39. - name: Pg_hba config file permissions fixed
  40. file:
  41. path: /var/db/postgres/data13/pg_hba.conf
  42. owner: postgres
  43. group: postgres
  44. - name: Ensure postgres is running
  45. service:
  46. name: postgresql
  47. state: started
  48. - name: Postgres user password set
  49. community.postgresql.postgresql_user:
  50. name: postgres
  51. password: "{{ postgres_db_pass }}"
  52. - name: PBP user exists
  53. community.postgresql.postgresql_user:
  54. name: pbp
  55. password: "{{ pbp_db_pass }}"
  56. role_attr_flags: CREATEDB,NOSUPERUSER,LOGIN
  57. - name: PBP database exists
  58. community.postgresql.postgresql_db:
  59. name: "pbp"
  60. state: present
  61. owner: pbp
  62. become: yes
  63. become_method: su
  64. become_user: postgres
  65. - name: 15Five user exists
  66. community.postgresql.postgresql_user:
  67. name: fifteenfive
  68. password: "{{ fifteenfive_db_pass }}"
  69. role_attr_flags: CREATEDB,NOSUPERUSER,LOGIN
  70. become: yes
  71. become_method: su
  72. become_user: postgres
  73. tags:
  74. - create_dbs
  75. - name: 15Five database exists
  76. community.postgresql.postgresql_db:
  77. name: "fifteenfive"
  78. state: present
  79. owner: fifteenfive
  80. become: yes
  81. become_method: su
  82. become_user: postgres
  83. tags:
  84. - create_dbs
  85. - name: 15Five database has btree_gist extension
  86. community.postgresql.postgresql_ext:
  87. name: btree_gist
  88. db: fifteenfive
  89. become: yes
  90. become_method: su
  91. become_user: postgres
  92. tags:
  93. - create_dbs
  94. - name: 15Five database has btree_gin extension
  95. community.postgresql.postgresql_ext:
  96. name: btree_gin
  97. db: fifteenfive
  98. become: yes
  99. become_method: su
  100. become_user: postgres
  101. tags:
  102. - create_dbs
  103. - name: 15Five database has ltree extension
  104. community.postgresql.postgresql_ext:
  105. name: ltree
  106. db: fifteenfive
  107. become: yes
  108. become_method: su
  109. become_user: postgres
  110. tags:
  111. - create_dbs
  112. - name: 15Five database has hstore extension
  113. community.postgresql.postgresql_ext:
  114. name: hstore
  115. db: fifteenfive
  116. become: yes
  117. become_method: su
  118. become_user: postgres
  119. tags:
  120. - create_dbs
  121. - name: gogs user exists
  122. community.postgresql.postgresql_user:
  123. name: gogs
  124. password: "{{ gogs_db_pass }}"
  125. role_attr_flags: NOSUPERUSER,LOGIN
  126. tags:
  127. - create_dbs
  128. - name: gogs database exists
  129. community.postgresql.postgresql_db:
  130. name: "gogs"
  131. state: present
  132. owner: gogs
  133. become: yes
  134. become_method: su
  135. become_user: postgres
  136. - name: miniflux user exists
  137. community.postgresql.postgresql_user:
  138. name: miniflux
  139. password: "{{ miniflux_db_pass }}"
  140. role_attr_flags: NOSUPERUSER,LOGIN
  141. become: yes
  142. become_method: su
  143. become_user: postgres
  144. tags:
  145. - create_dbs
  146. - name: miniflux database exists
  147. community.postgresql.postgresql_db:
  148. name: "miniflux"
  149. state: present
  150. owner: miniflux
  151. become: yes
  152. become_method: su
  153. become_user: postgres
  154. tags:
  155. - create_dbs
  156. - name: photoview user exists
  157. community.postgresql.postgresql_user:
  158. name: photoview
  159. password: "{{ photoview_db_pass }}"
  160. role_attr_flags: NOSUPERUSER,LOGIN
  161. become: yes
  162. become_method: su
  163. become_user: postgres
  164. tags:
  165. - create_dbs
  166. - name: photoview database exists
  167. community.postgresql.postgresql_db:
  168. name: "photoview"
  169. state: present
  170. owner: photoview
  171. become: yes
  172. become_method: su
  173. become_user: postgres
  174. tags:
  175. - create_dbs
  176. - name: synapse user exists
  177. community.postgresql.postgresql_user:
  178. name: synapse
  179. password: "{{ synapse_db_pass }}"
  180. role_attr_flags: NOSUPERUSER,LOGIN
  181. become: yes
  182. become_method: su
  183. become_user: postgres
  184. tags:
  185. - create_dbs
  186. - name: synapse database exists
  187. community.postgresql.postgresql_db:
  188. name: "synapse"
  189. state: present
  190. owner: synapse
  191. become: yes
  192. become_method: su
  193. become_user: postgres
  194. tags:
  195. - create_dbs
  196. - name: grafana user exists
  197. community.postgresql.postgresql_user:
  198. name: grafana
  199. password: "{{ grafana_db_pass }}"
  200. role_attr_flags: NOSUPERUSER,LOGIN
  201. tags:
  202. - create_dbs
  203. - name: grafana_read_only user exists
  204. community.postgresql.postgresql_user:
  205. name: grafana_read_only
  206. password: "{{ grafana_read_only_pass }}"
  207. role_attr_flags: NOSUPERUSER,LOGIN
  208. tags:
  209. - create_dbs
  210. - name: grafana database exists
  211. community.postgresql.postgresql_db:
  212. name: "grafana"
  213. state: present
  214. owner: grafana
  215. become: yes
  216. become_method: su
  217. become_user: postgres
  218. tags:
  219. - create_dbs
  220. - name: sentry user exists
  221. community.postgresql.postgresql_user:
  222. name: sentry
  223. password: "{{ sentry_db_pass }}"
  224. role_attr_flags: NOSUPERUSER,LOGIN
  225. become: yes
  226. become_method: su
  227. become_user: postgres
  228. tags:
  229. - create_dbs
  230. - name: sentry database exists
  231. community.postgresql.postgresql_db:
  232. name: "sentry"
  233. state: present
  234. owner: sentry
  235. become: yes
  236. become_method: su
  237. become_user: postgres
  238. tags:
  239. - create_dbs
  240. - name: engagement user exists
  241. community.postgresql.postgresql_user:
  242. name: engagement
  243. password: "{{ engagement_db_pass }}"
  244. role_attr_flags: NOSUPERUSER,LOGIN
  245. become: yes
  246. become_method: su
  247. become_user: postgres
  248. tags:
  249. - create_dbs
  250. - name: engagement database exists
  251. community.postgresql.postgresql_db:
  252. name: "engagement"
  253. state: present
  254. owner: engagement
  255. become: yes
  256. become_method: su
  257. become_user: postgres
  258. tags:
  259. - create_dbs
  260. - name: sentry database has citext extension
  261. community.postgresql.postgresql_ext:
  262. name: citext
  263. db: sentry
  264. become_user: postgres
  265. become_method: su
  266. become: yes
  267. tags:
  268. - create_dbs