Files @ b68d19ad38a3
Branch filter:

Location: majic-ansible-roles/roles/mail_forwarder/playbook.yml

branko
MAR-33: Added initial scaffolding for wsgi_website tests:

- Added Molecule configuration file.
- Implemented test playbook that sets-up three separate instances of WSGI
website in order to test all variations of parameters.
- Added name for the set_fact task.
- Fixed linting errors related to mode that lacks leading zero.
- Added skip_ansible_lint tag for command that creates the Python virtual
environment.
- Added missing become keyword wherever become_user is specified.
- Fixed invalid parameter name for specifying if HTTPS should be enforced or
not.
- Added small initial sample WSGI apps that get deployed.
- Added static/media sample files.
- Added TLS material.
- Added initial dummy test file.
---

- hosts: all
  tasks:

    - name: Update all caches to avoid errors due to missing remote archives
      apt:
        update_cache: yes

- hosts: all
  tasks:

    - name: Set-up /etc/hosts entries
      lineinfile:
        dest: /etc/hosts
        line: "{{ item.key }} {{ item.value }}"
      with_dict:
        10.31.127.10: "mail-server domain1"
        10.31.127.20: "client1"
        10.31.127.30: "parameters-mandatory"
        10.31.127.31: "parameters-optional"

- hosts: client1
  tasks:

    - name: Install SWAKS for testing SMTP capability
      apt:
        name: swaks
        state: installed

    - name: Install tool for testing TCP connectivity
      apt:
        name: hping3
        state: installed

    - name: Deploy CA certificate
      copy:
        src: tests/data/x509/ca.cert.pem
        dest: /usr/local/share/ca-certificates/testca.crt
        owner: root
        group: root
        mode: 0644
      notify:
        - Update CA certificate cache

  handlers:

    - name: Update CA certificate cache
      command: /usr/sbin/update-ca-certificates --fresh

- hosts: mail-server
  tasks:

    - name: Deploy CA certificate
      copy:
        src: tests/data/x509/ca.cert.pem
        dest: /usr/local/share/ca-certificates/testca.crt
        owner: root
        group: root
        mode: 0644
      notify:
        - Update CA certificate cache

    - name: Deploy SMTP private key and certificate
      copy:
        src: "tests/data/x509/{{ item }}"
        dest: "/etc/ssl/{{ item }}"
        owner: root
        group: root
        mode: 0600
      with_items:
        - mail-server_smtp.cert.pem
        - mail-server_smtp.key.pem

    - name: Install Postfix
      apt: name="postfix" state=installed

    - name: Purge Exim configuration
      apt: name="exim4*" state=absent purge=yes

    - name: Deploy Postfix configuration
      copy:
        src: tests/data/main.cf
        dest: /etc/postfix/main.cf
        owner: root
        group: root
        mode: 0644
      notify:
        - Restart Postfix

    - name: Install tool for testing TCP connectivity
      apt:
        name: hping3
        state: installed

    - name: Install SWAKS for testing SMTP capability
      apt:
        name: swaks
        state: installed

  handlers:

    - name: Update CA certificate cache
      command: /usr/sbin/update-ca-certificates --fresh

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

- hosts: parameters-mandatory
  roles:
    - role: mail_forwarder

      # Global common parameters.
      tls_certificate_dir: tests/data/x509/

- hosts: parameters-optional
  roles:
    - role: mail_forwarder
      local_mail_aliases:
        root: "root testuser"
      smtp_relay_host: mail-server
      smtp_relay_truststore: "{{ lookup('file', 'tests/data/x509/ca.cert.pem') }}"

      # common
      ca_certificates:
        testca: "{{ lookup('file', 'tests/data/x509/ca.cert.pem') }}"

- hosts: parameters-optional
  tasks:

    - name: Create additional group for testing local aliases
      group:
        name: testuser

    - name: Create additional user for testing local aliases
      user:
        name: testuser
        group: testuser