ansible-roles/library/roles/varnish-cache/tasks/main.yml

61 lines
2.1 KiB
YAML

---
- name: Install the required packages needed by the external varnish repo
apt: pkg={{ item }} state=present cache_valid_time=1800 update_cache=yes
with_items: '{{ varnish_repo_requirements }}'
when: varnish_repo
tags: varnish
- name: Get the varnish repo key
apt_key: url=https://packagecloud.io/varnishcache/varnish{{ varnish_compact_ver }}/gpgkey state=present
when: varnish_repo
register: varnish_repo_list
tags: varnish
- name: Define the varnish repository
apt_repository: repo='{{ varnish_repo_url }}' state=present update_cache=yes
when: varnish_repo
register: varnish_repo_list
tags: varnish
- name: Install the varnish package
apt: pkg={{ item }} state={{ varnish_pkg_state }} cache_valid_time=1800 update_cache=yes
with_items: '{{ varnish_pkg_name }}'
tags: varnish
- name: Configure some kernel parameters via sysctl
sysctl: name={{ item.name }} value={{ item.value }} sysctl_file=/etc/sysctl.d/{{ varnish_sysctl_file }} reload=yes state=present
with_items: '{{ varnish_sysctl_kernel_parameters }}'
when: varnish_set_sysctl_params
tags: [ 'varnish', 'varnishconf', 'sysctl' ]
- name: Install the varnish parameters file. The config file needs to be set by a local task
template: src={{ item }}.j2 dest=/etc/default/varnish owner=root group=root mode=0444
with_items:
- varnish.params
notify: Restart varnish
tags: [ 'varnish', 'varnishconf' ]
- name: Install the varnish systemd unit in debian 8
template: src={{ item }}.systemd.j2 dest=/etc/systemd/system/{{ item }} owner=root group=root mode=0444
with_items:
- varnish.service
notify: Restart varnish
when: is_debian8
register: install_varnish_unit
tags: [ 'varnish', 'varnishconf' ]
- name: Reload the systemd unit when changed
command: systemctl daemon-reload
when: install_varnish_unit is changed
tags: [ 'varnish', 'varnishconf' ]
- name: Ensure that the varnish service is started and enabled
service: name=varnish state=started enabled=yes
when: varnish_enabled
tags: varnish
- name: Ensure that the varnish service is stopped and disabled
service: name=varnish state=stopped enabled=no
when: not varnish_enabled
tags: varnish