Skip to content

Commit 1f31552

Browse files
authored
refactor: migrate logging from logrus to log/slog (#35)
1 parent c72655e commit 1f31552

File tree

15 files changed

+212
-213
lines changed

15 files changed

+212
-213
lines changed

.envrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,6 @@ has nix && use flake
22
watch_file *.nix
33
dotenv_if_exists .env # You can create a .env file with your env vars for this project. You can also use .secrets if you are using act. See the line below.
44
dotenv_if_exists .secrets # Used by [act](https://nektosact.com/) to load secrets into the pipelines
5+
6+
strict_env
7+
env_vars_required SECURE_URL SECURE_API_TOKEN

.github/workflows/ci-e2e.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ jobs:
9595
--set image.pullPolicy=Never \
9696
--set sysdig.secure.apiToken="$SECURE_API_TOKEN" \
9797
--set sysdig.secure.url="$SECURE_URL" \
98-
--set cliScanning.image="quay.io/sysdig/sysdig-cli-scanner:1.22.6"
98+
--set cliScanning.image="quay.io/sysdig/sysdig-cli-scanner:1.25.1"
9999
100100
- name: Wait for Harbor to be ready
101101
run: |

cmd/harbor-scanner-sysdig-secure/main.go

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,9 @@ import (
44
"context"
55
"errors"
66
"fmt"
7+
"log/slog"
78
"os"
89

9-
log "github.com/sirupsen/logrus"
10-
1110
"k8s.io/client-go/kubernetes"
1211
"k8s.io/client-go/rest"
1312

@@ -21,30 +20,33 @@ import (
2120
)
2221

2322
func main() {
24-
if err := configure(); err != nil {
25-
fmt.Printf("%s \n\n", err)
23+
slog.SetDefault(slog.New(slog.NewTextHandler(os.Stdout, nil)))
2624

25+
if err := configure(); err != nil {
26+
slog.Error("configuration error", "error", err)
27+
fmt.Println()
2728
pflag.Usage()
2829
os.Exit(1)
2930
}
3031

3132
ctx, cancel := context.WithCancel(context.Background())
3233
defer cancel()
3334

34-
log.SetOutput(os.Stdout)
35-
log.SetLevel(log.TraceLevel)
36-
log.Info("Starting harbor-scanner-sysdig-secure")
35+
slog.Info("starting harbor-scanner-sysdig-secure")
3736

3837
adapter := getAdapter()
3938
if viper.GetBool("async_mode") {
40-
log.Info("Async-Mode enabled")
41-
adapter = scanner.NewAsyncAdapter(ctx, adapter, log.StandardLogger(), scanner.DefaultAsyncAdapterRefreshRate)
39+
slog.Info("async mode enabled")
40+
adapter = scanner.NewAsyncAdapter(ctx, adapter, scanner.DefaultAsyncAdapterRefreshRate)
4241
}
4342

44-
apiHandler := v1.NewAPIHandler(adapter, log.StandardLogger())
43+
apiHandler := v1.NewAPIHandler(adapter)
4544
apiServer := api.NewServer(apiHandler)
4645

47-
log.Fatal(apiServer.ListenAndServe())
46+
if err := apiServer.ListenAndServe(); err != nil {
47+
slog.Error("server error", "error", err)
48+
os.Exit(1)
49+
}
4850
}
4951

5052
func configure() error {
@@ -79,15 +81,17 @@ func getAdapter() scanner.Adapter {
7981
client := secure.NewClient(viper.GetString("secure_api_token"), viper.GetString("secure_url"), viper.GetBool("verify_ssl"))
8082

8183
if viper.GetBool("cli_scanning") {
82-
log.Info("Using cli-scanner adapter")
84+
slog.Info("using cli-scanner adapter")
8385
config, err := rest.InClusterConfig()
8486
if err != nil {
85-
log.Fatal(err)
87+
slog.Error("failed to get in-cluster config", "error", err)
88+
os.Exit(1)
8689
}
8790

8891
clientset, err := kubernetes.NewForConfig(config)
8992
if err != nil {
90-
log.Fatal(err)
93+
slog.Error("failed to create kubernetes client", "error", err)
94+
os.Exit(1)
9195
}
9296

9397
return scanner.NewInlineAdapter(
@@ -97,10 +101,10 @@ func getAdapter() scanner.Adapter {
97101
viper.GetString("namespace_name"),
98102
viper.GetString("secret_name"),
99103
viper.GetString("cli_scanning_extra_params"),
100-
viper.GetBool("verify_ssl"),
101-
log.StandardLogger())
104+
viper.GetBool("verify_ssl"))
102105
}
103106

104-
log.Fatal("Please specify the cli-scanner (--cli_scanning) command line parameter, backend scanning no longer supported")
107+
slog.Error("please specify the cli-scanner (--cli_scanning) command line parameter, backend scanning no longer supported")
108+
os.Exit(1)
105109
return nil
106110
}

flake.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

go.mod

Lines changed: 30 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,13 @@ require (
66
github.com/golang/mock v1.6.0
77
github.com/gorilla/handlers v1.5.2
88
github.com/gorilla/mux v1.8.1
9-
github.com/onsi/ginkgo/v2 v2.27.5
10-
github.com/onsi/gomega v1.39.0
11-
github.com/sirupsen/logrus v1.9.3
9+
github.com/onsi/ginkgo/v2 v2.28.1
10+
github.com/onsi/gomega v1.39.1
1211
github.com/spf13/pflag v1.0.10
1312
github.com/spf13/viper v1.21.0
14-
k8s.io/api v0.35.0
15-
k8s.io/apimachinery v0.35.0
16-
k8s.io/client-go v0.35.0
13+
k8s.io/api v0.35.2
14+
k8s.io/apimachinery v0.35.2
15+
k8s.io/client-go v0.35.2
1716
)
1817

1918
require (
@@ -24,25 +23,25 @@ require (
2423
github.com/fsnotify/fsnotify v1.9.0 // indirect
2524
github.com/fxamacker/cbor/v2 v2.9.0 // indirect
2625
github.com/go-logr/logr v1.4.3 // indirect
27-
github.com/go-openapi/jsonpointer v0.22.4 // indirect
28-
github.com/go-openapi/jsonreference v0.21.4 // indirect
29-
github.com/go-openapi/swag v0.25.4 // indirect
30-
github.com/go-openapi/swag/cmdutils v0.25.4 // indirect
31-
github.com/go-openapi/swag/conv v0.25.4 // indirect
32-
github.com/go-openapi/swag/fileutils v0.25.4 // indirect
33-
github.com/go-openapi/swag/jsonname v0.25.4 // indirect
34-
github.com/go-openapi/swag/jsonutils v0.25.4 // indirect
35-
github.com/go-openapi/swag/loading v0.25.4 // indirect
36-
github.com/go-openapi/swag/mangling v0.25.4 // indirect
37-
github.com/go-openapi/swag/netutils v0.25.4 // indirect
38-
github.com/go-openapi/swag/stringutils v0.25.4 // indirect
39-
github.com/go-openapi/swag/typeutils v0.25.4 // indirect
40-
github.com/go-openapi/swag/yamlutils v0.25.4 // indirect
26+
github.com/go-openapi/jsonpointer v0.22.5 // indirect
27+
github.com/go-openapi/jsonreference v0.21.5 // indirect
28+
github.com/go-openapi/swag v0.25.5 // indirect
29+
github.com/go-openapi/swag/cmdutils v0.25.5 // indirect
30+
github.com/go-openapi/swag/conv v0.25.5 // indirect
31+
github.com/go-openapi/swag/fileutils v0.25.5 // indirect
32+
github.com/go-openapi/swag/jsonname v0.25.5 // indirect
33+
github.com/go-openapi/swag/jsonutils v0.25.5 // indirect
34+
github.com/go-openapi/swag/loading v0.25.5 // indirect
35+
github.com/go-openapi/swag/mangling v0.25.5 // indirect
36+
github.com/go-openapi/swag/netutils v0.25.5 // indirect
37+
github.com/go-openapi/swag/stringutils v0.25.5 // indirect
38+
github.com/go-openapi/swag/typeutils v0.25.5 // indirect
39+
github.com/go-openapi/swag/yamlutils v0.25.5 // indirect
4140
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
4241
github.com/go-viper/mapstructure/v2 v2.5.0 // indirect
4342
github.com/google/gnostic-models v0.7.1 // indirect
4443
github.com/google/go-cmp v0.7.0 // indirect
45-
github.com/google/pprof v0.0.0-20260111202518-71be6bfdd440 // indirect
44+
github.com/google/pprof v0.0.0-20260302011040-a15ffb7f9dcc // indirect
4645
github.com/google/uuid v1.6.0 // indirect
4746
github.com/json-iterator/go v1.1.12 // indirect
4847
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
@@ -56,23 +55,23 @@ require (
5655
github.com/x448/float16 v0.8.4 // indirect
5756
go.yaml.in/yaml/v2 v2.4.3 // indirect
5857
go.yaml.in/yaml/v3 v3.0.4 // indirect
59-
golang.org/x/mod v0.32.0 // indirect
60-
golang.org/x/net v0.49.0 // indirect
61-
golang.org/x/oauth2 v0.34.0 // indirect
58+
golang.org/x/mod v0.33.0 // indirect
59+
golang.org/x/net v0.51.0 // indirect
60+
golang.org/x/oauth2 v0.35.0 // indirect
6261
golang.org/x/sync v0.19.0 // indirect
63-
golang.org/x/sys v0.40.0 // indirect
64-
golang.org/x/term v0.39.0 // indirect
65-
golang.org/x/text v0.33.0 // indirect
62+
golang.org/x/sys v0.41.0 // indirect
63+
golang.org/x/term v0.40.0 // indirect
64+
golang.org/x/text v0.34.0 // indirect
6665
golang.org/x/time v0.14.0 // indirect
67-
golang.org/x/tools v0.41.0 // indirect
66+
golang.org/x/tools v0.42.0 // indirect
6867
google.golang.org/protobuf v1.36.11 // indirect
6968
gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect
7069
gopkg.in/inf.v0 v0.9.1 // indirect
7170
k8s.io/klog/v2 v2.130.1 // indirect
72-
k8s.io/kube-openapi v0.0.0-20251125145642-4e65d59e963e // indirect
73-
k8s.io/utils v0.0.0-20260108192941-914a6e750570 // indirect
71+
k8s.io/kube-openapi v0.0.0-20260127142750-a19766b6e2d4 // indirect
72+
k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 // indirect
7473
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect
7574
sigs.k8s.io/randfill v1.0.0 // indirect
76-
sigs.k8s.io/structured-merge-diff/v6 v6.3.1 // indirect
75+
sigs.k8s.io/structured-merge-diff/v6 v6.3.2 // indirect
7776
sigs.k8s.io/yaml v1.6.0 // indirect
7877
)

0 commit comments

Comments
 (0)