Files @ 72a32e8be299
Branch filter:

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

branko
MAR-239: Dropped support for Debian 11 Bullseye from the web_server role.
a1e0221d24e7
a1e0221d24e7
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
80299693b896
a1e0221d24e7
a1e0221d24e7
b5ed796b566a
a1e0221d24e7
a1e0221d24e7
e75d5d4fba3b
b5ed796b566a
b5ed796b566a
a1e0221d24e7
a1e0221d24e7
b5ed796b566a
a1e0221d24e7
a1e0221d24e7
a1e0221d24e7
a1e0221d24e7
b5ed796b566a
b5ed796b566a
a1e0221d24e7
a1e0221d24e7
a1e0221d24e7
a1e0221d24e7
a1e0221d24e7
a1e0221d24e7
a1e0221d24e7
a1e0221d24e7
a1e0221d24e7
b5ed796b566a
a1e0221d24e7
a1e0221d24e7
a1e0221d24e7
a1e0221d24e7
b5ed796b566a
a1e0221d24e7
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
a1e0221d24e7
a1e0221d24e7
a1e0221d24e7
b5ed796b566a
a1e0221d24e7
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
46fe0a9e838f
46fe0a9e838f
46fe0a9e838f
46fe0a9e838f
46fe0a9e838f
46fe0a9e838f
46fe0a9e838f
46fe0a9e838f
46fe0a9e838f
a1e0221d24e7
a1e0221d24e7
a1e0221d24e7
a1e0221d24e7
a1e0221d24e7
a1e0221d24e7
a1e0221d24e7
a1e0221d24e7
a1e0221d24e7
a1e0221d24e7
b5ed796b566a
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
f05151d6f802
---

- name: Set-up fixtures
  hosts: localhost
  connection: local
  gather_facts: false
  tasks:

    - name: Initialise CA hierarchy
      command: "gimmecert init"
      args:
        creates: ".gimmecert/ca/level1.cert.pem"
        chdir: "tests/data/"

    - name: Generate server private keys and certificates
      command:
      args:
        chdir: "tests/data/"
        creates: ".gimmecert/server/{{ item.name }}.cert.pem"
        argv:
          - "gimmecert"
          - "server"
          - "{{ item.name }}"
          - "{{ item.fqdn }}"
      with_items:
        - name: parameters-mandatory_https
          fqdn: parameters-mandatory
        - name: parameters-optional.local_https
          fqdn: parameters-optional.local
        - name: parameters-paste-req_https
          fqdn: parameters-paste-req
        - name: wsgi-website_https
          fqdn: wsgi-website

    - name: Set-up link to generated X.509 material
      file:
        src: ".gimmecert"
        dest: "tests/data/x509"
        state: link

- 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: wsgi-website
  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 parameters-paste-req wsgi-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 net-tools for testing sockets
      apt:
        name: net-tools
        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
      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

    - name: Remove the ss utility (see https://github.com/philpep/testinfra/pull/320)
      file:
        path: "/bin/ss"
        state: absent

  handlers:

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

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