08_read_dkim.ymlΒΆ

---
# Read the RSA DKIM signature (Stalwart auto-creates it on domain create) to
# publish in DNS (06).
- name: "πŸ“– Read Stalwart DKIM signatures"
  include_tasks: jmap_call.yml
  vars:
    stalwart_jmap_body: >-
      {{ {'using': ['urn:ietf:params:jmap:core', 'urn:stalwart:jmap'],
          'methodCalls': [['x:DkimSignature/get', {'ids': none}, 'c0']]} | to_json }}

- name: "πŸ” Select the RSA DKIM signature for this domain"
  ansible.builtin.set_fact:
    stalwart_dkim: >-
      {{ (stalwart_jmap.methodResponses[0][1].list
          | selectattr('domainId', 'equalto', stalwart_domain_id)
          | selectattr('@type', 'equalto', 'Dkim1RsaSha256')
          | first) | default({}) }}

- name: "βš™οΈ Build the DKIM selector + public-key TXT value"
  ansible.builtin.set_fact:
    stalwart_dkim_selector: "{{ stalwart_dkim.selector }}"
    stalwart_dkim_public_key: "v=DKIM1; k=rsa; p={{ stalwart_dkim.publicKey }}"
  when: stalwart_dkim.selector is defined