Skip to content

Commit 2d91ed9

Browse files
kvapsclaude
andcommitted
fix(satellite): bridge controller-runtime logger to slog
cmd/satellite/main.go set up slog but never wired controller- runtime's logr — so every log call from the c-r manager and the per-CRD reconcilers (Resource, ResourceDefinition, Snapshot, StoragePool, PhysicalDevice) was silently dropped. Symptom: the satellite emitted only its three startup INFO lines ("blockstor-satellite starting", "agent starting", "satellite controller-runtime manager ready"), followed by c-r's one-shot goroutine dump warning that log.SetLogger was never called, and then nothing — making it impossible to tell from the logs whether reconcilers were running, returning errors, or sitting on a blocked watch. Hook logr.FromSlogHandler(logger.Handler()) into ctrl.SetLogger so every reconcile event lands in the satellite's JSON log stream next to the startup events. The controller binary already does the same via zap (cmd/controller/main.go:105). Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
1 parent 9cc992f commit 2d91ed9

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

cmd/satellite/main.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import (
3232
"syscall"
3333

3434
"github.com/cockroachdb/errors"
35+
"github.com/go-logr/logr"
3536
"k8s.io/client-go/rest"
3637
ctrl "sigs.k8s.io/controller-runtime"
3738
"sigs.k8s.io/controller-runtime/pkg/manager"
@@ -64,6 +65,14 @@ func run() int {
6465
logger := slog.New(slog.NewJSONHandler(os.Stderr, &slog.HandlerOptions{Level: slog.LevelInfo}))
6566
slog.SetDefault(logger)
6667

68+
// Bridge controller-runtime's logr into our slog so every reconcile
69+
// log from the c-r manager / per-CRD reconcilers shows up next to
70+
// the satellite's own startup events. Without this c-r silently
71+
// drops every log call (its `log.SetLogger(...) was never called`
72+
// goroutine dump prints once on startup and reconciler errors
73+
// disappear).
74+
ctrl.SetLogger(logr.FromSlogHandler(logger.Handler()))
75+
6776
if nodeName == "" {
6877
logger.Error("node-name is required (pass --node-name or set NODE_NAME)")
6978

0 commit comments

Comments
 (0)