proxy_role/tasks/hourly.yml

100 lines
2.7 KiB
YAML

# -*- mode: yaml; indent-tabs-mode: nil; tab-width: 2; coding: utf-8-unix -*-
---
- name: "proxy hourly.yml"
debug:
verbosity: 1
msg: "proxy hourly.yml"
- block:
- name: check privoxy is listening
shell: |
echo '{{ proxy_netstat_nlp_fact.stdout|default('')}}' | grep ':{{HTTP_PROXYPORT}}'
ignore_errors: true # FixMe: defer to hourly.bash
when:
- HTTP_PROXYPORT != ''
when:
- PROXY_MODE in ['tor', 'whonix']
- proxy_netstat_nlp_fact is defined and proxy_netstat_nlp_fact.rc == 0
- block:
- name: "check dns is listening"
shell: |
# ip route | grep ^default || exit 0
. /usr/local/etc/local.d/local.bash
echo '{{ proxy_netstat_nlp_fact.stdout}}' | grep ':53' || { exit 1 ; }
echo '{{proxy_netstat_nlp_fact.stdout}}' | grep ':{{PROXY_DNS_PORT}}' || {
proxy_rc_service {{PROXY_DNS_PROXY}} status || proxy_rc_service {{PROXY_DNS_PROXY}} start || exit 1
sleep 10
netstat -nl -t inet | grep ':{{PROXY_DNS_PORT}}' && exit 0
echo ERROR: {{PROXY_DNS_PROXY}} is not running
exit 2
}
ignore_errors: true # FixMe: defer to hourly.bash
when:
- ansible_connection|default('') not in PLAY_NOSERVICE_CONNECTIONS
- BOX_PROXY_MODE != 'nat'
when:
- PROXY_DNS_PROXY == "dnsmasq"
- not ansible_check_mode
- proxy_netstat_nlp_fact is defined
- name: check route
shell: |
ip route | grep default || \
echo WARN: no default route
- name: check eix-update
shell: |
eix-update
args:
creates: /var/cache/eix/portage.eix
when:
- ansible_distribution == 'Gentoo'
- name: check resolv.conf
shell: |
grep 127.0.0.1 /etc/resolv.conf || {
echo WARN: /etc/resolv.conf is not local
echo nameserver 127.0.0.1 > /etc/resolv.conf
}
exit 0
when:
- PROXY_DNS_PROXY in ["pdnsd", "dnsmasq"]
- not ansible_check_mode
# - BASE_ARE_CONNECTED|default('') != ''
- name: check /etc/sysctl.conf
shell: |
cd /etc/sysctl.d
cat *.conf | grep '^[a-z]' | while read elt rest ; do
grep "^$elt" ../sysctl.conf && echo WARN: dup "^$elt" in ../sysctl.conf
done
exit 0
# This is dupped on daily/weekly/monthly
# [ $MYID -eq 0 ] || echo WARN: $prog should be run as root $MYID
- name: run proxy_hourly.bash
environment: "{{ shell_proxy_env }}"
shell: |
umask 0027
echo "INFO: proxy_log_hourly"
cd {{USR_LOCAL}}/bin
export MODE={{PROXY_MODE}}
. proxy_export.bash
[ -x proxy_hourly.bash ] || exit 0
bash proxy_hourly.bash
register: proxy_log_hourly
notify: summary of logs
when:
- not ansible_check_mode
- ansible_connection not in PLAY_CHROOT_CONNECTIONS
# FixMe
ignore_errors: true