mirror of https://github.com/status-im/consul.git
chore: update golangci-lint to v1.50.1 (#15022)
This commit is contained in:
parent
efc813e92d
commit
300860412c
|
@ -23,10 +23,10 @@ issues:
|
||||||
text: 'SA9004:'
|
text: 'SA9004:'
|
||||||
|
|
||||||
- linters: [staticcheck]
|
- linters: [staticcheck]
|
||||||
text: 'SA1019: Package github.com/golang/protobuf/jsonpb is deprecated'
|
text: 'SA1019: "github.com/golang/protobuf/jsonpb" is deprecated: Use the "google.golang.org/protobuf/encoding/protojson" package instead.'
|
||||||
|
|
||||||
- linters: [staticcheck]
|
- linters: [staticcheck]
|
||||||
text: 'SA1019: Package github.com/golang/protobuf/proto is deprecated'
|
text: 'SA1019: "github.com/golang/protobuf/proto" is deprecated: Use the "google.golang.org/protobuf/proto" package instead.'
|
||||||
|
|
||||||
- linters: [staticcheck]
|
- linters: [staticcheck]
|
||||||
text: 'SA1019: ptypes.MarshalAny is deprecated'
|
text: 'SA1019: ptypes.MarshalAny is deprecated'
|
||||||
|
@ -35,7 +35,7 @@ issues:
|
||||||
text: 'SA1019: ptypes.UnmarshalAny is deprecated'
|
text: 'SA1019: ptypes.UnmarshalAny is deprecated'
|
||||||
|
|
||||||
- linters: [staticcheck]
|
- linters: [staticcheck]
|
||||||
text: 'SA1019: package github.com/golang/protobuf/ptypes is deprecated'
|
text: 'SA1019: "github.com/golang/protobuf/ptypes" is deprecated: Well-known types have specialized functionality directly injected into the generated packages for each message type. See the deprecation notice for each function for the suggested alternative.'
|
||||||
|
|
||||||
# An argument that always receives the same value is often not a problem.
|
# An argument that always receives the same value is often not a problem.
|
||||||
- linters: [unparam]
|
- linters: [unparam]
|
||||||
|
@ -67,6 +67,14 @@ issues:
|
||||||
path: '(_oss.go|_oss_test.go|_ent.go|_ent_test.go)'
|
path: '(_oss.go|_oss_test.go|_ent.go|_ent_test.go)'
|
||||||
|
|
||||||
linters-settings:
|
linters-settings:
|
||||||
|
govet:
|
||||||
|
check-shadowing: true
|
||||||
|
enable-all: true
|
||||||
|
disable:
|
||||||
|
- fieldalignment
|
||||||
|
- nilness
|
||||||
|
- shadow
|
||||||
|
- unusedwrite
|
||||||
gofmt:
|
gofmt:
|
||||||
simplify: true
|
simplify: true
|
||||||
forbidigo:
|
forbidigo:
|
||||||
|
|
|
@ -7,7 +7,7 @@ SHELL = bash
|
||||||
# These version variables can either be a valid string for "go install <module>@<version>"
|
# These version variables can either be a valid string for "go install <module>@<version>"
|
||||||
# or the string @DEV to imply use what is currently installed locally.
|
# or the string @DEV to imply use what is currently installed locally.
|
||||||
###
|
###
|
||||||
GOLANGCI_LINT_VERSION='v1.46.2'
|
GOLANGCI_LINT_VERSION='v1.50.1'
|
||||||
MOCKERY_VERSION='v2.12.2'
|
MOCKERY_VERSION='v2.12.2'
|
||||||
BUF_VERSION='v1.4.0'
|
BUF_VERSION='v1.4.0'
|
||||||
PROTOC_GEN_GO_GRPC_VERSION="v1.2.0"
|
PROTOC_GEN_GO_GRPC_VERSION="v1.2.0"
|
||||||
|
|
|
@ -90,14 +90,14 @@ func (s *Server) runPeeringMetrics(ctx context.Context) error {
|
||||||
metrics.SetGauge(leaderExportedServicesCountKey, float32(0))
|
metrics.SetGauge(leaderExportedServicesCountKey, float32(0))
|
||||||
return nil
|
return nil
|
||||||
case <-ticker.C:
|
case <-ticker.C:
|
||||||
if err := s.emitPeeringMetricsOnce(logger, defaultMetrics()); err != nil {
|
if err := s.emitPeeringMetricsOnce(defaultMetrics()); err != nil {
|
||||||
s.logger.Error("error emitting peering stream metrics", "error", err)
|
s.logger.Error("error emitting peering stream metrics", "error", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) emitPeeringMetricsOnce(logger hclog.Logger, metricsImpl *metrics.Metrics) error {
|
func (s *Server) emitPeeringMetricsOnce(metricsImpl *metrics.Metrics) error {
|
||||||
_, peers, err := s.fsm.State().PeeringList(nil, *structs.NodeEnterpriseMetaInPartition(structs.WildcardSpecifier))
|
_, peers, err := s.fsm.State().PeeringList(nil, *structs.NodeEnterpriseMetaInPartition(structs.WildcardSpecifier))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
|
@ -1414,7 +1414,7 @@ func TestLeader_PeeringMetrics_emitPeeringMetrics(t *testing.T) {
|
||||||
met, err := metrics.New(cfg, sink)
|
met, err := metrics.New(cfg, sink)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
errM := s2.emitPeeringMetricsOnce(s2.logger, met)
|
errM := s2.emitPeeringMetricsOnce(met)
|
||||||
require.NoError(t, errM)
|
require.NoError(t, errM)
|
||||||
|
|
||||||
retry.Run(t, func(r *retry.R) {
|
retry.Run(t, func(r *retry.R) {
|
||||||
|
|
|
@ -910,7 +910,7 @@ func TestStore_ConfigEntry_GraphValidation(t *testing.T) {
|
||||||
if err := entry.Validate(); err != nil {
|
if err := entry.Validate(); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return s.EnsureConfigEntry(0, entry)
|
return s.EnsureConfigEntry(idx, entry)
|
||||||
}
|
}
|
||||||
|
|
||||||
type tcase struct {
|
type tcase struct {
|
||||||
|
|
|
@ -946,6 +946,7 @@ func listAllExportedServices(
|
||||||
return idx, found, nil
|
return idx, found, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//nolint:unparam
|
||||||
func listServicesExportedToAnyPeerByConfigEntry(
|
func listServicesExportedToAnyPeerByConfigEntry(
|
||||||
ws memdb.WatchSet,
|
ws memdb.WatchSet,
|
||||||
tx ReadTxn,
|
tx ReadTxn,
|
||||||
|
|
|
@ -63,10 +63,7 @@ func makeExportedServiceListResponse(
|
||||||
// makeServiceResponse handles preparing exported service instance updates to the peer cluster.
|
// makeServiceResponse handles preparing exported service instance updates to the peer cluster.
|
||||||
// Each cache.UpdateEvent will contain all instances for a service name.
|
// Each cache.UpdateEvent will contain all instances for a service name.
|
||||||
// If there are no instances in the event, we consider that to be a de-registration.
|
// If there are no instances in the event, we consider that to be a de-registration.
|
||||||
func makeServiceResponse(
|
func makeServiceResponse(update cache.UpdateEvent) (*pbpeerstream.ReplicationMessage_Response, error) {
|
||||||
mst *MutableStatus,
|
|
||||||
update cache.UpdateEvent,
|
|
||||||
) (*pbpeerstream.ReplicationMessage_Response, error) {
|
|
||||||
serviceName := strings.TrimPrefix(update.CorrelationID, subExportedService)
|
serviceName := strings.TrimPrefix(update.CorrelationID, subExportedService)
|
||||||
csn, ok := update.Result.(*pbservice.IndexedCheckServiceNodes)
|
csn, ok := update.Result.(*pbservice.IndexedCheckServiceNodes)
|
||||||
if !ok {
|
if !ok {
|
||||||
|
|
|
@ -658,7 +658,7 @@ func (s *Server) realHandleStream(streamReq HandleStreamRequest) error {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
case strings.HasPrefix(update.CorrelationID, subExportedService):
|
case strings.HasPrefix(update.CorrelationID, subExportedService):
|
||||||
resp, err = makeServiceResponse(status, update)
|
resp, err = makeServiceResponse(update)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// Log the error and skip this response to avoid locking up peering due to a bad update event.
|
// Log the error and skip this response to avoid locking up peering due to a bad update event.
|
||||||
logger.Error("failed to create service response", "error", err)
|
logger.Error("failed to create service response", "error", err)
|
||||||
|
|
|
@ -9,11 +9,12 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/golang/protobuf/proto"
|
"github.com/golang/protobuf/proto"
|
||||||
"github.com/hashicorp/consul/ipaddr"
|
|
||||||
"github.com/hashicorp/consul/lib/retry"
|
|
||||||
"github.com/hashicorp/go-hclog"
|
"github.com/hashicorp/go-hclog"
|
||||||
"github.com/hashicorp/go-memdb"
|
"github.com/hashicorp/go-memdb"
|
||||||
|
|
||||||
|
"github.com/hashicorp/consul/ipaddr"
|
||||||
|
"github.com/hashicorp/consul/lib/retry"
|
||||||
|
|
||||||
"github.com/hashicorp/consul/acl"
|
"github.com/hashicorp/consul/acl"
|
||||||
"github.com/hashicorp/consul/agent/cache"
|
"github.com/hashicorp/consul/agent/cache"
|
||||||
"github.com/hashicorp/consul/agent/connect"
|
"github.com/hashicorp/consul/agent/connect"
|
||||||
|
@ -142,7 +143,7 @@ func (m *subscriptionManager) handleEvent(ctx context.Context, state *subscripti
|
||||||
pending := &pendingPayload{}
|
pending := &pendingPayload{}
|
||||||
m.syncNormalServices(ctx, state, evt.Services)
|
m.syncNormalServices(ctx, state, evt.Services)
|
||||||
if m.config.ConnectEnabled {
|
if m.config.ConnectEnabled {
|
||||||
m.syncDiscoveryChains(ctx, state, pending, evt.ListAllDiscoveryChains())
|
m.syncDiscoveryChains(state, pending, evt.ListAllDiscoveryChains())
|
||||||
}
|
}
|
||||||
|
|
||||||
err := pending.Add(
|
err := pending.Add(
|
||||||
|
@ -254,7 +255,7 @@ func (m *subscriptionManager) handleEvent(ctx context.Context, state *subscripti
|
||||||
if state.exportList != nil {
|
if state.exportList != nil {
|
||||||
// Trigger public events for all synthetic discovery chain replies.
|
// Trigger public events for all synthetic discovery chain replies.
|
||||||
for chainName, info := range state.connectServices {
|
for chainName, info := range state.connectServices {
|
||||||
m.collectPendingEventForDiscoveryChain(ctx, state, pending, chainName, info)
|
m.collectPendingEventForDiscoveryChain(state, pending, chainName, info)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -475,7 +476,6 @@ func (m *subscriptionManager) syncNormalServices(
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *subscriptionManager) syncDiscoveryChains(
|
func (m *subscriptionManager) syncDiscoveryChains(
|
||||||
ctx context.Context,
|
|
||||||
state *subscriptionState,
|
state *subscriptionState,
|
||||||
pending *pendingPayload,
|
pending *pendingPayload,
|
||||||
chainsByName map[structs.ServiceName]structs.ExportedDiscoveryChainInfo,
|
chainsByName map[structs.ServiceName]structs.ExportedDiscoveryChainInfo,
|
||||||
|
@ -488,7 +488,7 @@ func (m *subscriptionManager) syncDiscoveryChains(
|
||||||
|
|
||||||
state.connectServices[chainName] = info
|
state.connectServices[chainName] = info
|
||||||
|
|
||||||
m.collectPendingEventForDiscoveryChain(ctx, state, pending, chainName, info)
|
m.collectPendingEventForDiscoveryChain(state, pending, chainName, info)
|
||||||
}
|
}
|
||||||
|
|
||||||
// if it was dropped, try to emit an DELETE event
|
// if it was dropped, try to emit an DELETE event
|
||||||
|
@ -516,7 +516,6 @@ func (m *subscriptionManager) syncDiscoveryChains(
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *subscriptionManager) collectPendingEventForDiscoveryChain(
|
func (m *subscriptionManager) collectPendingEventForDiscoveryChain(
|
||||||
ctx context.Context,
|
|
||||||
state *subscriptionState,
|
state *subscriptionState,
|
||||||
pending *pendingPayload,
|
pending *pendingPayload,
|
||||||
chainName structs.ServiceName,
|
chainName structs.ServiceName,
|
||||||
|
@ -786,7 +785,7 @@ func (m *subscriptionManager) notifyMeshConfigUpdates(ctx context.Context) <-cha
|
||||||
const meshConfigWatch = "mesh-config-entry"
|
const meshConfigWatch = "mesh-config-entry"
|
||||||
|
|
||||||
notifyCh := make(chan cache.UpdateEvent, 1)
|
notifyCh := make(chan cache.UpdateEvent, 1)
|
||||||
go m.syncViaBlockingQuery(ctx, meshConfigWatch, func(ctx_ context.Context, store StateStore, ws memdb.WatchSet) (interface{}, error) {
|
go m.syncViaBlockingQuery(ctx, meshConfigWatch, func(_ context.Context, store StateStore, ws memdb.WatchSet) (interface{}, error) {
|
||||||
_, rawEntry, err := store.ConfigEntry(ws, structs.MeshConfig, structs.MeshConfigMesh, acl.DefaultEnterpriseMeta())
|
_, rawEntry, err := store.ConfigEntry(ws, structs.MeshConfig, structs.MeshConfigMesh, acl.DefaultEnterpriseMeta())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("failed to get mesh config entry: %w", err)
|
return nil, fmt.Errorf("failed to get mesh config entry: %w", err)
|
||||||
|
|
|
@ -7,10 +7,11 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/hashicorp/consul/types"
|
|
||||||
"github.com/stretchr/testify/mock"
|
"github.com/stretchr/testify/mock"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
|
"github.com/hashicorp/consul/types"
|
||||||
|
|
||||||
"github.com/hashicorp/consul/acl"
|
"github.com/hashicorp/consul/acl"
|
||||||
"github.com/hashicorp/consul/agent/cache"
|
"github.com/hashicorp/consul/agent/cache"
|
||||||
"github.com/hashicorp/consul/agent/connect"
|
"github.com/hashicorp/consul/agent/connect"
|
||||||
|
@ -843,11 +844,13 @@ func newTestSubscriptionBackend(t *testing.T) *testSubscriptionBackend {
|
||||||
return backend
|
return backend
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//nolint:unparam
|
||||||
func (b *testSubscriptionBackend) ensurePeering(t *testing.T, name string) (uint64, string) {
|
func (b *testSubscriptionBackend) ensurePeering(t *testing.T, name string) (uint64, string) {
|
||||||
b.lastIdx++
|
b.lastIdx++
|
||||||
return b.lastIdx, setupTestPeering(t, b.store, name, b.lastIdx)
|
return b.lastIdx, setupTestPeering(t, b.store, name, b.lastIdx)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//nolint:unparam
|
||||||
func (b *testSubscriptionBackend) ensureConfigEntry(t *testing.T, entry structs.ConfigEntry) uint64 {
|
func (b *testSubscriptionBackend) ensureConfigEntry(t *testing.T, entry structs.ConfigEntry) uint64 {
|
||||||
require.NoError(t, entry.Normalize())
|
require.NoError(t, entry.Normalize())
|
||||||
require.NoError(t, entry.Validate())
|
require.NoError(t, entry.Validate())
|
||||||
|
@ -863,24 +866,28 @@ func (b *testSubscriptionBackend) deleteConfigEntry(t *testing.T, kind, name str
|
||||||
return b.lastIdx
|
return b.lastIdx
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//nolint:unparam
|
||||||
func (b *testSubscriptionBackend) ensureNode(t *testing.T, node *structs.Node) uint64 {
|
func (b *testSubscriptionBackend) ensureNode(t *testing.T, node *structs.Node) uint64 {
|
||||||
b.lastIdx++
|
b.lastIdx++
|
||||||
require.NoError(t, b.store.EnsureNode(b.lastIdx, node))
|
require.NoError(t, b.store.EnsureNode(b.lastIdx, node))
|
||||||
return b.lastIdx
|
return b.lastIdx
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//nolint:unparam
|
||||||
func (b *testSubscriptionBackend) ensureService(t *testing.T, node string, svc *structs.NodeService) uint64 {
|
func (b *testSubscriptionBackend) ensureService(t *testing.T, node string, svc *structs.NodeService) uint64 {
|
||||||
b.lastIdx++
|
b.lastIdx++
|
||||||
require.NoError(t, b.store.EnsureService(b.lastIdx, node, svc))
|
require.NoError(t, b.store.EnsureService(b.lastIdx, node, svc))
|
||||||
return b.lastIdx
|
return b.lastIdx
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//nolint:unparam
|
||||||
func (b *testSubscriptionBackend) ensureCheck(t *testing.T, hc *structs.HealthCheck) uint64 {
|
func (b *testSubscriptionBackend) ensureCheck(t *testing.T, hc *structs.HealthCheck) uint64 {
|
||||||
b.lastIdx++
|
b.lastIdx++
|
||||||
require.NoError(t, b.store.EnsureCheck(b.lastIdx, hc))
|
require.NoError(t, b.store.EnsureCheck(b.lastIdx, hc))
|
||||||
return b.lastIdx
|
return b.lastIdx
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//nolint:unparam
|
||||||
func (b *testSubscriptionBackend) deleteService(t *testing.T, nodeName, serviceID string) uint64 {
|
func (b *testSubscriptionBackend) deleteService(t *testing.T, nodeName, serviceID string) uint64 {
|
||||||
b.lastIdx++
|
b.lastIdx++
|
||||||
require.NoError(t, b.store.DeleteService(b.lastIdx, nodeName, serviceID, nil, ""))
|
require.NoError(t, b.store.DeleteService(b.lastIdx, nodeName, serviceID, nil, ""))
|
||||||
|
|
|
@ -1749,6 +1749,7 @@ func upsertTestACLs(t *testing.T, store *state.Store) {
|
||||||
require.NoError(t, store.ACLTokenBatchSet(101, tokens, state.ACLTokenSetOptions{}))
|
require.NoError(t, store.ACLTokenBatchSet(101, tokens, state.ACLTokenSetOptions{}))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//nolint:unparam
|
||||||
func setupTestPeering(t *testing.T, store *state.Store, name string, index uint64) string {
|
func setupTestPeering(t *testing.T, store *state.Store, name string, index uint64) string {
|
||||||
t.Helper()
|
t.Helper()
|
||||||
err := store.PeeringWrite(index, &pbpeering.PeeringWriteRequest{
|
err := store.PeeringWrite(index, &pbpeering.PeeringWriteRequest{
|
||||||
|
|
|
@ -1235,7 +1235,7 @@ func (s *ResourceGenerator) makeInboundListener(cfgSnap *proxycfg.ConfigSnapshot
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
err := s.finalizePublicListenerFromConfig(l, cfgSnap, cfg, useHTTPFilter)
|
err := s.finalizePublicListenerFromConfig(l, cfgSnap, useHTTPFilter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("failed to attach Consul filters and TLS context to custom public listener: %v", err)
|
return nil, fmt.Errorf("failed to attach Consul filters and TLS context to custom public listener: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -1330,7 +1330,7 @@ func (s *ResourceGenerator) makeInboundListener(cfgSnap *proxycfg.ConfigSnapshot
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
err = s.finalizePublicListenerFromConfig(l, cfgSnap, cfg, useHTTPFilter)
|
err = s.finalizePublicListenerFromConfig(l, cfgSnap, useHTTPFilter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("failed to attach Consul filters and TLS context to custom public listener: %v", err)
|
return nil, fmt.Errorf("failed to attach Consul filters and TLS context to custom public listener: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -1340,7 +1340,7 @@ func (s *ResourceGenerator) makeInboundListener(cfgSnap *proxycfg.ConfigSnapshot
|
||||||
|
|
||||||
// finalizePublicListenerFromConfig is used for best-effort injection of Consul filter-chains onto listeners.
|
// finalizePublicListenerFromConfig is used for best-effort injection of Consul filter-chains onto listeners.
|
||||||
// This include L4 authorization filters and TLS context.
|
// This include L4 authorization filters and TLS context.
|
||||||
func (s *ResourceGenerator) finalizePublicListenerFromConfig(l *envoy_listener_v3.Listener, cfgSnap *proxycfg.ConfigSnapshot, proxyCfg ProxyConfig, useHTTPFilter bool) error {
|
func (s *ResourceGenerator) finalizePublicListenerFromConfig(l *envoy_listener_v3.Listener, cfgSnap *proxycfg.ConfigSnapshot, useHTTPFilter bool) error {
|
||||||
if !useHTTPFilter {
|
if !useHTTPFilter {
|
||||||
// Best-effort injection of L4 intentions
|
// Best-effort injection of L4 intentions
|
||||||
if err := s.injectConnectFilters(cfgSnap, l); err != nil {
|
if err := s.injectConnectFilters(cfgSnap, l); err != nil {
|
||||||
|
|
Loading…
Reference in New Issue