100 lines
2.7 KiB
YAML
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
|