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.
This commit is contained in:
2 files changed
+9
-1
No files matched your search
@@ -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},
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in new issue
Block a user