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

45 lines
1.7 KiB
YAML

---
- name: Install the varnish package
yum: pkg={{ item }} state={{ varnish_pkg_state }}
with_items:
- varnish
tags: varnish
- name: Configure selinux to permit varnish to open a tcp socket
seboolean: name=varnishd_connect_any state=yes persistent=yes
- name: Install the selinux policy file for varnish
copy: src=varnish-sepol.te dest=/usr/local/etc
register: varnish_selinux_policy
tags: [ 'varnish', 'selinux' ]
- name: Activate the selinux policy for varnish
shell: checkmodule -M -m -o /usr/local/etc/varnish-sepol.mod /usr/local/etc/varnish-sepol.te ; semodule_package -o /usr/local/etc/varnish-sepol.pp -m /usr/local/etc/varnish-sepol.mod ; semodule -i /usr/local/etc/varnish-sepol.pp
args:
creates: /usr/local/etc/varnish-sepol.pp
when: varnish_selinux_policy is changed
tags: [ 'varnish', 'selinux' ]
- 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/varnish/{{ item }} owner=root group=root mode=0444
with_items:
- varnish.params
notify: Reload varnish
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