Installs and configures Varnish cache server on RHEL/CentOS 7/8 instances.
This role has below requirements:
- Python 3.x
- Ansible (min 2.4, suggested 2.9.16)
You can install suggested version with pip3:
$ pip3 install "ansible==2.9.16"
Note that this role requires root access, so either run it in a playbook with a global become: true
, or invoke the role in your playbook.
See the default values in defaults/main.yml. You can overwrite them in vars/main.yml if neccessary or you can set them while running playbook.
Please note that this role can ensure that
firewalld
systemd service on your servers are started and enabled by default. If you want to start and enablefirewalld
service, please modify below variable as true while running playbook:firewalld_enabled: true
None
[varnish]
node01.example.com
node02.example.com
node03.example.com
- hosts: varnish
become: true
roles:
- role: bilalcaliskan.varnish
vars:
varnish_install: true
purging_enabled: true
banning_enabled: true
version: 60lts
port: 6081
limit_memlock: 85983232
limit_core: infinity
limit_nofile: 131072
storage_backend: malloc
storage_backend_size: 256m
global_ttl: 5m
global_grace: 30m
backends:
- name: default
host: 127.0.0.1
port: 8080
max_connections: 800
first_byte_timeout: 600s
connect_timeout: 600s
between_bytes_timeout: 600s
probe_enabled: true
probe:
url: "/"
timeout: 5s
interval: 30s
window: 5
threshold: 3
requests:
- url: "/"
ttl: 1m
grace: 10m
keep: 20m
- name: default2
host: 127.0.0.1
port: 8081
max_connections: 800
first_byte_timeout: 600s
connect_timeout: 600s
between_bytes_timeout: 600s
probe_enabled: true
probe:
url: "/"
timeout: 5s
interval: 30s
window: 5
threshold: 3
requests:
- url: "/"
- hosts: varnish
become: true
roles:
- role: bilalcaliskan.varnish
vars:
varnish_install: false
This project requires below tools for development:
- Python 3.x
- Ansible - (min 2.4, suggested 2.9.16)
- pre-commit
- ansible-lint - required by pre-commit
- Bash shell - required by pre-commit
After you install all the tools above, you can simply configure pre-commit by typing:
$ pre-commit install
Apache License 2.0