Skip to content

Commit f4b26e3

Browse files
Migrate from github.com/docker/docker to github.com/moby/moby SDK modules
Agent-Logs-Url: https://github.com/microsoft/go-sqlcmd/sessions/6493636d-e32c-402d-a0bf-8a5a4c541724 Co-authored-by: dlevy-msft-sql <194277063+dlevy-msft-sql@users.noreply.github.com>
1 parent d2d2949 commit f4b26e3

3 files changed

Lines changed: 52 additions & 85 deletions

File tree

go.mod

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ require (
77
github.com/billgraziano/dpapi v0.5.0
88
github.com/distribution/reference v0.6.0
99
github.com/docker/distribution v2.8.3+incompatible
10-
github.com/docker/docker v28.5.2+incompatible
11-
github.com/docker/go-connections v0.6.0
1210
github.com/golang-sql/sqlexp v0.1.0
1311
github.com/google/uuid v1.6.0
1412
github.com/microsoft/go-mssqldb v1.9.8
13+
github.com/moby/moby/api v1.54.1
14+
github.com/moby/moby/client v0.4.0
1515
github.com/opencontainers/image-spec v1.1.1
1616
github.com/peterh/liner v1.2.2
1717
github.com/pkg/errors v0.9.1
@@ -38,9 +38,9 @@ require (
3838
github.com/cespare/xxhash/v2 v2.3.0 // indirect
3939
github.com/containerd/errdefs v1.0.0 // indirect
4040
github.com/containerd/errdefs/pkg v0.3.0 // indirect
41-
github.com/containerd/log v0.1.0 // indirect
4241
github.com/davecgh/go-spew v1.1.1 // indirect
4342
github.com/dlclark/regexp2 v1.11.5 // indirect
43+
github.com/docker/go-connections v0.6.0 // indirect
4444
github.com/docker/go-metrics v0.0.1 // indirect
4545
github.com/docker/go-units v0.5.0 // indirect
4646
github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 // indirect
@@ -58,9 +58,6 @@ require (
5858
github.com/mattn/go-runewidth v0.0.3 // indirect
5959
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
6060
github.com/moby/docker-image-spec v1.3.1 // indirect
61-
github.com/moby/sys/atomicwriter v0.1.0 // indirect
62-
github.com/moby/term v0.5.2 // indirect
63-
github.com/morikuni/aec v1.0.0 // indirect
6461
github.com/opencontainers/go-digest v1.0.0 // indirect
6562
github.com/pelletier/go-toml/v2 v2.2.4 // indirect
6663
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
@@ -78,7 +75,6 @@ require (
7875
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
7976
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 // indirect
8077
go.opentelemetry.io/otel v1.40.0 // indirect
81-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.35.0 // indirect
8278
go.opentelemetry.io/otel/metric v1.40.0 // indirect
8379
go.opentelemetry.io/otel/sdk v1.40.0 // indirect
8480
go.opentelemetry.io/otel/sdk/metric v1.40.0 // indirect
@@ -88,9 +84,6 @@ require (
8884
golang.org/x/mod v0.34.0 // indirect
8985
golang.org/x/net v0.52.0 // indirect
9086
golang.org/x/sync v0.20.0 // indirect
91-
golang.org/x/time v0.14.0 // indirect
92-
google.golang.org/grpc v1.79.3 // indirect
9387
google.golang.org/protobuf v1.36.10 // indirect
9488
gopkg.in/yaml.v3 v3.0.1 // indirect
95-
gotest.tools/v3 v3.5.2 // indirect
9689
)

go.sum

Lines changed: 6 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys v1.4.0 h1:E4MgwLB
1111
github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys v1.4.0/go.mod h1:Y2b/1clN4zsAoUd/pgNAQHjLDnTis/6ROkUfyob6psM=
1212
github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v1.2.0 h1:nCYfgcSyHZXJI8J0IWE5MsCGlb2xp9fJiXyxWgmOFg4=
1313
github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v1.2.0/go.mod h1:ucUjca2JtSZboY8IoUqyQyuuXvwbMBVwFOm0vdQPNhA=
14-
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c h1:udKWzYgxTojEKWjV8V+WSxDXJ4NFATAsZjh8iIbsQIg=
15-
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
1614
github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1 h1:WJTmL004Abzc5wDB5VtZG2PJk5ndYDgVacGqfirKxjM=
1715
github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1/go.mod h1:tCcJZ0uHAmvjsVYzEFivsRTN00oz5BEsRgQHu5JZ9WE=
1816
github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0 h1:XRzhVemXdgvJqCH0sFfrBUTnUJSBrBf7++ypk+twtRs=
@@ -36,17 +34,13 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
3634
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
3735
github.com/billgraziano/dpapi v0.5.0 h1:pcxA17vyjbDqYuxCFZbgL9tYIk2xgbRZjRaIbATwh+8=
3836
github.com/billgraziano/dpapi v0.5.0/go.mod h1:lmEcZjRfLCSbUTsRu8V2ti6Q17MvnKn3N9gQqzDdTh0=
39-
github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8=
40-
github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
4137
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
4238
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
4339
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
4440
github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI=
4541
github.com/containerd/errdefs v1.0.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M=
4642
github.com/containerd/errdefs/pkg v0.3.0 h1:9IKJ06FvyNlexW690DXuQNx2KA2cUJXx151Xdx3ZPPE=
4743
github.com/containerd/errdefs/pkg v0.3.0/go.mod h1:NJw6s9HwNuRhnjJhM7pylWwMyAkmCQvQ4GpJHEqRLVk=
48-
github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I=
49-
github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo=
5044
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
5145
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
5246
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
@@ -57,8 +51,6 @@ github.com/dlclark/regexp2 v1.11.5 h1:Q/sSnsKerHeCkc/jSTNq1oCm7KiVgUMZRDUoRu0JQZ
5751
github.com/dlclark/regexp2 v1.11.5/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
5852
github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk=
5953
github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
60-
github.com/docker/docker v28.5.2+incompatible h1:DBX0Y0zAjZbSrm1uzOkdr1onVghKaftjlSWt4AFexzM=
61-
github.com/docker/docker v28.5.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
6254
github.com/docker/go-connections v0.6.0 h1:LlMG9azAe1TqfR7sO+NJttz1gy6KO7VJBh+pMmjSD94=
6355
github.com/docker/go-connections v0.6.0/go.mod h1:AahvXYshr6JgfUJGdDCs2b5EZG/vmaMAntpSFH5BFKE=
6456
github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8=
@@ -119,8 +111,6 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
119111
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
120112
github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
121113
github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
122-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1 h1:e9Rjr40Z98/clHv5Yg79Is0NtosR5LXRvdr7o/6NwbA=
123-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1/go.mod h1:tIxuGz/9mpox++sgp9fJjHO0+q1X9/UOWd798aAm22M=
124114
github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=
125115
github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg=
126116
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
@@ -154,18 +144,14 @@ github.com/microsoft/go-mssqldb v1.9.8 h1:d4IFMvF/o+HdpXUqbBfzHvn/NlFA75YGcfHUUv
154144
github.com/microsoft/go-mssqldb v1.9.8/go.mod h1:eGSRSGAW4hKMy5YcAenhCDjIRm2rhqIdmmwgciMzLus=
155145
github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0=
156146
github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo=
157-
github.com/moby/sys/atomicwriter v0.1.0 h1:kw5D/EqkBwsBFi0ss9v1VG3wIkVhzGvLklJ+w3A14Sw=
158-
github.com/moby/sys/atomicwriter v0.1.0/go.mod h1:Ul8oqv2ZMNHOceF643P6FKPXeCmYtlQMvpizfsSoaWs=
159-
github.com/moby/sys/sequential v0.6.0 h1:qrx7XFUd/5DxtqcoH1h438hF5TmOvzC/lspjy7zgvCU=
160-
github.com/moby/sys/sequential v0.6.0/go.mod h1:uyv8EUTrca5PnDsdMGXhZe6CCe8U/UiTWd+lL+7b/Ko=
161-
github.com/moby/term v0.5.2 h1:6qk3FJAFDs6i/q3W/pQ97SX192qKfZgGjCQqfCJkgzQ=
162-
github.com/moby/term v0.5.2/go.mod h1:d3djjFCrjnB+fl8NJux+EJzu0msscUP+f8it8hPkFLc=
147+
github.com/moby/moby/api v1.54.1 h1:TqVzuJkOLsgLDDwNLmYqACUuTehOHRGKiPhvH8V3Nn4=
148+
github.com/moby/moby/api v1.54.1/go.mod h1:+RQ6wluLwtYaTd1WnPLykIDPekkuyD/ROWQClE83pzs=
149+
github.com/moby/moby/client v0.4.0 h1:S+2XegzHQrrvTCvF6s5HFzcrywWQmuVnhOXe2kiWjIw=
150+
github.com/moby/moby/client v0.4.0/go.mod h1:QWPbvWchQbxBNdaLSpoKpCdf5E+WxFAgNHogCWDoa7g=
163151
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
164152
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
165153
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
166154
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
167-
github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A=
168-
github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
169155
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
170156
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
171157
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
@@ -245,10 +231,6 @@ go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 h1:sbiXRND
245231
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0/go.mod h1:69uWxva0WgAA/4bu2Yy70SLDBwZXuQ6PbBpbsa5iZrQ=
246232
go.opentelemetry.io/otel v1.40.0 h1:oA5YeOcpRTXq6NN7frwmwFR0Cn3RhTVZvXsP4duvCms=
247233
go.opentelemetry.io/otel v1.40.0/go.mod h1:IMb+uXZUKkMXdPddhwAHm6UfOwJyh4ct1ybIlV14J0g=
248-
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.35.0 h1:1fTNlAIJZGWLP5FVu0fikVry1IsiUnXjf7QFvoNN3Xw=
249-
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.35.0/go.mod h1:zjPK58DtkqQFn+YUMbx0M2XV3QgKU0gS9LeGohREyK4=
250-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.35.0 h1:xJ2qHD0C1BeYVTLLR9sX12+Qb95kfeD/byKj6Ky1pXg=
251-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.35.0/go.mod h1:u5BF1xyjstDowA1R5QAO9JHzqK+ublenEW/dyqTjBVk=
252234
go.opentelemetry.io/otel/metric v1.40.0 h1:rcZe317KPftE2rstWIBitCdVp89A2HqjkxR3c11+p9g=
253235
go.opentelemetry.io/otel/metric v1.40.0/go.mod h1:ib/crwQH7N3r5kfiBZQbwrTge743UDc7DTFVZrrXnqc=
254236
go.opentelemetry.io/otel/sdk v1.40.0 h1:KHW/jUzgo6wsPh9At46+h4upjtccTmuZCFAc9OJ71f8=
@@ -257,8 +239,6 @@ go.opentelemetry.io/otel/sdk/metric v1.40.0 h1:mtmdVqgQkeRxHgRv4qhyJduP3fYJRMX4A
257239
go.opentelemetry.io/otel/sdk/metric v1.40.0/go.mod h1:4Z2bGMf0KSK3uRjlczMOeMhKU2rhUqdWNoKcYrtcBPg=
258240
go.opentelemetry.io/otel/trace v1.40.0 h1:WA4etStDttCSYuhwvEa8OP8I5EWu24lkOzp+ZYblVjw=
259241
go.opentelemetry.io/otel/trace v1.40.0/go.mod h1:zeAhriXecNGP/s2SEG3+Y8X9ujcJOTqQ5RgdEJcawiA=
260-
go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4=
261-
go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4=
262242
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
263243
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
264244
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
@@ -306,19 +286,11 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
306286
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
307287
golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8=
308288
golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA=
309-
golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI=
310-
golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4=
311289
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
312290
golang.org/x/tools v0.43.0 h1:12BdW9CeB3Z+J/I/wj34VMl8X+fEXBxVR90JeMX5E7s=
313291
golang.org/x/tools v0.43.0/go.mod h1:uHkMso649BX2cZK6+RpuIPXS3ho2hZo4FVwfoy1vIk0=
314292
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
315293
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
316-
google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 h1:fCvbg86sFXwdrl5LgVcTEvNC+2txB5mgROGmRL5mrls=
317-
google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:+rXWjjaukWZun3mLfjmVnQi18E1AsFbDN9QdJ5YXLto=
318-
google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 h1:gRkg/vSppuSQoDjxyiGfN4Upv/h/DQmIR10ZU8dh4Ww=
319-
google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk=
320-
google.golang.org/grpc v1.79.3 h1:sybAEdRIEtvcD68Gx7dmnwjZKlyfuc61Dyo9pGXXkKE=
321-
google.golang.org/grpc v1.79.3/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ=
322294
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
323295
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
324296
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@@ -344,3 +316,5 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
344316
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
345317
gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
346318
gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=
319+
pgregory.net/rapid v1.2.0 h1:keKAYRcjm+e1F0oAuU5F5+YPAWcyxNNRK2wud503Gnk=
320+
pgregory.net/rapid v1.2.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04=

internal/container/controller.go

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,15 @@ import (
88
"bytes"
99
"context"
1010
"io"
11+
"net/netip"
1112
"path/filepath"
1213
"strconv"
1314
"strings"
1415

15-
"github.com/docker/docker/api/types/container"
16-
"github.com/docker/docker/api/types/filters"
17-
"github.com/docker/docker/api/types/image"
18-
"github.com/docker/docker/client"
19-
"github.com/docker/docker/pkg/stdcopy"
20-
"github.com/docker/go-connections/nat"
16+
"github.com/moby/moby/api/pkg/stdcopy"
17+
"github.com/moby/moby/api/types/container"
18+
"github.com/moby/moby/api/types/network"
19+
"github.com/moby/moby/client"
2120
specs "github.com/opencontainers/image-spec/specs-go/v1"
2221
)
2322

@@ -33,7 +32,7 @@ type Controller struct {
3332
func NewController() (c *Controller) {
3433
var err error
3534
c = new(Controller)
36-
c.cli, err = client.NewClientWithOpts(
35+
c.cli, err = client.New(
3736
client.FromEnv,
3837
client.WithVersion("1.45"),
3938
)
@@ -52,7 +51,7 @@ func (c Controller) EnsureImage(imageName string) (err error) {
5251
var reader io.ReadCloser
5352

5453
trace("Running ImagePull for image %s", imageName)
55-
reader, err = c.cli.ImagePull(context.Background(), imageName, image.PullOptions{})
54+
reader, err = c.cli.ImagePull(context.Background(), imageName, client.ImagePullOptions{})
5655
if reader != nil {
5756
defer func() {
5857
checkErr(reader.Close())
@@ -82,10 +81,10 @@ func (c Controller) ContainerRun(
8281
unitTestFailure bool,
8382
) string {
8483
hostConfig := &container.HostConfig{
85-
PortBindings: nat.PortMap{
86-
nat.Port("1433/tcp"): []nat.PortBinding{
84+
PortBindings: network.PortMap{
85+
network.MustParsePort("1433/tcp"): []network.PortBinding{
8786
{
88-
HostIP: "0.0.0.0",
87+
HostIP: netip.MustParseAddr("0.0.0.0"),
8988
HostPort: strconv.Itoa(port),
9089
},
9190
},
@@ -97,19 +96,24 @@ func (c Controller) ContainerRun(
9796
OS: os,
9897
}
9998

100-
resp, err := c.cli.ContainerCreate(context.Background(), &container.Config{
101-
Tty: true,
102-
Image: image,
103-
Cmd: command,
104-
Env: env,
105-
Hostname: hostname,
106-
}, hostConfig, nil, &platform, name)
99+
resp, err := c.cli.ContainerCreate(context.Background(), client.ContainerCreateOptions{
100+
Config: &container.Config{
101+
Tty: true,
102+
Image: image,
103+
Cmd: command,
104+
Env: env,
105+
Hostname: hostname,
106+
},
107+
HostConfig: hostConfig,
108+
Platform: &platform,
109+
Name: name,
110+
})
107111
checkErr(err)
108112

109-
err = c.cli.ContainerStart(
113+
_, err = c.cli.ContainerStart(
110114
context.Background(),
111115
resp.ID,
112-
container.StartOptions{},
116+
client.ContainerStartOptions{},
113117
)
114118
if err != nil || unitTestFailure {
115119
// Remove the container, because we haven't persisted to config yet, so
@@ -134,7 +138,7 @@ func (c Controller) ContainerRun(
134138
// This function is useful for waiting until a specific event has occurred in the
135139
// container (e.g. a server has started up) before continuing with other operations.
136140
func (c Controller) ContainerWaitForLogEntry(id string, text string) {
137-
options := container.LogsOptions{
141+
options := client.ContainerLogsOptions{
138142
ShowStdout: true,
139143
ShowStderr: false,
140144
Since: "",
@@ -169,7 +173,7 @@ func (c Controller) ContainerStop(id string) (err error) {
169173
panic("Must pass in non-empty id")
170174
}
171175

172-
err = c.cli.ContainerStop(context.Background(), id, container.StopOptions{})
176+
_, err = c.cli.ContainerStop(context.Background(), id, client.ContainerStopOptions{})
173177
return
174178
}
175179

@@ -180,7 +184,7 @@ func (c Controller) ContainerStart(id string) (err error) {
180184
panic("Must pass in non-empty id")
181185
}
182186

183-
err = c.cli.ContainerStart(context.Background(), id, container.StartOptions{})
187+
_, err = c.cli.ContainerStart(context.Background(), id, client.ContainerStartOptions{})
184188
return
185189
}
186190

@@ -198,21 +202,21 @@ func (c Controller) ContainerFiles(id string, filespec string) (files []string)
198202
}
199203

200204
cmd := []string{"find", "/", "-iname", filespec}
201-
response, err := c.cli.ContainerExecCreate(
205+
response, err := c.cli.ExecCreate(
202206
context.Background(),
203207
id,
204-
container.ExecOptions{
208+
client.ExecCreateOptions{
205209
AttachStderr: false,
206210
AttachStdout: true,
207211
Cmd: cmd,
208212
},
209213
)
210214
checkErr(err)
211215

212-
r, err := c.cli.ContainerExecAttach(
216+
r, err := c.cli.ExecAttach(
213217
context.Background(),
214218
response.ID,
215-
container.ExecStartOptions{},
219+
client.ExecAttachOptions{},
216220
)
217221
checkErr(err)
218222
defer r.Close()
@@ -265,21 +269,21 @@ func (c Controller) DownloadFile(id string, src string, destFolder string) {
265269
func (c Controller) runCmdInContainer(id string, cmd []string) ([]byte, []byte) {
266270
trace("Running command in container: " + strings.Join(cmd, " "))
267271

268-
response, err := c.cli.ContainerExecCreate(
272+
response, err := c.cli.ExecCreate(
269273
context.Background(),
270274
id,
271-
container.ExecOptions{
275+
client.ExecCreateOptions{
272276
AttachStderr: true,
273277
AttachStdout: true,
274278
Cmd: cmd,
275279
},
276280
)
277281
checkErr(err)
278282

279-
r, err := c.cli.ContainerExecAttach(
283+
r, err := c.cli.ExecAttach(
280284
context.Background(),
281285
response.ID,
282-
container.ExecStartOptions{},
286+
client.ExecAttachOptions{},
283287
)
284288
checkErr(err)
285289
defer r.Close()
@@ -315,9 +319,9 @@ func (c Controller) ContainerRunning(id string) (running bool) {
315319
panic("Must pass in non-empty id")
316320
}
317321

318-
resp, err := c.cli.ContainerInspect(context.Background(), id)
322+
resp, err := c.cli.ContainerInspect(context.Background(), id, client.ContainerInspectOptions{})
319323
checkErr(err)
320-
running = resp.State.Running
324+
running = resp.Container.State.Running
321325
return
322326
}
323327

@@ -326,18 +330,14 @@ func (c Controller) ContainerRunning(id string) (running bool) {
326330
// filtering by the given ID. If a container with the given ID is found, it
327331
// returns true; otherwise, it returns false.
328332
func (c Controller) ContainerExists(id string) (exists bool) {
329-
f := filters.NewArgs()
330-
f.Add(
331-
"id", id,
332-
)
333333
resp, err := c.cli.ContainerList(
334334
context.Background(),
335-
container.ListOptions{Filters: f},
335+
client.ContainerListOptions{Filters: make(client.Filters).Add("id", id)},
336336
)
337337
checkErr(err)
338-
if len(resp) > 0 {
339-
trace("%v", resp)
340-
containerStatus := strings.Split(resp[0].Status, " ")
338+
if len(resp.Items) > 0 {
339+
trace("%v", resp.Items)
340+
containerStatus := strings.Split(resp.Items[0].Status, " ")
341341
status := containerStatus[0]
342342
trace("%v", status)
343343
exists = true
@@ -355,13 +355,13 @@ func (c Controller) ContainerRemove(id string) (err error) {
355355
panic("Must pass in non-empty id")
356356
}
357357

358-
options := container.RemoveOptions{
358+
options := client.ContainerRemoveOptions{
359359
RemoveVolumes: false,
360360
RemoveLinks: false,
361361
Force: false,
362362
}
363363

364-
err = c.cli.ContainerRemove(context.Background(), id, options)
364+
_, err = c.cli.ContainerRemove(context.Background(), id, options)
365365

366366
return
367367
}

0 commit comments

Comments
 (0)