Skip to content

feat(icecast): stream access+error logs to stdout/stderr for the Loki tailer (gh-#115) - #222

Merged
genwave-radio merged 2 commits into
mainfrom
feat/gh-115-icecast-logs
Jul 29, 2026
Merged

feat(icecast): stream access+error logs to stdout/stderr for the Loki tailer (gh-#115)#222
genwave-radio merged 2 commits into
mainfrom
feat/gh-115-icecast-logs

Conversation

@genwave-radio

Copy link
Copy Markdown
Collaborator

Closes #115 (P1).

One-file diff: icecast.xml.tmpl sets <accesslog>-</accesslog> + <errorlog>-</errorlog>. Our pinned icecast is 2.5.0, which supports - for BOTH logs (v2.5.0 source: main.c:361 errorlog, main.c:382-383 accesslog → log_open_file(stderr)) — unlike early 2.4.x, so no nginx-style symlink needed. Rotation applies only to the file branch (nothing to neutralize), and restart_logging skips reopen for - logs, so it's HUP-safe (verified live: SIGHUP reload, access lines kept flowing).

🔬 Local evidence (built + ran the image, curled 200 + 404 — from docker logs):

172.17.0.1 - - [29/Jul/2026:12:24:43 +0000] "GET /status.xsl HTTP/1.1" 200 1857 "-" "curl/8.12.1" 0
172.17.0.1 - - [29/Jul/2026:12:24:43 +0000] "GET /definitely-not-a-mount HTTP/1.1" 404 734 "-" "curl/8.12.1" 0
[2026-07-29  12:24:43] WARN fserve/fserve_client_create req for file "…" No such file or directory

Log dir empty before and after HUP — nothing grows on disk. Story221 icecast pins untouched (3/3 pass).

🚀 Ships with the next image release (v2.8.5+). Fleet acceptance after deploy: {station="demo", service="icecast"} shows listener connect/disconnect + mount events in steady state; the alloy service="icecast" label contract is unaffected.

@genwave-radio
genwave-radio merged commit 5c4ce5f into main Jul 29, 2026
10 checks passed
@genwave-radio
genwave-radio deleted the feat/gh-115-icecast-logs branch July 29, 2026 14:23
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 29, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ship icecast access/error logs to Loki

1 participant