pwgen: rewrite checks and passwords generation

This commit is contained in:
ace
2025-05-23 13:05:03 +03:00
parent e67b5702d5
commit 74ae2c4694
7 changed files with 246 additions and 303 deletions

View File

@ -1,47 +1,36 @@
- name: Test if DKIM private key exists
shell: grep -c "dkim_private_key_base64" "{{ inventory_dir }}/group_vars/all/passwords.yaml" || true
register: dkim_private_key_test_grep
- name: Test if DKIM public key exists
shell: grep -c "dkim_public_key_base64" "{{ inventory_dir }}/group_vars/all/passwords.yaml" || true
register: dkim_public_key_test_grep
- name: Create DKIM keys
docker_container:
name: ddclient
image: "{{ docker_registry }}/pwgen"
cleanup: true
detach: false
container_default_behavior: no_defaults
command: "sh dkim-key.sh {{ mail_domain | default(domain) }}"
register: dkim_container_output
when: dkim_private_key_test_grep.stdout == '0' or dkim_public_key_test_grep.stdout == '0'
- name: Set ddclient_key
set_fact:
dkim_keys: "{{ dkim_container_output.container.Output | from_yaml }}"
when: dkim_private_key_test_grep.stdout == '0' or dkim_public_key_test_grep.stdout == '0'
- name: Show DKIM private key
debug:
msg: "ddclient private key: {{ dkim_keys['dkim'][0]['default.private'] | b64decode }}"
verbosity: 2
when: dkim_private_key_test_grep.stdout == '0'
- name: Show DKIM public key
debug:
msg: "ddclient public key: {{ dkim_keys['dkim'][0]['default.txt'] | b64decode }}"
verbosity: 2
when: dkim_public_key_test_grep.stdout == '0'
- name: Write DKIM private key
lineinfile:
path: "{{ inventory_dir }}/group_vars/all/passwords.yaml"
line: "dkim_private_key_base64: \"{{ dkim_keys['dkim'][0]['default.private'] }}\""
when: dkim_private_key_test_grep.stdout == '0'
- name: Write DKIM public key
lineinfile:
path: "{{ inventory_dir }}/group_vars/all/passwords.yaml"
line: "dkim_public_key_base64: \"{{ dkim_keys['dkim'][0]['default.txt'] }}\""
when: dkim_public_key_test_grep.stdout == '0'
- name: Generate DKIM keys
when: passwords['dkim_public_key_base64'] is not defined or passwords['dkim_private_key_base64'] is not defined
block:
- name: Create DKIM keys
docker_container:
name: ddclient
image: "{{ docker_registry }}/pwgen"
cleanup: true
detach: false
container_default_behavior: no_defaults
command: "sh dkim-key.sh {{ mail_domain | default(domain) }}"
register: dkim_container_output
- name: Set dkim_keys
set_fact:
dkim_keys: "{{ dkim_container_output.container.Output | from_yaml }}"
- name: Show DKIM private key
debug:
msg: "ddclient private key: {{ dkim_keys['dkim'][0]['default.private'] | b64decode }}"
verbosity: 2
- name: Show DKIM public key
debug:
msg: "ddclient public key: {{ dkim_keys['dkim'][0]['default.txt'] | b64decode }}"
verbosity: 2
- name: Write DKIM private key
lineinfile:
path: "{{ inventory_dir }}/group_vars/all/passwords.yaml"
line: "dkim_private_key_base64: \"{{ dkim_keys['dkim'][0]['default.private'] }}\""
- name: Write DKIM public key
lineinfile:
path: "{{ inventory_dir }}/group_vars/all/passwords.yaml"
line: "dkim_public_key_base64: \"{{ dkim_keys['dkim'][0]['default.txt'] }}\""