---
# OpenVpn server

- name: Install needed packages
  package:
    state: present
    name:
    - openvpn
  tags:
  - packages
  - openvpn

- name: Install main config file
  template: src=client.conf
            dest=/etc/openvpn/client/openvpn.conf
            owner=root group=root mode=0644
  tags:
  - install
  - openvpn
#  notify:
#  - restart openvpn (Fedora)
#  - restart openvpn (RHEL6+)

- name: Install configuration files (rhel7 and fedora)
  copy: src={{ item.file }}
        dest={{ item.dest }}
        owner=root group=root mode={{ item.mode }}
  with_items:
  - { file: "{{ private }}/files/vpn/pki/issued/{{ inventory_hostname }}.crt",
      dest: "/etc/openvpn/client/client.crt",
      mode: '0600' }
  - { file: "{{ private }}/files/vpn/pki/private/{{ inventory_hostname }}.key",
      dest: "/etc/openvpn/client/client.key",
      mode: '0600' }
  tags:
  - install
  - openvpn
#  notify:
#  - restart openvpn (Fedora)
#  - restart openvpn (RHEL7)

- name: Make sure openvpn is running in rhel 7+
  service: name=openvpn-client@openvpn state=started enabled=true
  tags:
  - service
  - openvpn

- name: enable openvpn service for Fedora
  service: name=openvpn-client@openvpn state=started enabled=true
  when: is_fedora is defined
  tags:
  - service
  - openvpn

- name: Create directories for post-vpn service configs
  file: path="/etc/systemd/system/{{item}}.service.d" state=directory
  with_items: "{{postvpnservices}}"
  when: is_fedora is defined or (ansible_distribution_major_version|int >= 7 and ansible_distribution == 'RedHat')
  tags:
  - service
  - openvpn

- name: Deploy postvpn.conf for post-vpn services
  copy: src=postvpn.conf dest="/etc/systemd/system/{{item}}.service.d/postvpn.conf"
  with_items: "{{postvpnservices}}"
  when: is_fedora is defined or (ansible_distribution_major_version|int >= 7 and ansible_distribution == 'RedHat')
  tags:
  - service
  - openvpn
