From 56c0b3b11cac5e98b3e462bda2b8a6585f39c27b Mon Sep 17 00:00:00 2001
From: Neil-Jocelyn Schark <neil.schark@h-da.de>
Date: Sat, 12 Apr 2025 14:31:05 +0000
Subject: [PATCH] Resolve "Define better linting rules"

---
 .golangci.yaml                                | 29 +++++++++++++++++--
 ctrl/cmd/main.go                              |  2 +-
 .../infrastructure/interaction/health.go      |  2 +-
 justfile                                      |  8 +++++
 kms/cmd/main.go                               |  2 +-
 .../infrastructure/interaction/health.go      |  2 +-
 libs/tracing/tracing.go                       |  1 -
 7 files changed, 39 insertions(+), 7 deletions(-)

diff --git a/.golangci.yaml b/.golangci.yaml
index 43c27a6..2ea353e 100644
--- a/.golangci.yaml
+++ b/.golangci.yaml
@@ -1,7 +1,32 @@
 version: "2"
 
 linters:
-    default: standard
+    enable:
+        # Default linters
+        - errcheck
+        - ineffassign
+        - staticcheck
+        - unused
+        # Manually added linters
+        - gocyclo
+        - godot
+        - gosec
+        - loggercheck
+        - misspell
+        - nestif
+        - paralleltest
+        - protogetter
+        - testifylint 
+        - whitespace
+        - durationcheck
+        - bodyclose
+        - reassign
+        - lll
+        - spancheck
+        - nlreturn
+        - tparallel
+        - sqlclosecheck
+        #- exhaustruct # Does not work with gRPC, as it wants us to implement 'UnimplementedHealthCtrlServer', which is obviously not intended to be implemented. Would otherwise be useful.
 
 formatters:
     # Enable specific formatter.
@@ -22,7 +47,7 @@ issues:
     # Set to 0 to disable.
     # Default: 3
     max-same-issues: 0
-    fix: true
+    fix: false
 
 run:
     timeout: 5m
diff --git a/ctrl/cmd/main.go b/ctrl/cmd/main.go
index 0aca5d8..e233b26 100644
--- a/ctrl/cmd/main.go
+++ b/ctrl/cmd/main.go
@@ -31,7 +31,7 @@ func main() {
 		&bindAddr,
 		"bindaddr",
 		"127.0.0.1:1337",
-		"default adress and port to bind the controller interface to",
+		"default address and port to bind the controller interface to",
 	)
 
 	flag.Parse()
diff --git a/ctrl/internal/infrastructure/interaction/health.go b/ctrl/internal/infrastructure/interaction/health.go
index 659d613..1d29c2d 100644
--- a/ctrl/internal/infrastructure/interaction/health.go
+++ b/ctrl/internal/infrastructure/interaction/health.go
@@ -34,6 +34,6 @@ func (h *HealthServer) Health(
 	defer span.End()
 
 	return &pb.HealthResponse{
-		Message: request.Message,
+		Message: request.GetMessage(),
 	}, nil
 }
diff --git a/justfile b/justfile
index 71aa58e..87f44d9 100644
--- a/justfile
+++ b/justfile
@@ -18,6 +18,14 @@ lint:
     -v ~/.cache/golangci-lint:/.cache/golangci-lint -e GOLANGCI_LINT_CACHE=/.cache/golangci-lint \
     golangci/golangci-lint:{{ golangci-lint-version }} golangci-lint run
 
+lint-fix:
+    docker run --rm -t -v $(pwd):/app -w /app \
+    --user $(id -u):$(id -g) \
+    -v $(go env GOCACHE):/.cache/go-build -e GOCACHE=/.cache/go-build \
+    -v $(go env GOMODCACHE):/.cache/mod -e GOMODCACHE=/.cache/mod \
+    -v ~/.cache/golangci-lint:/.cache/golangci-lint -e GOLANGCI_LINT_CACHE=/.cache/golangci-lint \
+    golangci/golangci-lint:{{ golangci-lint-version }} golangci-lint run --fix
+
 ci-lint:
     mkdir -p {{ tools-install-path }}
     export GOBIN={{ tools-install-path }}
diff --git a/kms/cmd/main.go b/kms/cmd/main.go
index 37392a4..2edbf11 100644
--- a/kms/cmd/main.go
+++ b/kms/cmd/main.go
@@ -32,7 +32,7 @@ func main() {
 		&bindAddr,
 		"bindaddr",
 		"127.0.0.1:1337",
-		"default adress and port to bind the controller interface to",
+		"default address and port to bind the controller interface to",
 	)
 	flag.StringVar(
 		&ctrlAddr,
diff --git a/kms/internal/infrastructure/interaction/health.go b/kms/internal/infrastructure/interaction/health.go
index d97bbe7..6e94c86 100644
--- a/kms/internal/infrastructure/interaction/health.go
+++ b/kms/internal/infrastructure/interaction/health.go
@@ -25,7 +25,7 @@ func (h *HealthServer) Health(
 	defer span.End()
 
 	return &pb.HealthKmsResponse{
-		Message: request.Message,
+		Message: request.GetMessage(),
 	}, nil
 }
 
diff --git a/libs/tracing/tracing.go b/libs/tracing/tracing.go
index 87c4932..67e5a9c 100644
--- a/libs/tracing/tracing.go
+++ b/libs/tracing/tracing.go
@@ -38,7 +38,6 @@ func GetTracer(ctx context.Context, target TraceExportTarget) (*sdktrace.TracerP
 		if err != nil {
 			return nil, fmt.Errorf("failed to create trace exporter: %w", err)
 		}
-
 	}
 
 	tp := sdktrace.NewTracerProvider(
-- 
GitLab