Skip to content

Commit 2d93c04

Browse files
committed
fix lint issues
Signed-off-by: Markus Blaschke <mblaschke82@gmail.com>
1 parent d3fe55b commit 2d93c04

File tree

6 files changed

+44
-36
lines changed

6 files changed

+44
-36
lines changed

auditor/auditor.keyvaultaccesspolicies.go

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -89,41 +89,33 @@ func (auditor *AzureAuditor) fetchKeyvaultAccessPolicies(ctx context.Context, lo
8989
}
9090

9191
func keyvaultCertificatePermissionsToStringList(val []*armkeyvault.CertificatePermissions) (list []string) {
92-
if val != nil {
93-
for _, row := range val {
94-
val := strings.ToLower(string(*row))
95-
list = append(list, val)
96-
}
92+
for _, row := range val {
93+
val := strings.ToLower(string(*row))
94+
list = append(list, val)
9795
}
9896
return
9997
}
10098

10199
func keyvaultSecretPermissionsToStringList(val []*armkeyvault.SecretPermissions) (list []string) {
102-
if val != nil {
103-
for _, row := range val {
104-
val := strings.ToLower(string(*row))
105-
list = append(list, val)
106-
}
100+
for _, row := range val {
101+
val := strings.ToLower(string(*row))
102+
list = append(list, val)
107103
}
108104
return
109105
}
110106

111107
func keyvaultKeyPermissionsToStringList(val []*armkeyvault.KeyPermissions) (list []string) {
112-
if val != nil {
113-
for _, row := range val {
114-
val := strings.ToLower(string(*row))
115-
list = append(list, val)
116-
}
108+
for _, row := range val {
109+
val := strings.ToLower(string(*row))
110+
list = append(list, val)
117111
}
118112
return
119113
}
120114

121115
func keyvaultStoragePermissionsToStringList(val []*armkeyvault.StoragePermissions) (list []string) {
122-
if val != nil {
123-
for _, row := range val {
124-
val := strings.ToLower(string(*row))
125-
list = append(list, val)
126-
}
116+
for _, row := range val {
117+
val := strings.ToLower(string(*row))
118+
list = append(list, val)
127119
}
128120
return
129121
}

auditor/auditor.loganalytics.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ func (auditor *AzureAuditor) queryLogAnalytics(ctx context.Context, logger *log.
153153
workspaceLogger.Error(err)
154154
return
155155
}
156+
defer response.Body.Close()
156157

157158
responseBody, err := io.ReadAll(response.Body)
158159
if err != nil {

auditor/config.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package auditor
22

33
import (
4-
"io/ioutil"
4+
"os"
55

66
log "github.com/sirupsen/logrus"
77
"gopkg.in/yaml.v3"
@@ -39,7 +39,7 @@ func (auditor *AzureAuditor) ParseConfig(configPaths ...string) {
3939
for _, path := range configPaths {
4040
auditor.logger.Infof("reading configuration from file %v", path)
4141
/* #nosec */
42-
if data, err := ioutil.ReadFile(path); err == nil {
42+
if data, err := os.ReadFile(path); err == nil {
4343
configRaw = data
4444
} else {
4545
auditor.logger.Panic(err)

auditor/validator/validation.rule.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func (matcher *AuditConfigValidationRule) UnmarshalYAML(unmarshal func(interface
5858
if funcCall, err := vm.Compile("", funcString); err == nil {
5959
matcher.customFunction = funcCall
6060
} else {
61-
return fmt.Errorf("unable to parse func: %v\n\n%v", err.Error(), funcString)
61+
return fmt.Errorf("unable to parse func: %w\n\n%v", err, funcString)
6262
}
6363
default:
6464
switch v := val.(type) {

config/opts.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,14 @@ type (
4747
DryRun bool `long:"dry-run" env:"DRYRUN" description:"Dry Run (report only)"`
4848

4949
// general options
50-
ServerBind string `long:"bind" env:"SERVER_BIND" description:"Server address" env-delim:":" default:":8080"`
51-
ServerPathReport string `long:"server.path.report" env:"SERVER_PATH_REPORT" description:"Server path for report" default:"/report"`
50+
Server struct {
51+
// general options
52+
Bind string `long:"server.bind" env:"SERVER_BIND" description:"Server address" default:":8080"`
53+
ReadTimeout time.Duration `long:"server.timeout.read" env:"SERVER_TIMEOUT_READ" description:"Server read timeout" default:"5s"`
54+
WriteTimeout time.Duration `long:"server.timeout.write" env:"SERVER_TIMEOUT_WRITE" description:"Server write timeout" default:"10s"`
55+
56+
PathReport string `long:"server.path.report" env:"SERVER_PATH_REPORT" description:"Server path for report" default:"/report"`
57+
}
5258
}
5359
)
5460

main.go

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package main
33
import (
44
"encoding/base64"
55
"encoding/json"
6+
"errors"
67
"fmt"
78
"html/template"
89
"net/http"
@@ -56,17 +57,18 @@ func main() {
5657
azureAuditor.ParseConfig(opts.Config...)
5758
azureAuditor.Run()
5859

59-
log.Infof("Starting http server on %s", opts.ServerBind)
60+
log.Infof("Starting http server on %s", opts.Server.Bind)
6061
startHttpServer()
6162
}
6263

6364
func initArgparser() {
6465
argparser = flags.NewParser(&opts, flags.Default)
6566
_, err := argparser.Parse()
6667

67-
// check if there is an parse error
68+
// check if there is a parse error
6869
if err != nil {
69-
if flagsErr, ok := err.(*flags.Error); ok && flagsErr.Type == flags.ErrHelp {
70+
var flagsErr *flags.Error
71+
if ok := errors.As(err, &flagsErr); ok && flagsErr.Type == flags.ErrHelp {
7072
os.Exit(0)
7173
} else {
7274
fmt.Println()
@@ -112,16 +114,17 @@ func initLogger() {
112114
// start and handle prometheus handler
113115
func startHttpServer() {
114116
var err error
117+
mux := http.NewServeMux()
115118

116119
// healthz
117-
http.HandleFunc("/healthz", func(w http.ResponseWriter, r *http.Request) {
120+
mux.HandleFunc("/healthz", func(w http.ResponseWriter, r *http.Request) {
118121
if _, err := fmt.Fprint(w, "Ok"); err != nil {
119122
log.Error(err)
120123
}
121124
})
122125

123126
// readyz
124-
http.HandleFunc("/readyz", func(w http.ResponseWriter, r *http.Request) {
127+
mux.HandleFunc("/readyz", func(w http.ResponseWriter, r *http.Request) {
125128
if _, err := fmt.Fprint(w, "Ok"); err != nil {
126129
log.Error(err)
127130
}
@@ -172,7 +175,7 @@ func startHttpServer() {
172175
log.Panic(err)
173176
}
174177

175-
http.HandleFunc(opts.ServerPathReport, func(w http.ResponseWriter, r *http.Request) {
178+
mux.HandleFunc(opts.Server.PathReport, func(w http.ResponseWriter, r *http.Request) {
176179
cspNonce := base64.StdEncoding.EncodeToString([]byte(uuid.New().String()))
177180

178181
w.Header().Add("Content-Type", "text/html")
@@ -202,7 +205,7 @@ func startHttpServer() {
202205
ReportTitle: opts.Report.Title,
203206
ReportConfig: nil,
204207
Reports: azureAuditor.GetReport(),
205-
ServerPathReport: opts.ServerPathReport,
208+
ServerPathReport: opts.Server.PathReport,
206209
RequestReport: "",
207210
}
208211

@@ -244,7 +247,7 @@ func startHttpServer() {
244247
}
245248
})
246249

247-
http.HandleFunc(opts.ServerPathReport+"/data", func(w http.ResponseWriter, r *http.Request) {
250+
mux.HandleFunc(opts.Server.PathReport+"/data", func(w http.ResponseWriter, r *http.Request) {
248251
var reportGroupBy *string
249252
var reportFields *[]string
250253
var reportStatus *bool
@@ -363,7 +366,7 @@ func startHttpServer() {
363366
})
364367

365368
// config
366-
http.HandleFunc("/config", func(w http.ResponseWriter, r *http.Request) {
369+
mux.HandleFunc("/config", func(w http.ResponseWriter, r *http.Request) {
367370
w.Header().Add("Content-Type", "text/plain")
368371

369372
content, err := yaml.Marshal(azureAuditor.GetConfig())
@@ -380,13 +383,19 @@ func startHttpServer() {
380383
}
381384
})
382385

383-
http.Handle("/metrics", http.HandlerFunc(
386+
mux.Handle("/metrics", http.HandlerFunc(
384387
func(w http.ResponseWriter, r *http.Request) {
385388
azureAuditor.MetricsLock().RLock()
386389
defer azureAuditor.MetricsLock().RUnlock()
387390
azuretracing.RegisterAzureMetricAutoClean(promhttp.Handler()).ServeHTTP(w, r)
388391
},
389392
))
390393

391-
log.Error(http.ListenAndServe(opts.ServerBind, nil))
394+
srv := &http.Server{
395+
Addr: opts.Server.Bind,
396+
Handler: mux,
397+
ReadTimeout: opts.Server.ReadTimeout,
398+
WriteTimeout: opts.Server.WriteTimeout,
399+
}
400+
log.Fatal(srv.ListenAndServe())
392401
}

0 commit comments

Comments
 (0)