max / makenotwork
1 file changed,
+17 insertions,
-3 deletions
| @@ -35,9 +35,23 @@ | |||
| 35 | 35 | Restart=on-failure | |
| 36 | 36 | RestartSec=5 | |
| 37 | 37 | Environment=BENTO_CONFIG=%h/.config/bento/bento-daemon.toml | |
| 38 | - | # Loopback bind (default) needs no token. For a tailnet bind, set listen to the | |
| 39 | - | # tailnet IP in bento-daemon.toml AND provide BENTO_API_TOKEN here, e.g.: | |
| 40 | - | # EnvironmentFile=-%h/.config/bento/bento.env # contains BENTO_API_TOKEN=... | |
| 38 | + | # This daemon binds the tailnet, not loopback, and has since 2026-07-29: the | |
| 39 | + | # ops-viewer panel on astra polls it, and a loopback bind was only ever visible | |
| 40 | + | # to a viewer on fw13. Two consequences, and neither is optional. | |
| 41 | + | # | |
| 42 | + | # bentod REFUSES to start on a non-loopback listen unless BENTO_API_TOKEN is | |
| 43 | + | # set, so the file below is load-bearing rather than an example. Keep the | |
| 44 | + | # leading `-` so a fresh machine can start the unit before the token file | |
| 45 | + | # exists; the daemon will still refuse the tailnet listen until it does. | |
| 46 | + | # | |
| 47 | + | # Every mutating call carries the same token as a bearer header. /build and | |
| 48 | + | # /retry are behind the auth middleware, so a publish is: | |
| 49 | + | # curl -X POST http://fw13:8765/build -H "authorization: Bearer $TOKEN" | |
| 50 | + | # -H 'content-type: application/json' -d '{"app":"NAME","version":"X.Y.Z"}' | |
| 51 | + | # (one command; wrapped here because a trailing backslash in a systemd | |
| 52 | + | # comment is a line continuation, not punctuation) | |
| 53 | + | # The read routes (/state, /release, /logs, /events) are open. | |
| 54 | + | EnvironmentFile=-%h/.config/bento/bento.env | |
| 41 | 55 | StandardOutput=journal | |
| 42 | 56 | StandardError=journal | |
| 43 | 57 | SyslogIdentifier=bentod |