95 lines
2.8 KiB
YAML
95 lines
2.8 KiB
YAML
---
|
|
- name: Include OS-specific variables.
|
|
include_vars: "{{ ansible_os_family }}.yml"
|
|
|
|
- name: Set the packagecloud repository name based on the version.
|
|
set_fact:
|
|
varnish_packagecloud_repo: "varnish{{ varnish_version|replace('.', '') }}"
|
|
|
|
- include: setup-RedHat.yml
|
|
when: ansible_os_family == 'RedHat'
|
|
|
|
- include: setup-Debian.yml
|
|
when: ansible_os_family == 'Debian'
|
|
|
|
- name: Ensure Varnish config path exists.
|
|
file:
|
|
path: "{{ varnish_config_path }}"
|
|
state: directory
|
|
|
|
- name: Copy Varnish configuration (sysvinit).
|
|
template:
|
|
src: varnish.j2
|
|
dest: "{{ varnish_sysvinit_config_path }}/varnish"
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
when: >
|
|
(ansible_os_family == 'RedHat' and ansible_distribution_major_version|int < 7) or
|
|
(ansible_os_family == 'Debian' and ansible_distribution_release != "xenial")
|
|
|
|
- name: Copy Debian Jessie/Xenial specific Varnish configs (systemd).
|
|
template:
|
|
src: varnish.service.j2
|
|
dest: "{{ varnish_systemd_config_path }}/varnish.service"
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
when: >
|
|
(ansible_distribution == 'Debian' and ansible_distribution_version|int >= 8) or
|
|
(ansible_distribution == 'Ubuntu' and ansible_distribution_version.split(".")[0]|int >= 16)
|
|
notify:
|
|
- reload systemd
|
|
- restart varnish
|
|
|
|
- name: Copy Varnish configuration (systemd).
|
|
template:
|
|
src: varnish.params.j2
|
|
dest: "{{ varnish_config_path }}/varnish.params"
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
when: >
|
|
(ansible_os_family == 'RedHat' and ansible_distribution_major_version|int >= 7) or
|
|
(ansible_os_family == 'Debian' and ansible_distribution_release == "xenial")
|
|
|
|
- name: Copy Varnish default VCL.
|
|
template:
|
|
src: "{{ varnish_default_vcl_template_path }}"
|
|
dest: "{{ varnish_config_path }}/default.vcl"
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
when: varnish_use_default_vcl
|
|
notify: restart varnish
|
|
|
|
- name: Copy varnish secret.
|
|
template:
|
|
src: secret.j2
|
|
dest: "{{ varnish_config_path }}/secret"
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
notify: restart varnish
|
|
|
|
- name: Ensure Varnish services are started and enabled on startup.
|
|
service:
|
|
name: "{{ item }}"
|
|
state: started
|
|
enabled: yes
|
|
with_items: "{{ varnish_enabled_services | default([]) }}"
|
|
when: >
|
|
varnish_enabled_services and
|
|
(ansible_os_family != 'Debian' and ansible_distribution_release != "xenial")
|
|
|
|
# See: https://github.com/ansible/ansible/issues/22303
|
|
- name: Ensure Varnish services are started enabled on startup (Xenial specific)
|
|
service:
|
|
name: "{{ item }}"
|
|
state: started
|
|
enabled: yes
|
|
use: "service"
|
|
with_items: "{{ varnish_enabled_services | default([]) }}"
|
|
when:
|
|
- varnish_enabled_services
|
|
- (ansible_os_family == 'Debian' and ansible_distribution_release == "xenial")
|