Skip to main content

max / makenotwork

3.2 KB · 160 lines History Blame Raw
1 [serve]
2 interval_secs = 300
3 prune_days = 30
4 listen = "100.106.221.39:9100"
5 peer_heartbeat_secs = 60
6 route_check_interval_secs = 300
7 dashboard = true
8 # api_token loaded from POM_API_TOKEN env var
9
10 [instance]
11 name = "astra"
12
13 [targets.mnw]
14 label = "Makenotwork Production"
15 expected_routes = ["/", "/discover", "/login", "/docs"]
16
17 [[targets.mnw.dns]]
18 name = "makenot.work"
19 record_type = "A"
20 expected = []
21
22 [[targets.mnw.dns]]
23 name = "forums.makenot.work"
24 record_type = "A"
25 expected = []
26
27 [[targets.mnw.dns]]
28 name = "git.makenot.work"
29 record_type = "A"
30 expected = []
31
32 [targets.mnw.whois]
33 domain = "makenot.work"
34 warn_days = 30
35
36 [targets.mnw.health]
37 url = "https://makenot.work/api/health"
38 timeout_secs = 10
39
40 [targets.mnw.health.expect]
41 status_code = 200
42 json_fields = { "status" = "operational" }
43
44 [targets.mnw.health.trending]
45 baseline_window_hours = 168
46 spike_threshold = 2.0
47
48 [targets.mnw.tls]
49 host = "makenot.work"
50
51 [targets.mt]
52 label = "Multithreaded Forum"
53 expected_routes = ["/"]
54
55 [targets.mt.health]
56 url = "https://forums.makenot.work/api/health"
57 timeout_secs = 10
58
59 [targets.mt.health.expect]
60 status_code = 200
61 json_fields = { "status" = "operational" }
62
63 [targets.mt.tls]
64 host = "forums.makenot.work"
65
66 [targets.mt.tests]
67 ssh = "max@100.106.221.39"
68 command = "cd /home/max/staging/multithreaded && cargo test --workspace 2>&1"
69 timeout_secs = 300
70 staleness_days = 7
71
72 [targets.mnw-cli]
73 label = "MNW CLI SSH Server"
74
75 [[targets.mnw-cli.dns]]
76 name = "cli.makenot.work"
77 record_type = "A"
78 expected = []
79
80 [targets.mnw-cli.ssh_banner]
81 host = "5.78.144.244"
82 port = 22
83 timeout_secs = 5
84
85 [targets.htpy]
86 label = "htpy.app"
87
88 [[targets.htpy.dns]]
89 name = "htpy.app"
90 record_type = "A"
91 expected = []
92
93 [targets.htpy.whois]
94 domain = "htpy.app"
95 warn_days = 30
96
97 [targets.htpy.health]
98 # See the same block in pom-hetzner.toml: htpy-web listens on 3200, not 8080, and
99 # /archive/<name> 308s to /viewer/<name>. The stale address is why this target
100 # has carried an open incident since 2026-03-29 while the site served fine.
101 url = "http://100.99.153.68:3200/viewer/S_2"
102 timeout_secs = 10
103
104 [targets.htpy.health.expect]
105 status_code = 200
106 body_contains = "htpy"
107
108 [targets.htpy.tls]
109 host = "htpy.app"
110
111 [targets.go]
112 label = "GoingsOn"
113
114 [targets.go.tests]
115 ssh = "max@100.106.221.39"
116 command = "cd /home/max/staging/goingson && cargo test --workspace 2>&1"
117 timeout_secs = 600
118 staleness_days = 7
119
120 [targets.bb]
121 label = "Balanced Breakfast"
122
123 [targets.bb.tests]
124 ssh = "max@100.106.221.39"
125 command = "cd /home/max/staging/balanced_breakfast && cargo test --workspace 2>&1"
126 timeout_secs = 600
127 staleness_days = 7
128
129 [targets.af]
130 label = "AudioFiles"
131
132 [targets.af.tests]
133 ssh = "max@100.106.221.39"
134 command = "cd /home/max/staging/audiofiles && cargo test --workspace 2>&1"
135 timeout_secs = 600
136 staleness_days = 7
137
138 [targets.sk]
139 label = "SyncKit SDK"
140
141 [targets.sk.tests]
142 ssh = "max@100.106.221.39"
143 command = "cd /home/max/staging/synckit-client && cargo test 2>&1"
144 timeout_secs = 300
145 staleness_days = 7
146
147 [peers.hetzner]
148 address = "100.120.174.96:9100"
149 on_missing = "alert"
150 # token = "<hetzner's POM_API_TOKEN value>"
151
152 [peers.macbook]
153 address = "100.100.246.136:9100"
154 on_missing = "log"
155 # token = "<macbook's POM_API_TOKEN value>"
156
157 [alerts]
158 # postmark_token loaded from POM_POSTMARK_TOKEN env var
159 to = "pom-alerts@makenot.work"
160