|
| 1 | +- name: Store CA cert to a temporary file |
| 2 | + when: |
| 3 | + - db_item.ca_cert is defined |
| 4 | + - db_item.ca_cert != '' |
| 5 | + block: |
| 6 | + - name: Create temporary file |
| 7 | + ansible.builtin.tempfile: |
| 8 | + state: file |
| 9 | + prefix: check_database_connection_ |
| 10 | + register: _check_database_connection_ca_cert |
| 11 | + |
| 12 | + - name: Write CA cert to temporary file |
| 13 | + ansible.builtin.copy: |
| 14 | + dest: "{{ _check_database_connection_ca_cert.path }}" |
| 15 | + content: "{{ lookup('ansible.builtin.file', db_item.ca_cert) if db_item.ca_cert != '' else 'empty' }}" |
| 16 | + mode: '0640' |
| 17 | + |
1 | 18 | - name: Check database connectivity to {{ db_item.name }} |
2 | 19 | community.postgresql.postgresql_ping: |
3 | 20 | login_host: "{{ db_item.host }}" |
4 | 21 | login_user: "{{ db_item.user }}" |
5 | 22 | login_password: "{{ db_item.password }}" |
6 | 23 | login_db: "{{ db_item.dbname }}" |
7 | | - ca_cert: "{{ db_item.ca_cert | default(omit) }}" |
| 24 | + ca_cert: "{{ _check_database_connection_ca_cert.path | default(omit) }}" |
8 | 25 | ssl_mode: "{{ db_item.sslmode | default(omit) }}" |
9 | 26 | register: check_database_connection_ping_result |
10 | 27 | ignore_errors: true |
11 | 28 |
|
| 29 | +- name: Delete temporary CA cert file |
| 30 | + when: |
| 31 | + - db_item.ca_cert is defined |
| 32 | + - db_item.ca_cert != '' |
| 33 | + block: |
| 34 | + - name: Delete temporary file |
| 35 | + ansible.builtin.file: |
| 36 | + state: absent |
| 37 | + path: "{{ _check_database_connection_ca_cert.path }}" |
| 38 | + |
12 | 39 | - name: Assert database is reachable for {{ db_item.name }} |
13 | 40 | ansible.builtin.assert: |
14 | 41 | that: |
|
0 commit comments