Files @ 6844c0a01173
Branch filter:

Location: majic-ansible-roles/roles/php_website/molecule/default/prepare.yml

branko
MAR-150: Use fixtures for X.509 artefacts in the mail_server role:

- Removed the statically generated artefacts.
- Generate X.509 artefacts for tests using Gimmecert.
- Updated paths to point to generated artefacts.
- Introduced cleanup playbook for removing generated artefacts.
- Increase allocated RAM for the mail server to avoid OOM and
swapping.
---

- name: Prepare
  hosts: all
  gather_facts: false
  tasks:
    - name: Install python for Ansible
      raw: test -e /usr/bin/python3 || (apt -y update && apt install -y python3-minimal)
      become: true
      changed_when: false

- hosts: all
  become: true
  tasks:

    - name: Update all caches to avoid errors due to missing remote archives
      apt:
        update_cache: true
      changed_when: false

    - name: Set-up /etc/hosts entries
      lineinfile:
        dest: /etc/hosts
        line: "{{ ansible_eth0.ipv4.address }} parameters-mandatory parameters-optional.local php-website"

    - name: Install curl for testing redirects and webpage content
      apt:
        name: curl
        state: present

    - name: Install swaks for testing mail forwarding
      apt:
        name: swaks
        state: present

    - name: Install Postfix for testing mail forwarding (Exim4 not covered)
      apt:
        name: postfix
        state: present

    - name: Install procmail for consistency with mail_server and mail_forwarder roles
      apt:
        name: procmail
        state: present

    - name: Update Postfix configuration
      lineinfile:
        path: /etc/postfix/main.cf
        regexp: "^{{ item.key }}"
        line: "{{ item.value }}"
        state: present
      with_dict:
        myhostname: "myhostname = {{ inventory_hostname }}"
        mailbox_command: 'mailbox_command = procmail -a "$EXTENSION"'
      notify:
        - Restart Postfix

    - name: Direct all mails from the root account to vagrant (Stretch image does not do that by default)
      lineinfile:
        path: /etc/aliases
        regexp: "^root"
        line: "root: vagrant"
        state: present
      notify:
        - Generate aliases database

    - name: Set-up group for an additional user
      group:
        name: user
        state: present

    - name: Set-up additional user for testing mail delivery
      user:
        name: user
        group: user
        shell: /bin/bash

  handlers:

    - name: Restart Postfix
      service:
        name: postfix
        state: restarted

    - name: Generate aliases database
      command: "/usr/bin/newaliases"