Skip to content

Commit 22e6a7c

Browse files
authored
fix: initializer k8s logging correctly to use the whole k8s log stack (#63)
1 parent 6be6a99 commit 22e6a7c

File tree

3 files changed

+18
-36
lines changed

3 files changed

+18
-36
lines changed

cmd/root.go

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,32 @@
11
package cmd
22

33
import (
4-
"flag"
5-
"os"
6-
7-
"github.com/go-logr/zerologr"
84
kcpapisv1alpha1 "github.com/kcp-dev/kcp/sdk/apis/apis/v1alpha1"
95
tenancyv1alpha1 "github.com/kcp-dev/kcp/sdk/apis/tenancy/v1alpha1"
106
accountsv1alpha1 "github.com/platform-mesh/account-operator/api/v1alpha1"
117
pmconfig "github.com/platform-mesh/golang-commons/config"
128
"github.com/platform-mesh/rebac-authz-webhook/pkg/config"
13-
"github.com/rs/zerolog"
149
"github.com/spf13/cobra"
15-
"github.com/spf13/pflag"
1610
"github.com/spf13/viper"
1711
"k8s.io/apimachinery/pkg/runtime"
1812
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
1913
clientgoscheme "k8s.io/client-go/kubernetes/scheme"
14+
"k8s.io/component-base/logs"
15+
16+
logsapi "k8s.io/component-base/logs/api/v1"
2017
"k8s.io/klog/v2"
21-
"k8s.io/utils/ptr"
18+
19+
_ "k8s.io/component-base/logs/json/register"
2220
)
2321

2422
var (
23+
logOpts = logs.NewOptions()
24+
2525
rootCmd = &cobra.Command{
2626
Use: "rebac-authz-webhook",
27+
PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
28+
return logsapi.ValidateAndApply(logOpts, nil)
29+
},
2730
}
2831

2932
v *viper.Viper
@@ -51,13 +54,8 @@ func init() {
5154
panic(err)
5255
}
5356

54-
klog.SetLogger(zerologr.New(ptr.To(zerolog.New(os.Stdout))))
55-
56-
klogFlagSet := flag.NewFlagSet("klog", flag.ExitOnError)
57-
klog.InitFlags(klogFlagSet)
57+
logsapi.AddFlags(logOpts, rootCmd.PersistentFlags())
5858

59-
pflag.CommandLine.AddGoFlagSet(klogFlagSet)
60-
rootCmd.PersistentFlags().AddGoFlagSet(klogFlagSet)
6159
}
6260

6361
func Execute() {

go.mod

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,12 @@ go 1.25
44

55
require (
66
github.com/go-logr/logr v1.4.3
7-
github.com/go-logr/zerologr v1.2.3
87
github.com/kcp-dev/kcp/sdk v0.28.3
98
github.com/kcp-dev/multicluster-provider v0.2.1
109
github.com/openfga/api/proto v0.0.0-20250909173124-0ac19aac54f2
1110
github.com/platform-mesh/account-operator v0.5.5
1211
github.com/platform-mesh/golang-commons v0.7.1
13-
github.com/rs/zerolog v1.34.0
1412
github.com/spf13/cobra v1.10.1
15-
github.com/spf13/pflag v1.0.10
1613
github.com/spf13/viper v1.21.0
1714
github.com/stretchr/testify v1.11.1
1815
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.63.0
@@ -21,14 +18,15 @@ require (
2118
k8s.io/api v0.34.1
2219
k8s.io/apimachinery v0.34.1
2320
k8s.io/client-go v0.34.1
21+
k8s.io/component-base v0.34.1
2422
k8s.io/klog/v2 v2.130.1
25-
k8s.io/utils v0.0.0-20251002143259-bc988d571ff4
2623
sigs.k8s.io/controller-runtime v0.22.3
2724
sigs.k8s.io/multicluster-runtime v0.21.0-alpha.9
2825
)
2926

3027
require (
3128
github.com/beorn7/perks v1.0.1 // indirect
29+
github.com/blang/semver/v4 v4.0.0 // indirect
3230
github.com/cenkalti/backoff/v5 v5.0.3 // indirect
3331
github.com/cespare/xxhash/v2 v2.3.0 // indirect
3432
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
@@ -40,6 +38,7 @@ require (
4038
github.com/fxamacker/cbor/v2 v2.9.0 // indirect
4139
github.com/go-jose/go-jose/v4 v4.1.3 // indirect
4240
github.com/go-logr/stdr v1.2.2 // indirect
41+
github.com/go-logr/zapr v1.3.0 // indirect
4342
github.com/go-openapi/jsonpointer v0.21.0 // indirect
4443
github.com/go-openapi/jsonreference v0.21.0 // indirect
4544
github.com/go-openapi/swag v0.23.0 // indirect
@@ -56,8 +55,6 @@ require (
5655
github.com/kcp-dev/apimachinery/v2 v2.0.1-0.20250728122101-adbf20db3e51 // indirect
5756
github.com/kcp-dev/logicalcluster/v3 v3.0.5 // indirect
5857
github.com/mailru/easyjson v0.9.0 // indirect
59-
github.com/mattn/go-colorable v0.1.14 // indirect
60-
github.com/mattn/go-isatty v0.0.20 // indirect
6158
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
6259
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
6360
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
@@ -73,6 +70,7 @@ require (
7370
github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 // indirect
7471
github.com/spf13/afero v1.15.0 // indirect
7572
github.com/spf13/cast v1.10.0 // indirect
73+
github.com/spf13/pflag v1.0.10 // indirect
7674
github.com/stretchr/objx v0.5.2 // indirect
7775
github.com/subosito/gotenv v1.6.0 // indirect
7876
github.com/x448/float16 v0.8.4 // indirect
@@ -85,6 +83,8 @@ require (
8583
go.opentelemetry.io/otel/sdk v1.38.0 // indirect
8684
go.opentelemetry.io/otel/trace v1.38.0 // indirect
8785
go.opentelemetry.io/proto/otlp v1.8.0 // indirect
86+
go.uber.org/multierr v1.11.0 // indirect
87+
go.uber.org/zap v1.27.0 // indirect
8888
go.yaml.in/yaml/v2 v2.4.2 // indirect
8989
go.yaml.in/yaml/v3 v3.0.4 // indirect
9090
golang.org/x/net v0.44.0 // indirect
@@ -103,6 +103,7 @@ require (
103103
gopkg.in/yaml.v3 v3.0.1 // indirect
104104
k8s.io/apiextensions-apiserver v0.34.1 // indirect
105105
k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b // indirect
106+
k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 // indirect
106107
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
107108
sigs.k8s.io/randfill v1.0.0 // indirect
108109
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect

go.sum

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1x
1010
github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw=
1111
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
1212
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
13-
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
1413
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
1514
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
1615
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -41,8 +40,6 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
4140
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
4241
github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ=
4342
github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg=
44-
github.com/go-logr/zerologr v1.2.3 h1:up5N9vcH9Xck3jJkXzgyOxozT14R47IyDODz8LM1KSs=
45-
github.com/go-logr/zerologr v1.2.3/go.mod h1:BxwGo7y5zgSHYR1BjbnHPyF/5ZjVKfKxAZANVu6E8Ho=
4643
github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ=
4744
github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY=
4845
github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ=
@@ -53,7 +50,6 @@ github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1v
5350
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
5451
github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
5552
github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
56-
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
5753
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
5854
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
5955
github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo=
@@ -103,13 +99,6 @@ github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0
10399
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
104100
github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4=
105101
github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU=
106-
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
107-
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
108-
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
109-
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
110-
github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
111-
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
112-
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
113102
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
114103
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
115104
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
@@ -145,9 +134,6 @@ github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzM
145134
github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is=
146135
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
147136
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
148-
github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0=
149-
github.com/rs/zerolog v1.34.0 h1:k43nTLIwcTVQAncfCw4KZ2VY6ukYoZaBPNOE8txlOeY=
150-
github.com/rs/zerolog v1.34.0/go.mod h1:bJsvje4Z08ROH4Nhs5iH600c3IkWhwp44iRc54W6wYQ=
151137
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
152138
github.com/sagikazarmark/locafero v0.11.0 h1:1iurJgmM9G3PA/I+wWYIOw/5SyBtxapeHDcg+AAIFXc=
153139
github.com/sagikazarmark/locafero v0.11.0/go.mod h1:nVIGvgyzw595SUSUE6tvCp3YYTeHs15MvlmU87WwIik=
@@ -235,9 +221,6 @@ golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
235221
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
236222
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
237223
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
238-
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
239-
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
240-
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
241224
golang.org/x/sys v0.37.0 h1:fdNQudmxPjkdUTPnLn5mdQv7Zwvbvpaxqs831goi9kQ=
242225
golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
243226
golang.org/x/term v0.35.0 h1:bZBVKBudEyhRcajGcNc3jIfWPqV4y/Kt2XcoigOWtDQ=

0 commit comments

Comments
 (0)