Skip to content

Commit f948991

Browse files
authored
chore: enable gofumpt, gosimple and whitespace linters (#666)
Signed-off-by: Matthieu MOREL <[email protected]>
1 parent 3826638 commit f948991

31 files changed

+153
-169
lines changed

.golangci.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
11
issues:
22
exclude-files:
33
- "pkg/diff/internal/fieldmanager/borrowed_.*\\.go$"
4+
max-issues-per-linter: 0
5+
max-same-issues: 0
46
linters:
57
enable:
8+
- gofumpt
9+
- gosimple
610
- testifylint
11+
- whitespace
712
linters-settings:
813
testifylint:
914
enable-all: true
1015
disable:
1116
- go-require
1217
- require-error
18+
run:
19+
timeout: 5m

pkg/cache/cluster.go

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,10 @@ type OnProcessEventsHandler func(duration time.Duration, processedEventsNumber i
110110
type OnPopulateResourceInfoHandler func(un *unstructured.Unstructured, isRoot bool) (info interface{}, cacheManifest bool)
111111

112112
// OnResourceUpdatedHandler handlers resource update event
113-
type OnResourceUpdatedHandler func(newRes *Resource, oldRes *Resource, namespaceResources map[kube.ResourceKey]*Resource)
114-
type Unsubscribe func()
113+
type (
114+
OnResourceUpdatedHandler func(newRes *Resource, oldRes *Resource, namespaceResources map[kube.ResourceKey]*Resource)
115+
Unsubscribe func()
116+
)
115117

116118
type ClusterCache interface {
117119
// EnsureSynced checks cache state and synchronizes it if necessary
@@ -332,6 +334,7 @@ func (c *clusterCache) OnProcessEventsHandler(handler OnProcessEventsHandler) Un
332334
delete(c.processEventsHandlers, key)
333335
}
334336
}
337+
335338
func (c *clusterCache) getProcessEventsHandlers() []OnProcessEventsHandler {
336339
c.handlersLock.Lock()
337340
defer c.handlersLock.Unlock()
@@ -559,7 +562,6 @@ func (c *clusterCache) startMissingWatches() error {
559562
delete(namespacedResources, api.GroupKind)
560563
return nil
561564
}
562-
563565
}
564566
go c.watchEvents(ctx, api, resClient, ns, resourceVersion)
565567
return nil
@@ -635,7 +637,6 @@ func (c *clusterCache) loadInitialState(ctx context.Context, api kube.APIResourc
635637
return nil
636638
})
637639
})
638-
639640
if err != nil {
640641
return "", fmt.Errorf("failed to load initial state of resource %s: %w", api.GroupKind.String(), err)
641642
}
@@ -727,9 +728,11 @@ func (c *clusterCache) watchEvents(ctx context.Context, api kube.APIResourceInfo
727728
for _, v := range crd.Spec.Versions {
728729
resources = append(resources, kube.APIResourceInfo{
729730
GroupKind: schema.GroupKind{
730-
Group: crd.Spec.Group, Kind: crd.Spec.Names.Kind},
731+
Group: crd.Spec.Group, Kind: crd.Spec.Names.Kind,
732+
},
731733
GroupVersionResource: schema.GroupVersionResource{
732-
Group: crd.Spec.Group, Version: v.Name, Resource: crd.Spec.Names.Plural},
734+
Group: crd.Spec.Group, Version: v.Name, Resource: crd.Spec.Names.Plural,
735+
},
733736
Meta: metav1.APIResource{
734737
Group: crd.Spec.Group,
735738
SingularName: crd.Spec.Names.Singular,
@@ -881,7 +884,6 @@ func (c *clusterCache) sync() error {
881884
c.namespacedResources = make(map[schema.GroupKind]bool)
882885
config := c.config
883886
version, err := c.kubectl.GetServerVersion(config)
884-
885887
if err != nil {
886888
return err
887889
}
@@ -904,7 +906,6 @@ func (c *clusterCache) sync() error {
904906
c.openAPISchema = openAPISchema
905907

906908
apis, err := c.kubectl.GetAPIResources(c.config, true, c.settings.ResourcesFilter)
907-
908909
if err != nil {
909910
return err
910911
}
@@ -974,7 +975,6 @@ func (c *clusterCache) sync() error {
974975
return nil
975976
})
976977
})
977-
978978
if err != nil {
979979
c.log.Error(err, "Failed to sync cluster")
980980
return fmt.Errorf("failed to sync cluster %s: %v", c.config.Host, err)
@@ -1409,11 +1409,9 @@ func (c *clusterCache) onNodeRemoved(key kube.ResourceKey) {
14091409
}
14101410
}
14111411

1412-
var (
1413-
ignoredRefreshResources = map[string]bool{
1414-
"/" + kube.EndpointsKind: true,
1415-
}
1416-
)
1412+
var ignoredRefreshResources = map[string]bool{
1413+
"/" + kube.EndpointsKind: true,
1414+
}
14171415

14181416
// GetClusterInfo returns cluster cache statistics
14191417
func (c *clusterCache) GetClusterInfo() ClusterInfo {

pkg/cache/cluster_test.go

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ func getChildren(cluster *clusterCache, un *unstructured.Unstructured) []*Resour
148148

149149
// Benchmark_sync is meant to simulate cluster initialization when populateResourceInfoHandler does nontrivial work.
150150
func Benchmark_sync(t *testing.B) {
151-
var resources = []runtime.Object{}
151+
resources := []runtime.Object{}
152152
for i := 0; i < 100; i++ {
153153
resources = append(resources, &corev1.Pod{
154154
ObjectMeta: metav1.ObjectMeta{
@@ -617,8 +617,8 @@ metadata:
617617
name: test-crontab
618618
namespace: default`)
619619

620-
var convertToVersionWasCalled = false
621-
var getResourceWasCalled = false
620+
convertToVersionWasCalled := false
621+
getResourceWasCalled := false
622622
cluster.kubectl.(*kubetest.MockKubectlCmd).
623623
WithConvertToVersionFunc(func(obj *unstructured.Unstructured, _ string, _ string) (*unstructured.Unstructured, error) {
624624
convertToVersionWasCalled = true
@@ -1059,7 +1059,8 @@ func TestIterateHierachy(t *testing.T) {
10591059
kube.GetResourceKey(mustToUnstructured(testPod1())),
10601060
kube.GetResourceKey(mustToUnstructured(testPod2())),
10611061
kube.GetResourceKey(mustToUnstructured(testRS())),
1062-
kube.GetResourceKey(mustToUnstructured(testDeploy()))},
1062+
kube.GetResourceKey(mustToUnstructured(testDeploy())),
1063+
},
10631064
keys)
10641065
})
10651066

@@ -1072,7 +1073,8 @@ func TestIterateHierachy(t *testing.T) {
10721073

10731074
assert.ElementsMatch(t,
10741075
[]kube.ResourceKey{
1075-
kube.GetResourceKey(mustToUnstructured(testDeploy()))},
1076+
kube.GetResourceKey(mustToUnstructured(testDeploy())),
1077+
},
10761078
keys)
10771079
})
10781080

@@ -1120,7 +1122,8 @@ func TestIterateHierachy(t *testing.T) {
11201122
[]kube.ResourceKey{
11211123
kube.GetResourceKey(mustToUnstructured(testPod1())),
11221124
kube.GetResourceKey(mustToUnstructured(testPod2())),
1123-
kube.GetResourceKey(mustToUnstructured(testExtensionsRS()))},
1125+
kube.GetResourceKey(mustToUnstructured(testExtensionsRS())),
1126+
},
11241127
keys)
11251128
})
11261129
}
@@ -1143,7 +1146,8 @@ func TestIterateHierachyV2(t *testing.T) {
11431146
kube.GetResourceKey(mustToUnstructured(testPod1())),
11441147
kube.GetResourceKey(mustToUnstructured(testPod2())),
11451148
kube.GetResourceKey(mustToUnstructured(testRS())),
1146-
kube.GetResourceKey(mustToUnstructured(testDeploy()))},
1149+
kube.GetResourceKey(mustToUnstructured(testDeploy())),
1150+
},
11471151
keys)
11481152
})
11491153

@@ -1157,7 +1161,8 @@ func TestIterateHierachyV2(t *testing.T) {
11571161

11581162
assert.ElementsMatch(t,
11591163
[]kube.ResourceKey{
1160-
kube.GetResourceKey(mustToUnstructured(testDeploy()))},
1164+
kube.GetResourceKey(mustToUnstructured(testDeploy())),
1165+
},
11611166
keys)
11621167
})
11631168

@@ -1211,7 +1216,8 @@ func TestIterateHierachyV2(t *testing.T) {
12111216
kube.GetResourceKey(mustToUnstructured(testPod1())),
12121217
kube.GetResourceKey(mustToUnstructured(testPod2())),
12131218
kube.GetResourceKey(mustToUnstructured(testRS())),
1214-
kube.GetResourceKey(mustToUnstructured(testDeploy()))},
1219+
kube.GetResourceKey(mustToUnstructured(testDeploy())),
1220+
},
12151221
keys)
12161222
})
12171223

@@ -1228,7 +1234,8 @@ func TestIterateHierachyV2(t *testing.T) {
12281234
[]kube.ResourceKey{
12291235
kube.GetResourceKey(mustToUnstructured(testPod1())),
12301236
kube.GetResourceKey(mustToUnstructured(testPod2())),
1231-
kube.GetResourceKey(mustToUnstructured(testExtensionsRS()))},
1237+
kube.GetResourceKey(mustToUnstructured(testExtensionsRS())),
1238+
},
12321239
keys)
12331240
})
12341241
}

pkg/cache/references.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ package cache
33
import (
44
"encoding/json"
55
"fmt"
6+
"regexp"
7+
68
v1 "k8s.io/api/apps/v1"
79
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
810
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
911
"k8s.io/apimachinery/pkg/types"
10-
"regexp"
1112

1213
"github.com/argoproj/gitops-engine/pkg/utils/kube"
1314
)
@@ -23,7 +24,6 @@ func (c *clusterCache) resolveResourceReferences(un *unstructured.Unstructured)
2324
gvk := un.GroupVersionKind()
2425

2526
switch {
26-
2727
// Special case for endpoint. Remove after https://github.com/kubernetes/kubernetes/issues/28483 is fixed
2828
case gvk.Group == "" && gvk.Kind == kube.EndpointsKind && len(ownerRefs) == 0:
2929
ownerRefs = append(ownerRefs, metav1.OwnerReference{

pkg/cache/references_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
package cache
22

33
import (
4+
"testing"
5+
46
"github.com/argoproj/gitops-engine/pkg/utils/kube"
57
"github.com/stretchr/testify/assert"
68
appsv1 "k8s.io/api/apps/v1"
79
corev1 "k8s.io/api/core/v1"
810
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
911
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
10-
"testing"
1112
)
1213

1314
func Test_isStatefulSetChild(t *testing.T) {

pkg/cache/resource.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package cache
22

33
import (
44
"fmt"
5+
56
"k8s.io/apimachinery/pkg/types"
67

78
v1 "k8s.io/api/core/v1"
@@ -36,7 +37,6 @@ func (r *Resource) ResourceKey() kube.ResourceKey {
3637

3738
func (r *Resource) isParentOf(child *Resource) bool {
3839
for i, ownerRef := range child.OwnerRefs {
39-
4040
// backfill UID of inferred owner child references
4141
if ownerRef.UID == "" && r.Ref.Kind == ownerRef.Kind && r.Ref.APIVersion == ownerRef.APIVersion && r.Ref.Name == ownerRef.Name {
4242
ownerRef.UID = r.Ref.UID

pkg/cache/settings.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ func NewNoopSettings() *noopSettings {
1717
return &noopSettings{}
1818
}
1919

20-
type noopSettings struct {
21-
}
20+
type noopSettings struct{}
2221

2322
func (f *noopSettings) GetResourceHealth(_ *unstructured.Unstructured) (*health.HealthStatus, error) {
2423
return nil, nil

pkg/diff/diff.go

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@ type DiffResultList struct {
5555
Modified bool
5656
}
5757

58-
type noopNormalizer struct {
59-
}
58+
type noopNormalizer struct{}
6059

6160
func (n *noopNormalizer) Normalize(un *unstructured.Unstructured) error {
6261
return nil
@@ -318,7 +317,6 @@ type SMDParams struct {
318317
}
319318

320319
func structuredMergeDiff(p *SMDParams) (*DiffResult, error) {
321-
322320
gvk := p.config.GetObjectKind().GroupVersionKind()
323321
pt := gescheme.ResolveParseableType(gvk, p.gvkParser)
324322
if pt == nil {
@@ -372,7 +370,6 @@ func structuredMergeDiff(p *SMDParams) (*DiffResult, error) {
372370
// to correctly calculate the diff with the same logic used in k8s with server-side
373371
// apply.
374372
func apply(tvConfig, tvLive *typed.TypedValue, p *SMDParams) (*typed.TypedValue, error) {
375-
376373
// Build the structured-merge-diff Updater
377374
updater := merge.Updater{
378375
Converter: fieldmanager.NewVersionConverter(p.gvkParser, scheme.Scheme, p.config.GroupVersionKind().GroupVersion()),
@@ -485,7 +482,6 @@ func handleResourceCreateOrDeleteDiff(config, live *unstructured.Unstructured) (
485482
// generateSchemeDefaultPatch runs the scheme default functions on the given parameter, and
486483
// return a patch representing the delta vs the origin parameter object.
487484
func generateSchemeDefaultPatch(kubeObj runtime.Object) ([]byte, error) {
488-
489485
// 1) Call scheme defaulter functions on a clone of our k8s resource object
490486
patched := kubeObj.DeepCopyObject()
491487
gescheme.Scheme.Default(patched)
@@ -511,7 +507,6 @@ func generateSchemeDefaultPatch(kubeObj runtime.Object) ([]byte, error) {
511507
// applyPatch executes kubernetes server side patch:
512508
// uses corresponding data structure, applies appropriate defaults and executes strategic merge patch
513509
func applyPatch(liveBytes []byte, patchBytes []byte, newVersionedObject func() (runtime.Object, error)) ([]byte, []byte, error) {
514-
515510
// Construct an empty instance of the object we are applying a patch against
516511
predictedLive, err := newVersionedObject()
517512
if err != nil {
@@ -527,7 +522,6 @@ func applyPatch(liveBytes []byte, patchBytes []byte, newVersionedObject func() (
527522
// Unmarshal predictedLiveBytes into predictedLive; note that this will discard JSON fields in predictedLiveBytes
528523
// which are not in the predictedLive struct. predictedLive is thus "tainted" and we should not use it directly.
529524
if err = json.Unmarshal(predictedLiveBytes, &predictedLive); err == nil {
530-
531525
// 1) Calls 'kubescheme.Scheme.Default(predictedLive)' and generates a patch containing the delta of that
532526
// call, which can then be applied to predictedLiveBytes.
533527
//
@@ -571,7 +565,6 @@ func applyPatch(liveBytes []byte, patchBytes []byte, newVersionedObject func() (
571565
// However, this is much less likely since liveBytes is coming from a live k8s instance which
572566
// has already accepted those resources. Regardless, we still treat 'live' as tainted.
573567
if err = json.Unmarshal(liveBytes, live); err == nil {
574-
575568
// As above, indirectly apply the schema defaults against liveBytes
576569
patch, err := generateSchemeDefaultPatch(live)
577570
if err != nil {
@@ -592,7 +585,6 @@ func applyPatch(liveBytes []byte, patchBytes []byte, newVersionedObject func() (
592585
if err != nil {
593586
return nil, nil, err
594587
}
595-
596588
}
597589

598590
return liveBytes, predictedLiveBytes, nil
@@ -968,7 +960,6 @@ func normalizeRole(un *unstructured.Unstructured, o options) {
968960
if rules != nil && len(rules) == 0 {
969961
un.Object["rules"] = nil
970962
}
971-
972963
}
973964

974965
// CreateTwoWayMergePatch is a helper to construct a two-way merge patch from objects (instead of bytes)

pkg/diff/diff_test.go

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func printDiffInternal(name string, live *unstructured.Unstructured, target *uns
5858
return nil, err
5959
}
6060
}
61-
err = os.WriteFile(targetFile, targetData, 0644)
61+
err = os.WriteFile(targetFile, targetData, 0o644)
6262
if err != nil {
6363
return nil, err
6464
}
@@ -70,7 +70,7 @@ func printDiffInternal(name string, live *unstructured.Unstructured, target *uns
7070
return nil, err
7171
}
7272
}
73-
err = os.WriteFile(liveFile, liveData, 0644)
73+
err = os.WriteFile(liveFile, liveData, 0o644)
7474
if err != nil {
7575
return nil, err
7676
}
@@ -390,7 +390,6 @@ func TestThreeWayDiffExample1(t *testing.T) {
390390
if ascii != "" {
391391
t.Log(ascii)
392392
}
393-
394393
}
395394

396395
// Test for ignoring aggregated cluster roles
@@ -507,7 +506,6 @@ func TestThreeWayDiffExplicitNamespace(t *testing.T) {
507506
}
508507

509508
func TestDiffResourceWithInvalidField(t *testing.T) {
510-
511509
// Diff(...) should not silently discard invalid fields (fields that are not present in the underlying k8s resource).
512510

513511
leftDep := `{
@@ -1091,7 +1089,7 @@ func TestHideStringDataInInvalidSecret(t *testing.T) {
10911089

10921090
// stringData in secrets should be normalized even if it is invalid
10931091
func TestNormalizeSecret(t *testing.T) {
1094-
var tests = []struct {
1092+
tests := []struct {
10951093
testname string
10961094
data map[string]interface{}
10971095
stringData map[string]interface{}
@@ -1223,7 +1221,6 @@ func TestHideSecretAnnotations(t *testing.T) {
12231221

12241222
for _, tt := range tests {
12251223
t.Run(tt.name, func(t *testing.T) {
1226-
12271224
unSecret := &unstructured.Unstructured{
12281225
Object: map[string]interface{}{
12291226
"apiVersion": "v1",
@@ -1395,7 +1392,6 @@ func TestHideSecretDataLastAppliedConfig(t *testing.T) {
13951392
assert.Equal(t, map[string]interface{}{"key1": replacement1}, secretData(target))
13961393
assert.Equal(t, map[string]interface{}{"key1": replacement2}, secretData(live))
13971394
assert.Equal(t, map[string]interface{}{"key1": replacement3}, secretData(lastAppliedSecret))
1398-
13991395
}
14001396

14011397
func TestRemarshal(t *testing.T) {

0 commit comments

Comments
 (0)