-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathyarddog.env.example
More file actions
108 lines (97 loc) · 4.67 KB
/
Copy pathyarddog.env.example
File metadata and controls
108 lines (97 loc) · 4.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# yarddog configuration
# copy to /opt/yarddog/.env and chmod 600
#
# every key is namespaced with the YARDDOG_ prefix in both this file and the
# real process environment (a real env var still wins over the file).
# label used in telegram messages: "#REBOOT {LABEL} ..."
YARDDOG_LABEL=home
# telegram bot: tbot://<chat_id>:@<bot_token>/
YARDDOG_TELEGRAMBOT_DSN="tbot://<chat_id>:@<bot_token>/"
# router web ui
YARDDOG_ROUTER_ADDR=http://192.168.1.1
YARDDOG_ROUTER_USER=admin
YARDDOG_ROUTER_PASS=change-me
# reboot driver / device kind (default: nokia)
#YARDDOG_ROUTER_KIND=nokia
# optional overrides (defaults shown)
#YARDDOG_DB_PATH=/var/lib/yarddog/yarddog.db
#YARDDOG_CHECK_IPS=1.1.1.1:443,8.8.8.8:53
#YARDDOG_CHECK_DOMAINS=https://www.google.com/generate_204,https://cloudflare.com/cdn-cgi/trace
#YARDDOG_CHECK_TIMEOUT=5s
#YARDDOG_RECOVERY_INTERVAL=60s
#YARDDOG_RECOVERY_TIMEOUT=15m
#YARDDOG_REBOOT_COOLDOWN=2h
# false-positive guards between a "down" verdict and a reboot.
# a down verdict is re-probed this many more times, this far apart, and a single
# healthy sample calls the whole thing off (outcome "unconfirmed", no message).
# 0 confirmations restores the old "act on the first sample" behaviour.
#YARDDOG_CHECK_CONFIRMATIONS=2
# ^ clamped to [0, 5]
#YARDDOG_CHECK_CONFIRM_DELAY=20s
# ^ clamped to [1s, 60s]
# how many consecutive runs (this one included) must have seen the internet down
# before a reboot is allowed. 2 means the previous run has to agree; 1 disables
# the cross-run check. a run that falls short is recorded as "unsustained".
#YARDDOG_REBOOT_MIN_STREAK=2
# ^ clamped to [1, 10]
# a run stays in the fast "hot" tables while younger than this; older runs
# roll into the *_archive tables at every collector startup (clamped to >=1)
#YARDDOG_HOT_WINDOW_DAYS=30
# prune *archived* runs (and their checks/metrics) older than this; 0 = keep
# the archive forever. does not affect the hot window above.
#YARDDOG_RETENTION_DAYS=90
# monitor-only mode: false = check/record/notify but never reboot the router
#YARDDOG_REBOOT_ENABLED=true
# host telemetry: one snapshot per run, alongside the connectivity check
#YARDDOG_METRICS_ENABLED=true
#YARDDOG_METRICS_TEMPERATURE=true
#YARDDOG_METRICS_FANS=true
#YARDDOG_METRICS_CPU=true
#YARDDOG_METRICS_MEMORY=true
#YARDDOG_METRICS_DISK=true
#YARDDOG_METRICS_UPTIME=true
#YARDDOG_METRICS_NETWORK=true
#YARDDOG_METRICS_DISK_MOUNT=/
# average ping metrics: one round-trip average per host, per run, alongside the
# telemetry snapshot. bare hosts only (no port); empty (default) disables the
# feature entirely. prefer IP literals over hostnames — a hostname makes every
# ping depend on DNS, which may itself be down during the outage this measures.
#YARDDOG_PING_HOSTS=1.1.1.1,8.8.8.8
#YARDDOG_PING_COUNT=5
# ^ clamped to [4, 7]
#YARDDOG_PING_TIMEOUT=4s
# ^ per-host deadline, clamped to [1s, 10s]
# query daemon (yarddogd): a second, optional binary serving runs/checks/metrics
# read-only over the LAN (shares DB_PATH above). YARDDOG_DAEMON_TOKEN is the only
# required daemon-only key; empty/unset means the daemon refuses to start.
#YARDDOG_DAEMON_TOKEN=change-me
# bind address: defaults to loopback (127.0.0.1:8420) if unset — set it to a
# LAN address explicitly to expose the API off-box, e.g.:
#YARDDOG_DAEMON_ADDR=192.168.1.10:8420
#YARDDOG_DAEMON_STALE_AFTER=90m
#YARDDOG_DAEMON_READ_TIMEOUT=10s
#YARDDOG_DAEMON_WRITE_TIMEOUT=15s
#YARDDOG_DAEMON_IDLE_TIMEOUT=60s
#YARDDOG_DAEMON_HEALTH_TIMEOUT=5s
# default 2 — headroom so the /health/check sqlite probe never queues behind
# an in-flight data read on the only connection
#YARDDOG_DAEMON_MAX_CONNS=2
# optional router credential probe for /health/check (daemon only): logs into
# the router web UI on every health sweep to prove the daemon can still
# authenticate. never reboots. set BOTH user and pass to enable; leave both
# unset to disable (the daemon starts fine on DAEMON_TOKEN alone without them).
# setting exactly one is an error (fail-fast at startup).
#YARDDOG_ROUTER_USER=admin
#YARDDOG_ROUTER_PASS=change-me
# override router address if different from the collector's default:
#YARDDOG_ROUTER_ADDR=http://192.168.1.1
# router driver family (default: nokia):
#YARDDOG_ROUTER_KIND=nokia
# display name for this probe in the /health/check "services" map:
#YARDDOG_DAEMON_HEALTH_ROUTER=gipon
# per-request HTTP timeout for the login call (default: 3s). must be > 0 and
# less than DAEMON_HEALTH_TIMEOUT (default 5s) or the daemon will refuse to start.
# enabling this probe places the router password on a host that previously needed
# none. the daemon never reboots, but a compromised env file now also exposes the
# router login. omit both ROUTER_USER and ROUTER_PASS to keep monitor-only isolation.
#YARDDOG_CHECK_TIMEOUT=3s