Unverified Commit a415246a authored by Lemon-miaow's avatar Lemon-miaow
Browse files

fix(operator): give controller-runtime a logger instead of a goroutine stack

Without SetLogger, the first reconcile prints
'[controller-runtime] log.SetLogger(...) was never called; logs will not be
displayed' followed by a full stack trace (live-observed in felis-operator).
Route it through logr.FromSlogHandler(slog.Default()) so its messages are
ordinary stderr lines; go-logr/logr promoted to a direct dependency.
parent 1efa8a4b
Loading
Loading
Loading
Loading
+8 −0
Changes for cmd/felis/operator.go: 8 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -4,11 +4,13 @@ import (
	"flag"
	"fmt"
	"io"
	"log/slog"
	"os"

	"felis.lolicon.best/internal/apis/felis/v1alpha1"
	felismetrics "felis.lolicon.best/internal/metrics"
	"felis.lolicon.best/internal/operator"
	"github.com/go-logr/logr"
	"k8s.io/apimachinery/pkg/runtime"
	utilruntime "k8s.io/apimachinery/pkg/util/runtime"
	clientgoscheme "k8s.io/client-go/kubernetes/scheme"
@@ -42,6 +44,12 @@ func cmdOperator(args []string, _, stderr io.Writer) int {
	utilruntime.Must(clientgoscheme.AddToScheme(scheme))
	utilruntime.Must(v1alpha1.AddToScheme(scheme))

	// controller-runtime logs through its own logr sink; without one, its first
	// reconcile prints "log.SetLogger(...) was never called" ATTACHED TO A FULL
	// GOROUTINE STACK — pure noise, not signal. Route it to slog's default handler
	// so its messages appear as ordinary stderr lines.
	ctrl.SetLogger(logr.FromSlogHandler(slog.Default().Handler()))

	mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{
		Scheme:  scheme,
		Metrics: metricsserver.Options{BindAddress: *metricsAddr},
+1 −1
Changes for go.mod: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ require (
	github.com/charmbracelet/huh v1.0.0
	github.com/charmbracelet/lipgloss v1.1.0
	github.com/descope/virtualwebauthn v1.0.5
	github.com/go-logr/logr v1.4.2
	github.com/go-webauthn/webauthn v0.17.4
	github.com/golang-jwt/jwt/v5 v5.3.1
	github.com/google/uuid v1.6.0
@@ -42,7 +43,6 @@ require (
	github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
	github.com/evanphx/json-patch/v5 v5.9.0 // indirect
	github.com/fxamacker/cbor/v2 v2.9.2 // indirect
	github.com/go-logr/logr v1.4.2 // indirect
	github.com/go-openapi/jsonpointer v0.19.6 // indirect
	github.com/go-openapi/jsonreference v0.20.2 // indirect
	github.com/go-openapi/swag v0.22.4 // indirect