01_database.ymlΒΆ

---
- name: πŸ”Ž Check that the Listmonk database is reachable
  shell: '{{ LISTMONK_EXEC_DATABASE }} -c "SELECT 1"'
  register: listmonk_db_probe
  changed_when: false
  failed_when: false

- name: πŸ›‘ Abort if Listmonk database is not reachable
  fail:
    msg: |
      Listmonk database is not reachable.

      Container: {{ lookup('database', application_id, 'container') }}
      Database:  {{ lookup('database', application_id, 'name') }}

      Please ensure the shared PostgreSQL stack is running.
  when: listmonk_db_probe.rc != 0

- name: ⏳ Wait for the listmonk container to seed schema and admin user
  shell: "{{ LISTMONK_EXEC_DATABASE }} -tAc 'SELECT COUNT(*) FROM users'"
  register: listmonk_seeded
  changed_when: false
  retries: 150
  delay: 2
  until: listmonk_seeded.rc == 0 and (listmonk_seeded.stdout | trim | int) > 0