main.yml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. ---
  2. - name: PostgreSQL packages installed
  3. community.general.pkgng:
  4. name: postgresql17-server,postgresql17-client,postgresql17-contrib,py311-pip,rsync
  5. state: latest
  6. - name: Psycopg2 installed
  7. pip: name=psycopg2 executable=pip
  8. - name: Postgres enabled
  9. shell: sysrc postgresql_enable="YES"
  10. - name: Postgres initialized
  11. shell: initdb --pgdata=/var/db/postgres/data17
  12. become: yes
  13. become_method: su
  14. become_user: postgres
  15. ignore_errors: yes
  16. - name: Postgres access file patched
  17. patch:
  18. src: pg_hba.conf.patch
  19. dest: /var/db/postgres/data17/pg_hba.conf
  20. become: yes
  21. become_method: su
  22. become_user: postgres
  23. notify: PostgreSQL restarted
  24. - name: Postgres config file patched
  25. patch:
  26. src: postgresql.conf.patch
  27. dest: /var/db/postgres/data17/postgresql.conf
  28. become: yes
  29. become_method: su
  30. become_user: postgres
  31. notify: PostgreSQL restarted
  32. - name: Postgres config file permissions fixed
  33. file:
  34. path: /var/db/postgres/data17/postgresql.conf
  35. owner: postgres
  36. group: postgres
  37. - name: Pg_hba config file permissions fixed
  38. file:
  39. path: /var/db/postgres/data17/pg_hba.conf
  40. owner: postgres
  41. group: postgres
  42. - name: Ensure postgres is running
  43. service:
  44. name: postgresql
  45. state: started
  46. - name: Postgres user password set
  47. community.postgresql.postgresql_user:
  48. name: postgres
  49. password: "{{ postgres_db_pass }}"
  50. - name: PBP user exists
  51. community.postgresql.postgresql_user:
  52. name: pbp
  53. password: "{{ pbp_db_pass }}"
  54. role_attr_flags: CREATEDB,NOSUPERUSER,LOGIN
  55. - name: PBP database exists
  56. community.postgresql.postgresql_db:
  57. name: "pbp"
  58. state: present
  59. owner: pbp
  60. become: yes
  61. become_method: su
  62. become_user: postgres
  63. - name: gogs user exists
  64. community.postgresql.postgresql_user:
  65. name: gogs
  66. password: "{{ gogs_db_pass }}"
  67. role_attr_flags: NOSUPERUSER,LOGIN
  68. tags:
  69. - create_dbs
  70. - name: gogs database exists
  71. community.postgresql.postgresql_db:
  72. name: "gogs"
  73. state: present
  74. owner: gogs
  75. become: yes
  76. become_method: su
  77. become_user: postgres
  78. - name: miniflux user exists
  79. community.postgresql.postgresql_user:
  80. name: miniflux
  81. password: "{{ miniflux_db_pass }}"
  82. role_attr_flags: NOSUPERUSER,LOGIN
  83. become: yes
  84. become_method: su
  85. become_user: postgres
  86. tags:
  87. - create_dbs
  88. - name: miniflux database exists
  89. community.postgresql.postgresql_db:
  90. name: "miniflux"
  91. state: present
  92. owner: miniflux
  93. become: yes
  94. become_method: su
  95. become_user: postgres
  96. tags:
  97. - create_dbs
  98. - name: photoview user exists
  99. community.postgresql.postgresql_user:
  100. name: photoview
  101. password: "{{ photoview_db_pass }}"
  102. role_attr_flags: NOSUPERUSER,LOGIN
  103. become: yes
  104. become_method: su
  105. become_user: postgres
  106. tags:
  107. - create_dbs
  108. - name: photoview database exists
  109. community.postgresql.postgresql_db:
  110. name: "photoview"
  111. state: present
  112. owner: photoview
  113. become: yes
  114. become_method: su
  115. become_user: postgres
  116. tags:
  117. - create_dbs
  118. - name: vrobbler user exists
  119. community.postgresql.postgresql_user:
  120. name: vrobbler
  121. password: "{{ vrobbler_db_pass }}"
  122. role_attr_flags: NOSUPERUSER,LOGIN
  123. become: yes
  124. become_method: su
  125. become_user: postgres
  126. tags:
  127. - create_dbs
  128. - name: vrobbler database exists
  129. community.postgresql.postgresql_db:
  130. name: "vrobbler"
  131. state: present
  132. owner: vrobbler
  133. become: yes
  134. become_method: su
  135. become_user: postgres
  136. tags:
  137. - create_dbs
  138. - name: emus user exists
  139. community.postgresql.postgresql_user:
  140. name: emus
  141. password: "{{ emus_db_pass }}"
  142. role_attr_flags: NOSUPERUSER,LOGIN
  143. become: yes
  144. become_method: su
  145. become_user: postgres
  146. tags:
  147. - create_dbs
  148. - name: emus database exists
  149. community.postgresql.postgresql_db:
  150. name: "emus"
  151. state: present
  152. owner: emus
  153. become: yes
  154. become_method: su
  155. become_user: postgres
  156. tags:
  157. - create_dbs