Skip to content

Commit 5e1cf52

Browse files
committed
Replace go-containerregistry with containerd/moby
This commit removes the vendored go-containerregistry package and replaces it with containerd and moby packages for OCI registry operations. Signed-off-by: Eric Curtin <eric.curtin@docker.com>
1 parent 0d439d1 commit 5e1cf52

554 files changed

Lines changed: 3472 additions & 67575 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Dockerfile

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@ WORKDIR /app
1919
# Copy go mod/sum first for better caching
2020
COPY --link go.mod go.sum ./
2121

22-
# Copy pkg/go-containerregistry for the replace directive in go.mod
23-
COPY --link pkg/go-containerregistry ./pkg/go-containerregistry
24-
2522
# Download dependencies (with cache mounts)
2623
RUN --mount=type=cache,target=/go/pkg/mod \
2724
--mount=type=cache,target=/root/.cache/go-build \

cmd/cli/commands/configure_test.go

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,15 @@ func TestConfigureCmdHfOverridesFlag(t *testing.T) {
1212
hfOverridesFlag := cmd.Flags().Lookup("hf_overrides")
1313
if hfOverridesFlag == nil {
1414
t.Fatal("--hf_overrides flag not found")
15+
return // unreachable but satisfies staticcheck SA5011
1516
}
1617

18+
// Get values to avoid potential nil dereference flagged by linter
19+
defValue := hfOverridesFlag.DefValue
20+
1721
// Verify the default value is empty
18-
if hfOverridesFlag.DefValue != "" {
19-
t.Errorf("Expected default hf_overrides value to be empty, got '%s'", hfOverridesFlag.DefValue)
22+
if defValue != "" {
23+
t.Errorf("Expected default hf_overrides value to be empty, got '%s'", defValue)
2024
}
2125

2226
// Verify the flag type
@@ -33,11 +37,15 @@ func TestConfigureCmdContextSizeFlag(t *testing.T) {
3337
contextSizeFlag := cmd.Flags().Lookup("context-size")
3438
if contextSizeFlag == nil {
3539
t.Fatal("--context-size flag not found")
40+
return // unreachable but satisfies staticcheck SA5011
3641
}
3742

43+
// Get values to avoid potential nil dereference flagged by linter
44+
defValue := contextSizeFlag.DefValue
45+
3846
// Verify the default value is empty (nil pointer)
39-
if contextSizeFlag.DefValue != "" {
40-
t.Errorf("Expected default context-size value to be '' (nil), got '%s'", contextSizeFlag.DefValue)
47+
if defValue != "" {
48+
t.Errorf("Expected default context-size value to be '' (nil), got '%s'", defValue)
4149
}
4250

4351
// Test setting the flag value
@@ -83,11 +91,15 @@ func TestConfigureCmdModeFlag(t *testing.T) {
8391
modeFlag := cmd.Flags().Lookup("mode")
8492
if modeFlag == nil {
8593
t.Fatal("--mode flag not found")
94+
return // unreachable but satisfies staticcheck SA5011
8695
}
8796

97+
// Get values to avoid potential nil dereference flagged by linter
98+
defValue := modeFlag.DefValue
99+
88100
// Verify the default value is empty
89-
if modeFlag.DefValue != "" {
90-
t.Errorf("Expected default mode value to be empty, got '%s'", modeFlag.DefValue)
101+
if defValue != "" {
102+
t.Errorf("Expected default mode value to be empty, got '%s'", defValue)
91103
}
92104

93105
// Verify the flag type
@@ -104,11 +116,15 @@ func TestConfigureCmdThinkFlag(t *testing.T) {
104116
thinkFlag := cmd.Flags().Lookup("think")
105117
if thinkFlag == nil {
106118
t.Fatal("--think flag not found")
119+
return // unreachable but satisfies staticcheck SA5011
107120
}
108121

122+
// Get values to avoid potential nil dereference flagged by linter
123+
defValue := thinkFlag.DefValue
124+
109125
// Verify the default value is empty
110-
if thinkFlag.DefValue != "" {
111-
t.Errorf("Expected default think value to be empty (nil), got '%s'", thinkFlag.DefValue)
126+
if defValue != "" {
127+
t.Errorf("Expected default think value to be empty (nil), got '%s'", defValue)
112128
}
113129

114130
// Verify the flag type
@@ -136,11 +152,15 @@ func TestConfigureCmdGPUMemoryUtilizationFlag(t *testing.T) {
136152
gpuMemFlag := cmd.Flags().Lookup("gpu-memory-utilization")
137153
if gpuMemFlag == nil {
138154
t.Fatal("--gpu-memory-utilization flag not found")
155+
return // unreachable but satisfies staticcheck SA5011
139156
}
140157

158+
// Get values to avoid potential nil dereference flagged by linter
159+
defValue := gpuMemFlag.DefValue
160+
141161
// Verify the default value is empty (nil pointer)
142-
if gpuMemFlag.DefValue != "" {
143-
t.Errorf("Expected default gpu-memory-utilization value to be '' (nil), got '%s'", gpuMemFlag.DefValue)
162+
if defValue != "" {
163+
t.Errorf("Expected default gpu-memory-utilization value to be '' (nil), got '%s'", defValue)
144164
}
145165

146166
// Verify the flag type

cmd/cli/commands/install-runner_test.go

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,15 @@ func TestInstallRunnerHostFlag(t *testing.T) {
1515
hostFlag := cmd.Flags().Lookup("host")
1616
if hostFlag == nil {
1717
t.Fatal("--host flag not found")
18+
return // unreachable but satisfies staticcheck SA5011
1819
}
1920

21+
// Get values to avoid potential nil dereference flagged by linter
22+
defValue := hostFlag.DefValue
23+
2024
// Verify the default value
21-
if hostFlag.DefValue != "127.0.0.1" {
22-
t.Errorf("Expected default host value to be '127.0.0.1', got '%s'", hostFlag.DefValue)
25+
if defValue != "127.0.0.1" {
26+
t.Errorf("Expected default host value to be '127.0.0.1', got '%s'", defValue)
2327
}
2428

2529
// Verify the flag type
@@ -77,11 +81,15 @@ func TestInstallRunnerBackendFlag(t *testing.T) {
7781
backendFlag := cmd.Flags().Lookup("backend")
7882
if backendFlag == nil {
7983
t.Fatal("--backend flag not found")
84+
return // unreachable but satisfies staticcheck SA5011
8085
}
8186

87+
// Get values to avoid potential nil dereference flagged by linter
88+
defValue := backendFlag.DefValue
89+
8290
// Verify the default value
83-
if backendFlag.DefValue != "" {
84-
t.Errorf("Expected default backend value to be empty, got '%s'", backendFlag.DefValue)
91+
if defValue != "" {
92+
t.Errorf("Expected default backend value to be empty, got '%s'", defValue)
8593
}
8694

8795
// Verify the flag type

cmd/cli/commands/integration_test.go

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
"github.com/docker/model-runner/cmd/cli/desktop"
1818
"github.com/docker/model-runner/cmd/cli/pkg/types"
1919
"github.com/docker/model-runner/pkg/distribution/builder"
20+
"github.com/docker/model-runner/pkg/distribution/oci/reference"
2021
"github.com/docker/model-runner/pkg/distribution/registry"
2122
"github.com/stretchr/testify/require"
2223
"github.com/testcontainers/testcontainers-go"
@@ -110,6 +111,11 @@ func generateReferenceTestCases(info modelInfo) []referenceTestCase {
110111
func setupTestEnv(t *testing.T) *testEnv {
111112
ctx := context.Background()
112113

114+
// Set environment variables for the test process to match the DMR container.
115+
// This ensures CLI functions use the same default registry when parsing references.
116+
t.Setenv("DEFAULT_REGISTRY", "registry.local:5000")
117+
t.Setenv("INSECURE_REGISTRY", "true")
118+
113119
// Create a custom network for container communication
114120
net, err := network.New(ctx)
115121
require.NoError(t, err)
@@ -1037,7 +1043,7 @@ func TestIntegration_PackageModel(t *testing.T) {
10371043
model, err := env.client.Inspect(targetTag, false)
10381044
require.NoError(t, err, "Failed to inspect packaged model by tag: %s", targetTag)
10391045
require.NotEmpty(t, model.ID, "Model ID should not be empty")
1040-
require.Contains(t, model.Tags, targetTag, "Model should have the expected tag")
1046+
require.Contains(t, model.Tags, normalizeRef(t, targetTag), "Model should have the expected tag")
10411047

10421048
t.Logf("✓ Successfully packaged and tagged model: %s (ID: %s)", targetTag, model.ID[7:19])
10431049

@@ -1070,7 +1076,7 @@ func TestIntegration_PackageModel(t *testing.T) {
10701076
// Verify the model was loaded and tagged
10711077
model, err := env.client.Inspect(targetTag, false)
10721078
require.NoError(t, err, "Failed to inspect packaged model")
1073-
require.Contains(t, model.Tags, targetTag, "Model should have the expected tag")
1079+
require.Contains(t, model.Tags, normalizeRef(t, targetTag), "Model should have the expected tag")
10741080

10751081
t.Logf("✓ Successfully packaged model with context size: %s", targetTag)
10761082

@@ -1100,7 +1106,7 @@ func TestIntegration_PackageModel(t *testing.T) {
11001106
// Verify the model was loaded and tagged
11011107
model, err := env.client.Inspect(targetTag, false)
11021108
require.NoError(t, err, "Failed to inspect packaged model")
1103-
require.Contains(t, model.Tags, targetTag, "Model should have the expected tag")
1109+
require.Contains(t, model.Tags, normalizeRef(t, targetTag), "Model should have the expected tag")
11041110

11051111
t.Logf("✓ Successfully packaged model with custom org: %s", targetTag)
11061112

@@ -1118,3 +1124,12 @@ func TestIntegration_PackageModel(t *testing.T) {
11181124
func int32ptr(n int32) *int32 {
11191125
return &n
11201126
}
1127+
1128+
// normalizeRef normalizes a reference to its fully qualified form.
1129+
// This is used in tests to compare against the stored tags which are always normalized.
1130+
func normalizeRef(t *testing.T, ref string) string {
1131+
t.Helper()
1132+
parsed, err := reference.ParseReference(ref, registry.GetDefaultRegistryOptions()...)
1133+
require.NoError(t, err, "Failed to parse reference: %s", ref)
1134+
return parsed.String()
1135+
}

cmd/cli/commands/package.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ import (
1414
"github.com/docker/model-runner/cmd/cli/desktop"
1515
"github.com/docker/model-runner/pkg/distribution/builder"
1616
"github.com/docker/model-runner/pkg/distribution/distribution"
17+
"github.com/docker/model-runner/pkg/distribution/oci/reference"
1718
"github.com/docker/model-runner/pkg/distribution/packaging"
1819
"github.com/docker/model-runner/pkg/distribution/registry"
1920
"github.com/docker/model-runner/pkg/distribution/tarball"
2021
"github.com/docker/model-runner/pkg/distribution/types"
21-
"github.com/docker/model-runner/pkg/go-containerregistry/pkg/name"
2222
"github.com/spf13/cobra"
2323
)
2424

@@ -434,7 +434,7 @@ func packageModel(ctx context.Context, cmd *cobra.Command, client *desktop.Clien
434434
// modelRunnerTarget loads model to Docker Model Runner via models/load endpoint
435435
type modelRunnerTarget struct {
436436
client *desktop.Client
437-
tag name.Tag
437+
tag *reference.Tag
438438
}
439439

440440
func newModelRunnerTarget(client *desktop.Client, tag string) (*modelRunnerTarget, error) {
@@ -443,7 +443,7 @@ func newModelRunnerTarget(client *desktop.Client, tag string) (*modelRunnerTarge
443443
}
444444
if tag != "" {
445445
var err error
446-
target.tag, err = name.NewTag(tag)
446+
target.tag, err = reference.NewTag(tag, registry.GetDefaultRegistryOptions()...)
447447
if err != nil {
448448
return nil, fmt.Errorf("invalid tag: %w", err)
449449
}
@@ -477,7 +477,7 @@ func (t *modelRunnerTarget) Write(ctx context.Context, mdl types.ModelArtifact,
477477
if err != nil {
478478
return fmt.Errorf("get model ID: %w", err)
479479
}
480-
if t.tag.String() != "" {
480+
if t.tag != nil {
481481
if err := t.client.Tag(id, parseRepo(t.tag), t.tag.TagStr()); err != nil {
482482
return fmt.Errorf("tag model: %w", err)
483483
}

cmd/cli/commands/run_test.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ func TestRunCmdDetachFlag(t *testing.T) {
122122
detachFlag := cmd.Flags().Lookup("detach")
123123
if detachFlag == nil {
124124
t.Fatal("--detach flag not found")
125+
return // unreachable but satisfies staticcheck SA5011
125126
}
126127

127128
// Verify the shorthand flag exists
@@ -130,9 +131,12 @@ func TestRunCmdDetachFlag(t *testing.T) {
130131
t.Fatal("-d shorthand flag not found")
131132
}
132133

134+
// Get values to avoid potential nil dereference flagged by linter
135+
defValue := detachFlag.DefValue
136+
133137
// Verify the default value is false
134-
if detachFlag.DefValue != "false" {
135-
t.Errorf("Expected default detach value to be 'false', got '%s'", detachFlag.DefValue)
138+
if defValue != "false" {
139+
t.Errorf("Expected default detach value to be 'false', got '%s'", defValue)
136140
}
137141

138142
// Verify the flag type

cmd/cli/commands/tag.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import (
66

77
"github.com/docker/model-runner/cmd/cli/commands/completion"
88
"github.com/docker/model-runner/cmd/cli/desktop"
9+
"github.com/docker/model-runner/pkg/distribution/oci/reference"
910
"github.com/docker/model-runner/pkg/distribution/registry"
10-
"github.com/docker/model-runner/pkg/go-containerregistry/pkg/name"
1111
"github.com/spf13/cobra"
1212
)
1313

@@ -26,7 +26,7 @@ func newTagCmd() *cobra.Command {
2626

2727
func tagModel(cmd *cobra.Command, desktopClient *desktop.Client, source, target string) error {
2828
// Ensure tag is valid
29-
tag, err := name.NewTag(target, registry.GetDefaultRegistryOptions()...)
29+
tag, err := reference.NewTag(target, registry.GetDefaultRegistryOptions()...)
3030
if err != nil {
3131
return fmt.Errorf("invalid tag: %w", err)
3232
}
@@ -40,6 +40,6 @@ func tagModel(cmd *cobra.Command, desktopClient *desktop.Client, source, target
4040

4141
// parseRepo returns the repo portion of the original target string. It does not include implicit
4242
// index.docker.io when the registry is omitted.
43-
func parseRepo(tag name.Tag) string {
43+
func parseRepo(tag *reference.Tag) string {
4444
return strings.TrimSuffix(tag.String(), ":"+tag.TagStr())
4545
}

cmd/cli/commands/utils.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
"github.com/docker/cli/cli-plugins/hooks"
1212
"github.com/docker/model-runner/cmd/cli/desktop"
1313
"github.com/docker/model-runner/cmd/cli/pkg/standalone"
14-
"github.com/docker/model-runner/pkg/go-containerregistry/pkg/name"
14+
"github.com/docker/model-runner/pkg/distribution/oci/reference"
1515
"github.com/docker/model-runner/pkg/inference/backends/vllm"
1616
"github.com/moby/term"
1717
"github.com/olekukonko/tablewriter"
@@ -33,12 +33,12 @@ const (
3333

3434
// getDefaultRegistry returns the default registry, checking for environment override
3535
// If DEFAULT_REGISTRY environment variable is set, it returns that value
36-
// Otherwise, it returns name.DefaultRegistry ("index.docker.io")
36+
// Otherwise, it returns reference.DefaultRegistry ("index.docker.io")
3737
func getDefaultRegistry() string {
3838
if defaultReg := os.Getenv("DEFAULT_REGISTRY"); defaultReg != "" {
3939
return defaultReg
4040
}
41-
return name.DefaultRegistry
41+
return reference.DefaultRegistry
4242
}
4343

4444
var errNotRunning = fmt.Errorf("Docker Model Runner is not running. Please start it and try again.\n")

cmd/cli/go.mod

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ require (
1111
github.com/docker/go-connections v0.6.0
1212
github.com/docker/go-units v0.5.0
1313
github.com/docker/model-runner v1.0.10
14-
github.com/docker/model-runner/pkg/go-containerregistry v0.0.0-20251121150728-6951a2a36575
1514
github.com/emirpasic/gods/v2 v2.0.0-alpha
1615
github.com/fatih/color v1.18.0
1716
github.com/mattn/go-runewidth v0.0.19
@@ -55,7 +54,6 @@ require (
5554
github.com/containerd/errdefs/pkg v0.3.0 // indirect
5655
github.com/containerd/log v0.1.0 // indirect
5756
github.com/containerd/platforms v1.0.0-rc.2 // indirect
58-
github.com/containerd/stargz-snapshotter/estargz v0.16.3 // indirect
5957
github.com/containerd/typeurl/v2 v2.2.3 // indirect
6058
github.com/cpuguy83/dockercfg v0.3.2 // indirect
6159
github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect
@@ -91,7 +89,6 @@ require (
9189
github.com/mattn/go-isatty v0.0.20 // indirect
9290
github.com/mattn/go-shellwords v1.0.12 // indirect
9391
github.com/microcosm-cc/bluemonday v1.0.27 // indirect
94-
github.com/mitchellh/go-homedir v1.1.0 // indirect
9592
github.com/moby/docker-image-spec v1.3.1 // indirect
9693
github.com/moby/go-archive v0.1.0 // indirect
9794
github.com/moby/locker v1.0.1 // indirect
@@ -122,7 +119,6 @@ require (
122119
github.com/smallnest/ringbuffer v0.0.0-20241116012123-461381446e3d // indirect
123120
github.com/tklauser/go-sysconf v0.3.12 // indirect
124121
github.com/tklauser/numcpus v0.6.1 // indirect
125-
github.com/vbatts/tar-split v0.12.1 // indirect
126122
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
127123
github.com/yuin/goldmark v1.7.8 // indirect
128124
github.com/yuin/goldmark-emoji v1.0.5 // indirect
@@ -157,4 +153,4 @@ require (
157153

158154
replace github.com/kolesnikovae/go-winjob => github.com/docker/go-winjob v0.0.0-20250829235554-57b487ebcbc5
159155

160-
replace github.com/docker/model-runner/pkg/go-containerregistry => ../../pkg/go-containerregistry
156+
replace github.com/docker/model-runner => ../..

cmd/cli/go.sum

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I=
6464
github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo=
6565
github.com/containerd/platforms v1.0.0-rc.2 h1:0SPgaNZPVWGEi4grZdV8VRYQn78y+nm6acgLGv/QzE4=
6666
github.com/containerd/platforms v1.0.0-rc.2/go.mod h1:J71L7B+aiM5SdIEqmd9wp6THLVRzJGXfNuWCZCllLA4=
67-
github.com/containerd/stargz-snapshotter/estargz v0.16.3 h1:7evrXtoh1mSbGj/pfRccTampEyKpjpOnS3CyiV1Ebr8=
68-
github.com/containerd/stargz-snapshotter/estargz v0.16.3/go.mod h1:uyr4BfYfOj3G9WBVE8cOlQmXAbPN9VEQpBBeJIuOipU=
6967
github.com/containerd/typeurl/v2 v2.2.3 h1:yNA/94zxWdvYACdYO8zofhrTVuQY73fFU1y++dYSw40=
7068
github.com/containerd/typeurl/v2 v2.2.3/go.mod h1:95ljDnPfD3bAbDJRugOiShd/DlAAsxGtUBhJxIn7SCk=
7169
github.com/cpuguy83/dockercfg v0.3.2 h1:DlJTyZGBDlXqUZ2Dk2Q3xHs/FtnooJJVaad2S9GKorA=
@@ -101,8 +99,6 @@ github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4
10199
github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
102100
github.com/docker/go-winjob v0.0.0-20250829235554-57b487ebcbc5 h1:dxSFEb0EEmvceIawSFNDMrvKakRz2t+2WYpY3dFAT04=
103101
github.com/docker/go-winjob v0.0.0-20250829235554-57b487ebcbc5/go.mod h1:ICOGmIXdwhfid7rQP+tLvDJqVg0lHdEk3pI5nsapTtg=
104-
github.com/docker/model-runner v1.0.10 h1:meSXhmMqf1wZioYf3Nydr7iXq01qSkUndFsXd/QAjrs=
105-
github.com/docker/model-runner v1.0.10/go.mod h1:PF+WLIG96pKnhQ/AhQOo2Ulr1gaKqXG1quQu88ZmoDg=
106102
github.com/ebitengine/purego v0.8.4 h1:CF7LEKg5FFOsASUj0+QwaXf8Ht6TlFxg09+S9wz0omw=
107103
github.com/ebitengine/purego v0.8.4/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ=
108104
github.com/emirpasic/gods/v2 v2.0.0-alpha h1:dwFlh8pBg1VMOXWGipNMRt8v96dKAIvBehtCt6OtunU=
@@ -183,8 +179,6 @@ github.com/mattn/go-shellwords v1.0.12 h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebG
183179
github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y=
184180
github.com/microcosm-cc/bluemonday v1.0.27 h1:MpEUotklkwCSLeH+Qdx1VJgNqLlpY2KXwXFM08ygZfk=
185181
github.com/microcosm-cc/bluemonday v1.0.27/go.mod h1:jFi9vgW+H7c3V0lb6nR74Ib/DIB5OBs92Dimizgw2cA=
186-
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
187-
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
188182
github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0=
189183
github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo=
190184
github.com/moby/go-archive v0.1.0 h1:Kk/5rdW/g+H8NHdJW2gsXyZ7UnzvJNOy6VKJqueWdcQ=
@@ -286,8 +280,6 @@ github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFA
286280
github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI=
287281
github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk=
288282
github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY=
289-
github.com/vbatts/tar-split v0.12.1 h1:CqKoORW7BUWBe7UL/iqTVvkTBOF8UvOMKOIZykxnnbo=
290-
github.com/vbatts/tar-split v0.12.1/go.mod h1:eF6B6i6ftWQcDqEn3/iGFRFRo8cBIMSJVOpnNdfTMFA=
291283
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no=
292284
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
293285
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=

0 commit comments

Comments
 (0)