Ansible local facts
If jo
is installed and this Bash script is present and executable at /etc/ansible/facts.d/a2query.fact
#!/usr/bin/env bash
set -euo pipefail
A2QUERY=/usr/sbin/a2query
if [[ -f "${A2QUERY}" ]]; then
jo state=present version=$(a2query -v) mpm=$(a2query -M) \
conf_enabled=$(a2query -c | awk '{ print $1 }' | sort | jo -a) \
modules_enabled=$(a2query -m | awk '{ print $1 }' | sort | jo -a) \
sites_enabled=$(a2query -s | awk '{ print $1 }' | sort | jo -a)
else
jo state=absent
fi
Then Ansible facts will contain something like this:
ansible_facts:
ansible_local:
a2query:
conf_enabled:
- other-vhosts-access-log
- localized-error-pages
- security
- webarch
- charset
- le
modules_enabled:
- authz_core
- rewrite
- socache_shmcb
- http2
- cgid
- include
- authz_host
- remoteip
- mpm_event
- proxy_fcgi
- alias
- auth_basic
- ssl
- authz_user
- proxy_wstunnel
- status
- proxy
- suexec
- autoindex
- authn_file
- proxy_http
- setenvif
- fcgid
- dir
- env
- headers
- reqtimeout
- authn_core
- deflate
- mime
- access_compat
- filter
- expires
- negotiation
mpm: event
sites_enabled:
- foobar
- localhost
- wiki
version: 2.4.53
And as a result these config details should be able to be used to make this role faster...
Edited by Chris Croome