Files @ b1b2928c582b
Branch filter:

Location: majic-ansible-roles/roles/php_website/playbook.yml - annotation

branko
Noticket: Fixed two tests related to application user profile directory in php_website role, and renamed two tests to make more sense.
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
3dd7f39302f8
1b6495e2ba42
1b6495e2ba42
3dd7f39302f8
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
3dd7f39302f8
3dd7f39302f8
1b6495e2ba42
3dd7f39302f8
3dd7f39302f8
1b6495e2ba42
1b6495e2ba42
1b6495e2ba42
3dd7f39302f8
1b6495e2ba42
1b6495e2ba42
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
3dd7f39302f8
---

- hosts: all
  tasks:

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

    - 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: installed

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

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

    - 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

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

    # web_server
    default_https_tls_certificate: "{{ lookup('file', 'tests/data/x509/php-website_https.cert.pem') }}"
    default_https_tls_key: "{{ lookup('file', 'tests/data/x509/php-website_https.key.pem') }}"

    # Common parameters (general, not role).
    tls_certificate_dir: tests/data/x509/
    tls_private_key_dir: tests/data/x509/

  roles:
    - role: php_website
      fqdn: parameters-mandatory

    - role: php_website
      additional_fpm_config:
        "env[PATH]": "\"/usr/local/bin:/usr/bin:/bin\""
        "security.limit_extensions": ".php .myphp"
      additional_nginx_config:
        - comment: Custom missing page.
          value: error_page 404 /404.myphp;
      admin_uid: 5000
      deny_files_regex:
        - '^/secretfile.txt'
      enforce_https: no
      environment_indicator:
        background_colour: "#ff0000"
        text_colour: "#00ff00"
        text: "parameters-optional"
      fqdn: parameters-optional.local
      index: myindex.php
      https_tls_certificate: "{{ lookup('file', 'tests/data/x509/parameters-optional.local_https.cert.pem') }}"
      https_tls_key: "{{ lookup('file', 'tests/data/x509/parameters-optional.local_https.key.pem') }}"
      php_file_regex: "\\.myphp$"
      php_rewrite_urls:
        - ^/rewrite1/(.*)$ /rewrite.myphp?url=$1 last
        - ^/rewrite2/(.*)$ /rewrite.myphp?url=$1 last
      rewrites:
        - '^/rewrite_to_index1/(.*) /myindex.php last'
        - '^/rewrite_to_index2/(.*) /myindex.php last'
      packages:
        - php5-ldap
        - php5-json
        - libmariadb-client-lgpl-dev-compat
      uid: 5001
      website_mail_recipients: user

- hosts: all
  tasks:
    # parameters-mandatory application
    - name: Set-up directory where PHP files are hosted at
      file:
        path: /var/www/parameters-mandatory/htdocs
        state: directory
        owner: admin-parameters-mandatory
        group: web-parameters-mandatory
        mode: 0750

    - name: Deploy a couple of PHP pages for testing purposes
      copy:
        src: "tests/data/php/mandatory/{{ item }}"
        dest: "/var/www/parameters-mandatory/htdocs/{{ item }}"
        owner: admin-parameters-mandatory
        group: web-parameters-mandatory
        mode: 0640
      with_items:
        - index.php
        - index.php3

    # parameters-optional application
    - name: Set-up directory where PHP files are hosted at
      file:
        path: /var/www/parameters-optional.local/htdocs
        state: directory
        owner: admin-parameters-optional_local
        group: web-parameters-optional_local
        mode: 0750

    - name: Deploy a couple of PHP pages for testing purposes
      copy:
        src: "tests/data/php/optional/{{ item }}"
        dest: "/var/www/parameters-optional.local/htdocs/{{ item }}"
        owner: admin-parameters-optional_local
        group: web-parameters-optional_local
        mode: 0640
      with_items:
        - myindex.php
        - myindex.myphp
        - path.myphp
        - secretfile.txt
        - info.myphp
        - 404.myphp
        - rewrite.myphp