Skip to content

Commit f9f4f3d

Browse files
lib: consolidate infrastructure functions into shared modules
Relocated cluster functions from cluster/cmd to lib/cluster: - CreateCollector → lib/cluster/cluster.go - ConnectEtcdUriOpts → lib/cluster/etcd.go - DoOnStorage → lib/cluster/etcd.go - MakeEtcdOptsFromUriOpts → lib/cluster/etcd.go - MakeConnectOptsFromUriOpts → lib/cluster/tarantool.go - ConnectTarantool → lib/cluster/tarantool.go Established new lib/connect submodule
1 parent 6599f9c commit f9f4f3d

File tree

16 files changed

+116
-126
lines changed

16 files changed

+116
-126
lines changed

CHANGELOG.md

+9
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,15 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
2525

2626
### Changed
2727

28+
- The following functions were moved from `cluster/cmd` to `lib/cluster`:
29+
* CreateCollector → lib/cluster/cluster.go,
30+
* ConnectEtcdUriOpts → lib/cluster/etcd.go,
31+
* DoOnStorage → lib/cluster/etcd.go,
32+
* MakeEtcdOptsFromUriOpts → lib/cluster/etcd.go,
33+
* MakeConnectOptsFromUriOpts → lib/cluster/tarantool.go,
34+
* ConnectTarantool → lib/cluster/tarantool.go.
35+
- Added new submodule `lib/connect`.
36+
2837
### Fixed
2938

3039
- Arguments of an internal command are not parsed if it is forced over its existent

cli/cluster/cmd/common.go

+4-81
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
package cmd
22

33
import (
4-
"context"
54
"errors"
65
"fmt"
7-
"os"
86

97
clientv3 "go.etcd.io/etcd/client/v3"
108

119
"github.com/tarantool/go-tarantool/v2"
1210
"github.com/tarantool/tt/cli/cluster"
1311
libcluster "github.com/tarantool/tt/lib/cluster"
14-
"github.com/tarantool/tt/lib/connect"
12+
libconnect "github.com/tarantool/tt/lib/connect"
1513
)
1614

1715
// printRawClusterConfig prints a raw cluster configuration or an instance
@@ -137,87 +135,12 @@ func printConfig(config *libcluster.Config) {
137135
fmt.Print(config.String())
138136
}
139137

140-
// connectOpts is additional connect options specified by a user.
141-
type connectOpts struct {
142-
Username string
143-
Password string
144-
}
145-
146-
// connectTarantool establishes a connection to Tarantool.
147-
func connectTarantool(uriOpts connect.UriOpts, connOpts connectOpts) (tarantool.Connector, error) {
148-
if uriOpts.Username == "" && uriOpts.Password == "" {
149-
uriOpts.Username = connOpts.Username
150-
uriOpts.Password = connOpts.Password
151-
if uriOpts.Username == "" {
152-
uriOpts.Username = os.Getenv(connect.TarantoolUsernameEnv)
153-
}
154-
if uriOpts.Password == "" {
155-
uriOpts.Password = os.Getenv(connect.TarantoolPasswordEnv)
156-
}
157-
}
158-
159-
dialer, connectorOpts, err := MakeConnectOptsFromUriOpts(uriOpts)
160-
if err != nil {
161-
return nil, err
162-
}
163-
164-
ctx := context.Background()
165-
if connectorOpts.Timeout > 0 {
166-
var cancel context.CancelFunc
167-
ctx, cancel = context.WithTimeout(ctx, connectorOpts.Timeout)
168-
defer cancel()
169-
}
170-
conn, err := tarantool.Connect(ctx, dialer, connectorOpts)
171-
if err != nil {
172-
return nil, fmt.Errorf("failed to connect to tarantool: %w", err)
173-
}
174-
return conn, nil
175-
}
176-
177-
// connectEtcd establishes a connection to etcd.
178-
func connectEtcd(uriOpts connect.UriOpts, connOpts connectOpts) (*clientv3.Client, error) {
179-
etcdOpts := MakeEtcdOptsFromUriOpts(uriOpts)
180-
if etcdOpts.Username == "" && etcdOpts.Password == "" {
181-
etcdOpts.Username = connOpts.Username
182-
etcdOpts.Password = connOpts.Password
183-
if etcdOpts.Username == "" {
184-
etcdOpts.Username = os.Getenv(connect.EtcdUsernameEnv)
185-
}
186-
if etcdOpts.Password == "" {
187-
etcdOpts.Password = os.Getenv(connect.EtcdPasswordEnv)
188-
}
189-
}
190-
191-
etcdcli, err := libcluster.ConnectEtcd(etcdOpts)
192-
if err != nil {
193-
return nil, fmt.Errorf("failed to connect to etcd: %w", err)
194-
}
195-
return etcdcli, nil
196-
}
197-
198-
// doOnStorage determines a storage based on the opts.
199-
func doOnStorage(connOpts connectOpts, opts connect.UriOpts,
200-
tarantoolFunc func(tarantool.Connector) error, etcdFunc func(*clientv3.Client) error) error {
201-
etcdcli, errEtcd := connectEtcd(opts, connOpts)
202-
if errEtcd == nil {
203-
return etcdFunc(etcdcli)
204-
}
205-
206-
conn, errTarantool := connectTarantool(opts, connOpts)
207-
if errTarantool == nil {
208-
return tarantoolFunc(conn)
209-
}
210-
211-
return fmt.Errorf("failed to establish a connection to tarantool or etcd: %w, %w",
212-
errTarantool, errEtcd)
213-
}
214-
215138
// createPublisherAndCollector creates a new data publisher and collector based on UriOpts.
216139
func createPublisherAndCollector(
217140
publishers libcluster.DataPublisherFactory,
218141
collectors libcluster.CollectorFactory,
219-
connOpts connectOpts,
220-
opts connect.UriOpts) (libcluster.DataPublisher, libcluster.Collector, func(), error) {
142+
connOpts libcluster.ConnectOpts,
143+
opts libconnect.UriOpts) (libcluster.DataPublisher, libcluster.Collector, func(), error) {
221144
prefix, key, timeout := opts.Prefix, opts.Params["key"], opts.Timeout
222145

223146
var (
@@ -265,7 +188,7 @@ func createPublisherAndCollector(
265188
return nil
266189
}
267190

268-
if err := doOnStorage(connOpts, opts, tarantoolFunc, etcdFunc); err != nil {
191+
if err := libcluster.DoOnStorage(connOpts, opts, tarantoolFunc, etcdFunc); err != nil {
269192
return nil, nil, nil, err
270193
}
271194

cli/cluster/cmd/publish.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func PublishUri(publishCtx PublishCtx, opts connect.UriOpts) error {
3838
return err
3939
}
4040

41-
connOpts := connectOpts{
41+
connOpts := libcluster.ConnectOpts{
4242
Username: publishCtx.Username,
4343
Password: publishCtx.Password,
4444
}

cli/cluster/cmd/replicaset.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ func pickPatchKey(keys []string, force bool, pathMsg string) (int, error) {
107107
func createDataCollectorAndKeyPublisher(
108108
collectors libcluster.DataCollectorFactory,
109109
publishers libcluster.DataPublisherFactory,
110-
opts connect.UriOpts, connOpts connectOpts) (
110+
opts connect.UriOpts, connOpts libcluster.ConnectOpts) (
111111
libcluster.DataCollector, replicaset.DataPublisher, func(), error) {
112112
prefix, key, timeout := opts.Prefix, opts.Params["key"], opts.Timeout
113113
var (
@@ -145,7 +145,7 @@ func createDataCollectorAndKeyPublisher(
145145
return nil
146146
}
147147

148-
if err := doOnStorage(connOpts, opts, tarantoolFunc, etcdFunc); err != nil {
148+
if err := libcluster.DoOnStorage(connOpts, opts, tarantoolFunc, etcdFunc); err != nil {
149149
return nil, nil, nil, err
150150
}
151151

@@ -158,7 +158,7 @@ func Promote(url string, ctx PromoteCtx) error {
158158
if err != nil {
159159
return fmt.Errorf("invalid URL %q: %w", url, err)
160160
}
161-
connOpts := connectOpts{
161+
connOpts := libcluster.ConnectOpts{
162162
Username: ctx.Username,
163163
Password: ctx.Password,
164164
}
@@ -205,7 +205,7 @@ func Demote(url string, ctx DemoteCtx) error {
205205
if err != nil {
206206
return fmt.Errorf("invalid URL %q: %w", url, err)
207207
}
208-
connOpts := connectOpts{
208+
connOpts := libcluster.ConnectOpts{
209209
Username: ctx.Username,
210210
Password: ctx.Password,
211211
}
@@ -252,7 +252,7 @@ func Expel(url string, ctx ExpelCtx) error {
252252
if err != nil {
253253
return fmt.Errorf("invalid URL %q: %w", url, err)
254254
}
255-
connOpts := connectOpts{
255+
connOpts := libcluster.ConnectOpts{
256256
Username: ctx.Username,
257257
Password: ctx.Password,
258258
}
@@ -306,7 +306,7 @@ func ChangeRole(url string, ctx RolesChangeCtx, action replicaset.RolesChangerAc
306306
if err != nil {
307307
return fmt.Errorf("invalid URL %q: %w", url, err)
308308
}
309-
connOpts := connectOpts{
309+
connOpts := libcluster.ConnectOpts{
310310
Username: ctx.Username,
311311
Password: ctx.Password,
312312
}

cli/cluster/cmd/show.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ type ShowCtx struct {
2323

2424
// ShowUri shows a configuration from URI.
2525
func ShowUri(showCtx ShowCtx, opts connect.UriOpts) error {
26-
connOpts := connectOpts{
26+
connOpts := libcluster.ConnectOpts{
2727
Username: showCtx.Username,
2828
Password: showCtx.Password,
2929
}

cli/cmd/aeon.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,8 @@ var aoenHelp = libconnect.MakeURLHelp(map[string]any{
3131
"service": "etcd or tarantool config storage",
3232
"param_key": "a target configuration key in the prefix",
3333
"param_name": "a name of an instance in the cluster configuration",
34-
"/prefix": "key prefix (optional)," +
35-
"points to a “namespace” or prefix for all key operations " +
36-
"example: If you set a key mykey, it will actually be stored as /prefix/mykey.",
34+
"prefix": "key prefix (optional)," +
35+
" points to a “namespace” or prefix for all key operations ",
3736
})
3837

3938
var connectCtx = aeoncmd.ConnectCtx{

go.mod

+4-2
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@ require (
2121
github.com/moby/term v0.0.0-20221105221325-4eb28fa6025c
2222
github.com/nxadm/tail v1.4.11
2323
github.com/otiai10/copy v1.14.0
24-
github.com/pmezard/go-difflib v1.0.0
2524
github.com/spf13/cobra v1.8.0
26-
github.com/stretchr/testify v1.9.0
25+
github.com/stretchr/testify v1.10.0
2726
github.com/tarantool/cartridge-cli v0.0.0-20220605082730-53e6a5be9a61
2827
github.com/tarantool/go-prompt v1.0.1
2928
github.com/tarantool/go-tarantool v1.12.2
3029
github.com/tarantool/go-tarantool/v2 v2.2.1
3130
github.com/tarantool/go-tlsdialer v1.0.0
3231
github.com/tarantool/tt/lib/cluster v0.0.0
32+
github.com/tarantool/tt/lib/connect v0.0.0-0
3333
github.com/tarantool/tt/lib/integrity v0.0.0
3434
github.com/vmihailenco/msgpack/v5 v5.3.5
3535
github.com/yuin/gopher-lua v1.1.1-0.20230219103905-71163b697a8f
@@ -104,6 +104,7 @@ require (
104104
github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b // indirect
105105
github.com/pkg/errors v0.9.1 // indirect
106106
github.com/pkg/term v1.2.0-beta.2 // indirect
107+
github.com/pmezard/go-difflib v1.0.0 // indirect
107108
github.com/prometheus/client_golang v1.11.1 // indirect
108109
github.com/prometheus/client_model v0.2.0 // indirect
109110
github.com/prometheus/common v0.30.0 // indirect
@@ -162,4 +163,5 @@ replace (
162163
github.com/tarantool/cartridge-cli => ./cli/cartridge/third_party/cartridge-cli
163164
github.com/tarantool/tt/lib/cluster => ./lib/cluster
164165
github.com/tarantool/tt/lib/integrity => ./lib/integrity
166+
github.com/tarantool/tt/lib/connect => ./lib/connect
165167
)

go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -425,8 +425,8 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
425425
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
426426
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
427427
github.com/stretchr/testify v1.7.4/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
428-
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
429-
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
428+
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
429+
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
430430
github.com/tarantool/go-iproto v1.1.0 h1:HULVOIHsiehI+FnHfM7wMDntuzUddO09DKqu2WnFQ5A=
431431
github.com/tarantool/go-iproto v1.1.0/go.mod h1:LNCtdyZxojUed8SbOiYHoc3v9NvaZTB7p96hUySMlIo=
432432
github.com/tarantool/go-openssl v0.0.8-0.20230307065445-720eeb389195/go.mod h1:M7H4xYSbzqpW/ZRBMyH0eyqQBsnhAMfsYk5mv0yid7A=

lib/cluster/etcd.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -834,7 +834,7 @@ func СonnectEtcdUriOpts(uriOpts libconnect.UriOpts, connOpts ConnectOpts) (*cli
834834
return etcdcli, nil
835835
}
836836

837-
// doOnStorage determines a storage based on the opts.
837+
// DoOnStorage determines a storage based on the opts.
838838
func DoOnStorage(connOpts ConnectOpts, opts libconnect.UriOpts,
839839
tarantoolFunc func(tarantool.Connector) error, etcdFunc func(*clientv3.Client) error) error {
840840
etcdcli, errEtcd := СonnectEtcdUriOpts(opts, connOpts)

lib/cluster/go.mod

+11-4
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@ go 1.20
44

55
require (
66
github.com/mitchellh/mapstructure v1.5.0
7-
github.com/stretchr/testify v1.9.0
7+
github.com/stretchr/testify v1.10.0
88
github.com/tarantool/go-tarantool/v2 v2.2.1
9+
github.com/tarantool/tt/lib/connect v0.0.0-0
910
go.etcd.io/etcd/api/v3 v3.5.12
1011
go.etcd.io/etcd/client/pkg/v3 v3.5.12
1112
go.etcd.io/etcd/client/v3 v3.5.12
@@ -30,18 +31,21 @@ require (
3031
github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect
3132
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect
3233
github.com/jonboulle/clockwork v0.2.2 // indirect
33-
github.com/json-iterator/go v1.1.11 // indirect
34+
github.com/json-iterator/go v1.1.12 // indirect
35+
github.com/mattn/go-pointer v0.0.1 // indirect
3436
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
3537
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
36-
github.com/modern-go/reflect2 v1.0.1 // indirect
38+
github.com/modern-go/reflect2 v1.0.2 // indirect
3739
github.com/prometheus/client_golang v1.11.1 // indirect
3840
github.com/prometheus/client_model v0.2.0 // indirect
3941
github.com/prometheus/common v0.26.0 // indirect
4042
github.com/prometheus/procfs v0.6.0 // indirect
41-
github.com/sirupsen/logrus v1.7.0 // indirect
43+
github.com/sirupsen/logrus v1.8.1 // indirect
4244
github.com/soheilhy/cmux v0.1.5 // indirect
45+
github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 // indirect
4346
github.com/spf13/pflag v1.0.5 // indirect
4447
github.com/tarantool/go-iproto v1.1.0 // indirect
48+
github.com/tarantool/go-openssl v1.0.0 // indirect
4549
github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 // indirect
4650
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 // indirect
4751
go.etcd.io/bbolt v1.3.8 // indirect
@@ -71,6 +75,7 @@ require (
7175
github.com/gogo/protobuf v1.3.2 // indirect
7276
github.com/golang/protobuf v1.5.4 // indirect
7377
github.com/pmezard/go-difflib v1.0.0 // indirect
78+
github.com/tarantool/go-tlsdialer v1.0.0
7479
github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect
7580
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
7681
go.etcd.io/etcd/tests/v3 v3.5.12
@@ -84,3 +89,5 @@ require (
8489
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
8590
google.golang.org/protobuf v1.33.0 // indirect
8691
)
92+
93+
replace github.com/tarantool/tt/lib/connect => ../connect

lib/cluster/go.sum

+17-6
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,9 @@ github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUB
102102
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
103103
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
104104
github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
105-
github.com/json-iterator/go v1.1.11 h1:uVUAXhF2To8cbw/3xN3pxj6kk7TYKs98NIrTqPlMWAQ=
106105
github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
106+
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
107+
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
107108
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
108109
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
109110
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
@@ -116,6 +117,8 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
116117
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
117118
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
118119
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
120+
github.com/mattn/go-pointer v0.0.1 h1:n+XhsuGeVO6MEAp7xyEukFINEa+Quek5psIR/ylA6o0=
121+
github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnUbNvJZAlc=
119122
github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
120123
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
121124
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
@@ -124,8 +127,9 @@ github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJ
124127
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
125128
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
126129
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
127-
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
128130
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
131+
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
132+
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
129133
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
130134
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
131135
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
@@ -159,10 +163,12 @@ github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjR
159163
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
160164
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
161165
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
162-
github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM=
163-
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
166+
github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE=
167+
github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
164168
github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js=
165169
github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0=
170+
github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 h1:RC6RW7j+1+HkWaX/Yh71Ee5ZHaHYt7ZP4sQgUrm6cDU=
171+
github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572/go.mod h1:w0SWMsp6j9O/dk4/ZpIhL+3CkG8ofA2vuv7k+ltqUMc=
166172
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
167173
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
168174
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
@@ -172,12 +178,16 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV
172178
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
173179
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
174180
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
175-
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
176-
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
181+
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
182+
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
177183
github.com/tarantool/go-iproto v1.1.0 h1:HULVOIHsiehI+FnHfM7wMDntuzUddO09DKqu2WnFQ5A=
178184
github.com/tarantool/go-iproto v1.1.0/go.mod h1:LNCtdyZxojUed8SbOiYHoc3v9NvaZTB7p96hUySMlIo=
185+
github.com/tarantool/go-openssl v1.0.0 h1:kE0XhXi8b1qWOLwmcasAS67OyQdGXn42t0Qv3NwEjWY=
186+
github.com/tarantool/go-openssl v1.0.0/go.mod h1:M7H4xYSbzqpW/ZRBMyH0eyqQBsnhAMfsYk5mv0yid7A=
179187
github.com/tarantool/go-tarantool/v2 v2.2.1 h1:ldzMVfkmTuJl4ie3ByMIr+mmPSKDVTcSkN8XlVZEows=
180188
github.com/tarantool/go-tarantool/v2 v2.2.1/go.mod h1:hKKeZeCP8Y8+U6ZFS32ot1jHV/n4WKVP4fjRAvQznMY=
189+
github.com/tarantool/go-tlsdialer v1.0.0 h1:UZ67erz/QiThttIvcHtUnUWo1ZJ/BlQoN088NvkVmBQ=
190+
github.com/tarantool/go-tlsdialer v1.0.0/go.mod h1:IZuFRmnasGSBtPGZi3LMrpaSUgHYR+hDZ4ec7gR9k/0=
181191
github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 h1:uruHq4dN7GR16kFc5fp3d1RIYzJW5onx8Ybykw2YQFA=
182192
github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
183193
github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU=
@@ -278,6 +288,7 @@ golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5h
278288
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
279289
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
280290
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
291+
golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
281292
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
282293
golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
283294
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=

0 commit comments

Comments
 (0)