jumpserver/apps/accounts/automations/change_secret/database/postgresql/main.yml

58 lines
2.5 KiB
YAML
Raw Normal View History

2022-10-12 10:08:57 +00:00
- hosts: postgre
2022-10-10 12:56:13 +00:00
gather_facts: no
2022-09-19 01:52:09 +00:00
vars:
ansible_python_interpreter: /opt/py3/bin/python
2024-09-10 09:42:59 +00:00
check_ssl: "{{ jms_asset.spec_info.use_ssl }}"
ca_cert: "{{ jms_asset.secret_info.ca_cert | default('') }}"
ssl_cert: "{{ jms_asset.secret_info.client_cert | default('') }}"
2024-09-12 09:50:01 +00:00
ssl_key: "{{ jms_asset.secret_info.client_key | default('') }}"
2022-10-27 10:53:10 +00:00
2022-10-10 12:56:13 +00:00
tasks:
- name: Test PostgreSQL connection
2022-10-12 10:08:57 +00:00
community.postgresql.postgresql_ping:
2022-10-10 12:56:13 +00:00
login_user: "{{ jms_account.username }}"
login_password: "{{ jms_account.secret }}"
login_host: "{{ jms_asset.address }}"
login_port: "{{ jms_asset.port }}"
2023-01-31 09:57:06 +00:00
login_db: "{{ jms_asset.spec_info.db_name }}"
2024-09-13 09:44:26 +00:00
ca_cert: "{{ ca_cert if check_ssl and ca_cert | length > 0 else omit }}"
2024-09-10 09:42:59 +00:00
ssl_cert: "{{ ssl_cert if check_ssl and ssl_cert | length > 0 else omit }}"
ssl_key: "{{ ssl_key if check_ssl and ssl_key | length > 0 else omit }}"
2024-09-13 09:44:26 +00:00
ssl_mode: "{{ jms_asset.spec_info.pg_ssl_mode }}"
register: result
failed_when: not result.is_available
2022-10-10 12:56:13 +00:00
- name: Display PostgreSQL version
debug:
var: result.server_version.full
when: result is succeeded
2022-10-10 12:56:13 +00:00
- name: Change PostgreSQL password
community.postgresql.postgresql_user:
login_user: "{{ jms_account.username }}"
login_password: "{{ jms_account.secret }}"
login_host: "{{ jms_asset.address }}"
login_port: "{{ jms_asset.port }}"
2023-01-31 09:57:06 +00:00
db: "{{ jms_asset.spec_info.db_name }}"
2022-10-10 12:56:13 +00:00
name: "{{ account.username }}"
password: "{{ account.secret }}"
2024-09-13 09:44:26 +00:00
ca_cert: "{{ ca_cert if check_ssl and ca_cert | length > 0 else omit }}"
2024-09-10 09:42:59 +00:00
ssl_cert: "{{ ssl_cert if check_ssl and ssl_cert | length > 0 else omit }}"
ssl_key: "{{ ssl_key if check_ssl and ssl_key | length > 0 else omit }}"
2024-09-13 09:44:26 +00:00
ssl_mode: "{{ jms_asset.spec_info.pg_ssl_mode }}"
role_attr_flags: LOGIN
ignore_errors: true
when: result is succeeded
2022-10-10 12:56:13 +00:00
- name: Verify password
2022-10-12 10:08:57 +00:00
community.postgresql.postgresql_ping:
2022-10-10 12:56:13 +00:00
login_user: "{{ account.username }}"
login_password: "{{ account.secret }}"
login_host: "{{ jms_asset.address }}"
login_port: "{{ jms_asset.port }}"
2023-01-31 09:57:06 +00:00
db: "{{ jms_asset.spec_info.db_name }}"
2024-09-13 09:44:26 +00:00
ca_cert: "{{ ca_cert if check_ssl and ca_cert | length > 0 else omit }}"
2024-09-10 09:42:59 +00:00
ssl_cert: "{{ ssl_cert if check_ssl and ssl_cert | length > 0 else omit }}"
ssl_key: "{{ ssl_key if check_ssl and ssl_key | length > 0 else omit }}"
2024-09-13 09:44:26 +00:00
ssl_mode: "{{ jms_asset.spec_info.pg_ssl_mode }}"