Update linter

This commit is contained in:
Tom Moulard 2022-07-19 18:38:09 +02:00 committed by GitHub
parent b361608693
commit 7751fb24eb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 63 additions and 51 deletions

View file

@ -7,7 +7,7 @@ on:
env: env:
GO_VERSION: 1.17 GO_VERSION: 1.17
GOLANGCI_LINT_VERSION: v1.46.2 GOLANGCI_LINT_VERSION: v1.47.1
MISSSPELL_VERSION: v0.3.4 MISSSPELL_VERSION: v0.3.4
IN_DOCKER: "" IN_DOCKER: ""

View file

@ -179,7 +179,7 @@
] ]
[[issues.exclude-rules]] [[issues.exclude-rules]]
path = "(.+)_test.go" path = "(.+)_test.go"
linters = ["goconst", "funlen", "godot"] linters = ["goconst", "funlen", "godot", "nosnakecase"]
[[issues.exclude-rules]] [[issues.exclude-rules]]
path = "integration/.+_test.go" path = "integration/.+_test.go"
text = "Error return value of `cmd\\.Process\\.Kill` is not checked" text = "Error return value of `cmd\\.Process\\.Kill` is not checked"
@ -222,3 +222,15 @@
[[issues.exclude-rules]] [[issues.exclude-rules]]
path = "pkg/server/router/tcp/manager.go" path = "pkg/server/router/tcp/manager.go"
text = "Function 'buildEntryPointHandler' is too long (.+)" text = "Function 'buildEntryPointHandler' is too long (.+)"
[[issues.exclude-rules]]
path = "integration/fake_dns_server.go"
linters = ["nosnakecase"]
[[issues.exclude-rules]]
path = "pkg/plugins/providers.go"
linters = ["nosnakecase"]
[[issues.exclude-rules]]
path = "pkg/tls/cipher.go"
linters = ["nosnakecase"]
[[issues.exclude-rules]]
text = "O_WRONLY|O_RDWR|O_CREATE|O_TRUNC|O_APPEND"
linters = ["nosnakecase"]

View file

@ -13,7 +13,7 @@ RUN mkdir -p /usr/local/bin \
| tar -xzC /usr/local/bin --transform 's#^.+/##x' | tar -xzC /usr/local/bin --transform 's#^.+/##x'
# Download golangci-lint binary to bin folder in $GOPATH # Download golangci-lint binary to bin folder in $GOPATH
RUN curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | bash -s -- -b $GOPATH/bin v1.46.2 RUN curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | bash -s -- -b $GOPATH/bin v1.47.1
# Download misspell binary to bin folder in $GOPATH # Download misspell binary to bin folder in $GOPATH
RUN curl -sfL https://raw.githubusercontent.com/client9/misspell/master/install-misspell.sh | bash -s -- -b $GOPATH/bin v0.3.4 RUN curl -sfL https://raw.githubusercontent.com/client9/misspell/master/install-misspell.sh | bash -s -- -b $GOPATH/bin v0.3.4

View file

@ -1904,8 +1904,8 @@ spec:
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: 'TraefikService is the CRD implementation of a Traefik Service. description: 'TraefikService is the CRD implementation of a Traefik Service.
TraefikService object allows to: - Apply weight to Services on load-balancing - TraefikService object allows to: - Apply weight to Services on load-balancing
Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.8/routing/providers/kubernetes-crd/#kind-traefikservice' - Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.8/routing/providers/kubernetes-crd/#kind-traefikservice'
properties: properties:
apiVersion: apiVersion:
description: 'APIVersion defines the versioned schema of this representation description: 'APIVersion defines the versioned schema of this representation

View file

@ -20,8 +20,8 @@ spec:
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: 'TraefikService is the CRD implementation of a Traefik Service. description: 'TraefikService is the CRD implementation of a Traefik Service.
TraefikService object allows to: - Apply weight to Services on load-balancing - TraefikService object allows to: - Apply weight to Services on load-balancing
Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.8/routing/providers/kubernetes-crd/#kind-traefikservice' - Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.8/routing/providers/kubernetes-crd/#kind-traefikservice'
properties: properties:
apiVersion: apiVersion:
description: 'APIVersion defines the versioned schema of this representation description: 'APIVersion defines the versioned schema of this representation

BIN
golangci-lint Executable file

Binary file not shown.

View file

@ -1904,8 +1904,8 @@ spec:
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: 'TraefikService is the CRD implementation of a Traefik Service. description: 'TraefikService is the CRD implementation of a Traefik Service.
TraefikService object allows to: - Apply weight to Services on load-balancing - TraefikService object allows to: - Apply weight to Services on load-balancing
Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.8/routing/providers/kubernetes-crd/#kind-traefikservice' - Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.8/routing/providers/kubernetes-crd/#kind-traefikservice'
properties: properties:
apiVersion: apiVersion:
description: 'APIVersion defines the versioned schema of this representation description: 'APIVersion defines the versioned schema of this representation

View file

@ -339,12 +339,12 @@ type tailscaleNotSuite struct{ BaseSuite }
// Add this section to your tailscale ACLs to auto-approve the routes for the // Add this section to your tailscale ACLs to auto-approve the routes for the
// containers in the docker subnet: // containers in the docker subnet:
// //
// "autoApprovers": { // "autoApprovers": {
// // Allow myself to automatically advertize routes for docker networks // // Allow myself to automatically advertize routes for docker networks
// "routes": { // "routes": {
// "172.0.0.0/8": ["your_tailscale_identity"], // "172.0.0.0/8": ["your_tailscale_identity"],
// }, // },
// }, // },
// //
// TODO(mpl): we could maybe even move this setup to the Makefile, to start it // TODO(mpl): we could maybe even move this setup to the Makefile, to start it
// and let it run (forever, or until voluntarily stopped). // and let it run (forever, or until voluntarily stopped).

View file

@ -53,7 +53,7 @@ func RegisterDatadog(ctx context.Context, config *types.Datadog) Registry {
} }
datadogClient = dogstatsd.New(config.Prefix+".", kitlog.LoggerFunc(func(keyvals ...interface{}) error { datadogClient = dogstatsd.New(config.Prefix+".", kitlog.LoggerFunc(func(keyvals ...interface{}) error {
log.WithoutContext().WithField(log.MetricsProviderName, "datadog").Info(keyvals) log.WithoutContext().WithField(log.MetricsProviderName, "datadog").Info(keyvals...)
return nil return nil
})) }))

View file

@ -136,7 +136,7 @@ func initInfluxDBClient(ctx context.Context, config *types.InfluxDB) *influx.Inf
RetentionPolicy: config.RetentionPolicy, RetentionPolicy: config.RetentionPolicy,
}, },
kitlog.LoggerFunc(func(keyvals ...interface{}) error { kitlog.LoggerFunc(func(keyvals ...interface{}) error {
log.WithoutContext().WithField(log.MetricsProviderName, "influxdb").Info(keyvals) log.WithoutContext().WithField(log.MetricsProviderName, "influxdb").Info(keyvals...)
return nil return nil
})) }))
} }

View file

@ -38,7 +38,7 @@ func RegisterInfluxDB2(ctx context.Context, config *types.InfluxDB2) Registry {
config.AdditionalLabels, config.AdditionalLabels,
influxdb.BatchPointsConfig{}, influxdb.BatchPointsConfig{},
kitlog.LoggerFunc(func(kv ...interface{}) error { kitlog.LoggerFunc(func(kv ...interface{}) error {
log.FromContext(ctx).Error(kv) log.FromContext(ctx).Error(kv...)
return nil return nil
}), }),
) )

View file

@ -50,7 +50,7 @@ func RegisterStatsd(ctx context.Context, config *types.Statsd) Registry {
} }
statsdClient = statsd.New(config.Prefix+".", kitlog.LoggerFunc(func(keyvals ...interface{}) error { statsdClient = statsd.New(config.Prefix+".", kitlog.LoggerFunc(func(keyvals ...interface{}) error {
log.WithoutContext().WithField(log.MetricsProviderName, "statsd").Info(keyvals) log.WithoutContext().WithField(log.MetricsProviderName, "statsd").Info(keyvals...)
return nil return nil
})) }))

View file

@ -11,8 +11,8 @@ import (
// TraefikService is the CRD implementation of a Traefik Service. // TraefikService is the CRD implementation of a Traefik Service.
// TraefikService object allows to: // TraefikService object allows to:
// - Apply weight to Services on load-balancing // - Apply weight to Services on load-balancing
// - Mirror traffic on services // - Mirror traffic on services
// More info: https://doc.traefik.io/traefik/v2.8/routing/providers/kubernetes-crd/#kind-traefikservice // More info: https://doc.traefik.io/traefik/v2.8/routing/providers/kubernetes-crd/#kind-traefikservice
type TraefikService struct { type TraefikService struct {
metav1.TypeMeta `json:",inline"` metav1.TypeMeta `json:",inline"`

View file

@ -570,7 +570,7 @@ func filterIngressClassByName(ingressClassName string, ics []*networkingv1.Ingre
return ingressClasses return ingressClasses
} }
// Ingress in networking.k8s.io/v1 is supported starting 1.19. // Ingress in networking.k8s.io/v1 is supported starting 1.19.
// thus, we query it in K8s starting 1.19. // thus, we query it in K8s starting 1.19.
func supportsNetworkingV1Ingress(serverVersion *version.Version) bool { func supportsNetworkingV1Ingress(serverVersion *version.Version) bool {
ingressNetworkingVersion := version.Must(version.NewVersion("1.19")) ingressNetworkingVersion := version.Must(version.NewVersion("1.19"))

View file

@ -94,7 +94,6 @@ func (h *httpForwarder) Accept() (net.Conn, error) {
// //
// - TCP-TLS HostSNI(`foobar`) and HTTPS PathPrefix(`/`) // - TCP-TLS HostSNI(`foobar`) and HTTPS PathPrefix(`/`)
// - On v2.6 and v2.7, the TCP-TLS one takes precedence. // - On v2.6 and v2.7, the TCP-TLS one takes precedence.
//
func Test_Routing(t *testing.T) { func Test_Routing(t *testing.T) {
// This listener simulates the backend service. // This listener simulates the backend service.
// It is capable of switching into server first communication mode, // It is capable of switching into server first communication mode,

View file

@ -55,13 +55,13 @@ QPZ6VGR7+w1jB5BQXqEZcpHQIPSzeQJBAIy9tZJ/AYNlNbcegxEnsSjy/6VdlLsY
rqPRSAtd/h6oZbs= rqPRSAtd/h6oZbs=
-----END PRIVATE KEY-----`) -----END PRIVATE KEY-----`)
// openssl req -newkey rsa:2048 \ // openssl req -newkey rsa:2048 \
// -new -nodes -x509 \ // -new -nodes -x509 \
// -days 3650 \ // -days 3650 \
// -out cert.pem \ // -out cert.pem \
// -keyout key.pem \ // -keyout key.pem \
// -subj "/CN=example.com" // -subj "/CN=example.com"
// -addext "subjectAltName = DNS:example.com" // -addext "subjectAltName = DNS:example.com"
var mTLSCert = []byte(`-----BEGIN CERTIFICATE----- var mTLSCert = []byte(`-----BEGIN CERTIFICATE-----
MIIDJTCCAg2gAwIBAgIUYKnGcLnmMosOSKqTn4ydAMURE4gwDQYJKoZIhvcNAQEL MIIDJTCCAg2gAwIBAgIUYKnGcLnmMosOSKqTn4ydAMURE4gwDQYJKoZIhvcNAQEL
BQAwFjEUMBIGA1UEAwwLZXhhbXBsZS5jb20wHhcNMjAwODEzMDkyNzIwWhcNMzAw BQAwFjEUMBIGA1UEAwwLZXhhbXBsZS5jb20wHhcNMjAwODEzMDkyNzIwWhcNMzAw

View file

@ -48,10 +48,10 @@ func (c Chain) Then(h Handler) (Handler, error) {
// //
// Append returns a new chain, leaving the original one untouched. // Append returns a new chain, leaving the original one untouched.
// //
// stdChain := tcp.NewChain(m1, m2) // stdChain := tcp.NewChain(m1, m2)
// extChain := stdChain.Append(m3, m4) // extChain := stdChain.Append(m3, m4)
// // requests in stdChain go m1 -> m2 // // requests in stdChain go m1 -> m2
// // requests in extChain go m1 -> m2 -> m3 -> m4 // // requests in extChain go m1 -> m2 -> m3 -> m4
func (c Chain) Append(constructors ...Constructor) Chain { func (c Chain) Append(constructors ...Constructor) Chain {
newCons := make([]Constructor, 0, len(c.constructors)+len(constructors)) newCons := make([]Constructor, 0, len(c.constructors)+len(constructors))
newCons = append(newCons, c.constructors...) newCons = append(newCons, c.constructors...)
@ -65,22 +65,23 @@ func (c Chain) Append(constructors ...Constructor) Chain {
// //
// Extend returns a new chain, leaving the original one untouched. // Extend returns a new chain, leaving the original one untouched.
// //
// stdChain := tcp.NewChain(m1, m2) // stdChain := tcp.NewChain(m1, m2)
// ext1Chain := tcp.NewChain(m3, m4) // ext1Chain := tcp.NewChain(m3, m4)
// ext2Chain := stdChain.Extend(ext1Chain) // ext2Chain := stdChain.Extend(ext1Chain)
// // requests in stdChain go m1 -> m2 // // requests in stdChain go m1 -> m2
// // requests in ext1Chain go m3 -> m4 // // requests in ext1Chain go m3 -> m4
// // requests in ext2Chain go m1 -> m2 -> m3 -> m4 // // requests in ext2Chain go m1 -> m2 -> m3 -> m4
// //
// Another example: // Another example:
// aHtmlAfterNosurf := tcp.NewChain(m2) //
// aHtml := tcp.NewChain(m1, func(h tcp.Handler) tcp.Handler { // aHtmlAfterNosurf := tcp.NewChain(m2)
// csrf := nosurf.New(h) // aHtml := tcp.NewChain(m1, func(h tcp.Handler) tcp.Handler {
// csrf.SetFailureHandler(aHtmlAfterNosurf.ThenFunc(csrfFail)) // csrf := nosurf.New(h)
// return csrf // csrf.SetFailureHandler(aHtmlAfterNosurf.ThenFunc(csrfFail))
// }).Extend(aHtmlAfterNosurf) // return csrf
// // requests to aHtml hitting nosurfs success handler go m1 -> nosurf -> m2 -> target-handler // }).Extend(aHtmlAfterNosurf)
// // requests to aHtml hitting nosurfs failure handler go m1 -> nosurf -> m2 -> csrfFail // // requests to aHtml hitting nosurfs success handler go m1 -> nosurf -> m2 -> target-handler
// // requests to aHtml hitting nosurfs failure handler go m1 -> nosurf -> m2 -> csrfFail
func (c Chain) Extend(chain Chain) Chain { func (c Chain) Extend(chain Chain) Chain {
return c.Append(chain.constructors...) return c.Append(chain.constructors...)
} }

View file

@ -10,15 +10,15 @@ type haystackLogger struct {
// Error prints the error message. // Error prints the error message.
func (l haystackLogger) Error(format string, v ...interface{}) { func (l haystackLogger) Error(format string, v ...interface{}) {
l.logger.Errorf(format, v) l.logger.Errorf(format, v...)
} }
// Info prints the info message. // Info prints the info message.
func (l haystackLogger) Info(format string, v ...interface{}) { func (l haystackLogger) Info(format string, v ...interface{}) {
l.logger.Infof(format, v) l.logger.Infof(format, v...)
} }
// Debug prints the info message. // Debug prints the info message.
func (l haystackLogger) Debug(format string, v ...interface{}) { func (l haystackLogger) Debug(format string, v ...interface{}) {
l.logger.Debug(format, v) l.logger.Debugf(format, v...)
} }