Skip to content

Commit c0e39e7

Browse files
authored
feat: implements mlog (#241)
<!-- Thank you for helping KMS Plugin for Key Vault with a pull request! --> **Reason for Change**: <!-- What does this PR improve or fix in KMS Plugin for Key Vault? Why is it needed? --> The logging process will be moved to mlog to provide users with better control over log levels. **Issue Fixed**: <!-- If this PR fixes GitHub issue 1234, add "Fixes #1234" to the next line. --> fixes #236 **Notes for Reviewers**: Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com>
1 parent f1c6590 commit c0e39e7

13 files changed

+118
-99
lines changed

cmd/server/main.go

+33-41
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ package main
88
import (
99
"context"
1010
"flag"
11+
"fmt"
1112
"net"
1213
"net/url"
1314
"os"
@@ -23,11 +24,10 @@ import (
2324
"github.com/Azure/kubernetes-kms/pkg/version"
2425

2526
"google.golang.org/grpc"
26-
logsapi "k8s.io/component-base/logs/api/v1"
27-
json "k8s.io/component-base/logs/json"
2827
"k8s.io/klog/v2"
2928
kmsv1 "k8s.io/kms/apis/v1beta1"
3029
kmsv2 "k8s.io/kms/apis/v2"
30+
"monis.app/mlog"
3131
)
3232

3333
var (
@@ -37,6 +37,7 @@ var (
3737
keyVersion = flag.String("key-version", "", "Azure Key Vault KMS key version")
3838
managedHSM = flag.Bool("managed-hsm", false, "Azure Key Vault Managed HSM. Refer to https://docs.microsoft.com/en-us/azure/key-vault/managed-hsm/overview for more details.")
3939
logFormatJSON = flag.Bool("log-format-json", false, "set log formatter to json")
40+
logLevel = flag.Int("v", 0, "In order of increasing verbosity: 0=warning/error, 2=info, 4=debug, 6=trace, 10=all")
4041
// TODO remove this flag in future release.
4142
_ = flag.String("configFilePath", "/etc/kubernetes/azure.json", "[DEPRECATED] Path for Azure Cloud Provider config file")
4243
configFilePath = flag.String("config-file-path", "/etc/kubernetes/azure.json", "Path for Azure Cloud Provider config file")
@@ -54,38 +55,39 @@ var (
5455
)
5556

5657
func main() {
57-
klog.InitFlags(nil)
58+
if err := setupKMSPlugin(); err != nil {
59+
mlog.Fatal(err)
60+
}
61+
}
62+
63+
func setupKMSPlugin() error {
64+
defer mlog.Setup()() // set up log flushing and attempt to flush on exit
5865
flag.Parse()
66+
ctx := withShutdownSignal(context.Background())
5967

68+
logFormat := mlog.FormatText
6069
if *logFormatJSON {
61-
jsonFactory := json.Factory{}
62-
logger, _ := jsonFactory.Create(
63-
logsapi.LoggingConfiguration{
64-
Format: "json",
65-
},
66-
logsapi.LoggingOptions{},
67-
)
68-
klog.SetLogger(logger)
70+
logFormat = mlog.FormatJSON
71+
}
72+
73+
if err := mlog.ValidateAndSetKlogLevelAndFormatGlobally(ctx, klog.Level(*logLevel), logFormat); err != nil {
74+
return fmt.Errorf("invalid --log-level set: %w", err)
6975
}
7076

7177
if *versionInfo {
7278
if err := version.PrintVersion(); err != nil {
73-
klog.ErrorS(err, "failed to print version")
74-
os.Exit(1)
79+
return fmt.Errorf("failed to print version: %w", err)
7580
}
76-
os.Exit(0)
81+
return nil
7782
}
7883

79-
ctx := withShutdownSignal(context.Background())
80-
8184
// initialize metrics exporter
8285
err := metrics.InitMetricsExporter(*metricsBackend, *metricsAddress)
8386
if err != nil {
84-
klog.ErrorS(err, "failed to initialize metrics exporter")
85-
os.Exit(1)
87+
return fmt.Errorf("failed to initialize metrics exporter: %w", err)
8688
}
8789

88-
klog.InfoS("Starting KeyManagementServiceServer service", "version", version.BuildVersion, "buildDate", version.BuildDate)
90+
mlog.Always("Starting KeyManagementServiceServer service", "version", version.BuildVersion, "buildDate", version.BuildDate)
8991

9092
pluginConfig := &plugin.Config{
9193
KeyVaultName: *keyvaultName,
@@ -100,8 +102,7 @@ func main() {
100102

101103
azureConfig, err := config.GetAzureConfig(pluginConfig.ConfigFilePath)
102104
if err != nil {
103-
klog.ErrorS(err, "failed to get azure config")
104-
os.Exit(1)
105+
return fmt.Errorf("failed to get azure config: %w", err)
105106
}
106107

107108
kvClient, err := plugin.NewKeyVaultClient(
@@ -115,25 +116,21 @@ func main() {
115116
pluginConfig.ManagedHSM,
116117
)
117118
if err != nil {
118-
klog.ErrorS(err, "failed to create key vault client")
119-
os.Exit(1)
119+
return fmt.Errorf("failed to create key vault client: %w", err)
120120
}
121121

122122
// Initialize and run the GRPC server
123123
proto, addr, err := utils.ParseEndpoint(*listenAddr)
124124
if err != nil {
125-
klog.ErrorS(err, "failed to parse endpoint")
126-
os.Exit(1)
125+
return fmt.Errorf("failed to parse endpoint: %w", err)
127126
}
128127
if err := os.Remove(addr); err != nil && !os.IsNotExist(err) {
129-
klog.ErrorS(err, "failed to remove socket file", "addr", addr)
130-
os.Exit(1)
128+
return fmt.Errorf("failed to remove socket file %s: %w", addr, err)
131129
}
132130

133131
listener, err := net.Listen(proto, addr)
134132
if err != nil {
135-
klog.ErrorS(err, "failed to listen", "addr", addr, "proto", proto)
136-
os.Exit(1)
133+
return fmt.Errorf("failed to listen addr: %s, proto: %s: %w", addr, proto, err)
137134
}
138135

139136
opts := []grpc.ServerOption{
@@ -145,24 +142,21 @@ func main() {
145142
// register kms v1 server
146143
kmsV1Server, err := plugin.NewKMSv1Server(kvClient)
147144
if err != nil {
148-
klog.ErrorS(err, "failed to create server")
149-
os.Exit(1)
145+
return fmt.Errorf("failed to create server: %w", err)
150146
}
151147
kmsv1.RegisterKeyManagementServiceServer(s, kmsV1Server)
152148

153149
// register kms v2 server
154150
kmsV2Server, err := plugin.NewKMSv2Server(kvClient)
155151
if err != nil {
156-
klog.ErrorS(err, "failed to create kms V2 server")
157-
os.Exit(1)
152+
return fmt.Errorf("failed to create kms V2 server: %w", err)
158153
}
159154
kmsv2.RegisterKeyManagementServiceServer(s, kmsV2Server)
160155

161-
klog.InfoS("Listening for connections", "addr", listener.Addr().String())
156+
mlog.Always("Listening for connections", "addr", listener.Addr().String())
162157
go func() {
163158
if err := s.Serve(listener); err != nil {
164-
klog.ErrorS(err, "failed to serve kms server")
165-
os.Exit(1)
159+
mlog.Fatal(fmt.Errorf("failed to serve kms server: %w", err))
166160
}
167161
}()
168162

@@ -181,12 +175,10 @@ func main() {
181175

182176
<-ctx.Done()
183177
// gracefully stop the grpc server
184-
klog.Info("terminating the server")
178+
mlog.Always("terminating the server")
185179
s.GracefulStop()
186180

187-
klog.Flush()
188-
// using os.Exit skips running deferred functions
189-
os.Exit(0)
181+
return nil
190182
}
191183

192184
// withShutdownSignal returns a copy of the parent context that will close if
@@ -199,7 +191,7 @@ func withShutdownSignal(ctx context.Context) context.Context {
199191

200192
go func() {
201193
<-signalChan
202-
klog.Info("received shutdown signal")
194+
mlog.Always("received shutdown signal")
203195
cancel()
204196
}()
205197
return nctx

go.mod

+16-4
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ require (
1414
google.golang.org/grpc v1.54.0
1515
gopkg.in/yaml.v3 v3.0.1
1616
k8s.io/apimachinery v0.27.1
17-
k8s.io/component-base v0.27.1
1817
k8s.io/klog/v2 v2.100.1
1918
k8s.io/kms v0.27.1
19+
monis.app/mlog v0.0.4
2020
)
2121

2222
require (
@@ -29,30 +29,42 @@ require (
2929
github.com/beorn7/perks v1.0.1 // indirect
3030
github.com/blang/semver/v4 v4.0.0 // indirect
3131
github.com/cespare/xxhash/v2 v2.2.0 // indirect
32+
github.com/davecgh/go-spew v1.1.1 // indirect
3233
github.com/go-logr/logr v1.2.4 // indirect
3334
github.com/go-logr/stdr v1.2.2 // indirect
3435
github.com/go-logr/zapr v1.2.3 // indirect
3536
github.com/gogo/protobuf v1.3.2 // indirect
3637
github.com/golang-jwt/jwt/v4 v4.5.0 // indirect
3738
github.com/golang/protobuf v1.5.3 // indirect
39+
github.com/google/gofuzz v1.2.0 // indirect
3840
github.com/google/uuid v1.3.0 // indirect
3941
github.com/inconshreveable/mousetrap v1.0.1 // indirect
42+
github.com/json-iterator/go v1.1.12 // indirect
4043
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
44+
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
45+
github.com/modern-go/reflect2 v1.0.2 // indirect
46+
github.com/pmezard/go-difflib v1.0.0 // indirect
4147
github.com/prometheus/client_golang v1.15.0
4248
github.com/prometheus/client_model v0.3.0 // indirect
4349
github.com/prometheus/common v0.42.0 // indirect
4450
github.com/prometheus/procfs v0.9.0 // indirect
45-
github.com/spf13/cobra v1.6.0 // indirect
51+
github.com/spf13/cobra v1.6.1 // indirect
4652
github.com/spf13/pflag v1.0.5 // indirect
53+
github.com/stretchr/testify v1.8.2 // indirect
4754
go.opentelemetry.io/otel/sdk v1.15.1 // indirect
4855
go.opentelemetry.io/otel/sdk/metric v0.38.1
4956
go.opentelemetry.io/otel/trace v1.15.1 // indirect
50-
go.uber.org/atomic v1.7.0 // indirect
51-
go.uber.org/multierr v1.6.0 // indirect
57+
go.uber.org/atomic v1.10.0 // indirect
58+
go.uber.org/multierr v1.8.0 // indirect
5259
go.uber.org/zap v1.24.0 // indirect
5360
golang.org/x/sys v0.7.0 // indirect
5461
golang.org/x/text v0.8.0 // indirect
5562
google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f // indirect
5663
google.golang.org/protobuf v1.30.0 // indirect
5764
gopkg.in/inf.v0 v0.9.1 // indirect
65+
gopkg.in/yaml.v2 v2.4.0 // indirect
66+
k8s.io/component-base v0.27.1 // indirect
67+
k8s.io/utils v0.0.0-20230209194617-a36077c30491 // indirect
68+
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
69+
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
5870
)

go.sum

+25-5
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,15 @@ github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg
5353
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
5454
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
5555
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
56-
github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g=
56+
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
57+
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
58+
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
5759
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
5860
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
5961
github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc=
6062
github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
63+
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
64+
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
6165
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
6266
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
6367
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
@@ -67,6 +71,11 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
6771
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
6872
github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
6973
github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
74+
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
75+
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
76+
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
77+
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
78+
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
7079
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
7180
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
7281
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -82,8 +91,8 @@ github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJf
8291
github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY=
8392
github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
8493
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
85-
github.com/spf13/cobra v1.6.0 h1:42a0n6jwCot1pUmomAp4T7DeMD+20LFv4Q54pxLf2LI=
86-
github.com/spf13/cobra v1.6.0/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY=
94+
github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA=
95+
github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY=
8796
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
8897
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
8998
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
@@ -111,12 +120,14 @@ go.opentelemetry.io/otel/sdk/metric v0.38.1 h1:EkO5wI4NT/fUaoPMGc0fKV28JaWe7q4vf
111120
go.opentelemetry.io/otel/sdk/metric v0.38.1/go.mod h1:Rn4kSXFF9ZQZ5lL1pxQjCbK4seiO+U7s0ncmIFJaj34=
112121
go.opentelemetry.io/otel/trace v1.15.1 h1:uXLo6iHJEzDfrNC0L0mNjItIp06SyaBQxu5t3xMlngY=
113122
go.opentelemetry.io/otel/trace v1.15.1/go.mod h1:IWdQG/5N1x7f6YUlmdLeJvH9yxtuJAfc4VW5Agv9r/8=
114-
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
115123
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
124+
go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ=
125+
go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
116126
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
117127
go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A=
118-
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
119128
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
129+
go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8=
130+
go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak=
120131
go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI=
121132
go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60=
122133
go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg=
@@ -194,6 +205,8 @@ gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
194205
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
195206
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
196207
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
208+
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
209+
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
197210
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
198211
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
199212
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
@@ -207,4 +220,11 @@ k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
207220
k8s.io/kms v0.27.1 h1:JTSQbJb+mcobScQwF0bOmZhIwP17k8GvBsiLlA6SQqw=
208221
k8s.io/kms v0.27.1/go.mod h1:VuTsw0uHlSycKLCkypCGxfFCjLfzf/5YMeATECd/zJA=
209222
k8s.io/utils v0.0.0-20230209194617-a36077c30491 h1:r0BAOLElQnnFhE/ApUsg3iHdVYYPBjNSSOMowRZxxsY=
223+
k8s.io/utils v0.0.0-20230209194617-a36077c30491/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
224+
monis.app/mlog v0.0.4 h1:YEzh5sguG4ApywaRWnBU+mGP6SA4WxOqiJ36u+KtoeE=
225+
monis.app/mlog v0.0.4/go.mod h1:LtOpnndFuRGqnLBwzBvpA1DaoKuud2/moLzYXIiNl1s=
210226
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
227+
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
228+
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
229+
sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E=
230+
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=

pkg/auth/auth.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020
"github.com/Azure/go-autorest/autorest/adal"
2121
"github.com/Azure/go-autorest/autorest/azure"
2222
"golang.org/x/crypto/pkcs12"
23-
"k8s.io/klog/v2"
23+
"monis.app/mlog"
2424
)
2525

2626
// GetKeyvaultToken() returns token for Keyvault endpoint.
@@ -41,27 +41,27 @@ func GetServicePrincipalToken(config *config.AzureConfig, aadEndpoint, resource
4141
}
4242

4343
if config.UseManagedIdentityExtension {
44-
klog.V(2).Info("using managed identity extension to retrieve access token")
44+
mlog.Info("using managed identity extension to retrieve access token")
4545
msiEndpoint, err := adal.GetMSIVMEndpoint()
4646
if err != nil {
4747
return nil, fmt.Errorf("failed to get managed service identity endpoint, error: %v", err)
4848
}
4949
// using user-assigned managed identity to access keyvault
5050
if len(config.UserAssignedIdentityID) > 0 {
51-
klog.V(2).InfoS("using User-assigned managed identity to retrieve access token", "clientID", redactClientCredentials(config.UserAssignedIdentityID))
51+
mlog.Info("using User-assigned managed identity to retrieve access token", "clientID", redactClientCredentials(config.UserAssignedIdentityID))
5252
return adal.NewServicePrincipalTokenFromMSIWithUserAssignedID(msiEndpoint,
5353
resource,
5454
config.UserAssignedIdentityID)
5555
}
56-
klog.V(2).InfoS("using system-assigned managed identity to retrieve access token")
56+
mlog.Info("using system-assigned managed identity to retrieve access token")
5757
// using system-assigned managed identity to access keyvault
5858
return adal.NewServicePrincipalTokenFromMSI(
5959
msiEndpoint,
6060
resource)
6161
}
6262

6363
if len(config.ClientSecret) > 0 && len(config.ClientID) > 0 {
64-
klog.V(2).InfoS("azure: using client_id+client_secret to retrieve access token",
64+
mlog.Info("azure: using client_id+client_secret to retrieve access token",
6565
"clientID", redactClientCredentials(config.ClientID), "clientSecret", redactClientCredentials(config.ClientSecret))
6666

6767
spt, err := adal.NewServicePrincipalToken(
@@ -79,7 +79,7 @@ func GetServicePrincipalToken(config *config.AzureConfig, aadEndpoint, resource
7979
}
8080

8181
if len(config.AADClientCertPath) > 0 && len(config.AADClientCertPassword) > 0 {
82-
klog.V(2).Info("using jwt client_assertion (client_cert+client_private_key) to retrieve access token")
82+
mlog.Info("using jwt client_assertion (client_cert+client_private_key) to retrieve access token")
8383
certData, err := os.ReadFile(config.AADClientCertPath)
8484
if err != nil {
8585
return nil, fmt.Errorf("failed to read client certificate from file %s, error: %v", config.AADClientCertPath, err)

pkg/config/azure_config.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import (
55
"os"
66

77
"gopkg.in/yaml.v3"
8-
"k8s.io/klog/v2"
8+
"monis.app/mlog"
99
)
1010

1111
// AzureConfig is representing /etc/kubernetes/azure.json.
@@ -24,7 +24,7 @@ type AzureConfig struct {
2424
func GetAzureConfig(configFile string) (config *AzureConfig, err error) {
2525
cfg := AzureConfig{}
2626

27-
klog.V(5).InfoS("populating AzureConfig from config file", "configFile", configFile)
27+
mlog.Trace("populating AzureConfig from config file", "configFile", configFile)
2828
bytes, err := os.ReadFile(configFile)
2929
if err != nil {
3030
return nil, fmt.Errorf("failed to load config file %s, error: %+v", configFile, err)

pkg/metrics/exporter.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import (
44
"fmt"
55
"strings"
66

7-
"k8s.io/klog/v2"
7+
"monis.app/mlog"
88
)
99

1010
const (
@@ -14,7 +14,7 @@ const (
1414
// InitMetricsExporter initializes new exporter.
1515
func InitMetricsExporter(metricsBackend, metricsAddress string) error {
1616
exporter := strings.ToLower(metricsBackend)
17-
klog.InfoS("metrics backend", "exporter", exporter)
17+
mlog.Always("metrics backend", "exporter", exporter)
1818

1919
switch exporter {
2020
// Prometheus is the only exporter supported for now

0 commit comments

Comments
 (0)