diff options
| author | Jan T <jan@jantuomi.fi> | 2025-06-23 11:44:03 +0000 |
|---|---|---|
| committer | Jan Tuomi <jan@jantuomi.fi> | 2025-06-23 14:45:45 +0300 |
| commit | b3c6ca37500b52821b2b66147b22190414c09993 (patch) | |
| tree | 08efb4bdd320e07b1ae7fdb79ef16c645231dcd2 /playbook.yml | |
Initial commit
Diffstat (limited to 'playbook.yml')
| -rw-r--r-- | playbook.yml | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/playbook.yml b/playbook.yml new file mode 100644 index 0000000..19ea687 --- /dev/null +++ b/playbook.yml @@ -0,0 +1,71 @@ +--- +- name: Configure dma with generic SMTP on FreeBSD + hosts: pursotin + + pre_tasks: + - name: Fail if direnv wasn't loaded and SMTP_USER is missing + assert: + that: + - lookup('env', 'SMTP_USER') != '' + fail_msg: > + Required environment variables are missing. Did you forget to run `direnv allow` or load `.envrc`? + vars: + ansible_assert_no_log: true + + vars: + smtp_user: "{{ lookup('env', 'SMTP_USER') }}" + smtp_password: "{{ lookup('env', 'SMTP_PASSWORD') }}" + smtp_host: "{{ lookup('env', 'SMTP_HOST') }}" + smtp_port: "{{ lookup('env', 'SMTP_PORT') }}" + dma_mail_hostname: "{{ lookup('env', 'DMA_MAILNAME') }}" + dma_to_address: "{{ lookup('env', 'DMA_TO_ADDRESS') }}" + + tasks: + - name: Install dma + package: + name: dma + state: present + + - name: Create dma config directory + file: + path: /etc/dma + state: directory + owner: root + group: wheel + mode: "0755" + + - name: Configure dma.conf + template: + src: dma.conf.j2 + dest: /etc/dma/dma.conf + owner: root + group: wheel + mode: "0644" + + - name: Configure auth.conf + template: + src: auth.conf.j2 + dest: /etc/dma/auth.conf + owner: root + group: mail + mode: "0640" + + - name: Configure aliases + template: + src: aliases.j2 + dest: /etc/aliases + owner: root + group: wheel + mode: "0644" + + - name: Run newaliases + shell: newaliases + + - name: Test mail delivery + shell: echo "DMA test message from Ansible" | mail -s "Test DMA" root + register: mail_result + changed_when: false + + - name: Show mail result + debug: + var: mail_result |
