Skip to content

Commit 823a3c8

Browse files
committed
lint fixes
1 parent 0f7e8f4 commit 823a3c8

29 files changed

+160
-153
lines changed

Makefile

+11-2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ PROTOC_VERSION ?= 22.2
2222
PROTOC_BIN_DIR := .tools
2323
PROTOC := $(PROTOC_BIN_DIR)/protoc
2424

25+
GOLANGCI_LINT = go run github.com/golangci/golangci-lint/cmd/[email protected]
26+
2527
default: build
2628

2729
test.race:
@@ -33,10 +35,17 @@ test:
3335
fmt:
3436
go fmt $(GOPKGS)
3537

36-
check:
37-
golint $(GOPKGS)
38+
check: lint-code
3839
go vet $(GOPKGS)
3940

41+
.PHONY: lint-code
42+
lint-code:
43+
$(GOLANGCI_LINT) run --timeout 5m
44+
45+
.PHONY: lint-fix
46+
lint-fix:
47+
$(GOLANGCI_LINT) run --fix
48+
4049
.PHONY: build
4150
build: build/$(BINARY)
4251

cmd/kafka-proxy/server.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,7 @@ func Run(_ *cobra.Command, _ []string) {
450450
func NewHTTPHandler() http.Handler {
451451
m := http.NewServeMux()
452452
m.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
453-
w.Write([]byte(
453+
_, _ = w.Write([]byte(
454454
`<html>
455455
<head>
456456
<title>kafka-proxy service</title>
@@ -462,7 +462,7 @@ func NewHTTPHandler() http.Handler {
462462
</html>`))
463463
})
464464
m.HandleFunc(c.Http.HealthPath, func(w http.ResponseWriter, r *http.Request) {
465-
w.Write([]byte(`OK`))
465+
_, _ = w.Write([]byte(`OK`))
466466
})
467467
m.Handle(c.Http.MetricsPath, promhttp.Handler())
468468

cmd/plugin-auth-ldap/main.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,10 @@ func main() {
257257

258258
pluginMeta := &pluginMeta{}
259259
flags := pluginMeta.flagSet()
260-
flags.Parse(os.Args[1:])
260+
if err := flags.Parse(os.Args[1:]); err != nil {
261+
logrus.Errorf("error parsing flags: %v", err)
262+
os.Exit(1)
263+
}
261264

262265
urls, err := pluginMeta.getUrls()
263266
if err != nil {

cmd/plugin-auth-user/main.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,10 @@ func (f *PasswordAuthenticator) flagSet() *flag.FlagSet {
3131
func main() {
3232
passwordAuthenticator := &PasswordAuthenticator{}
3333
flags := passwordAuthenticator.flagSet()
34-
flags.Parse(os.Args[1:])
34+
if err := flags.Parse(os.Args[1:]); err != nil {
35+
logrus.Errorf("error parsing flags: %v", err)
36+
os.Exit(1)
37+
}
3538

3639
if passwordAuthenticator.Password == "" {
3740
passwordAuthenticator.Password = os.Getenv(EnvSaslPassword)

config/config.go

+41-45
Original file line numberDiff line numberDiff line change
@@ -215,60 +215,56 @@ func (c *Config) InitSASLCredentials() (err error) {
215215
return nil
216216
}
217217
func getDialAddressMappings(dialMapping []string) ([]DialAddressMapping, error) {
218-
dialMappings := make([]DialAddressMapping, 0)
219-
if dialMapping != nil {
220-
for _, v := range dialMapping {
221-
pair := strings.Split(v, ",")
222-
if len(pair) != 2 {
223-
return nil, errors.New("dial-mapping must be in form 'srchost:srcport,dsthost:dstport'")
224-
}
225-
srcHost, srcPort, err := util.SplitHostPort(pair[0])
226-
if err != nil {
227-
return nil, err
228-
}
229-
dstHost, dstPort, err := util.SplitHostPort(pair[1])
230-
if err != nil {
231-
return nil, err
232-
}
233-
dialMapping := DialAddressMapping{
234-
SourceAddress: net.JoinHostPort(srcHost, fmt.Sprint(srcPort)),
235-
DestinationAddress: net.JoinHostPort(dstHost, fmt.Sprint(dstPort))}
236-
dialMappings = append(dialMappings, dialMapping)
218+
dialMappings := make([]DialAddressMapping, 0, len(dialMapping))
219+
for _, v := range dialMapping {
220+
pair := strings.Split(v, ",")
221+
if len(pair) != 2 {
222+
return nil, errors.New("dial-mapping must be in form 'srchost:srcport,dsthost:dstport'")
223+
}
224+
srcHost, srcPort, err := util.SplitHostPort(pair[0])
225+
if err != nil {
226+
return nil, err
237227
}
228+
dstHost, dstPort, err := util.SplitHostPort(pair[1])
229+
if err != nil {
230+
return nil, err
231+
}
232+
dialAddressMapping := DialAddressMapping{
233+
SourceAddress: net.JoinHostPort(srcHost, fmt.Sprint(srcPort)),
234+
DestinationAddress: net.JoinHostPort(dstHost, fmt.Sprint(dstPort))}
235+
dialMappings = append(dialMappings, dialAddressMapping)
238236
}
239237
return dialMappings, nil
240238
}
241239

242240
func getListenerConfigs(serversMapping []string) ([]ListenerConfig, error) {
243-
listenerConfigs := make([]ListenerConfig, 0)
244-
if serversMapping != nil {
245-
for _, v := range serversMapping {
246-
pair := strings.Split(v, ",")
247-
if len(pair) != 2 && len(pair) != 3 {
248-
return nil, errors.New("server-mapping must be in form 'remotehost:remoteport,localhost:localport(,advhost:advport)'")
249-
}
250-
remoteHost, remotePort, err := util.SplitHostPort(pair[0])
251-
if err != nil {
252-
return nil, err
253-
}
254-
localHost, localPort, err := util.SplitHostPort(pair[1])
241+
listenerConfigs := make([]ListenerConfig, 0, len(serversMapping))
242+
for _, v := range serversMapping {
243+
pair := strings.Split(v, ",")
244+
if len(pair) != 2 && len(pair) != 3 {
245+
return nil, errors.New("server-mapping must be in form 'remotehost:remoteport,localhost:localport(,advhost:advport)'")
246+
}
247+
remoteHost, remotePort, err := util.SplitHostPort(pair[0])
248+
if err != nil {
249+
return nil, err
250+
}
251+
localHost, localPort, err := util.SplitHostPort(pair[1])
252+
if err != nil {
253+
return nil, err
254+
}
255+
advertisedHost, advertisedPort := localHost, localPort
256+
if len(pair) == 3 {
257+
advertisedHost, advertisedPort, err = util.SplitHostPort(pair[2])
255258
if err != nil {
256259
return nil, err
257260
}
258-
advertisedHost, advertisedPort := localHost, localPort
259-
if len(pair) == 3 {
260-
advertisedHost, advertisedPort, err = util.SplitHostPort(pair[2])
261-
if err != nil {
262-
return nil, err
263-
}
264-
}
265-
266-
listenerConfig := ListenerConfig{
267-
BrokerAddress: net.JoinHostPort(remoteHost, fmt.Sprint(remotePort)),
268-
ListenerAddress: net.JoinHostPort(localHost, fmt.Sprint(localPort)),
269-
AdvertisedAddress: net.JoinHostPort(advertisedHost, fmt.Sprint(advertisedPort))}
270-
listenerConfigs = append(listenerConfigs, listenerConfig)
271261
}
262+
263+
listenerConfig := ListenerConfig{
264+
BrokerAddress: net.JoinHostPort(remoteHost, fmt.Sprint(remotePort)),
265+
ListenerAddress: net.JoinHostPort(localHost, fmt.Sprint(localPort)),
266+
AdvertisedAddress: net.JoinHostPort(advertisedHost, fmt.Sprint(advertisedPort))}
267+
listenerConfigs = append(listenerConfigs, listenerConfig)
272268
}
273269
return listenerConfigs, nil
274270
}
@@ -361,7 +357,7 @@ func (c *Config) Validate() error {
361357
return errors.New("MaxOpenRequests must be greater than 0")
362358
}
363359
// proxy
364-
if c.Proxy.BootstrapServers == nil || len(c.Proxy.BootstrapServers) == 0 {
360+
if len(c.Proxy.BootstrapServers) == 0 {
365361
return errors.New("list of bootstrap-server-mapping must not be empty")
366362
}
367363
if c.Proxy.DefaultListenerIP == "" {

main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ var RootCmd = &cobra.Command{
1313
Short: "Server that proxies requests to Kafka brokers",
1414
Long: ``,
1515
Run: func(cmd *cobra.Command, args []string) {
16-
cmd.Help()
16+
_ = cmd.Help()
1717
os.Exit(1)
1818
},
1919
}

pkg/libs/googleid-info/factory.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,10 @@ func (t *Factory) New(params []string) (apis.TokenInfo, error) {
3636
fs.Var(&pluginMeta.audience, "audience", "The audience of a token")
3737
fs.Var(&pluginMeta.emailsRegex, "email-regex", "Regex of the email claim")
3838

39-
fs.Parse(params)
39+
err := fs.Parse(params)
40+
if err != nil {
41+
return nil, err
42+
}
4043

4144
opts := TokenInfoOptions{
4245
Timeout: pluginMeta.timeout,

pkg/libs/googleid-info/ticker.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ func (p *certsRefresher) refreshLoop() {
4343
}
4444
}
4545

46-
func (p *certsRefresher) refreshTick() error {
46+
func (p *certsRefresher) refreshTick() {
4747
op := func() error {
4848
return p.tokenInfo.refreshCerts()
4949
}
@@ -52,10 +52,10 @@ func (p *certsRefresher) refreshTick() error {
5252
backOff.MaxInterval = 2 * time.Minute
5353
err := backoff.Retry(op, backOff)
5454
if err != nil {
55-
return err
55+
logrus.Errorf("Certs refresh failed : %v", err)
56+
return
5657
}
5758
kids := p.tokenInfo.getPublicKeyIDs()
5859
sort.Strings(kids)
5960
logrus.Infof("Refreshed certs Key IDs: %v", kids)
60-
return nil
6161
}

pkg/libs/googleid-provider/factory.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,10 @@ func (t *Factory) New(params []string) (apis.TokenProvider, error) {
3838
fs.BoolVar(&pluginMeta.credentialsWatch, "credentials-watch", true, "Watch credential for reload")
3939
fs.StringVar(&pluginMeta.targetAudience, "target-audience", "", "URI of audience claim")
4040

41-
fs.Parse(params)
41+
err := fs.Parse(params)
42+
if err != nil {
43+
return nil, err
44+
}
4245

4346
options := TokenProviderOptions{
4447
Timeout: pluginMeta.timeout,

pkg/libs/googleid-provider/plugin.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -146,10 +146,7 @@ func renewLatest(token *googleid.Token) bool {
146146
}
147147
// renew before expiry
148148
advExp := token.ClaimSet.Exp - int64(clockSkew.Seconds())
149-
if nowFn().Unix() > advExp {
150-
return true
151-
}
152-
return false
149+
return nowFn().Unix() > advExp
153150
}
154151

155152
// GetToken implements apis.TokenProvider.GetToken method

pkg/libs/googleid-provider/ticker.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,5 @@ func renewEarliest(claimSet *googleid.ClaimSet) bool {
8787
refreshAfter := int64(validity / 2)
8888
refreshTime := claimSet.Exp - int64(clockSkew.Seconds()) - refreshAfter
8989
// logrus.Debugf("New refresh time %d (%v)", refreshTime, time.Unix(refreshTime, 0))
90-
if nowFn().Unix() > refreshTime {
91-
return true
92-
}
93-
return false
90+
return nowFn().Unix() > refreshTime
9491
}

pkg/libs/googleid/service_account_test.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,15 @@ import (
1111

1212
func TestGetServiceAccountIDToken(t *testing.T) {
1313
t.Skip() // Uncomment to execute
14-
14+
a := assert.New(t)
1515
credentialsFile := filepath.Join(os.Getenv("HOME"), "kafka-gateway-service-account.json")
1616
src, err := NewServiceAccountTokenSource(credentialsFile, "tcp://kafka-gateway.grepplabs.com")
17+
a.Nil(err)
18+
1719
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
1820
defer cancel()
1921
token, err := src.GetIDToken(ctx)
2022

21-
a := assert.New(t)
2223
a.Nil(err)
2324
a.NotEmpty(token)
2425
}

pkg/libs/oidc-provider/factory.go

+4-2
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,10 @@ func (t *Factory) New(params []string) (apis.TokenProvider, error) {
3838
fs.BoolVar(&pluginMeta.credentialsWatch, "credentials-watch", true, "Watch credential for reload")
3939
fs.StringVar(&pluginMeta.targetAudience, "target-audience", "", "URI of audience claim")
4040

41-
fs.Parse(params)
42-
41+
err := fs.Parse(params)
42+
if err != nil {
43+
return nil, err
44+
}
4345
options := TokenProviderOptions{
4446
Timeout: pluginMeta.timeout,
4547
CredentialsWatch: pluginMeta.credentialsWatch,

pkg/libs/oidc-provider/plugin.go

+5-24
Original file line numberDiff line numberDiff line change
@@ -162,12 +162,7 @@ func renewLatest(token *oidc.Token) bool {
162162
}
163163
// renew before expiry
164164
advExp := token.ClaimSet.Exp - int64(clockSkew.Seconds())
165-
166-
if nowFn().Unix() > advExp {
167-
return true
168-
}
169-
170-
return false
165+
return nowFn().Unix() > advExp
171166
}
172167

173168
// GetToken implements apis.TokenProvider.GetToken method
@@ -225,7 +220,7 @@ func getTokenSource(credentialsFilePath string, targetAud string) (idTokenSource
225220

226221
switch grantType.Name {
227222
case "password":
228-
passwordGrantSource, err := NewPasswordGrantSource(
223+
passwordGrantSource, err := newPasswordGrantSource(
229224
credentialsFilePath,
230225
targetAud)
231226

@@ -235,7 +230,7 @@ func getTokenSource(credentialsFilePath string, targetAud string) (idTokenSource
235230

236231
return passwordGrantSource, nil
237232
default:
238-
serviceAccountSource, err := NewServiceAccountSource(
233+
serviceAccountSource, err := newServiceAccountSource(
239234
credentialsFilePath,
240235
targetAud)
241236

@@ -263,14 +258,7 @@ func (p *serviceAccountSource) getServiceAccountTokenSource() *oidc.ServiceAccou
263258
return p.source
264259
}
265260

266-
func (p *serviceAccountSource) setServiceAccountTokenSource(source *oidc.ServiceAccountTokenSource) {
267-
p.l.Lock()
268-
defer p.l.Unlock()
269-
270-
p.source = source
271-
}
272-
273-
func NewServiceAccountSource(credentialsFile string, targetAudience string) (*serviceAccountSource, error) {
261+
func newServiceAccountSource(credentialsFile string, targetAudience string) (*serviceAccountSource, error) {
274262
source, err := oidc.NewServiceAccountTokenSource(credentialsFile, targetAudience)
275263

276264
if err != nil {
@@ -298,14 +286,7 @@ func (p *passwordGrantSource) getPasswordGrantTokenSource() *oidc.PasswordGrantT
298286
return p.source
299287
}
300288

301-
func (p *passwordGrantSource) setPasswordGrantTokenSource(source *oidc.PasswordGrantTokenSource) {
302-
p.l.Lock()
303-
defer p.l.Unlock()
304-
305-
p.source = source
306-
}
307-
308-
func NewPasswordGrantSource(credentialsFile string, targetAudience string) (*passwordGrantSource, error) {
289+
func newPasswordGrantSource(credentialsFile string, targetAudience string) (*passwordGrantSource, error) {
309290
source, err := oidc.NewPasswordGrantTokenSource(credentialsFile, targetAudience)
310291

311292
if err != nil {

pkg/libs/oidc-provider/plugin_test.go

+2
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ func TestGetToken(t *testing.T) {
112112

113113
actual, err := prov.GetToken(context.Background(), apis.TokenRequest{})
114114
a.NotNil(token)
115+
a.Nil(err)
115116

116117
exp := apis.TokenResponse{Success: true, Status: int32(StatusOK), Token: testToken}
117118
a.Equal(exp, actual)
@@ -120,6 +121,7 @@ func TestGetToken(t *testing.T) {
120121

121122
actual, err = prov.GetToken(context.Background(), apis.TokenRequest{})
122123
a.NotNil(token)
124+
a.Nil(err)
123125

124126
exp = apis.TokenResponse{Success: true, Status: int32(StatusOK), Token: testToken}
125127
a.Equal(exp, actual)

pkg/libs/oidc-provider/ticker.go

+1-5
Original file line numberDiff line numberDiff line change
@@ -109,9 +109,5 @@ func renewEarliest(claimSet *oidc.ClaimSet) bool {
109109
refreshAfter := int64(validity / 2)
110110
refreshTime := claimSet.Exp - int64(clockSkew.Seconds()) - refreshAfter
111111
// logrus.Debugf("New refresh time %d (%v)", refreshTime, time.Unix(refreshTime, 0))
112-
if nowFn().Unix() > refreshTime {
113-
return true
114-
}
115-
116-
return false
112+
return nowFn().Unix() > refreshTime
117113
}

pkg/libs/oidc/service_account_test.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,15 @@ import (
1212

1313
func TestGetServiceAccountIDToken(t *testing.T) {
1414
t.Skip() // Uncomment to execute
15+
a := assert.New(t)
1516

1617
credentialsFile := filepath.Join(os.Getenv("HOME"), "kafka-gateway-service-account.json")
1718
src, err := NewServiceAccountTokenSource(credentialsFile, "tcp://kafka-gateway.grepplabs.com")
19+
a.Nil(err)
1820
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
1921
defer cancel()
2022
token, err := src.GetIDToken(ctx)
2123

22-
a := assert.New(t)
2324
a.Nil(err)
2425
a.NotEmpty(token)
2526
}

0 commit comments

Comments
 (0)