---
- name: Check ansible version
  import_playbook: ansible_version.yml

- hosts: localhost
  strategy: linear
  vars:
    mitogen_version: 0.3.0rc1
    mitogen_url: https://github.com/dw/mitogen/archive/v{{ mitogen_version }}.tar.gz
    ansible_connection: local
  tasks:
    - name: Create mitogen plugin dir
      file:
        path: "{{ item }}"
        state: directory
        mode: 0755
      become: false
      loop:
        - "{{ playbook_dir }}/plugins/mitogen"
        - "{{ playbook_dir }}/dist"

    - name: download mitogen release
      get_url:
        url: "{{ mitogen_url }}"
        dest: "{{ playbook_dir }}/dist/mitogen_{{ mitogen_version }}.tar.gz"
        validate_certs: true

    - name: extract archive
      unarchive:
        src: "{{ playbook_dir }}/dist/mitogen_{{ mitogen_version }}.tar.gz"
        dest: "{{ playbook_dir }}/dist/"

    - name: copy plugin
      synchronize:
        src: "{{ playbook_dir }}/dist/mitogen-{{ mitogen_version }}/"
        dest: "{{ playbook_dir }}/plugins/mitogen"

    - name: add strategy to ansible.cfg
      ini_file:
        path: ansible.cfg
        section: defaults
        option: strategy
        value: mitogen_linear
        mode: 0644
