Matrix Docker Ansible eploy
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 

54 righe
1.8 KiB

  1. ---
  2. # Pre-checks
  3. - name: Fail if playbook called incorrectly
  4. fail: msg="The `server_path_postgres_dump` variable needs to be provided to this playbook, via --extra-vars"
  5. when: "server_path_postgres_dump is not defined or server_path_postgres_dump.startswith('<')"
  6. - name: Check if the provided Postgres dump file exists
  7. stat: path="{{ server_path_postgres_dump }}"
  8. register: result_server_path_postgres_dump_stat
  9. - name: Fail if provided Postgres dump file doesn't exists
  10. fail: msg="File cannot be found on the server at {{ server_path_postgres_dump }}"
  11. when: not result_server_path_postgres_dump_stat.stat.exists
  12. - include: tasks/util/detect_existing_postgres_version.yml
  13. - name: Abort, if no existing Postgres version detected
  14. fail: msg="Could not find existing Postgres installation"
  15. when: "not matrix_postgres_detected_existing"
  16. # Defaults
  17. - name: Set postgres_start_wait_time, if not provided
  18. set_fact:
  19. postgres_start_wait_time: 15
  20. when: "postgres_start_wait_time|default('') == ''"
  21. # Actual import work
  22. - name: Ensure matrix-postgres is started
  23. service: name=matrix-postgres state=started daemon_reload=yes
  24. - name: Wait a bit, so that Postgres can start
  25. wait_for:
  26. timeout: "{{ postgres_start_wait_time }}"
  27. delegate_to: 127.0.0.1
  28. become: false
  29. - name: Perform Postgres database import
  30. command: |
  31. /usr/bin/docker run --rm --name matrix-postgres-import \
  32. --network={{ matrix_docker_network }} \
  33. --env-file={{ matrix_environment_variables_data_path }}/env-postgres-pgsql-docker \
  34. -v {{ server_path_postgres_dump }}:{{ server_path_postgres_dump }}:ro \
  35. --entrypoint=/bin/sh
  36. {{ matrix_postgres_docker_image_latest }}
  37. -c 'cat {{ server_path_postgres_dump }} | \
  38. {{ 'gunzip |' if server_path_postgres_dump.endswith('.gz') else '' }}
  39. psql -v ON_ERROR_STOP=1 -h matrix-postgres'