diff options
author | Mike Crute <mike@crute.us> | 2022-11-23 14:20:32 -0800 |
---|---|---|
committer | Mike Crute <mike@crute.us> | 2022-11-23 14:20:32 -0800 |
commit | ff2ad17daaf770644ced5d44d949f063210063d9 (patch) | |
tree | d393554867bd0bb8e26442bf12e5f9a775b1c536 /db | |
parent | 6a24803254758541cd73bbdac3341413b5058345 (diff) | |
download | golib-ff2ad17daaf770644ced5d44d949f063210063d9.tar.bz2 golib-ff2ad17daaf770644ced5d44d949f063210063d9.tar.xz golib-ff2ad17daaf770644ced5d44d949f063210063d9.zip |
db/mongodb: migrate to secrets API for v2db/mongodb/v2.0.0
Diffstat (limited to 'db')
-rw-r--r-- | db/mongodb/client.go | 13 | ||||
-rw-r--r-- | db/mongodb/go.mod | 17 | ||||
-rw-r--r-- | db/mongodb/go.sum | 32 |
3 files changed, 32 insertions, 30 deletions
diff --git a/db/mongodb/client.go b/db/mongodb/client.go index 1f3815d..f06f5ec 100644 --- a/db/mongodb/client.go +++ b/db/mongodb/client.go | |||
@@ -7,12 +7,11 @@ import ( | |||
7 | "net/url" | 7 | "net/url" |
8 | "strings" | 8 | "strings" |
9 | 9 | ||
10 | "code.crute.us/mcrute/golib/secrets" | ||
10 | "go.mongodb.org/mongo-driver/bson" | 11 | "go.mongodb.org/mongo-driver/bson" |
11 | "go.mongodb.org/mongo-driver/mongo" | 12 | "go.mongodb.org/mongo-driver/mongo" |
12 | "go.mongodb.org/mongo-driver/mongo/options" | 13 | "go.mongodb.org/mongo-driver/mongo/options" |
13 | "go.mongodb.org/mongo-driver/x/mongo/driver/connstring" | 14 | "go.mongodb.org/mongo-driver/x/mongo/driver/connstring" |
14 | |||
15 | "code.crute.us/mcrute/golib/vault" | ||
16 | ) | 15 | ) |
17 | 16 | ||
18 | // AnyInTopLevelArray is just a convenience method so apps don't have to repeat | 17 | // AnyInTopLevelArray is just a convenience method so apps don't have to repeat |
@@ -26,12 +25,12 @@ type Mongo struct { | |||
26 | db *mongo.Database | 25 | db *mongo.Database |
27 | } | 26 | } |
28 | 27 | ||
29 | func Connect(ctx context.Context, uri string, vc vault.VaultClient) (*Mongo, error) { | 28 | func Connect(ctx context.Context, uri string, sc secrets.Client) (*Mongo, error) { |
30 | db := &Mongo{} | 29 | db := &Mongo{} |
31 | 30 | ||
32 | // Prefix uri with mongodb:// unless it already includes one of the | 31 | // Prefix uri with mongodb:// unless it already includes one of the |
33 | // standard prefixes (only these two are valid). Otherwise if scheme is | 32 | // standard prefixes (only these two are valid). Otherwise if scheme is |
34 | // omitted then url parsing will fail to capture the username for Vault | 33 | // omitted then url parsing will fail to capture the username for secret |
35 | // lookup. | 34 | // lookup. |
36 | if !strings.HasPrefix(uri, "mongodb://") && !strings.HasPrefix(uri, "mongodb+srv://") { | 35 | if !strings.HasPrefix(uri, "mongodb://") && !strings.HasPrefix(uri, "mongodb+srv://") { |
37 | uri = "mongodb://" + uri | 36 | uri = "mongodb://" + uri |
@@ -43,11 +42,11 @@ func Connect(ctx context.Context, uri string, vc vault.VaultClient) (*Mongo, err | |||
43 | } | 42 | } |
44 | 43 | ||
45 | // The username provided by the user (there should be no | 44 | // The username provided by the user (there should be no |
46 | // password) will be a reference to a vault material with the | 45 | // password) will be a reference to a secret material with the |
47 | // prefix database/creds/. This needs to be replaced with the real | 46 | // prefix database/creds/. This needs to be replaced with the real |
48 | // username/password pair fetched from Vault before attempting to | 47 | // username/password pair fetched from secret before attempting to |
49 | // connect. | 48 | // connect. |
50 | cred, err := vc.DbCredential(ctx, u.User.Username()) | 49 | cred, _, err := sc.DatabaseCredential(ctx, u.User.Username()) |
51 | if err != nil { | 50 | if err != nil { |
52 | return nil, err | 51 | return nil, err |
53 | } | 52 | } |
diff --git a/db/mongodb/go.mod b/db/mongodb/go.mod index 06df033..6d5ba3b 100644 --- a/db/mongodb/go.mod +++ b/db/mongodb/go.mod | |||
@@ -1,13 +1,14 @@ | |||
1 | module code.crute.us/mcrute/golib/db/mongodb | 1 | module code.crute.us/mcrute/golib/db/mongodb/v2 |
2 | 2 | ||
3 | go 1.17 | 3 | go 1.17 |
4 | 4 | ||
5 | require ( | 5 | require ( |
6 | code.crute.us/mcrute/golib/vault v0.2.0 | 6 | code.crute.us/mcrute/golib/secrets v0.1.0 |
7 | go.mongodb.org/mongo-driver v1.7.4 | 7 | go.mongodb.org/mongo-driver v1.7.4 |
8 | ) | 8 | ) |
9 | 9 | ||
10 | require ( | 10 | require ( |
11 | code.crute.us/mcrute/golib v0.4.0 // indirect | ||
11 | github.com/armon/go-metrics v0.3.9 // indirect | 12 | github.com/armon/go-metrics v0.3.9 // indirect |
12 | github.com/armon/go-radix v1.0.0 // indirect | 13 | github.com/armon/go-radix v1.0.0 // indirect |
13 | github.com/cenkalti/backoff/v3 v3.0.0 // indirect | 14 | github.com/cenkalti/backoff/v3 v3.0.0 // indirect |
@@ -24,16 +25,16 @@ require ( | |||
24 | github.com/hashicorp/go-retryablehttp v0.6.6 // indirect | 25 | github.com/hashicorp/go-retryablehttp v0.6.6 // indirect |
25 | github.com/hashicorp/go-rootcerts v1.0.2 // indirect | 26 | github.com/hashicorp/go-rootcerts v1.0.2 // indirect |
26 | github.com/hashicorp/go-secure-stdlib/mlock v0.1.1 // indirect | 27 | github.com/hashicorp/go-secure-stdlib/mlock v0.1.1 // indirect |
27 | github.com/hashicorp/go-secure-stdlib/parseutil v0.1.1 // indirect | 28 | github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6 // indirect |
28 | github.com/hashicorp/go-secure-stdlib/strutil v0.1.1 // indirect | 29 | github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect |
29 | github.com/hashicorp/go-sockaddr v1.0.2 // indirect | 30 | github.com/hashicorp/go-sockaddr v1.0.2 // indirect |
30 | github.com/hashicorp/go-uuid v1.0.2 // indirect | 31 | github.com/hashicorp/go-uuid v1.0.2 // indirect |
31 | github.com/hashicorp/go-version v1.2.0 // indirect | 32 | github.com/hashicorp/go-version v1.2.0 // indirect |
32 | github.com/hashicorp/golang-lru v0.5.4 // indirect | 33 | github.com/hashicorp/golang-lru v0.5.4 // indirect |
33 | github.com/hashicorp/hcl v1.0.0 // indirect | 34 | github.com/hashicorp/hcl v1.0.0 // indirect |
34 | github.com/hashicorp/vault/api v1.5.0 // indirect | 35 | github.com/hashicorp/vault/api v1.8.0 // indirect |
35 | github.com/hashicorp/vault/api/auth/approle v0.1.1 // indirect | 36 | github.com/hashicorp/vault/api/auth/approle v0.3.0 // indirect |
36 | github.com/hashicorp/vault/sdk v0.4.1 // indirect | 37 | github.com/hashicorp/vault/sdk v0.6.0 // indirect |
37 | github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb // indirect | 38 | github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb // indirect |
38 | github.com/klauspost/compress v1.13.6 // indirect | 39 | github.com/klauspost/compress v1.13.6 // indirect |
39 | github.com/mattn/go-colorable v0.1.6 // indirect | 40 | github.com/mattn/go-colorable v0.1.6 // indirect |
@@ -41,7 +42,7 @@ require ( | |||
41 | github.com/mitchellh/copystructure v1.0.0 // indirect | 42 | github.com/mitchellh/copystructure v1.0.0 // indirect |
42 | github.com/mitchellh/go-homedir v1.1.0 // indirect | 43 | github.com/mitchellh/go-homedir v1.1.0 // indirect |
43 | github.com/mitchellh/go-testing-interface v1.0.0 // indirect | 44 | github.com/mitchellh/go-testing-interface v1.0.0 // indirect |
44 | github.com/mitchellh/mapstructure v1.4.2 // indirect | 45 | github.com/mitchellh/mapstructure v1.5.0 // indirect |
45 | github.com/mitchellh/reflectwalk v1.0.0 // indirect | 46 | github.com/mitchellh/reflectwalk v1.0.0 // indirect |
46 | github.com/oklog/run v1.0.0 // indirect | 47 | github.com/oklog/run v1.0.0 // indirect |
47 | github.com/pierrec/lz4 v2.5.2+incompatible // indirect | 48 | github.com/pierrec/lz4 v2.5.2+incompatible // indirect |
diff --git a/db/mongodb/go.sum b/db/mongodb/go.sum index 51dd0bf..e677ffc 100644 --- a/db/mongodb/go.sum +++ b/db/mongodb/go.sum | |||
@@ -1,7 +1,9 @@ | |||
1 | cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= | 1 | cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= |
2 | cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= | 2 | cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= |
3 | code.crute.us/mcrute/golib/vault v0.2.0 h1:8n1DRZIo9WA9uPWAw0BPk9DfRs3kz8B58p6n1RF7Zk8= | 3 | code.crute.us/mcrute/golib v0.4.0 h1:VWxb7v4gGkqL700zxDwgROweBsfx5RbiB35VW0O0oi0= |
4 | code.crute.us/mcrute/golib/vault v0.2.0/go.mod h1:23C5g8O0zaeFfo7v6sCO0RKgnHIiHM9ku+ASOWHJD9k= | 4 | code.crute.us/mcrute/golib v0.4.0/go.mod h1:dukLPhs1H8dxtkhXtpJZYo/bMzefLRbdRj9Tj67wdaQ= |
5 | code.crute.us/mcrute/golib/secrets v0.1.0 h1:22W0rLhE5jvIQlsUDQt1soGBEoBn4rl4a883f1yBybI= | ||
6 | code.crute.us/mcrute/golib/secrets v0.1.0/go.mod h1:O1ypm8JirXI4SekwNCHwQbfsieDQJxeRNwZYoot6fvw= | ||
5 | github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= | 7 | github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= |
6 | github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= | 8 | github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= |
7 | github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= | 9 | github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= |
@@ -128,7 +130,7 @@ github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39 | |||
128 | github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= | 130 | github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= |
129 | github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= | 131 | github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= |
130 | github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= | 132 | github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= |
131 | github.com/hashicorp/go-kms-wrapping/entropy v0.1.0/go.mod h1:d1g9WGtAunDNpek8jUIEJnBlbgKS1N2Q61QkHiZyR1g= | 133 | github.com/hashicorp/go-kms-wrapping/entropy/v2 v2.0.0/go.mod h1:xvb32K2keAc+R8DSFG2IwDcydK9DBQE+fGA5fsw6hSk= |
132 | github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= | 134 | github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= |
133 | github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= | 135 | github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= |
134 | github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= | 136 | github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= |
@@ -142,11 +144,13 @@ github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR3 | |||
142 | github.com/hashicorp/go-secure-stdlib/base62 v0.1.1/go.mod h1:EdWO6czbmthiwZ3/PUsDV+UD1D5IRU4ActiaWGwt0Yw= | 144 | github.com/hashicorp/go-secure-stdlib/base62 v0.1.1/go.mod h1:EdWO6czbmthiwZ3/PUsDV+UD1D5IRU4ActiaWGwt0Yw= |
143 | github.com/hashicorp/go-secure-stdlib/mlock v0.1.1 h1:cCRo8gK7oq6A2L6LICkUZ+/a5rLiRXFMf1Qd4xSwxTc= | 145 | github.com/hashicorp/go-secure-stdlib/mlock v0.1.1 h1:cCRo8gK7oq6A2L6LICkUZ+/a5rLiRXFMf1Qd4xSwxTc= |
144 | github.com/hashicorp/go-secure-stdlib/mlock v0.1.1/go.mod h1:zq93CJChV6L9QTfGKtfBxKqD7BqqXx5O04A/ns2p5+I= | 146 | github.com/hashicorp/go-secure-stdlib/mlock v0.1.1/go.mod h1:zq93CJChV6L9QTfGKtfBxKqD7BqqXx5O04A/ns2p5+I= |
145 | github.com/hashicorp/go-secure-stdlib/parseutil v0.1.1 h1:78ki3QBevHwYrVxnyVeaEz+7WtifHhauYF23es/0KlI= | ||
146 | github.com/hashicorp/go-secure-stdlib/parseutil v0.1.1/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8= | 147 | github.com/hashicorp/go-secure-stdlib/parseutil v0.1.1/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8= |
148 | github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6 h1:om4Al8Oy7kCm/B86rLCLah4Dt5Aa0Fr5rYBG60OzwHQ= | ||
149 | github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8= | ||
147 | github.com/hashicorp/go-secure-stdlib/password v0.1.1/go.mod h1:9hH302QllNwu1o2TGYtSk8I8kTAN0ca1EHpwhm5Mmzo= | 150 | github.com/hashicorp/go-secure-stdlib/password v0.1.1/go.mod h1:9hH302QllNwu1o2TGYtSk8I8kTAN0ca1EHpwhm5Mmzo= |
148 | github.com/hashicorp/go-secure-stdlib/strutil v0.1.1 h1:nd0HIW15E6FG1MsnArYaHfuw9C2zgzM8LxkG5Ty/788= | ||
149 | github.com/hashicorp/go-secure-stdlib/strutil v0.1.1/go.mod h1:gKOamz3EwoIoJq7mlMIRBpVTAUn8qPCrEclOKKWhD3U= | 151 | github.com/hashicorp/go-secure-stdlib/strutil v0.1.1/go.mod h1:gKOamz3EwoIoJq7mlMIRBpVTAUn8qPCrEclOKKWhD3U= |
152 | github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 h1:kes8mmyCpxJsI7FTwtzRqEy9CdjCtrXrXGuOpxEA7Ts= | ||
153 | github.com/hashicorp/go-secure-stdlib/strutil v0.1.2/go.mod h1:Gou2R9+il93BqX25LAKCLuM+y9U2T4hlwvT1yprcna4= | ||
150 | github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.1/go.mod h1:l8slYwnJA26yBz+ErHpp2IRCLr0vuOMGBORIz4rRiAs= | 154 | github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.1/go.mod h1:l8slYwnJA26yBz+ErHpp2IRCLr0vuOMGBORIz4rRiAs= |
151 | github.com/hashicorp/go-sockaddr v1.0.2 h1:ztczhD1jLxIRjVejw8gFomI1BQZOe2WoVOu0SyteCQc= | 155 | github.com/hashicorp/go-sockaddr v1.0.2 h1:ztczhD1jLxIRjVejw8gFomI1BQZOe2WoVOu0SyteCQc= |
152 | github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= | 156 | github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= |
@@ -160,14 +164,12 @@ github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+l | |||
160 | github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= | 164 | github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= |
161 | github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= | 165 | github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= |
162 | github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= | 166 | github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= |
163 | github.com/hashicorp/vault/api v1.3.0/go.mod h1:EabNQLI0VWbWoGlA+oBLC8PXmR9D60aUVgQGvangFWQ= | 167 | github.com/hashicorp/vault/api v1.8.0 h1:7765sW1XBt+qf4XKIYE4ebY9qc/yi9V2/egzGSUNMZU= |
164 | github.com/hashicorp/vault/api v1.5.0 h1:Bp6yc2bn7CWkOrVIzFT/Qurzx528bdavF3nz590eu28= | 168 | github.com/hashicorp/vault/api v1.8.0/go.mod h1:uJrw6D3y9Rv7hhmS17JQC50jbPDAZdjZoTtrCCxxs7E= |
165 | github.com/hashicorp/vault/api v1.5.0/go.mod h1:LkMdrZnWNrFaQyYYazWVn7KshilfDidgVBq6YiTq/bM= | 169 | github.com/hashicorp/vault/api/auth/approle v0.3.0 h1:Ib0oCNXsCq/QZhPYtXPzJEbGS5WR/KoZf8c84QoFdkU= |
166 | github.com/hashicorp/vault/api/auth/approle v0.1.1 h1:R5yA+xcNvw1ix6bDuWOaLOq2L4L77zDCVsethNw97xQ= | 170 | github.com/hashicorp/vault/api/auth/approle v0.3.0/go.mod h1:hm51TbjzUkPO0Y17wkrpwOpvyyMRpXJNueTHiG04t3k= |
167 | github.com/hashicorp/vault/api/auth/approle v0.1.1/go.mod h1:mHOLgh//xDx4dpqXoq6tS8Ob0FoCFWLU2ibJ26Lfmag= | 171 | github.com/hashicorp/vault/sdk v0.6.0 h1:6Z+In5DXHiUfZvIZdMx7e2loL1PPyDjA4bVh9ZTIAhs= |
168 | github.com/hashicorp/vault/sdk v0.3.0/go.mod h1:aZ3fNuL5VNydQk8GcLJ2TV8YCRVvyaakYkhZRoVuhj0= | 172 | github.com/hashicorp/vault/sdk v0.6.0/go.mod h1:+DRpzoXIdMvKc88R4qxr+edwy/RvH5QK8itmxLiDHLc= |
169 | github.com/hashicorp/vault/sdk v0.4.1 h1:3SaHOJY687jY1fnB61PtL0cOkKItphrbLmux7T92HBo= | ||
170 | github.com/hashicorp/vault/sdk v0.4.1/go.mod h1:aZ3fNuL5VNydQk8GcLJ2TV8YCRVvyaakYkhZRoVuhj0= | ||
171 | github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb h1:b5rjCoWHc7eqmAS4/qyk21ZsHyb6Mxv/jykxvNTkU4M= | 173 | github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb h1:b5rjCoWHc7eqmAS4/qyk21ZsHyb6Mxv/jykxvNTkU4M= |
172 | github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= | 174 | github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= |
173 | github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= | 175 | github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= |
@@ -215,8 +217,8 @@ github.com/mitchellh/go-testing-interface v1.0.0 h1:fzU/JVNcaqHQEcVFAKeR41fkiLdI | |||
215 | github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= | 217 | github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= |
216 | github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= | 218 | github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= |
217 | github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= | 219 | github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= |
218 | github.com/mitchellh/mapstructure v1.4.2 h1:6h7AQ0yhTcIsmFmnAwQls75jp2Gzs4iB8W7pjMO+rqo= | 220 | github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= |
219 | github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= | 221 | github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= |
220 | github.com/mitchellh/reflectwalk v1.0.0 h1:9D+8oIskB4VJBN5SFlmc27fSlIBZaov1Wpk/IfikLNY= | 222 | github.com/mitchellh/reflectwalk v1.0.0 h1:9D+8oIskB4VJBN5SFlmc27fSlIBZaov1Wpk/IfikLNY= |
221 | github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= | 223 | github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= |
222 | github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= | 224 | github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= |