ansible-roles/nginx/tasks/server_status.yml

56 lines
1.7 KiB
YAML

---
- name: "server status dirname exists '{{ nginx_serverstatus_suffix_file | dirname }}'"
file:
dest: "{{ nginx_serverstatus_suffix_file | dirname }}"
mode: "0700"
owner: root
group: root
state: directory
- name: set nginx serverstatus suffix if provided
copy:
dest: "{{ nginx_serverstatus_suffix_file }}"
# The last character "\u000A" is a line feed (LF), it's better to keep it
content: "{{ nginx_serverstatus_suffix }}\u000A"
force: yes
when: nginx_serverstatus_suffix != ""
- name: generate random string for server-status suffix
shell: "apg -a 1 -M N -n 1 > {{ nginx_serverstatus_suffix_file }}"
args:
creates: "{{ nginx_serverstatus_suffix_file }}"
- name: read nginx server status suffix
command: "tail -n 1 {{ nginx_serverstatus_suffix_file }}"
changed_when: False
check_mode: no
register: new_nginx_serverstatus_suffix
- name: overwrite nginx_serverstatus_suffix
set_fact:
nginx_serverstatus_suffix: "{{ new_nginx_serverstatus_suffix.stdout }}"
- debug:
var: nginx_serverstatus_suffix
verbosity: 1
- name: replace server-status suffix in default site index
replace:
dest: /var/www/index.html
regexp: '__SERVERSTATUS_SUFFIX__'
replace: "{{ nginx_serverstatus_suffix }}"
- name: add server-status suffix in default site index if missing
replace:
dest: /var/www/index.html
regexp: '"/nginx_status-?"'
replace: '"/nginx_status-{{ nginx_serverstatus_suffix }}"'
- name: add server-status suffix in default VHost
replace:
dest: /etc/nginx/sites-available/evolinux-default.conf
regexp: 'location /nginx_status-? {'
replace: 'location /nginx_status-{{ nginx_serverstatus_suffix }} {'
notify: reload nginx