diff --git a/.changeset/two-spies-arrive.md b/.changeset/two-spies-arrive.md new file mode 100644 index 00000000000..cb46c46bce6 --- /dev/null +++ b/.changeset/two-spies-arrive.md @@ -0,0 +1,5 @@ +--- +"chainlink": patch +--- + +#updated Use labelers from `chainlink-common` diff --git a/core/monitoring/monitoring.go b/core/monitoring/monitoring.go deleted file mode 100644 index c1c9cf8d86f..00000000000 --- a/core/monitoring/monitoring.go +++ /dev/null @@ -1,115 +0,0 @@ -package monitoring - -import ( - "context" - "fmt" - - "google.golang.org/protobuf/proto" - - "github.com/smartcontractkit/chainlink-common/pkg/beholder" - beholderpb "github.com/smartcontractkit/chainlink-common/pkg/beholder/pb" - "github.com/smartcontractkit/chainlink-common/pkg/values" -) - -type CustomMessageLabeler struct { - labels map[string]string -} - -func NewCustomMessageLabeler() CustomMessageLabeler { - return CustomMessageLabeler{labels: make(map[string]string)} -} - -// With adds multiple key-value pairs to the CustomMessageLabeler for transmission With SendLogAsCustomMessage -func (c CustomMessageLabeler) With(keyValues ...string) CustomMessageLabeler { - newCustomMessageLabeler := NewCustomMessageLabeler() - - if len(keyValues)%2 != 0 { - // If an odd number of key-value arguments is passed, return the original CustomMessageLabeler unchanged - return c - } - - // Copy existing labels from the current agent - for k, v := range c.labels { - newCustomMessageLabeler.labels[k] = v - } - - // Add new key-value pairs - for i := 0; i < len(keyValues); i += 2 { - key := keyValues[i] - value := keyValues[i+1] - newCustomMessageLabeler.labels[key] = value - } - - return newCustomMessageLabeler -} - -// SendLogAsCustomMessage emits a BaseMessage With msg and labels as data. -// any key in labels that is not part of orderedLabelKeys will not be transmitted -func (c CustomMessageLabeler) SendLogAsCustomMessage(msg string) error { - return sendLogAsCustomMessageW(msg, c.labels) -} - -type MetricsLabeler struct { - Labels map[string]string -} - -func NewMetricsLabeler() MetricsLabeler { - return MetricsLabeler{Labels: make(map[string]string)} -} - -// With adds multiple key-value pairs to the CustomMessageLabeler for transmission With SendLogAsCustomMessage -func (c MetricsLabeler) With(keyValues ...string) MetricsLabeler { - newCustomMetricsLabeler := NewMetricsLabeler() - - if len(keyValues)%2 != 0 { - // If an odd number of key-value arguments is passed, return the original CustomMessageLabeler unchanged - return c - } - - // Copy existing labels from the current agent - for k, v := range c.Labels { - newCustomMetricsLabeler.Labels[k] = v - } - - // Add new key-value pairs - for i := 0; i < len(keyValues); i += 2 { - key := keyValues[i] - value := keyValues[i+1] - newCustomMetricsLabeler.Labels[key] = value - } - - return newCustomMetricsLabeler -} - -func sendLogAsCustomMessageW(msg string, labels map[string]string) error { - // cast to map[string]any - newLabels := map[string]any{} - for k, v := range labels { - newLabels[k] = v - } - - m, err := values.NewMap(newLabels) - if err != nil { - return fmt.Errorf("could not wrap labels to map: %w", err) - } - - // Define a custom protobuf payload to emit - payload := &beholderpb.BaseMessage{ - Msg: msg, - Labels: values.ProtoMap(m), - } - payloadBytes, err := proto.Marshal(payload) - if err != nil { - return fmt.Errorf("sending custom message failed to marshal protobuf: %w", err) - } - - err = beholder.GetEmitter().Emit(context.Background(), payloadBytes, - "beholder_data_schema", "/beholder-base-message/versions/1", // required - "beholder_data_type", "custom_message", - ) - if err != nil { - return fmt.Errorf("sending custom message failed on emit: %w", err) - } - - return nil -} diff --git a/core/monitoring/monitoring_test.go b/core/monitoring/monitoring_test.go deleted file mode 100644 index 7c79c89b1d8..00000000000 --- a/core/monitoring/monitoring_test.go +++ /dev/null @@ -1,16 +0,0 @@ -package monitoring - -import ( - "testing" - - "github.com/stretchr/testify/assert" -) - -// tests CustomMessageAgent does not share state across new instances created by `With` -func Test_CustomMessageAgent(t *testing.T) { - cma := NewCustomMessageLabeler() - cma1 := cma.With("key1", "value1") - cma2 := cma1.With("key2", "value2") - - assert.NotEqual(t, cma1.labels, cma2.labels) -} diff --git a/core/services/registrysyncer/monitoring.go b/core/services/registrysyncer/monitoring.go index 0b75e798625..97d139d044f 100644 --- a/core/services/registrysyncer/monitoring.go +++ b/core/services/registrysyncer/monitoring.go @@ -7,7 +7,9 @@ import ( "go.opentelemetry.io/otel/metric" "github.com/smartcontractkit/chainlink-common/pkg/beholder" - "github.com/smartcontractkit/chainlink/v2/core/monitoring" + "github.com/smartcontractkit/chainlink-common/pkg/metrics" + + localMonitoring "github.com/smartcontractkit/chainlink/v2/core/monitoring" ) var remoteRegistrySyncFailureCounter metric.Int64Counter @@ -30,7 +32,7 @@ func initMonitoringResources() (err error) { // syncerMetricLabeler wraps monitoring.MetricsLabeler to provide workflow specific utilities // for monitoring resources type syncerMetricLabeler struct { - monitoring.MetricsLabeler + metrics.Labeler } func (c syncerMetricLabeler) with(keyValues ...string) syncerMetricLabeler { @@ -38,11 +40,11 @@ func (c syncerMetricLabeler) with(keyValues ...string) syncerMetricLabeler { } func (c syncerMetricLabeler) incrementRemoteRegistryFailureCounter(ctx context.Context) { - otelLabels := monitoring.KvMapToOtelAttributes(c.Labels) + otelLabels := localMonitoring.KvMapToOtelAttributes(c.Labels) remoteRegistrySyncFailureCounter.Add(ctx, 1, metric.WithAttributes(otelLabels...)) } func (c syncerMetricLabeler) incrementLauncherFailureCounter(ctx context.Context) { - otelLabels := monitoring.KvMapToOtelAttributes(c.Labels) + otelLabels := localMonitoring.KvMapToOtelAttributes(c.Labels) launcherFailureCounter.Add(ctx, 1, metric.WithAttributes(otelLabels...)) } diff --git a/core/services/registrysyncer/monitoring_test.go b/core/services/registrysyncer/monitoring_test.go index f19f43393a1..1ddb6c57997 100644 --- a/core/services/registrysyncer/monitoring_test.go +++ b/core/services/registrysyncer/monitoring_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/smartcontractkit/chainlink/v2/core/monitoring" + "github.com/smartcontractkit/chainlink-common/pkg/metrics" ) func Test_InitMonitoringResources(t *testing.T) { @@ -13,7 +13,7 @@ func Test_InitMonitoringResources(t *testing.T) { } func Test_SyncerMetricsLabeler(t *testing.T) { - testSyncerMetricLabeler := syncerMetricLabeler{monitoring.NewMetricsLabeler()} + testSyncerMetricLabeler := syncerMetricLabeler{metrics.NewLabeler()} testSyncerMetricLabeler2 := testSyncerMetricLabeler.with("foo", "baz") require.EqualValues(t, testSyncerMetricLabeler2.Labels["foo"], "baz") } diff --git a/core/services/relay/evm/evmtesting/chain_components_interface_tester.go b/core/services/relay/evm/evmtesting/chain_components_interface_tester.go index 97f84653801..968c7667882 100644 --- a/core/services/relay/evm/evmtesting/chain_components_interface_tester.go +++ b/core/services/relay/evm/evmtesting/chain_components_interface_tester.go @@ -9,14 +9,15 @@ import ( "github.com/ethereum/go-ethereum/accounts/abi/bind" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common/hexutil" + gethtypes "github.com/ethereum/go-ethereum/core/types" "github.com/jmoiron/sqlx" "github.com/smartcontractkit/libocr/commontypes" + "github.com/stretchr/testify/require" commoncodec "github.com/smartcontractkit/chainlink-common/pkg/codec" clcommontypes "github.com/smartcontractkit/chainlink-common/pkg/types" . "github.com/smartcontractkit/chainlink-common/pkg/types/interfacetests" //nolint common practice to import test mods with . "github.com/smartcontractkit/chainlink-common/pkg/types/query/primitives" - "github.com/smartcontractkit/chainlink/v2/core/internal/testutils" "github.com/smartcontractkit/chainlink/v2/core/chains/evm/assets" "github.com/smartcontractkit/chainlink/v2/core/chains/evm/client" @@ -26,13 +27,11 @@ import ( evmtxmgr "github.com/smartcontractkit/chainlink/v2/core/chains/evm/txmgr" evmtypes "github.com/smartcontractkit/chainlink/v2/core/chains/evm/types" "github.com/smartcontractkit/chainlink/v2/core/gethwrappers/generated/chain_reader_tester" + "github.com/smartcontractkit/chainlink/v2/core/internal/testutils" _ "github.com/smartcontractkit/chainlink/v2/core/internal/testutils/pgtest" // force binding for tx type "github.com/smartcontractkit/chainlink/v2/core/logger" "github.com/smartcontractkit/chainlink/v2/core/services/relay/evm" "github.com/smartcontractkit/chainlink/v2/core/services/relay/evm/types" - - gethtypes "github.com/ethereum/go-ethereum/core/types" - "github.com/stretchr/testify/require" ) const ( diff --git a/core/services/workflows/engine.go b/core/services/workflows/engine.go index d6b1e793287..8b05bbbd101 100644 --- a/core/services/workflows/engine.go +++ b/core/services/workflows/engine.go @@ -9,18 +9,17 @@ import ( "sync" "time" - "github.com/smartcontractkit/chainlink/v2/core/monitoring" - "github.com/jonboulle/clockwork" - "github.com/smartcontractkit/chainlink-common/pkg/workflows/exec" - "github.com/smartcontractkit/chainlink-common/pkg/workflows/sdk" - "github.com/smartcontractkit/chainlink-common/pkg/capabilities" + "github.com/smartcontractkit/chainlink-common/pkg/custmsg" + "github.com/smartcontractkit/chainlink-common/pkg/metrics" "github.com/smartcontractkit/chainlink-common/pkg/services" "github.com/smartcontractkit/chainlink-common/pkg/types/core" "github.com/smartcontractkit/chainlink-common/pkg/values" "github.com/smartcontractkit/chainlink-common/pkg/workflows" + "github.com/smartcontractkit/chainlink-common/pkg/workflows/exec" + "github.com/smartcontractkit/chainlink-common/pkg/workflows/sdk" "github.com/smartcontractkit/chainlink/v2/core/capabilities/transmission" "github.com/smartcontractkit/chainlink/v2/core/logger" @@ -92,7 +91,7 @@ func (sucm *stepUpdateManager) len() int64 { // Engine handles the lifecycle of a single workflow and its executions. type Engine struct { services.StateMachine - cma monitoring.CustomMessageLabeler + cma custmsg.Labeler metrics workflowsMetricLabeler logger logger.Logger registry core.CapabilitiesRegistry @@ -1162,8 +1161,8 @@ func NewEngine(cfg Config) (engine *Engine, err error) { engine = &Engine{ logger: cfg.Lggr.Named("WorkflowEngine").With("workflowID", cfg.WorkflowID), - cma: monitoring.NewCustomMessageLabeler().With(wIDKey, cfg.WorkflowID, woIDKey, cfg.WorkflowOwner, wnKey, workflow.name), - metrics: workflowsMetricLabeler{monitoring.NewMetricsLabeler().With(wIDKey, cfg.WorkflowID, woIDKey, cfg.WorkflowOwner, wnKey, workflow.name)}, + cma: custmsg.NewLabeler().With(wIDKey, cfg.WorkflowID, woIDKey, cfg.WorkflowOwner, wnKey, workflow.name), + metrics: workflowsMetricLabeler{metrics.NewLabeler().With(wIDKey, cfg.WorkflowID, woIDKey, cfg.WorkflowOwner, wnKey, workflow.name)}, registry: cfg.Registry, workflow: workflow, env: exec.Env{ diff --git a/core/services/workflows/monitoring.go b/core/services/workflows/monitoring.go index 7c978196b13..48c1519914f 100644 --- a/core/services/workflows/monitoring.go +++ b/core/services/workflows/monitoring.go @@ -7,7 +7,9 @@ import ( "go.opentelemetry.io/otel/metric" "github.com/smartcontractkit/chainlink-common/pkg/beholder" - "github.com/smartcontractkit/chainlink/v2/core/monitoring" + "github.com/smartcontractkit/chainlink-common/pkg/metrics" + + localMonitoring "github.com/smartcontractkit/chainlink/v2/core/monitoring" ) var registerTriggerFailureCounter metric.Int64Counter @@ -48,7 +50,7 @@ func initMonitoringResources() (err error) { // workflowsMetricLabeler wraps monitoring.MetricsLabeler to provide workflow specific utilities // for monitoring resources type workflowsMetricLabeler struct { - monitoring.MetricsLabeler + metrics.Labeler } func (c workflowsMetricLabeler) with(keyValues ...string) workflowsMetricLabeler { @@ -56,27 +58,27 @@ func (c workflowsMetricLabeler) with(keyValues ...string) workflowsMetricLabeler } func (c workflowsMetricLabeler) incrementRegisterTriggerFailureCounter(ctx context.Context) { - otelLabels := monitoring.KvMapToOtelAttributes(c.Labels) + otelLabels := localMonitoring.KvMapToOtelAttributes(c.Labels) registerTriggerFailureCounter.Add(ctx, 1, metric.WithAttributes(otelLabels...)) } func (c workflowsMetricLabeler) incrementCapabilityInvocationCounter(ctx context.Context) { - otelLabels := monitoring.KvMapToOtelAttributes(c.Labels) + otelLabels := localMonitoring.KvMapToOtelAttributes(c.Labels) capabilityInvocationCounter.Add(ctx, 1, metric.WithAttributes(otelLabels...)) } func (c workflowsMetricLabeler) updateWorkflowExecutionLatencyGauge(ctx context.Context, val int64) { - otelLabels := monitoring.KvMapToOtelAttributes(c.Labels) + otelLabels := localMonitoring.KvMapToOtelAttributes(c.Labels) workflowExecutionLatencyGauge.Record(ctx, val, metric.WithAttributes(otelLabels...)) } func (c workflowsMetricLabeler) incrementTotalWorkflowStepErrorsCounter(ctx context.Context) { - otelLabels := monitoring.KvMapToOtelAttributes(c.Labels) + otelLabels := localMonitoring.KvMapToOtelAttributes(c.Labels) workflowStepErrorCounter.Add(ctx, 1, metric.WithAttributes(otelLabels...)) } func (c workflowsMetricLabeler) updateTotalWorkflowsGauge(ctx context.Context, val int64) { - otelLabels := monitoring.KvMapToOtelAttributes(c.Labels) + otelLabels := localMonitoring.KvMapToOtelAttributes(c.Labels) workflowsRunningGauge.Record(ctx, val, metric.WithAttributes(otelLabels...)) } diff --git a/core/services/workflows/monitoring_test.go b/core/services/workflows/monitoring_test.go index c0576b25a93..5910e583c95 100644 --- a/core/services/workflows/monitoring_test.go +++ b/core/services/workflows/monitoring_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/smartcontractkit/chainlink/v2/core/monitoring" + "github.com/smartcontractkit/chainlink-common/pkg/metrics" ) func Test_InitMonitoringResources(t *testing.T) { @@ -13,7 +13,7 @@ func Test_InitMonitoringResources(t *testing.T) { } func Test_WorkflowMetricsLabeler(t *testing.T) { - testWorkflowsMetricLabeler := workflowsMetricLabeler{monitoring.NewMetricsLabeler()} + testWorkflowsMetricLabeler := workflowsMetricLabeler{metrics.NewLabeler()} testWorkflowsMetricLabeler2 := testWorkflowsMetricLabeler.with("foo", "baz") require.EqualValues(t, testWorkflowsMetricLabeler2.Labels["foo"], "baz") } diff --git a/integration-tests/go.mod b/integration-tests/go.mod index 11ffe6c7f44..28dca457e45 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -171,7 +171,7 @@ require ( github.com/cosmos/ibc-go/v7 v7.5.1 // indirect github.com/cosmos/ics23/go v0.10.0 // indirect github.com/cosmos/ledger-cosmos-go v0.12.4 // indirect - github.com/cpuguy83/dockercfg v0.3.1 // indirect + github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/crate-crypto/go-ipa v0.0.0-20231025140028-3c0104f4b233 // indirect github.com/crate-crypto/go-kzg-4844 v0.7.0 // indirect github.com/danieljoos/wincred v1.1.2 // indirect @@ -354,8 +354,8 @@ require ( github.com/moby/docker-image-spec v1.3.1 // indirect github.com/moby/patternmatcher v0.6.0 // indirect github.com/moby/spdystream v0.4.0 // indirect - github.com/moby/sys/sequential v0.5.0 // indirect - github.com/moby/sys/user v0.1.0 // indirect + github.com/moby/sys/sequential v0.6.0 // indirect + github.com/moby/sys/user v0.3.0 // indirect github.com/moby/sys/userns v0.1.0 // indirect github.com/moby/term v0.5.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect diff --git a/integration-tests/go.sum b/integration-tests/go.sum index 54796ce079d..25c8e3e4b96 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -399,8 +399,8 @@ github.com/cosmos/ledger-cosmos-go v0.12.4 h1:drvWt+GJP7Aiw550yeb3ON/zsrgW0jgh5s github.com/cosmos/ledger-cosmos-go v0.12.4/go.mod h1:fjfVWRf++Xkygt9wzCsjEBdjcf7wiiY35fv3ctT+k4M= github.com/cosmos/rosetta-sdk-go v0.10.0 h1:E5RhTruuoA7KTIXUcMicL76cffyeoyvNybzUGSKFTcM= github.com/cosmos/rosetta-sdk-go v0.10.0/go.mod h1:SImAZkb96YbwvoRkzSMQB6noNJXFgWl/ENIznEoYQI4= -github.com/cpuguy83/dockercfg v0.3.1 h1:/FpZ+JaygUR/lZP2NlFI2DVfrOEMAIKP5wWEJdoYe9E= -github.com/cpuguy83/dockercfg v0.3.1/go.mod h1:sugsbF4//dDlL/i+S+rtpIWp+5h0BHJHfjj5/jFyUJc= +github.com/cpuguy83/dockercfg v0.3.2 h1:DlJTyZGBDlXqUZ2Dk2Q3xHs/FtnooJJVaad2S9GKorA= +github.com/cpuguy83/dockercfg v0.3.2/go.mod h1:sugsbF4//dDlL/i+S+rtpIWp+5h0BHJHfjj5/jFyUJc= github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= @@ -1152,10 +1152,10 @@ github.com/moby/patternmatcher v0.6.0 h1:GmP9lR19aU5GqSSFko+5pRqHi+Ohk1O69aFiKkV github.com/moby/patternmatcher v0.6.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= github.com/moby/spdystream v0.4.0 h1:Vy79D6mHeJJjiPdFEL2yku1kl0chZpJfZcPpb16BRl8= github.com/moby/spdystream v0.4.0/go.mod h1:xBAYlnt/ay+11ShkdFKNAG7LsyK/tmNBVvVOwrfMgdI= -github.com/moby/sys/sequential v0.5.0 h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5lXtc= -github.com/moby/sys/sequential v0.5.0/go.mod h1:tH2cOOs5V9MlPiXcQzRC+eEyab644PWKGRYaaV5ZZlo= -github.com/moby/sys/user v0.1.0 h1:WmZ93f5Ux6het5iituh9x2zAG7NFY9Aqi49jjE1PaQg= -github.com/moby/sys/user v0.1.0/go.mod h1:fKJhFOnsCN6xZ5gSfbM6zaHGgDJMrqt9/reuj4T7MmU= +github.com/moby/sys/sequential v0.6.0 h1:qrx7XFUd/5DxtqcoH1h438hF5TmOvzC/lspjy7zgvCU= +github.com/moby/sys/sequential v0.6.0/go.mod h1:uyv8EUTrca5PnDsdMGXhZe6CCe8U/UiTWd+lL+7b/Ko= +github.com/moby/sys/user v0.3.0 h1:9ni5DlcW5an3SvRSx4MouotOygvzaXbaSrc/wGDFWPo= +github.com/moby/sys/user v0.3.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= github.com/moby/sys/userns v0.1.0 h1:tVLXkFOxVu9A64/yh59slHVv9ahO9UIev4JZusOLG/g= github.com/moby/sys/userns v0.1.0/go.mod h1:IHUYgu/kao6N8YZlp9Cf444ySSvCmDlmzUcYfDHOl28= github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= diff --git a/integration-tests/load/go.mod b/integration-tests/load/go.mod index d305798c75f..05de2f83b77 100644 --- a/integration-tests/load/go.mod +++ b/integration-tests/load/go.mod @@ -162,7 +162,7 @@ require ( github.com/cosmos/ibc-go/v7 v7.5.1 // indirect github.com/cosmos/ics23/go v0.10.0 // indirect github.com/cosmos/ledger-cosmos-go v0.12.4 // indirect - github.com/cpuguy83/dockercfg v0.3.1 // indirect + github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/crate-crypto/go-ipa v0.0.0-20231025140028-3c0104f4b233 // indirect github.com/crate-crypto/go-kzg-4844 v0.7.0 // indirect github.com/danieljoos/wincred v1.1.2 // indirect @@ -351,8 +351,8 @@ require ( github.com/moby/docker-image-spec v1.3.1 // indirect github.com/moby/patternmatcher v0.6.0 // indirect github.com/moby/spdystream v0.4.0 // indirect - github.com/moby/sys/sequential v0.5.0 // indirect - github.com/moby/sys/user v0.1.0 // indirect + github.com/moby/sys/sequential v0.6.0 // indirect + github.com/moby/sys/user v0.3.0 // indirect github.com/moby/sys/userns v0.1.0 // indirect github.com/moby/term v0.5.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect diff --git a/integration-tests/load/go.sum b/integration-tests/load/go.sum index ce139ea09ab..22e168f8531 100644 --- a/integration-tests/load/go.sum +++ b/integration-tests/load/go.sum @@ -383,8 +383,8 @@ github.com/cosmos/ledger-cosmos-go v0.12.4 h1:drvWt+GJP7Aiw550yeb3ON/zsrgW0jgh5s github.com/cosmos/ledger-cosmos-go v0.12.4/go.mod h1:fjfVWRf++Xkygt9wzCsjEBdjcf7wiiY35fv3ctT+k4M= github.com/cosmos/rosetta-sdk-go v0.10.0 h1:E5RhTruuoA7KTIXUcMicL76cffyeoyvNybzUGSKFTcM= github.com/cosmos/rosetta-sdk-go v0.10.0/go.mod h1:SImAZkb96YbwvoRkzSMQB6noNJXFgWl/ENIznEoYQI4= -github.com/cpuguy83/dockercfg v0.3.1 h1:/FpZ+JaygUR/lZP2NlFI2DVfrOEMAIKP5wWEJdoYe9E= -github.com/cpuguy83/dockercfg v0.3.1/go.mod h1:sugsbF4//dDlL/i+S+rtpIWp+5h0BHJHfjj5/jFyUJc= +github.com/cpuguy83/dockercfg v0.3.2 h1:DlJTyZGBDlXqUZ2Dk2Q3xHs/FtnooJJVaad2S9GKorA= +github.com/cpuguy83/dockercfg v0.3.2/go.mod h1:sugsbF4//dDlL/i+S+rtpIWp+5h0BHJHfjj5/jFyUJc= github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= @@ -1134,10 +1134,10 @@ github.com/moby/patternmatcher v0.6.0 h1:GmP9lR19aU5GqSSFko+5pRqHi+Ohk1O69aFiKkV github.com/moby/patternmatcher v0.6.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= github.com/moby/spdystream v0.4.0 h1:Vy79D6mHeJJjiPdFEL2yku1kl0chZpJfZcPpb16BRl8= github.com/moby/spdystream v0.4.0/go.mod h1:xBAYlnt/ay+11ShkdFKNAG7LsyK/tmNBVvVOwrfMgdI= -github.com/moby/sys/sequential v0.5.0 h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5lXtc= -github.com/moby/sys/sequential v0.5.0/go.mod h1:tH2cOOs5V9MlPiXcQzRC+eEyab644PWKGRYaaV5ZZlo= -github.com/moby/sys/user v0.1.0 h1:WmZ93f5Ux6het5iituh9x2zAG7NFY9Aqi49jjE1PaQg= -github.com/moby/sys/user v0.1.0/go.mod h1:fKJhFOnsCN6xZ5gSfbM6zaHGgDJMrqt9/reuj4T7MmU= +github.com/moby/sys/sequential v0.6.0 h1:qrx7XFUd/5DxtqcoH1h438hF5TmOvzC/lspjy7zgvCU= +github.com/moby/sys/sequential v0.6.0/go.mod h1:uyv8EUTrca5PnDsdMGXhZe6CCe8U/UiTWd+lL+7b/Ko= +github.com/moby/sys/user v0.3.0 h1:9ni5DlcW5an3SvRSx4MouotOygvzaXbaSrc/wGDFWPo= +github.com/moby/sys/user v0.3.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= github.com/moby/sys/userns v0.1.0 h1:tVLXkFOxVu9A64/yh59slHVv9ahO9UIev4JZusOLG/g= github.com/moby/sys/userns v0.1.0/go.mod h1:IHUYgu/kao6N8YZlp9Cf444ySSvCmDlmzUcYfDHOl28= github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0=