Skip to content

Commit ffa2c5e

Browse files
authored
update mods, switch to slog (#21)
* update mods, switch to slog * update go version/tests
1 parent 5f9f245 commit ffa2c5e

File tree

8 files changed

+173
-299
lines changed

8 files changed

+173
-299
lines changed

.github/workflows/go.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ jobs:
77
runs-on: ubuntu-latest
88
steps:
99

10-
- name: Set up Go 1.21
10+
- name: Set up Go 1.23
1111
uses: actions/setup-go@v1
1212
with:
13-
go-version: 1.21
13+
go-version: 1.23
1414
id: go
1515

1616
- name: Check out code into the Go module directory

.github/workflows/golangci-lint.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ jobs:
2020
- uses: actions/checkout@v3
2121
- uses: actions/setup-go@v4
2222
with:
23-
go-version: '1.21'
23+
go-version: '1.23'
2424
cache: false
2525
- name: golangci-lint
2626
uses: golangci/golangci-lint-action@v3
2727
with:
2828
# Require: The version of golangci-lint to use.
2929
# When `install-mode` is `binary` (default) the value can be v1.2 or v1.2.3 or `latest` to use the latest version.
3030
# When `install-mode` is `goinstall` the value can be v1.2.3, `latest`, or the hash of a commit.
31-
version: v1.54
31+
version: v1.60.1
3232

3333
# Optional: working directory, useful for monorepos
3434
# working-directory: somedir

cmd/kubelet-summary-exporter/main.go

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ package main
88

99
import (
1010
"context"
11+
"log/slog"
1112
"net"
1213
"net/http"
1314
"os"
@@ -20,9 +21,6 @@ import (
2021
"github.com/prometheus/client_golang/prometheus/promhttp"
2122
"github.com/salesforce/kubelet-summary-exporter/pkg/scraper"
2223
"github.com/salesforce/kubelet-summary-exporter/pkg/utils"
23-
24-
"go.uber.org/zap"
25-
"go.uber.org/zap/zapcore"
2624
)
2725

2826
type CLI struct {
@@ -40,48 +38,44 @@ func main() {
4038
_ = kong.Parse(cli)
4139
ctx := context.Background()
4240

43-
zapConfig := zap.NewProductionConfig()
44-
zapConfig.EncoderConfig.TimeKey = zapcore.OmitKey
45-
zapConfig.EncoderConfig.MessageKey = "message"
41+
logger := slog.Default().With(slog.String("app", "kubelet-stats-exporter"))
4642

47-
logger, err := zapConfig.Build()
48-
if err != nil {
49-
panic(err)
50-
}
51-
logger = logger.With(zap.String("app", "kubelet-stats-exporter"))
52-
53-
if err := utils.ConfigureTLS(logger, cli.CA, cli.Insecure, cli.NodeHost); err != nil {
54-
logger.Fatal("unable to configure tls", zap.Error(err))
43+
if err := utils.ConfigureTLS(cli.CA, cli.Insecure, cli.NodeHost); err != nil {
44+
logger.Error("unable to configure tls", slog.Any("error", err))
45+
os.Exit(1)
5546
}
5647

5748
if _, err := os.Stat(cli.TokenPath); os.IsNotExist(err) {
58-
logger.Error("token not found", zap.String("file", cli.TokenPath), zap.Error(err))
49+
logger.Error("token not found", slog.String("file", cli.TokenPath), slog.Any("error", err))
5950
}
6051
serverAddr := cli.NodeHost
6152
if cli.LookUpHostname {
6253
//Handle downward API using a node name that isn't identical to the node's Hostname
6354
name, err := utils.ServerAddrFromCluster(cli.NodeHost)
6455
if err != nil {
65-
logger.Fatal("failed to retrieve in node hostname", zap.Error(err))
56+
logger.Error("failed to retrieve in node hostname", slog.Any("error", err))
57+
os.Exit(1)
6658
} else {
6759
serverAddr = name
68-
logger.Info("using updated serverAddr for certificate validation", zap.String("hostname", serverAddr), zap.String("original", cli.NodeHost))
60+
logger.Info("using updated serverAddr for certificate validation", slog.String("hostname", serverAddr), slog.String("original", cli.NodeHost))
6961
}
7062
}
7163
scraper := scraper.NewScraper(logger, serverAddr, cli.TokenPath, cli.Timeout)
7264

7365
promRegistry := prometheus.NewRegistry()
74-
err = promRegistry.Register(scraper)
66+
err := promRegistry.Register(scraper)
7567
if err != nil {
76-
logger.Fatal("failed to register storage metric")
68+
logger.Error("failed to register storage metric")
69+
os.Exit(1)
7770
}
7871

7972
promLis, err := net.Listen("tcp", cli.PromListen)
8073
if err != nil {
81-
logger.Fatal("failed to open prometheus listener",
82-
zap.String("prometheus-listen", cli.PromListen),
83-
zap.Error(err),
74+
logger.Error("failed to open prometheus listener",
75+
slog.String("prometheus-listen", cli.PromListen),
76+
slog.Any("error", err),
8477
)
78+
os.Exit(1)
8579
}
8680

8781
promMux := http.NewServeMux()
@@ -105,11 +99,11 @@ func main() {
10599
if err := g.Run(); err != nil {
106100
if serr, ok := err.(run.SignalError); ok {
107101
logger.Info("caught signal",
108-
zap.String("signal", serr.Signal.String()),
102+
slog.String("signal", serr.Signal.String()),
109103
)
110104
} else {
111105
logger.Error("actor failed",
112-
zap.Error(err),
106+
slog.Any("error", err),
113107
)
114108

115109
os.Exit(1)

go.mod

Lines changed: 35 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,57 @@
11
module github.com/salesforce/kubelet-summary-exporter
22

3-
go 1.21
3+
go 1.23.0
44

55
require (
6-
github.com/alecthomas/kong v0.7.1
7-
github.com/google/go-cmp v0.5.9
6+
github.com/alecthomas/kong v0.9.0
7+
github.com/google/go-cmp v0.6.0
88
github.com/oklog/run v1.1.0
9-
github.com/prometheus/client_golang v1.14.0
10-
go.uber.org/zap v1.24.0
11-
k8s.io/api v0.26.2
12-
k8s.io/apimachinery v0.26.2
13-
k8s.io/client-go v0.26.2
9+
github.com/prometheus/client_golang v1.20.1
10+
k8s.io/api v0.31.0
11+
k8s.io/apimachinery v0.31.0
12+
k8s.io/client-go v0.31.0
1413
)
1514

1615
require (
1716
github.com/beorn7/perks v1.0.1 // indirect
18-
github.com/cespare/xxhash/v2 v2.2.0 // indirect
19-
github.com/davecgh/go-spew v1.1.1 // indirect
20-
github.com/emicklei/go-restful/v3 v3.10.1 // indirect
21-
github.com/go-logr/logr v1.2.3 // indirect
22-
github.com/go-openapi/jsonpointer v0.19.6 // indirect
23-
github.com/go-openapi/jsonreference v0.20.2 // indirect
24-
github.com/go-openapi/swag v0.22.3 // indirect
17+
github.com/cespare/xxhash/v2 v2.3.0 // indirect
18+
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
19+
github.com/emicklei/go-restful/v3 v3.12.1 // indirect
20+
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
21+
github.com/go-logr/logr v1.4.2 // indirect
22+
github.com/go-openapi/jsonpointer v0.21.0 // indirect
23+
github.com/go-openapi/jsonreference v0.21.0 // indirect
24+
github.com/go-openapi/swag v0.23.0 // indirect
2525
github.com/gogo/protobuf v1.3.2 // indirect
26-
github.com/golang/protobuf v1.5.2 // indirect
27-
github.com/google/gnostic v0.6.9 // indirect
26+
github.com/golang/protobuf v1.5.4 // indirect
27+
github.com/google/gnostic-models v0.6.9-0.20230804172637-c7be7c783f49 // indirect
2828
github.com/google/gofuzz v1.2.0 // indirect
29+
github.com/google/uuid v1.6.0 // indirect
2930
github.com/josharian/intern v1.0.0 // indirect
3031
github.com/json-iterator/go v1.1.12 // indirect
32+
github.com/klauspost/compress v1.17.9 // indirect
3133
github.com/mailru/easyjson v0.7.7 // indirect
32-
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
3334
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
3435
github.com/modern-go/reflect2 v1.0.2 // indirect
3536
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
36-
github.com/prometheus/client_model v0.3.0 // indirect
37-
github.com/prometheus/common v0.41.0 // indirect
38-
github.com/prometheus/procfs v0.9.0 // indirect
39-
go.uber.org/atomic v1.10.0 // indirect
40-
go.uber.org/multierr v1.9.0 // indirect
41-
golang.org/x/net v0.23.0 // indirect
42-
golang.org/x/oauth2 v0.6.0 // indirect
43-
golang.org/x/sys v0.18.0 // indirect
44-
golang.org/x/term v0.18.0 // indirect
45-
golang.org/x/text v0.14.0 // indirect
46-
golang.org/x/time v0.3.0 // indirect
47-
google.golang.org/appengine v1.6.7 // indirect
48-
google.golang.org/protobuf v1.33.0 // indirect
37+
github.com/prometheus/client_model v0.6.1 // indirect
38+
github.com/prometheus/common v0.55.0 // indirect
39+
github.com/prometheus/procfs v0.15.1 // indirect
40+
github.com/x448/float16 v0.8.4 // indirect
41+
golang.org/x/net v0.28.0 // indirect
42+
golang.org/x/oauth2 v0.22.0 // indirect
43+
golang.org/x/sys v0.24.0 // indirect
44+
golang.org/x/term v0.23.0 // indirect
45+
golang.org/x/text v0.17.0 // indirect
46+
golang.org/x/time v0.6.0 // indirect
47+
google.golang.org/protobuf v1.34.2 // indirect
4948
gopkg.in/inf.v0 v0.9.1 // indirect
5049
gopkg.in/yaml.v2 v2.4.0 // indirect
5150
gopkg.in/yaml.v3 v3.0.1 // indirect
52-
k8s.io/klog/v2 v2.90.1 // indirect
53-
k8s.io/kube-openapi v0.0.0-20230303024457-afdc3dddf62d // indirect
54-
k8s.io/utils v0.0.0-20230220204549-a5ecb0141aa5 // indirect
51+
k8s.io/klog/v2 v2.130.1 // indirect
52+
k8s.io/kube-openapi v0.0.0-20240816214639-573285566f34 // indirect
53+
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect
5554
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
56-
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
57-
sigs.k8s.io/yaml v1.3.0 // indirect
55+
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
56+
sigs.k8s.io/yaml v1.4.0 // indirect
5857
)

0 commit comments

Comments
 (0)