diff --git a/defaults/main.yml b/defaults/main.yml index e60788a846e06bc880fc45ef179de8708216037a..daccedbc09de0a5c6d79e28c40a600d1ae52e12f 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -28,6 +28,7 @@ apache_dhparam_path: /etc/apache2/dhparam.pem apache_dhparam_size: 2048 apache_localhost_port: 80 apache_ulimit: 65536 +apache_a2query: /usr/sbin/a2query apache_packages_present: - lynx # - libapache2-mod-fcgid diff --git a/tasks/local_facts.yml b/tasks/local_facts.yml new file mode 100644 index 0000000000000000000000000000000000000000..83d6cd8a41df24e88f3e90818b2541a96ad79dd3 --- /dev/null +++ b/tasks/local_facts.yml @@ -0,0 +1,34 @@ +--- +- name: Ansible local facts + block: + + - name: Required packages present + ansible.builtin.apt: + pkg: + - jo + state: present + + - name: Ansible facts.d directory present + ansible.builtin.file: + path: /etc/ansible/facts.d + recurse: true + state: directory + mode: 0700 + owner: root + group: root + + - name: Ansible a2query local facts script present + ansible.builtin.template: + src: a2query.fact.j2 + dest: /etc/ansible/facts.d/a2query.fact + mode: 0700 + owner: root + group: root + + - name: Re-read Ansible local facts + ansible.builtin.setup: + filter: ansible_local + + tags: + - quota +... diff --git a/tasks/main.yml b/tasks/main.yml index ba12d958f2e75b5ecd613b9de1e859abd10eebe2..b302f19ad6a4b5e1e3d8fe23d0fe4e4fc9bf3cc2 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -28,6 +28,9 @@ update_cache: false when: ( apache_packages_present is defined ) and ( apache_packages_present != [] ) + - name: Include local facts tasks + include_tasks: local_facts.yml + - name: Include Apache checks include_tasks: checks.yml diff --git a/templates/a2query.fact.j2 b/templates/a2query.fact.j2 new file mode 100644 index 0000000000000000000000000000000000000000..6ac25bf4feb084fcffcefaab54733eee25c15b8a --- /dev/null +++ b/templates/a2query.fact.j2 @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +# {{ ansible_managed }} + +set -euo pipefail +IFS=$'\n' + +A2QUERY="{{ apache_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