Skip to content

Log kubo at info, in JSON, on the bootstrappers - #16

Merged
TakGN merged 1 commit into
mainfrom
bootstrap-info-logs
Oct 29, 2026
Merged

TakGN merged 1 commit into
mainfrom
bootstrap-info-logs

Conversation

@TakGN

@TakGN TakGN commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

ProbeLab asked us to ship the bootstrappers' logs for them. Their bootstrapper data stopped in early October, after the bootstrap.libp2p.io identities moved to these boxes (26c2ffb, 2026-09-29).

Why

The bootstrap daemon sets no GOLOG_LOG_LEVEL, so kubo runs at go-log's default, error, and Loki gets almost nothing from it. Info adds libp2p's and the DHT's warnings and info lines (failed identify negotiations, resource-manager trouble, DHT record errors).

What this does not give: per-connection peer IDs or agent versions. In go-libp2p v0.49.0 (kubo 0.43.1), identify logs successful connections only at debug, with peer ID and address but never the agent version. ProbeLab's weekly count(distinct peer) / count(distinct agent) needs a collector reading swarm peers --identify, not log levels.

Change

  • k8s/bootstrap/deployment.yaml.j2: GOLOG_LOG_LEVEL=info and GOLOG_LOG_FMT=json on the kubo container, as needle already does. Applies to every instance (bootstrap, and bootstrap-b on chic-1).

Checked

  • scripts/render-manifests.yml renders, and every overlay builds with kubectl kustomize.
  • Rendered bootstrap diff against main: only the two env vars. bootstrap-wss unchanged.
  • Not run locally: yamllint and ansible-lint (not installed here; the change is in a .j2 template). CI runs them.

Rolling out

bootstrap.yml is applied by hand, not from CI, so merging changes nothing on the boxes. Applying it restarts each bootstrapper (one box at a time under production_rollout). After that, watch the bootstrappers' log volume in Loki: if info is noisy (identify failures on high peer churn), narrow it to error,net/identify=info or warn.

🤖 Generated with Claude Code

kubo logs only errors by default. ProbeLab asked us to ship the
bootstrappers' logs for them after the bootstrap.libp2p.io handover;
info adds libp2p's and the DHT's warnings and info lines, and JSON
matches needle so Loki can parse the fields.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@TakGN
TakGN merged commit c1cdc5e into main Oct 29, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant