From 518265d42c70b074d5b5623c67f9dc74a8771d73 Mon Sep 17 00:00:00 2001
From: Lyuben Penkovski <lyuben.penkovski@vereign.com>
Date: Mon, 12 Sep 2022 18:29:00 +0300
Subject: [PATCH] Update Go version to 1.19 and linters to v1.49.0

---
 .gitlab-ci.yml                |  6 ++++--
 .golangci.yml                 |  4 +---
 cmd/policy/main.go            | 13 +++++++------
 deployment/ci/Dockerfile      |  2 +-
 deployment/compose/Dockerfile |  2 +-
 5 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 74485af1..882d9f82 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -16,7 +16,7 @@ include:
   - template: 'Workflows/Branch-Pipelines.gitlab-ci.yml'
 
 lint:
-  image: golangci/golangci-lint:v1.44.2
+  image: golangci/golangci-lint:v1.49.0
   stage: test
   tags:
     - amd64-docker
@@ -28,7 +28,7 @@ lint:
     - cd /go/src/code.vereign.com/${CI_PROJECT_PATH}
 
 unit tests:
-  image: golang:1.17.7
+  image: golang:1.19
   extends: .gotest
   stage: test
   tags:
@@ -38,6 +38,8 @@ unit tests:
 govulncheck:
   image: golang:1.19
   stage: test
+  tags:
+    - amd64-docker
   before_script:
     - ln -s /builds /go/src/code.vereign.com
     - cd /go/src/code.vereign.com/${CI_PROJECT_PATH}
diff --git a/.golangci.yml b/.golangci.yml
index e6ba71d0..a31b66b2 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -12,7 +12,6 @@ linters:
   enable:
     - megacheck
     - govet
-    - deadcode
     - errcheck
     - goconst
     - gocyclo
@@ -22,10 +21,9 @@ linters:
     - ineffassign
     - nakedret
     - staticcheck
-    - structcheck
     - unconvert
-    - varcheck
     - vet
     - vetshadow
     - misspell
     - staticcheck
+    - unused
diff --git a/cmd/policy/main.go b/cmd/policy/main.go
index 9791cdc8..728a29b1 100644
--- a/cmd/policy/main.go
+++ b/cmd/policy/main.go
@@ -166,11 +166,12 @@ func main() {
 
 	var handler http.Handler = mux
 	srv := &http.Server{
-		Addr:         cfg.HTTP.Host + ":" + cfg.HTTP.Port,
-		Handler:      handler,
-		IdleTimeout:  cfg.HTTP.IdleTimeout,
-		ReadTimeout:  cfg.HTTP.ReadTimeout,
-		WriteTimeout: cfg.HTTP.WriteTimeout,
+		Addr:              cfg.HTTP.Host + ":" + cfg.HTTP.Port,
+		Handler:           handler,
+		ReadHeaderTimeout: cfg.HTTP.ReadTimeout,
+		IdleTimeout:       cfg.HTTP.IdleTimeout,
+		ReadTimeout:       cfg.HTTP.ReadTimeout,
+		WriteTimeout:      cfg.HTTP.WriteTimeout,
 	}
 
 	g, ctx := errgroup.WithContext(context.Background())
@@ -236,7 +237,7 @@ func exposeMetrics(addr string, logger *zap.Logger) {
 	promMux := http.NewServeMux()
 	promMux.Handle("/metrics", promhttp.Handler())
 	logger.Info(fmt.Sprintf("exposing prometheus metrics at %s/metrics", addr))
-	if err := http.ListenAndServe(addr, promMux); err != nil {
+	if err := http.ListenAndServe(addr, promMux); err != nil { //nolint:gosec
 		logger.Error("error exposing prometheus metrics", zap.Error(err))
 	}
 }
diff --git a/deployment/ci/Dockerfile b/deployment/ci/Dockerfile
index b888a483..dd4d3208 100644
--- a/deployment/ci/Dockerfile
+++ b/deployment/ci/Dockerfile
@@ -1,4 +1,4 @@
-FROM golang:1.17.8-alpine3.15 as builder
+FROM golang:1.19-alpine3.15 as builder
 
 ENV GOPRIVATE=code.vereign.com
 
diff --git a/deployment/compose/Dockerfile b/deployment/compose/Dockerfile
index 55a8946a..ebb02b1d 100644
--- a/deployment/compose/Dockerfile
+++ b/deployment/compose/Dockerfile
@@ -1,4 +1,4 @@
-FROM golang:1.17.8
+FROM golang:1.19
 
 ENV GO111MODULE=on
 ENV GOPRIVATE=code.vereign.com
-- 
GitLab